if条件のLP公式


10

次のLPがあります。

/ *目的関数* /
最小:1 w + 2 x + 0.5 y + z;

/ *変数の境界* /
w + x <= T1;
w + y = U1;
x + z = U2;
T1 = 50;
U1 = 70;
U2 = 25;

この場合、U1 + U2> T1であり、最適解はy = 70およびz = 25です。yおよびzに値を割り当てる前に、wおよびx変数に値が割り当てられるという条件を適用します。U1 + U2 <T1の場合、wとxのみに値とy = z = 0を設定します。LPまたはMILPでこのような制約を強制する方法はありますか?


なぜ賛成投票なのかわからない:LPでの狭い質問ではあるが、合理的である
Suresh Venkat

回答:


11

2つの質問に対する回答を次に示します。詳細は、使用しているソルバーによって異なります。

  • wxyz

  • GNU線形計画キットは、実際に持っているif-then-else条件文を表現するための構築物を。マニュアルで「条件付き」を探します。このようなステートメントに関心のある句をラップできますif U1 + U2 < T2 then y = 0 and z = 0 else true。(私は実際にこれを試していないので、構文が間違っている可能性があることに注意してください。)

  • U1U2T1U1+U2<T1U1+U2T1


オプションをありがとう。ここでは、オプション3を使用します。
Bala
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.