最適化セミナーのご案内

17.2 整数変数の同符号条件の表現

 二つの整数変数$x$, $y$が同符号であるという条件は,$xy \ge 0$という条件と同値ですが,整数変数の積を記述すると,式が線形ではなくなってしまいます.ここでは線形の範囲内で,この条件を取り扱う方法を示します.

IntegerVariable x,y;
IntegerVariable d(type=binary);
Parameter M;
M = 10000; // 非常に大きな数
- M*d <= x <= M*(1-d);
- M*d <= y <= M*(1-d);

 $M$として十分大きな数を取ると$d = 0 \Rightarrow 0 \le x$$d = 1 \Rightarrow x \le 0$そして$d = 0 \Rightarrow 0 \le y$$d = 1 \Rightarrow y \le 0$となるので,二つの整数変数$x$, $y$は同符号となります.


 

 

上に戻る