From approximate to exact integer programming

成果类型:
Article
署名作者:
Dadush, Daniel; Eisenbrand, Friedrich; Rothvoss, Thomas
署名单位:
Centrum Wiskunde & Informatica (CWI); Swiss Federal Institutes of Technology Domain; Ecole Polytechnique Federale de Lausanne; University of Washington; University of Washington Seattle
刊物名称:
MATHEMATICAL PROGRAMMING
ISSN/ISSBN:
0025-5610
DOI:
10.1007/s10107-024-02084-1
发表日期:
2025
页码:
223-241
关键词:
algorithm volume
摘要:
Approximate integer programming is the following: For a given convex body K subset of R-n, either determine whether K boolean AND Z(n) is empty, or find an integer point in the convex body 2 . (K-c)+c which is K, 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)) . 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 is an element of(KZn) can be found in time 2(O(n)), provided that the remainders of each component x(i)* mod l for some arbitrarily fixed l >= 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 (Integer programming, lattice algorithms, and deterministic, vol. Estimation. Georgia Institute of Technology, Atlanta, 2012) that is considerably more involved. Our algorithm also relies on a new asymmetric approximate Caratheodory theorem that might be of interest on its own. Our second method concerns integer programming problems in equation-standard form Ax = b,0 <= x <= u, x is an element of Z(n). Such a problem can be reduced to the solution of Pi(i) O(logu(i) + 1) approximate integer programming problems. This implies, for example that knapsack or subset-sum problems with polynomial variable rang e0 <= x(i) <= p(n) can be solved in time (logn)O(n). For these problems, the best running time so far was n(n).2(O(n)).