Table of Contents
Fetching ...

From approximate to exact integer programming

Daniel Dadush, Friedrich Eisenbrand, Thomas Rothvoss

TL;DR

The paper investigates using Approximate Integer Programming to tackle exact integer programming. It introduces two reductions: a Cut-Or-Average method that leverages Approx-IP to build a lattice-based witness set and a remainder-enumeration step to recover a full IP solution, and a standard-form reduction that partitions the feasible region into cells and solves each via Approx-IP, yielding a running time of $(\log n)^{O(n)}$ for polynomially bounded variables. A key technical tool is an asymmetric Approximate Carathéodory theorem that enables representing a point in $K$ as a small-weight combination of lattice points, which drives the first method’s feasibility. Together, these results give $2^{O(n)}$-type performance in the best case and substantial improvements for structured IPs such as knapsack and subset-sum with polynomially bounded variables, advancing the frontier toward singly exponential exact IP. The work also clarifies the limits and connections with prior CVP/IP approaches and references subsequent developments that further elucidate the landscape of exponential-time IP algorithms.

Abstract

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)}$.

From approximate to exact integer programming

TL;DR

The paper investigates using Approximate Integer Programming to tackle exact integer programming. It introduces two reductions: a Cut-Or-Average method that leverages Approx-IP to build a lattice-based witness set and a remainder-enumeration step to recover a full IP solution, and a standard-form reduction that partitions the feasible region into cells and solves each via Approx-IP, yielding a running time of for polynomially bounded variables. A key technical tool is an asymmetric Approximate Carathéodory theorem that enables representing a point in as a small-weight combination of lattice points, which drives the first method’s feasibility. Together, these results give -type performance in the best case and substantial improvements for structured IPs such as knapsack and subset-sum with polynomially bounded variables, advancing the frontier toward singly exponential exact IP. The work also clarifies the limits and connections with prior CVP/IP approaches and references subsequent developments that further elucidate the landscape of exponential-time IP algorithms.

Abstract

Approximate integer programming is the following: For a convex body , either determine whether is empty, or find an integer point in the convex body scaled by from its center of gravity . Approximate integer programming can be solved in time while the fastest known methods for exact integer programming run in time . 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 can be found in time , provided that the remainders of each component for some arbitrarily fixed of 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 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 . Such a problem can be reduced to the solution of approximate integer programming problems. This implies, for example that knapsack or subset-sum problems with polynomial variable range can be solved in time . For these problems, the best running time so far was .
Paper Structure (11 sections, 24 theorems, 22 equations, 6 figures)

This paper contains 11 sections, 24 theorems, 22 equations, 6 figures.

Key Result

Theorem 1

There is a $2^{O(n)}$-time algorithm $\textsc{ApxIP}(K,c,\Lambda)$ that takes as input a convex body $K \subseteq \mathbb{R}^n$, a point $c \in K$ and a lattice $\Lambda \subseteq \mathbb{R}^n$. Assuming that $\textrm{Vol}_n( (K-c) \cap (c-K) ) \geq 2^{-\Theta(n)} \textrm{Vol}_n(K)$ the algorithm ei

Figures (6)

  • Figure 1: The Cut-Or-Average algorithm.
  • Figure 2: Visualization of the inner WHILE loop where $Q := K \cap \{ x \in \mathbb{R}^n \mid \left<a,x\right> \geq \left<a,c+\frac{\rho}{2}d\right>\}$.
  • Figure 3: Visualization of lines (12)+(13) (with $n=2$ and $\Lambda=\mathbb{Z}^2 = \Lambda^*$)
  • Figure 4: Visualization of the proof of Lemma \ref{['lem:VolumeForSymmetrizerOfQ']} where $\tilde{c} = c + \rho d$.
  • Figure 5: The reflection set.
  • ...and 1 more figures

Theorems & Definitions (36)

  • Theorem 1: Dadush ApproximateIP-DadushAlgorithmica2014
  • Theorem 2: Minkowski's Theorem
  • Lemma 3
  • Lemma 4: Grünbaum's Lemma
  • Theorem 5
  • Theorem 6: Inequality of Rogers and Shephard
  • Theorem 7: Blaschke-Santaló-Bourgain-Milman
  • Theorem 8: Frank, Tardos frank1987application
  • Lemma 9
  • proof
  • ...and 26 more