2016-04-04 8 views
1

制約をどのように変換しますか? > = 2となり、リニアプログラム(特に、シンプレックスを使用して解く)で動作するようになります。リニアプログラミング - 定数より大きい絶対値

私は変換する方法を理解しています| x | < = 2はx < = 2になり、-x < = 2

となりますが、最小限の定数を設定しても同じロジックは機能しません。

+5

私はコンピュータプログラミングに関するものではなく、純粋に数学的な問題であるため、この質問を議論の対象外としています。 (「線形計画法」は誤解を招く用語で、コンピュータプログラミングとは関係ありません。) – duskwuff

答えて

3

|x|>=2のような式を純粋な(連続的な)LPに振り分ける方法はありません。 x <= -2 OR x >= 2は凸ではないと定式化する必要があります。これには、問題をMIPにするバイナリ変数が必要です。

1つの製剤とすることができる:

Mが賢明多数の選択され
x >= 2 - delta*M 
x <= -2 + (1-delta)*M 
delta in {0,1} 

。例えば。 -100<=x<=100の場合はM=102を選択できます。

関連する問題