Motivation
Lift-and-project (L&P) cuts strengthen the linear relaxation of a mixed 0-1 program by
separating a fractional point from the convex hull of a disjunction such as xk≤0∨xk≥1. Generating an optimal L&P cut means solving the cut-generating linear program
(CGLP), a linear program lifted to a space with one new pair of variables per constraint of the
original tableau — considerably larger than the tableau itself. Balas and Bonami showed that this
higher-dimensional LP need not be solved explicitly at all: an optimal (or near-optimal) L&P cut
can instead be produced by ordinary simplex pivots in the original LP tableau, each such pivot
implicitly performing an entire block of pivots in the CGLP (E. Balas and P. Bonami, Generating
lift-and-project cuts from the LP simplex tableau: open source implementation and testing of new
variants, Mathematical Programming Computation 1 (2009), 165–199,
https://doi.org/10.1007/s12532-009-0006-4). This correspondence is what made L&P cuts practical
in commercial solvers: Perregaard's implementation in XPRESS needed only 5% of the iterations and
1.5% of the time of solving the CGLP explicitly, and Bonami's public implementation in COIN-OR
put the method within reach of any solver.
A second, independent line of work asks how the CGLP's feasible region should be normalized.
The textbook normalization (fixing the sum of the CGLP multipliers to 1) is scale-dependent —
rescaling one constraint of the original system changes which cut the CGLP returns — so Balas
and Perregaard proposed the ray normalization αy=1 instead (E. Balas and M. Perregaard,
Lift-and-project for mixed 0-1 programming: recent progress, Discrete Applied Mathematics 123
(2002), 129–154, https://doi.org/10.1016/S0166-218X(01)00340-7). Under this normalization the
CGLP's optimal value has a clean geometric meaning: it is exactly the distance, measured along a
fixed ray from the point being separated, to the convex hull of the disjunctive set. This mission
formalizes both results: the pivot correspondence (Theorem 10.1) and the optimal-value
characterization under the ray normalization (Theorem 10.2, Theorem 10.3, and Corollary 10.4).
Setting
Fix a finite index set M for the rows of a simplex tableau over n variables, a matrix A∈RM×n, and a right-hand side b:M→R, so that the tableau reads
Ax≥b (a "tilde" is dropped from the informal A~,b~ notation for the
optimal-basis tableau of the linear relaxation). A basis is an injection ι:Finn→M picking out n of the rows; write A^ for the n×n submatrix A^ij=Aι(i),j and b^ for the corresponding subvector. From these, the standard tableau
quantities are read off: aˉk0:=ekA^−1b^, aˉkj:=−(A^−1)kj,
and the surplus of row i∈M at a point x, Surplusi(x):=(Ax−b)i.
Fix a distinguished row k with a fractional basic variable, and a candidate pivot row i=k.
For ℓ ranging over the nonbasic columns J, set γℓ:=−aˉkℓ/aˉiℓ; this is the value of a parameter γ at which the combined source row
xk+γxi+j∈J∑(aˉkj+γaˉij)xj=aˉk0+γaˉi0(10.1γ)
has its j-th coefficient pass through 0. The simple disjunctive cut obtained by applying the
split disjunction z≤0∨z≥1 (where z is the left side of (10.1γ)) to this
row is the object CombinedCutSet.
On the CGLP side, (CGLP)k is the cut-generating LP associated with the disjunction
−xk≥0∨xk≥1 from Chapter 8: it has one pair of nonnegative multiplier variables
(uρ,vρ) per row ρ∈M, plus u0,v0≥0, tied together by the normalization
∑ρuρ+u0+∑ρvρ+v0=1, and its feasible solutions (α,u,u0,v,v0,β) correspond exactly to valid cuts αx≥β for the disjunction. A basic
feasible solution to (CGLP)k is described by a valid partition (M1,M2) of the
nonbasic rows, with uρ=0 off M1 and vρ=0 off M2.
Separately, fix a disjunctive set and write PD⊆Rn for its convex hull —
the object every cut ultimately wants to separate a point from. For a fixed direction y∈Rn and point xˉ∈Rn, (CGLP)y is the cut-generating LP under
the ray normalization: pairs (α,β) with αx≥β valid for every x∈PD and αy=1, minimizing the objective αxˉ−β.
Formalization targets
Theorem 10.1. For a genuine ordered pivot chain j1,…,jt inside J (no repeats, each
consecutive pair flipping the sign of aˉk,⋅ as γ increases — rule (b) of the
theorem), the simple disjunctive cut from the combined row at γ=γjt equals the
lift-and-project cut {x:β≤αx} associated with a basic feasible solution to
(CGLP)k for the resulting basis J′:=(J∪{i})∖{jt}:
CombinedCutSet(k,i,J,γjt)={x:β≤αx}.
Theorem 10.2. If (CGLP)y is feasible, it has a finite minimum if and only if the
ray meets the disjunctive hull:
finite min⟺∃λ∈R, xˉ+λy∈PD.
Theorem 10.3 (goal). If (CGLP)y has an optimal solution (α~,β~), its optimal value is exactly the signed distance to PD along the ray, and the
corresponding boundary point lies exactly on the optimal hyperplane:
xˉTα~−β~=λ∗:=min{λ:xˉ+λy∈PD},(xˉ+λ∗y)Tα~=β~.
Corollary 10.4. Taking y:=x∗−xˉ for a point x∗ in the lifted polyhedron PQ
gives an optimal solution whose hyperplane separates xˉ and meets the segment (xˉ,x∗] at the point closest to x∗.
The targets are ordered from the purely combinatorial pivot correspondence (10.1, independent of
the ray normalization) through the abstract feasibility/boundedness dichotomy (10.2) to the
concrete value formula that is this mission's goal (10.3), with the geometric illustration (10.4)
as a companion result using the same machinery with a specific choice of ray.
Significance
Theorem 10.1 is the theoretical justification for every commercial L&P-cut implementation cited
above: it says the pivot correspondence is not an approximation or a heuristic shortcut but an
exact identity between a single LP pivot and a specific, describable sequence of CGLP pivots,
which is what lets a solver generate an (quasi-)optimal L&P cut at the cost of ordinary simplex
pivots instead of solving a much larger LP. Theorem 10.3 gives the ray-normalized CGLP an exact
geometric meaning — its value is a distance, not merely a linear-programming optimum — which is
what makes the ray normalization the more robust alternative to the scale-dependent constant-sum
normalization used elsewhere in the book (§9), and is the basis for the geometric picture
(Corollary 10.4, Fig. 10.3) of how a lift-and-project cut relates to the lifted polyhedron PQ.
Both directions are proved in the source text (Balas and Bonami 2009 for Theorem 10.1; Balas and
Perregaard 2002 for Theorems 10.2/10.3 and Corollary 10.4) but have no formalized counterpart on
this platform: no existing item treats cut-generating LPs, ray normalizations of a projection
cone, or the correspondence between two different pivoting processes. This mission produces the
first Lean statements of both.
Difficulty
The obvious temptation for Theorem 10.1 is to existentially weaken "the sequence of t pivots
defined as follows" to "there exists some sequence of pivots realizing the same cut" — which would
be true but not what the theorem says, and would erase the entire content that makes the result
useful (an algorithm, not just an existence claim). The formalization instead carries the
explicit ordered chain j1 :: middle ++ [jt] as data, with the three-part construction (rules
(a), (b), (c)) encoded as hypotheses on that specific list via List.IsChain, so the theorem
proved is the constructive one the book states, not a weaker existential shadow of it.
For Theorem 10.3, the proof pattern in the book resists a shortcut: showing λ0=λ∗
requires deriving a contradiction from each strict inequality (λ0>λ∗ violates
optimality of the point on PD's boundary; λ0<λ∗ contradicts optimality of
(α~,β~) for (CGLP)y via a competing separating hyperplane), so
there is no way to avoid formalizing both directions of the boundedness dichotomy already needed
for Theorem 10.2 first.
Formalization scope
The ambient space is Fin n→R throughout, matching the rest of the series.
(CGLP)y's feasibility (IsCGLPYFeasible) is stated directly as validity of (α,β) for PD under αy=1, not through an explicit representation of the projection
cone's extreme rays — this matches how the book's own Theorems 10.2/10.3 and Corollary 10.4 are
phrased purely in terms of (α,β)-validity for PD, never in terms of a specific
disjunction's multipliers, so this is not a weakening relative to the source. PD (the
disjunctive hull that (CGLP)y is defined against) and PQ (the lifted polyhedron
whose supporting hyperplane Corollary 10.4 describes) are kept as two independent Set (Fin n → ℝ) parameters with no assumed relationship between them, matching the book's own text, which
never states one; conflating them would be a trivializing formalization that this mission
explicitly avoids. "The point closest to x∗" on the segment (xˉ,x∗] is formalized via
IsGreatest on the parameter t∈(0,1] at which the optimal hyperplane meets the segment,
rather than via an unformalized Euclidean-distance minimization, since that is what "closest"
means for points colinear with xˉ and x∗ on a single ray.
Corollary 10.4 corrects a typo in the printed text: the corollary as printed reads "let y:=xˉ for some x∗∈PQ", omitting "x∗−" before xˉ; the very next line's figure
caption gives the intended formula unambiguously as y=x∗−xˉ, and the formalization uses
the corrected formula (see MODERATION_NOTES.md).
This mission depends on no other chunk's Lean definitions — the CGLP and tableau apparatus needed
here (originally introduced in Chapters 8 and 9) is restated locally, per the series' convention
against importing another draft mission's definitions across chunks that are being drafted
concurrently. A complete development needs: Farkas-type separation for the boundedness dichotomy
in Theorem 10.2, and careful bookkeeping of finite index sets and their images under the basis
maps ι,ι′ for Theorem 10.1. The tableau infrastructure (Ahat, Bhat, Abar0,
Abar, GammaOf) is reusable by any later mission touching the simplex-tableau side of
lift-and-project cuts.
Selected references
- E. Balas and P. Bonami, Generating lift-and-project cuts from the LP simplex tableau: open
source implementation and testing of new variants, Mathematical Programming Computation 1
(2009), 165–199. https://doi.org/10.1007/s12532-009-0006-4
- E. Balas and M. Perregaard, Lift-and-project for mixed 0-1 programming: recent progress,
Discrete Applied Mathematics 123 (2002), 129–154.
https://doi.org/10.1016/S0166-218X(01)00340-7
- E. Balas, Disjunctive Programming, Springer, 2018, Chapter 10, §10.1 and §10.6.
https://doi.org/10.1007/978-3-030-00148-3