我試圖執行使用Pyomo優化,但我在努力定義約束了這樣的問題:混合整數規劃:約束定義與if語句,包括變量
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
我基本上剛剛開始使用約束等,所以我想我想一次納入太多。 謝謝,我會研究你提到的兩種方法。 – AWi
從[this]開始(http://download.aimms.com/aimms/download/manuals/AIMMS3OM_LinearProgrammingTricks.pdf)。解釋指標約束和大M方法。 – sascha