混合整数规划可以解决多少个决策变量?

How many decision variables can be solved for Mixed Integer Programming?

我有一个混合整数规划问题(二进制整数变量),我可以解决多少个变量,即上限,需要多长时间?

该问题将有最多 5 个约束和最小化成本函数,但变量采用 m*n 矩阵的形式。那么,问题是 m 和 n 的最大值是多少,以及完成计算所需的时间?

使用标准 software/libraries,例如 COIN CBC、GLPK、CPLEX、GUROBI。

Is it really possible to use the open-source/commercial solvers, available in the market, to solve it ?

简短回答:是的,可以用数百万个决策变量来解决 MIP。

理论

一般MIP是NP-hard problem,不能用多项式时间O(n^k)求解。此外,不直接 确定 MIP 问题的输入 "n"。是不是。行、列或它们的乘积,矩阵的性质 A,决策变量的性质,MIP 和宽松 LP 之间的差距?

如果IP公式(Ax = b),矩阵A是totally unimodular,所有系数都是整数,那么LP松弛的解也是IP的解,因此你的复杂度问题是多项式

如果不是,那么在一般情况下,您应该认为问题是 NP-hard 问题。作为一个经验法则,变量越多,约束越多,问题就越难。

练习

MIP/LP 求解器可以使用各种 techniques/algorithms 在合理的时间内(以小时为单位)解决任何问题,特别是如果您不是在寻找 "the" 最佳整数解决方案并且愿意接受解决方案关闭最优。

There is no fixed size limit — the Gurobi Optimizer routinely solves models with millions of variables and constraints, even on standard laptop and desktop computers. More importantly, you can see the results in Gurobi's performance, particularly on larger, more difficult models. In fact, Gurobi recently solved 11 models in the MIPLIB2010 library that had not previously been solved by any other solver.

来源:http://www.gurobi.com/products/gurobi-optimizer

特殊 MIP 问题

可以使用特殊技术来解决 MIP 的特殊情况。

我写了简单的列生成算法来解决下料问题。参见 https://github.com/vcphub/cspsol