具有固定数量的变量的整数编程


12

H. Lenstra在1983年发表的著名论文《具有固定数量的变量的整数编程》指出,具有固定数量的变量的整数程序可以在时间多项式中求解数据长度。

我的解释如下。

  1. 通常,整数编程仍然是NP完整的,但是如果我手头上典型的问题大小(例如大约10.000个变量,任意数量的约束)在实践中可行,那么我可以构建一种算法,该算法可以按多项式缩放约束数量,但不能变量和约束的数量。
  2. 该结果也适用于二进制编程,因为我可以通过添加适当的约束将任何整数强制为0-1。

我的解释正确吗?

这个结果有实际意义吗?也就是说,有没有可用的实现,或者它已用于CPLEX,Gurobi或Mosek等流行的求解器中?

本文引述如下:

出于我们的目的,此长度可以定义为n·m·log(a + 2),其中a表示A和b的系数的绝对值的最大值。实际上,由于所讨论的问题是NP完全问题,因此不可能存在这样的多项式算法

[...]

推测[5],[10],对于n的任何固定值,都存在一个用于求解整数线性规划问题的多项式算法。在本文中,我们通过展示这种算法来证明这一猜想。可以限制我们的算法运行时间的多项式次数是n的指数函数。


2
“我可以构建一种算法,该算法可以按约束或变量的数量进行多项式缩放,而不能按变量和约束的数量进行缩放。” 有趣的观点/问题-到目前为止,我们已经看到对于约束(保持固定的变量数)是正确的,但是询问是否对变量(保持固定的约束数)是否成立也很有趣。 ?凭直觉,感觉不应该如此,否则IP通常是多时的,但是我不确定。
usul 2013年

Lenstra在论文的第4节中指出:“具有固定值m的整数线性规划问题可以多项式求解。” (m是约束的数量)这是主要结果的推论。这部分我不清楚。再考虑一下,也许他假设n和m固定;表示它是“ a”中的多项式(A和b的系数的绝对值的最大值)。(因此,我从上面的问题中删除了“或变量”部分)。
2013年

6
nmmn

Answers:


19

n

O(n2.5n+o(n)L)LLn

因此,问题是通过变量数量对固定参数线性化。

1)是的,整数线性编程“仍”是NP完整的。以上理论结果的运行时间仅线性地取决于约束条件的数量,因此它在约束条件的数量上可以很好地缩放。但是我不知道该算法的实际实现。

2)是的,正如您观察到的那样,使变量采用二进制值非常简单。

L

O(2nnm+8nnmlogmlogm+n2.5n+o(n)slogm)
ms

1
嗯,感谢术语“固定参数线性”。这就是伦斯特拉的论文的目的。另请参见:en.wikipedia.org/wiki/Parameterized_complexity
Bernhard Kausler,2013年

4
nO(n2nm)

T(n,m,s)nmsO(2nm+(logm)T(n,f(n),s)O(s)f(n)nO(n)

1
这不会改变您答案的基本事实,但另一个相关的参考文献是KL Clarkson。当维数较小时,用于线性和整数编程的拉斯维加斯算法。J. ACM 42(2):488-499,1995,doi:10.1145 / 201019.201036。
David Eppstein

2
mnO(n2.5n+o(n)L)T(n,f(n),s)f(n)=4nL=4nsf(n)O(2nnm+n2.5n+o(n)(logm)s)

4

关于Lenstra类型结果的实际含义以及在CPLEX,Gurobi等中可能的实现,有两点。在大多数此类IP算法中,关键步骤之一是朝“好的”或“瘦的”方向发展,也就是说,多面体的宽度不会太大的超平面(变量和数据大小的多项式)。但是Mahajan和Ralphs此处是预印本)表明,选择最佳分离的问题是NP完全的。因此,似乎很难创建此类算法的实际有效实现。

诸如CPLEX之类的软件包中实现的大多数算法都可以归类为分支剪切方法。这一系列技术通常在可行的IP实例上运行良好,并且通常能够找到接近最佳的解决方案。但是,Lenstra型算法的重点是无法开始的最坏情况IP实例,目的是证明其整数不可行(他们研究此任务的复杂性)。AFAIK,没有任何与实际相关的问题适合于此描述。因此,CPLEX / Gurobi人士可能不会很快实施Lenstra型算法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.