【发布时间】:2018-02-06 17:42:38
【问题描述】:
我正在使用 COIN-OR 的 CLP 求解器和 Python 中的 PULP 求解一个最小化线性程序。
问题中包含的变量是可能变量总数的子集,有时我的定价启发式方法会选择导致不可行解决方案的变量子集。之后,我使用影子价格为新变量定价。
我的问题是,如果问题不可行,我仍然可以通过调用 prob.constraints[c].pi 获得值,但这些值本身似乎并不总是“有效”或“好”。
现在,像 Gurobi 这样的求解器甚至不允许我在求解不可行后调用影子价格。
【问题讨论】:
-
有趣的问题,我不知道是不是答案,我假设不是因为第一阶段的目标(可行性解决)与实际目标不同。如果我是你,我会首先解决问题以尽量减少不可行(放入人工变量,然后尝试删除它们),然后在可行时切换到实际目标。
-
谢谢斯图尔特,也许我不完全理解你的策略,但我认为它可能行不通,因为行生成步骤最终导致不可行,其中添加了一个从未有过的新约束以前见过;
标签: python pulp coin-or-cbc