我试图执行使用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