含むif文で制約定義私はPyomoを使用して最適化を実行しようとしていますが、私はこのような問題のための制約を定義するのに苦労しています:混合整数計画:変数
if Variable 1 > Parameter
Variable 2 = Variable 1 - Parameter
else skip constraint (?)
if Parameter > Variable 1
Variable 3 = Variable 4 -(Parameter - Variable 1)
else skip constraint (?)
は何とかこの仕事をしていますか? スキップ制約について:それが必要なのかどうかはわかりません。
基本的には、変数とパラメータの関係を表現したいだけです。
私はここで(Mixed integer programming: variable assignment per condition (if then else))と似たようなものを見ましたが、私の問題に調整することはできません。
ありがとうございます!
ちょっと不明です。正確にあなたが達成しようとしていることは、あなたがいくつかの基本が欠けているようです。ある変数をあるハーフバウンドまたは他の値に依存する値に制限したい場合は、この制約を(常に線形方程式に変換されます)常にモデルに追加する必要があります(ソルバーはこれについての理由)。つまり、**スキップ制約**は意味をなさないことを意味します。この擬似コードは、混合 - 整数プログラミングよりも制約プログラミングベースのアプローチに似ています。タスクを分割する:バイナリインジケータ制約と大きなM値を追加します。 – sascha
私は基本的に制約などの作業を始めましたので、あまりにも多くを一度に含めたいと思います。 ありがとう、私はあなたが言及した2つの方法を調べます。 – AWi
[this](http://download.aimms.com/aimms/download/manuals/AIMMS3OM_LinearProgrammingTricks.pdf)から開始してください。インジケータ制約とbig-Mアプローチの両方が説明されている。 – sascha