Faster Algorithms for Integer Programs with Block Structure

Abstract

We consider integer programming problems \ cT x : A x = b, l ≤ x ≤ u, x ∈ Znt\ where A has a (recursive) block-structure generalizing "n-fold integer programs" which recently received considerable attention in the literature. An n-fold IP is an integer program where A consists of n repetitions of submatrices A ∈ Zr × t on the top horizontal part and n repetitions of a matrix B ∈ Zs × t on the diagonal below the top part. Instead of allowing only two types of block matrices, one for the horizontal line and one for the diagonal, we generalize the n-fold setting to allow for arbitrary matrices in every block. We show that such an integer program can be solved in time n2 t2 φ · (rs)O(rs2+ sr2) (ignoring logarithmic factors). Here is an upper bound on the largest absolute value of an entry of A and φ is the largest binary encoding length of a coefficient of c. This improves upon the previously best algorithm of Hemmecke, Onn and Romanchuk that runs in time n3t3 φ · O(t2s). In particular, our algorithm is not exponential in the number t of columns of A and B. Our algorithm is based on a new upper bound on the l1-norm of an element of the "Graver basis" of an integer matrix and on a proximity bound between the LP and IP optimal solutions tailored for IPs with block structure. These new bounds rely on the "Steinitz Lemma". Furthermore, we extend our techniques to the recently introduced "tree-fold IPs", where we again present a more efficient algorithm in a generalized setting.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…