论文标题

从大约到确切的整数编程

From approximate to exact integer programming

论文作者

Dadush, Daniel, Eisenbrand, Friedrich, Rothvoss, Thomas

论文摘要

近似整数编程如下:对于凸面$ k \ subseteq \ mathbb {r}^n $,要么确定$ k \ cap \ cap \ mathbb {z}^n $是空的,要么在其convex body中找到一个整数,从其convex body缩放为$ 2 $ $ 2 $,从其中心$ c $ C $ c $ c $ c $ c $ c $ c $ 2 $。近似整数编程可以在时间上解决$ 2^{o(n)} $,而确切整数编程的最快已知方法则运行$ 2^{o(n)} \ cdot n^n $。到目前为止,尚无针对整数编程的有效方法,这些方法基于近似整数编程。我们的主要贡献是两种这样的方法,每种方法都产生了新的复杂性结果。 首先,我们证明一个整数点$ x^* \ in(k \ cap \ mathbb {z}^n)$可以在时间$ 2^{o(n)} $中找到,前提是每个组件$ x_i^*^* \ mod mod {\ ell} $的剩余部分对于某些任意固定的$ \ ell \ ell geq 5(n+1 $)$ 1 $ n+1)该算法基于切割平面技术,迭代将可行集合的体积减半。切割平面是通过近似整数编程确定的。可能的剩余枚举给出了$ 2^{o(n)} n^n $算法,用于一般整数编程。这符合Dadush(2012)的算法当前最佳界限,该算法的参与得多。我们的算法还依赖于一种新的不对称近似Carathéodory定理,该定理本身可能引起人们的关注。 我们的第二种方法涉及方程式标准形式的整数编程问题$ ax = b,0 \ leq x \ leq u,\,x \ in \ mathbb {z}^n $。这样的问题可以简化为$ \ prod_i o(\ log u_i +1)$近似整数编程问题的解决方案。这意味着,例如,可以在时间$ $ $(\ log n)^{o(n)} $中解决多项式变量范围$ 0 \ leq x_i \ leq p(n)$的背​​包或子集问题。对于这些问题,到目前为止最好的运行时间是$ n^n \ cdot 2^{o(n)} $。

Approximate integer programming is the following: For a convex body $K \subseteq \mathbb{R}^n$, either determine whether $K \cap \mathbb{Z}^n$ is empty, or find an integer point in the convex body scaled by $2$ from its center of gravity $c$. Approximate integer programming can be solved in time $2^{O(n)}$ while the fastest known methods for exact integer programming run in time $2^{O(n)} \cdot n^n$. So far, there are no efficient methods for integer programming known that are based on approximate integer programming. Our main contribution are two such methods, each yielding novel complexity results. First, we show that an integer point $x^* \in (K \cap \mathbb{Z}^n)$ can be found in time $2^{O(n)}$, provided that the remainders of each component $x_i^* \mod{\ell}$ for some arbitrarily fixed $\ell \geq 5(n+1)$ of $x^*$ are given. The algorithm is based on a cutting-plane technique, iteratively halving the volume of the feasible set. The cutting planes are determined via approximate integer programming. Enumeration of the possible remainders gives a $2^{O(n)}n^n$ algorithm for general integer programming. This matches the current best bound of an algorithm by Dadush (2012) that is considerably more involved. Our algorithm also relies on a new asymmetric approximate Carathéodory theorem that might be of interest on its own. Our second method concerns integer programming problems in equation-standard form $Ax = b, 0 \leq x \leq u, \, x \in \mathbb{Z}^n$ . Such a problem can be reduced to the solution of $\prod_i O(\log u_i +1)$ approximate integer programming problems. This implies, for example that knapsack or subset-sum problems with polynomial variable range $0 \leq x_i \leq p(n)$ can be solved in time $(\log n)^{O(n)}$. For these problems, the best running time so far was $n^n \cdot 2^{O(n)}$.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源