Proximity Results and Faster Algorithms for Integer Programming Using the Steinitz Lemma: ℓ1-Proximity of Integer and LP OptimaResearch Paper
Motivation
Integer programs are routinely solved by first solving their linear programming (LP) relaxation and then searching for an integer optimum near the fractional one. How near an integer optimum must be is the subject of proximity theorems. They bound the search region of branch-and-bound and of dynamic programming, and they turn a fractional optimum into a starting point for exact algorithms.
The classical bound is due to Cook, Gerards, Schrijver and Tardos (Math. Programming 34, 1986): for an integer program in inequality form that is feasible and bounded, every optimal LP solution has an optimal integer solution with , where is the largest absolute value of a subdeterminant of . For programs in standard form with rows this gives, via the Hadamard bound, , which grows with the number of variables .
Eisenbrand and Weismantel (ACM Trans. Algorithms 16(1), Article 5, 2019; conference version SODA 2018) removed the dependence on altogether, using the Steinitz lemma on rearranging vectors so that all partial sums stay short. Their bound depends only on and on the largest absolute value of an entry of , and it is the basis of their faster algorithms for integer programs with few constraints.
Setting
Fix natural numbers (rows) and (variables). The data are a matrix , a right-hand side , an objective and upper bounds . A natural number bounds the entries: for all . The integer program (10) is
and its LP relaxation is the same problem over . Its feasible region is a polytope, lpPolytope A b u. An optimal vertex solution is an optimal solution of the LP relaxation (IsLPOptimal) that is an extreme point of . An optimal integer solution is IsIPOptimal. Both are maxima.
Distances are measured in the -norm .
A vector is a cycle of (Eq. (14)) if and, for every , and : an integer kernel vector that is sign-compatible with and dominated by it (IsCycle).
The Steinitz lemma (Theorem 1.1) concerns vectors in an -dimensional normed space with and . It asserts a permutation with for all , and the paper uses Sevast'anov's constant .
Formalization targets
Goal: Theorem 3.3 (p. 5:8)
If (10) has an integer feasible point and is an optimal vertex solution of its LP relaxation, then there is an optimal solution of (10) with
The constant is the paper's. The goal holds for all , , , and ; only and enter the bound.
Milestones, in the order the proof uses them
- Lemma 3.1 (p. 5:8): for an LP optimum , an integer optimum and a cycle of , the vector is integer feasible, is LP feasible, and .
- Lemma 3.2 (p. 5:8): if minimizes among the optimal integer solutions, then has no nonzero cycle.
- Theorem 1.1 with (p. 5:4): the Steinitz lemma in any -dimensional real normed space.
- Proof of Theorem 3.3 (pp. 5:8–5:9): round a vertex towards an integer vector and write for the remainder. Then and with integer , .
- Proof of Theorem 3.3, Eq. (20) (p. 5:9): a sequence of integer vectors of -norm at most in which no value repeats times has length at most .
- Eq. (21) (p. 5:9), a consequence: for every optimal integer solution .
Significance
The bound is independent of the number of variables. Combined with the paper's dynamic program, it gives the paper's running-time results for integer programs with upper bounds: an optimal LP vertex is computed, and the integer optimum is searched for within an -ball of radius around it. Eq. (21) bounds the absolute integrality gap by the same quantity, scaled by . The Steinitz lemma with constant is a general tool in discrepancy theory and in scheduling algorithms.
All of these results have published proofs. No machine-checked proof of Theorem 3.3 or of the Steinitz lemma is known to this mission, and Mathlib has no Steinitz lemma. The mission asks for complete Lean proofs of the milestones and of the goal. A proof of the Steinitz lemma with constant for arbitrary norms is reusable well beyond integer programming.
Difficulty
Lemmas 3.1 and 3.2 and the counting step are elementary. The substance lies in two places. The first is the Steinitz lemma with the linear constant for an arbitrary norm: the bound must hold uniformly in the number of vectors, and the constant must be exactly , because the goal's constant counts integer points of -norm at most . The second is the passage from a vertex to at most fractional coordinates. The paper argues this in one sentence (" has at most positive entries"), which is not literally true for (10) with upper bounds: coordinates at their upper bound are positive. The correct fact concerns coordinates strictly between and , and it has to be derived from the extreme-point property of .
Formalization scope
- All declarations live in the namespace
IPProximity.Eisenbrand. The data are integral:A : Matrix (Fin m) (Fin n) ℤ,b : Fin m → ℤ,c : Fin n → ℤ,u : Fin n → ℕ(entries allowed),Δ : ℕ. They are cast toℝonce, inside the LP definitions. and are allowed. - "Vertex" is Mathlib's
Set.extremePoints ℝ (lpPolytope A b u). It is not defined through bases or by counting fractional coordinates. - The -distance is the explicit sum
∑ i, |(z i : ℝ) - x i|. Mathlib's norm onFin n → ℝis the sup norm, and it is used only where the paper has (the of Eq. (21)). - The goal adds one hypothesis the paper leaves implicit: (10) has an integer feasible point. The paper's proof begins with "Let be an optimal integer solution"; without this hypothesis the conclusion is false.
- Eq. (14) is formalized literally, so is a cycle, and Lemma 3.2 is stated for nonzero cycles, which is what its proof establishes. Dropping the vertex hypothesis would make the goal false, so the goal keeps it. The constant is exactly , with no hidden existential constant.
- The Steinitz milestone is stated for any finite-dimensional real normed space of dimension with the explicit constant . The goal needs only the case on .
- Out of scope: the dynamic program and the running-time theorems of Sections 2 and 4, and the refinement for .
Contributions welcome: proofs of any milestone, in particular the Steinitz lemma, and a proof of the goal from the milestones.
Selected references
- F. Eisenbrand, R. Weismantel, Proximity Results and Faster Algorithms for Integer Programming Using the Steinitz Lemma, ACM Transactions on Algorithms 16(1), Article 5, 2019. https://doi.org/10.1145/3340322
- W. Cook, A. M. H. Gerards, A. Schrijver, É. Tardos, Sensitivity theorems in integer linear programming, Mathematical Programming 34, 251–264, 1986. https://doi.org/10.1007/BF01582230
- E. Steinitz, Bedingt konvergente Reihen und konvexe Systeme, Journal für die reine und angewandte Mathematik 143, 128–176, 1913. https://doi.org/10.1515/crll.1913.143.128
- S. Sevast'janov, Approximate solution of some problems of scheduling theory (in Russian), Metody Diskretnogo Analiza 32, 66–75, 1978 (reference [31] of the paper).
- V. S. Grinberg, S. V. Sevast'yanov, Value of the Steinitz constant, Functional Analysis and Its Applications 14(2), 125–126, 1980 (reference [16] of the paper).