Motivation
Finding a nonzero nonnegative point in a linear subspace is the feasibility core of linear optimization. For a subspace L⊆Rn with orthogonal complement L⊥, the pair of problems
find x∈L∩R+nandfind x^∈L⊥∩R+n
subsumes every polyhedral feasibility problem and every linear program through standard homogenization. A maximum support solution of the pair, a point of each cone with as many positive coordinates as possible, always exists, and identifies which coordinates can be positive at all. Rescaling algorithms solve such problems with elementary steps (a simple "basic procedure" interleaved with a reconditioning step) and with running-time bounds in terms of a condition measure of the input.
Timeline of the results this mission builds on, as described in the source (arXiv:2003.08911v3, pp. 1–3):
- Chubanov (2012, 2015) developed a projection-based algorithm with periodic rescaling for {x:Ax=0} (Math. Program. 134, 2012; Math. Program. 153, 2015).
- Peña and Soheili (2017), Solving conic systems via projection and rescaling (Math. Program. 166), gave the projection and rescaling algorithm. It finds a point of L∩R++n (or of L⊥∩R++n) when one exists, the full support problem, with a bound in terms of a condition measure of L.
- Peña and Soheili (2019) implemented a variant aimed at maximum support solutions and reported computational evidence of its success. Its correctness was proved only when one of the two full-support problems is feasible.
- Dadush, Végh and Zambelli gave maximum support algorithms that rescale A↦MA while leaving L unchanged.
- Peña and Soheili (2022), the source of this mission, prove correctness and condition-based bounds for a projection and rescaling algorithm that finds maximum support solutions in full generality, rescaling L↦DL by positive diagonal matrices. Their condition measures σ(L), σ(L⊥) are variants of a measure of Ye (Math. Oper. Res. 19, 1994).
Setting
Let L⊆Rn be a linear subspace and L⊥ its orthogonal complement. The support of x∈R+n is {j:xj>0}. The maximum support index set is
J(L)={j∈{1,…,n}:xj>0 for some x∈L∩R+n},
and a maximum support point is an x∈L∩R+n whose support is J(L). For each coordinate i, σi(L)=max{xi:x∈L∩R+n, ∥x∥∞≤1}, and the condition measure is σ(L)=minj∈J(L)σj(L), with σ(L)=1 when J(L)=∅.
For J⊆{1,…,n} let RJ be the vectors vanishing off J, Δ(J)={x∈RJ:x≥0, ∥x∥1=1}, and, for a positive diagonal matrix D, PDL∣J the orthogonal projection onto DL∩RJ.
Algorithm 1 (partial support) takes (L,σ) with a guess σ∈(0,1) of σ(L). It starts from D=I, J={1,…,n} and repeatedly calls a basic procedure, which returns either u∈Δ(J) with (PDL∣Ju)J>0, in which case the algorithm halts with x=D−1PDL∣Ju and J; or z∈Δ(J) with ∥(PDL∣Jz)+∥1≤21∥z∥∞, in which case it doubles Dii for a maximizer i of z (a rescaling step), drops i from J if Dii>1/σ, and halts with x=0, J=∅ if J becomes empty. Its output is written J(L,σ).
Algorithm 2 (maximum support) starts with σ=1/2 and in each main iteration computes (x,J)=J(L,σ) and (x^,J^)=J(L⊥,σ); it halts if J∪J^={1,…,n} and otherwise replaces σ by σ2.
Formalization targets
Goal: Theorem 1 (p. 8), with two printed bounds corrected
With m=min{σ(L),σ(L⊥)} and k=max{1,⌈log2log2(1/m)⌉+1}, for every n≥1, every subspace L and every admissible behaviour of the basic procedure: Algorithm 2 never gets stuck, has no infinite execution, never starts main iteration k+1, performs at most
2n(2k−1+k)
rescaling steps, and upon termination returns J=J(L), J^=J(L⊥) and points x∈L∩R+n, x^∈L⊥∩R+n with xJ>0, x^J^>0.
Milestones
- Partition claim (§2, p. 4): J(L)∩J(L⊥)=∅ and J(L)∪J(L⊥)={1,…,n}.
- σi observation (§2, p. 5): J(L)={i:σi(L)>0} and σ(L)=mini∈J(L)σi(L).
- Lemma 1 (pp. 5–6): a certificate z with ∥(Pz)+∥1≤21∥z∥∞=21zi gives xi≤∥x∥∞/2 on L∩R+n, so that σi(DL)=2σi(L) and σj(DL)=σj(L) (j=i) for D=I+eieiT.
- Proposition 1 (p. 6, corrected): Algorithm 1 halts within n(⌊log2(1/σ)⌋+1) rescaling steps with x∈L∩R+n, xJ>0, J⊆J(L); and if σ≤σ(L) then J=J(L) with the refined count ∑i∈J(L)⌈log2(1/σi(L))⌉+(n−∣J(L)∣)(⌊log2(1/σ)⌋+1).
- Corollary 1 (p. 7): if J∪J^={1,…,n} for outputs of J(L,σ) and J(L⊥,σ), then J=J(L), J^=J(L⊥) and both outputs are maximum support points.
Significance
The result. Theorem 1 gives an algorithm for the maximum support problem whose cost depends only on m=min{σ(L),σ(L⊥)}, without knowing either quantity: O(loglog(1/m)) guessing rounds and O(nlog(1/m)) rescaling steps, each of which is a call of the basic procedure on a projected problem. Because the pair of problems subsumes polyhedral feasibility and linear programming, a maximum support solution is a certificate of which inequalities of a homogenized system can hold strictly. The duality behind the stopping test, that J(L) and J(L⊥) partition the coordinates, is a theorem of the alternative for subspaces of the Goldman–Tucker type.
Formalizing it. The result is proved in the source; nothing here is open. No part of it is machine-checked: there is no formal development of projection-and-rescaling algorithms, of condition measures for subspaces, or of the subspace form of the strict-complementarity partition. Checking the source against the formal statements already found that the printed bounds (5), (6) and (7) are false for some subspaces (counterexamples are recorded in the corresponding items); the targets above carry the minimal corrections, so a complete proof certifies the corrected bounds.
Difficulty
The correctness part reduces to the partition claim and to Corollary 1. The partition requires a theorem of the alternative for the pair (L,L⊥) and the nonnegative orthant, which is not literally the LP form of Farkas' lemma available in libraries.
The counting part is where the printed argument breaks. The proof of Proposition 1 asserts σi(DL)=Diiσi(L) "throughout the algorithm", by applying Lemma 1 to each rescaling step. But the basic procedure certifies only the subspace DL∩RJ, not DL. As long as J⊇J(L) the two cones DL∩R+n and DL∩RJ∩R+n coincide and the identity holds. Once an index of J(L) has been trimmed, which can happen when σ>σ(L), it does not. The count of rescalings must also use ⌊log2(1/σ)⌋+1 doublings per trimmed index rather than ⌈log2(1/σ)⌉, which matters precisely because Algorithm 2 uses guesses σ=2−2i−1 for which 1/σ is a power of 2. The obvious induction on steps therefore has to carry the invariant J⊇J(L) and works only under σ≤σ(L). For larger guesses, which Algorithm 2 makes in its early iterations, only the coarse count is available.
Formalization scope
Rn is EuclideanSpace ℝ (Fin n) and L a Submodule; L⊥ is Mathlib's orthogonal complement. The Euclidean norm is never used for the paper's norms: ∥x∥∞ and ∥(v)+∥1 are written coordinatewise, and σi(L) maximizes over the ℓ∞ unit box, not the Euclidean ball. Index sets are Finset (Fin n). D is stored as its diagonal. PDL∣J is the orthogonal projection of Rn onto DL∩RJ, which agrees with the paper's map on RJ. σ(L)=1 when J(L)=∅, as in the source. Proposition 1 and Theorem 1 assume n≥1, since Algorithm 1 cannot run on R0.
Both algorithms are transition relations whose states carry the rescaling and iteration counters, and the basic procedure is nondeterministic: every admissible answer and every maximizer i is a possible step, and both branches may be available at once. Every statement quantifies over all executions. Progress (no reachable non-halted state is stuck) and the absence of infinite executions are stated explicitly. This rules out the trivializing formalizations: a relation with no transitions (which would make "upon termination" vacuous), a fixed deterministic basic procedure, σi over the Euclidean ball, bounds for a single execution, and termination as "some execution halts". A sorry-free check exhibits, for n=1 and L=R, a reachable halted state of Algorithm 2 after two rescaling steps, which also witnesses that the printed (7) fails.
A complete development needs the theorem of the alternative for subspaces, orthogonal projections onto intersections of subspaces, a variant/measure argument for termination of nondeterministic relations, and logarithm and floor arithmetic for the schedule σ=2−2i−1. The partition claim and the condition-measure lemmas are reusable for other rescaling and condition-number analyses. Proofs of the milestones, alternative arguments for the partition, and the sharper count of Proposition 1 are all welcome.
Selected references
- J. Peña, N. Soheili, Projection and rescaling algorithm for finding maximum support solutions to polyhedral conic systems, Mathematics of Operations Research, 2022; preprint arXiv:2003.08911v3 (the version read here). https://arxiv.org/abs/2003.08911
- J. Peña, N. Soheili, Solving conic systems via projection and rescaling, Mathematical Programming 166:87–111, 2017.
- J. Peña, N. Soheili, Computational performance of a projection and rescaling algorithm, Optimization Methods and Software, 2019.
- S. Chubanov, A strongly polynomial algorithm for linear systems having a binary solution, Mathematical Programming 134:533–570, 2012.
- S. Chubanov, A polynomial projection algorithm for linear feasibility problems, Mathematical Programming 153:687–713, 2015.
- D. Dadush, L. A. Végh, G. Zambelli, Rescaling algorithms for linear conic feasibility, Mathematics of Operations Research, 2020.
- Y. Ye, Toward probabilistic analysis of interior-point algorithms for linear programming, Mathematics of Operations Research 19:38–52, 1994.