H. Lenstra在1983年发表的著名论文《具有固定数量的变量的整数编程》指出,具有固定数量的变量的整数程序可以在时间多项式中求解数据长度。
我的解释如下。
- 通常,整数编程仍然是NP完整的,但是如果我手头上典型的问题大小(例如大约10.000个变量,任意数量的约束)在实践中可行,那么我可以构建一种算法,该算法可以按多项式缩放约束数量,但不能变量和约束的数量。
- 该结果也适用于二进制编程,因为我可以通过添加适当的约束将任何整数强制为0-1。
我的解释正确吗?
这个结果有实际意义吗?也就是说,有没有可用的实现,或者它已用于CPLEX,Gurobi或Mosek等流行的求解器中?
本文引述如下:
出于我们的目的,此长度可以定义为n·m·log(a + 2),其中a表示A和b的系数的绝对值的最大值。实际上,由于所讨论的问题是NP完全问题,因此不可能存在这样的多项式算法
[...]
推测[5],[10],对于n的任何固定值,都存在一个用于求解整数线性规划问题的多项式算法。在本文中,我们通过展示这种算法来证明这一猜想。可以限制我们的算法运行时间的多项式次数是n的指数函数。