我尝试使用 python mud 解决 MILP 问题,但该解决方案不可行。所以,我想找到不可行的地方,并想放松它或消除它,以找到可行的解决方案。由于存在大量约束,因此很难在 LP 文件中手动检查。那么我该如何处理这个问题呢?
我浏览了一些他们提到的在 LP 文件中手动检查的文章,但对于大量变量/约束,手动执行非常困难。
这只是不可行
最佳答案
总的来说,这并不那么容易。一些提示:
- 如果您可以为您的问题构建一个可行但不一定是最佳的解决方案,请将其插入,您将很容易找到罪魁祸首。
- 一些高级求解器具有可以提供帮助的工具(IIS、冲突优化器)。它们可能会也可能不会指出真正的问题。
- 请注意,模型可能是 LP 不可行的,也可能只是整数不可行的。
- 在某些情况下,可以只放松可疑的约束 block ,看看会发生什么。
- 我经常使用的一种更具结构性的方法是制定弹性模型:允许违反约束,但要付出代价。这通常具有一定的经济意义:雇用临时工、租用额外产能、从第三方购买等。
关于python - 使用 Pulp 在 Python 中识别不可行性约束并放松/删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58481385/