条件付き制約の作成

Aug 21 2020

容量制限のある場所の問題のモデル拡張を開発したいと思います。

変数はバイナリです $x_i$ そして継続的な $Q_i$。次の条件を満たす必要があります。

  1. もし $x_i = 0$$Q_i$ ゼロでなければなりません。
  2. もし $x_i = 1$$Q_i \geq 0$

整数計画法の定式化でどのように定式化するのですか?

ご回答ありがとうございます。

回答

5 RobPratt Aug 21 2020 at 08:23

しましょう $M_i$ 上界と下界 $Q_i$、および線形big-M制約を課します $0 \le Q_i \le M_i x_i$

2 AlexFleischer Aug 21 2020 at 17:08

大きなMが本当に必要でない限り、私は大きなMよりも論理的な制約を好む傾向があります。

OPLCPLEXでは次のように書くことができます

int n=10;
range r=1..n;

dvar boolean x[r];
dvar float+ Q[r];

subject to
{
  forall(i in r) (x[i]==0) => (Q[i]==0);
}