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