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

Linear programming 混合整数规划可以求解多少决策变量?,linear-programming,cplex,glpk,integer-programming,coin-or-cbc,Linear Programming,Cplex,Glpk,Integer Programming,Coin Or Cbc,我有一个混合整数规划问题(二进制整数变量),我能解多少个变量,即上限,需要多少时间 该问题将具有最大5个约束和最小成本函数,但变量的形式为m*n矩阵。所以,问题是m和n的最大值是多少,以及完成计算所需的时间是多少 使用标准软件/库,如COIN CBC、GLPK、CPLEX、GUROBI 真的有可能使用市场上可用的开源/商业解决方案来解决这个问题吗 简短回答:是的,可以用数百万个决策变量求解MIP 理论 一般来说,MIP是且不能用多项式时间O(n^k)求解。此外,确定MIP问题中的输入“n”不是简

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

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

使用标准软件/库,如COIN CBC、GLPK、CPLEX、GUROBI

真的有可能使用市场上可用的开源/商业解决方案来解决这个问题吗

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

理论

一般来说,MIP是且不能用多项式时间O(n^k)求解。此外,确定MIP问题中的输入“n”不是简单的。是行数、列数还是它们的乘积、矩阵A的性质、决策变量的性质、MIP和松弛LP之间的差距

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

如果不是,那么你应该期望这个问题在一般情况下是NP难的。根据经验法则,变量越多,约束越多,问题就越难解决

练习

MIP/LP解算器可以使用各种技术/算法在合理的时间内(以小时为单位)解决任何问题,特别是在您不寻找“最优”整数解并且愿意接受接近最优解的解的情况下

没有固定的大小限制-Gurobi Optimizer通常会解决具有数百万个变量和约束的模型,即使在标准笔记本电脑和台式电脑上也是如此。更重要的是,您可以从古洛比的性能中看到结果,尤其是在更大、更难的模型上。事实上,Gurobi最近解决了MIPLIB2010库中的11个模型,这些模型以前从未被任何其他解算器解决过

资料来源:

特殊MIP问题

特殊技术可用于解决MIPs的特殊实例

  • :下料问题的特殊情况

我写了一个简单的列生成算法来解决下料问题。请参见

如果最多有5个约束,那么什么是
m
n
?m*n是决策变量矩阵,而不是约束,我定义约束,解算器使用mn变量解决问题,并为我提供最佳变量作为解决方案。市场上的解算器可以解决的最大mn大小是多少?是的,准确地说,我想问的是,我有一个MIP问题,我尝试使用Excel解决,在200个变量(约50分钟)后,它达到最大值,但我想将其扩展到1M+决策变量(约2-3小时)。真的有可能使用市场上可用的开源/商业解决方案来解决它吗?是的,这是可能的。但是如果你使用的是免费/开源的解算器,你必须幸运地“开箱即用”地解决它。如果你的问题有很好的结构和很好的数值特征,它可能是好的。但它可能不是-我有一个问题,目前只有大约27k个整数变量,而CPLEX在一个合理的服务器上无法在8小时内找到一个整数解决方案,在某些情况下。如果您可以使用解算器实现一些巧妙的技术(如列生成、折弯器或VLN),您可能会获得更好的性能并解决更大的问题。顺便说一句:Excel解算器非常弱。是的,Excel是其他商业解算器中较弱的选项,我的问题比较简单,复杂度较低,但数据非常庞大。我有一个成本矩阵(a),并想生成一个二进制整数矩阵(B)。所以,我想最小化AxB,唯一的约束是变量矩阵中每一行的和,这意味着行中只有一个值应该是1,其他值应该是零。您正在处理装箱问题吗?不。这是一个订单到仓库的分配问题。但我也做过装箱的工作,它实际上使用了一个二叉搜索树来实现高效的二维装箱。它与用于MIP的分支和切割方法非常相似。