添加二进制变量不可行

时间:2019-02-24 01:32:25

标签: python optimization linear-programming pyomo mixed-integer-programming

我真的很感谢这里的任何提示;我被困了一段时间。

问题就是这样:我有一个用Pyomo编写的线性程序,当我解决它时,它会运行到最佳状态。但是,当我引入任何涉及二进制变量的约束时,无论使用哪种约束,求解器都认为不可行。我已经完全隔离了问题,但仍然没有解决方案。我注释掉了我所有的整数约束,并添加了以下三行:

mongoose

也就是说,我定义了两个新的伪变量(一个二进制),它们没有出现在代码中的任何地方,同时还定义了涉及这两个变量的新约束。求解器(glpk)应该能够像以前一样将原始问题求解为最优,然后将新变量'a'和'b'任意设置为满足约束的条件(简单将它们设置为0或同时设置为两者1)。

但这不起作用。由于某些原因,该问题是不可行的,但仅当添加了3个新行时。我将这3行复制并粘贴到一个单独的不相关的优化问题中,它按预期工作得很好。

不幸的是,由于它是机密信息,因此我无法共享其余的公式,但是看到我的2个新变量和1个新约束很简单,并且与其余问题完全没有重叠,因此它们不是必需的。 / p>

有人看过吗?

0 个答案:

没有答案