我有一个混合整数规划问题(二进制整数变量),我可以解决多少变量,即上限和时间是多少?
该问题将具有最多5个约束和最小化成本函数,但变量采用m * n矩阵的形式。那么,问题是m和n的最大值是什么,也是完成计算所需的时间?
使用COIN CBC,GLPK,CPLEX,GUROBI等标准软件/库。
答案 0 :(得分:1)
是否真的可以使用市场上的开源/商业解决方案来解决它?
简短回答:是的,有可能用数百万个决策变量来解决MIP问题。
<强>理论强>
通常,MIP是NP-hard problem,并且不能在多项式时间O(n ^ k)中求解。此外,非直截了当来确定MIP问题的输入“n”是什么。不是吗行,列或它们的产品,矩阵的性质A
,决策变量的性质,MIP与宽松LP之间的差距?
如果IP公式(Ax = b),矩阵A是totally unimodular,并且所有系数都是整数,则LP松弛的解也是IP的解,因此问题的复杂性是的多项式强>
如果没有,那么在一般情况下你应该预期问题是NP难的。作为一个拇指规则,变量越多,约束越多,问题就越难。
<强>实践强>
MIP / LP解算器可以使用各种技术/算法在合理的时间内(以小时为单位)解决任何问题,特别是如果您不是在寻找“最佳”整数解决方案并且愿意接受最接近解决方案的解决方案。 / p>
没有固定的大小限制 - 即使在标准的笔记本电脑和台式电脑上,Gurobi Optimizer也会定期解决具有数百万变量和限制的模型。更重要的是,您可以在Gurobi的表现中看到结果,特别是在更大,更难的模型上。事实上,Gurobi最近解决了MIPLIB2010库中的11个模型,这些模型以前没有被任何其他求解器解决过。
来源:http://www.gurobi.com/products/gurobi-optimizer
特殊MIP问题
可以使用特殊技术来解决MIP的特殊情况。
我编写了简单的列生成算法来解决切割库存问题。见https://github.com/vcphub/cspsol