Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

Linear Optimization

158 missions · 95 completed

Missions

Open63Completed95All158
🏆Completed
Operations ResearchOptimization·Captain: Shuze Chen

Disjunctive Programming II: The Convex Hull of a Disjunctive Set via Lifting and ProjectionTextbook

Motivation

Convexity is what makes optimization tractable: a linear program's feasible region is convex, and this single fact underwrites the simplex method, LP duality, and everything built on top of them. Integer and disjunctive programs have no such luck — their feasible regions are unions of polyhedra, and a union of convex sets is generally not convex. If the convex hull of such a union could always be described compactly, integer programming would reduce to linear programming: optimize the same linear objective over the hull instead of the union, and any optimal vertex of the hull is automatically integral. The obstacle has always been that the convex hull of a union of polyhedra in Rn\mathbb{R}^nRn, described directly by its facets in Rn\mathbb{R}^nRn, typically needs exponentially many inequalities.

Balas's Theorem 2.1, proved in the 1970s and presented here as Chapter 2 of Disjunctive Programming (Balas, Springer 2018), breaks this exponential barrier by changing where the description lives. Rather than writing down the hull's facets in Rn\mathbb{R}^nRn, Theorem 2.1 lifts the problem to a higher-dimensional space — one auxiliary copy of Rn\mathbb{R}^nRn per polyhedron in the union — where the hull becomes the projection of a single, explicitly given polyhedron whose size grows only linearly with the number of polyhedra. This "extended formulation" technique, born here, became one of the central tools of modern integer programming and combinatorial optimization: representing a hard polytope as the projection of an easy one in higher dimension underlies, for instance, the polynomial-size extended formulations known for many combinatorial polytopes.

Setting

Fix a finite index set QQQ. For h∈Qh \in Qh∈Q, let AhA_hAh​ be a real matrix and bhb_hbh​ a vector of matching row dimension, and set Ph:={x∈Rn:Ahx≥bh}P_h := \{x \in \mathbb{R}^n : A_h x \ge b_h\}Ph​:={x∈Rn:Ah​x≥bh​}. The union F:=⋃h∈QPhF := \bigcup_{h \in Q} P_hF:=⋃h∈Q​Ph​ is the disjunctive set. Write Q∗:={h∈Q:Ph≠∅}Q^* := \{h \in Q : P_h \ne \emptyset\}Q∗:={h∈Q:Ph​=∅} for the feasible disjuncts.

The recession cone of a nonempty polyhedron PhP_hPh​ is Ch:={y:Ahy≥0}C_h := \{y : A_h y \ge 0\}Ch​:={y:Ah​y≥0}: the set of directions along which one can travel indefinitely from any point of PhP_hPh​ while remaining in PhP_hPh​. For a subset M⊆QM \subseteq QM⊆Q and sets ShS_hSh​ (h∈Mh \in Mh∈M), the (finite) Minkowski sum ∑h∈MSh\sum_{h \in M} S_h∑h∈M​Sh​ is {x:x=∑h∈Myh for some yh∈Sh}\{x : x = \sum_{h \in M} y^h \text{ for some } y^h \in S_h\}{x:x=∑h∈M​yh for some yh∈Sh​}. The maximal indices Q∗∗⊆Q∗Q^{**} \subseteq Q^*Q∗∗⊆Q∗ are the feasible disjuncts whose polyhedron is not contained in any other feasible disjunct's polyhedron.

Given a set S⊆Rn×βS \subseteq \mathbb{R}^n \times \betaS⊆Rn×β, its projection onto xxx is Projx(S):={x:∃ y∈β, (x,y)∈S}\mathrm{Proj}_x(S) := \{x : \exists\, y \in \beta,\ (x,y) \in S\}Projx​(S):={x:∃y∈β, (x,y)∈S}.

Formalization targets

Theorem 2.1 (goal) — the convex hull of a disjunctive set

cl conv(F)=Projx(P),P:={(x,{yh}h∈Q∗,{y0h}h∈Q∗):x= ⁣ ⁣∑h∈Q∗ ⁣ ⁣yh, Ahyh−bhy0h≥0, y0h≥0,  ⁣ ⁣∑h∈Q∗ ⁣ ⁣y0h=1}.\mathrm{cl}\,\mathrm{conv}(F) = \mathrm{Proj}_x(P), \qquad P := \Big\{(x, \{y^h\}_{h \in Q^*}, \{y^h_0\}_{h \in Q^*}) : x = \!\!\sum_{h \in Q^*}\!\! y^h,\ A_h y^h - b_h y^h_0 \ge 0,\ y^h_0 \ge 0,\ \!\!\sum_{h \in Q^*}\!\! y^h_0 = 1 \Big\}.clconv(F)=Projx​(P),P:={(x,{yh}h∈Q∗​,{y0h​}h∈Q∗​):x=h∈Q∗∑​yh, Ah​yh−bh​y0h​≥0, y0h​≥0, h∈Q∗∑​y0h​=1}.

This is the weakest correct statement: it claims only that the closed convex hull equals the projection of this specific lifted polyhedron PPP, not any stronger uniqueness or minimality claim about lifted representations in general (that refinement is Theorem 2.1's own follow-up discussion, not part of the theorem itself).

Corollary 2.2 — the extreme-point correspondence

Extreme points of cl conv(F)\mathrm{cl}\,\mathrm{conv}(F)clconv(F) correspond bijectively to the extreme points of PPP that place all of their mass on a single disjunct's coordinates.

Theorem 2.3 — tightness of the lifted representation

PQ=P  ⟺  Ck⊆∑h∈Q∗Ch∀ k∈Q∖Q∗,P_Q = P \iff C_k \subseteq \sum_{h \in Q^*} C_h \quad \forall\, k \in Q \setminus Q^*,PQ​=P⟺Ck​⊆h∈Q∗∑​Ch​∀k∈Q∖Q∗,

where PQP_QPQ​ is the variant of PPP indexed by all of QQQ rather than only Q∗Q^*Q∗.

Theorem 2.4 — from the convex hull to the union itself

Under two recession-cone conditions on Q∗∗Q^{**}Q∗∗, restricting PQP_QPQ​'s y0hy^h_0y0h​ variables to {0,1}\{0,1\}{0,1} makes its xxx-projection recover FFF itself, not merely cl conv(F)\mathrm{cl}\,\mathrm{conv}(F)clconv(F).

Significance

The result itself. Theorem 2.1 is the founding extended-formulation result of integer programming: it shows that every union of finitely many polyhedra — hence every mixed-integer program's feasible region, once expressed in disjunctive normal form — has a lifted description of size linear in the number of disjuncts, in stark contrast to the union's own facet description, which is generally exponential. Corollary 2.2 shows this lifting is not merely an upper bound with extraneous points: its extreme points correspond exactly, one-to-one, with the extreme points of the object it represents. Theorems 2.3 and 2.4 sharpen the picture: 2.3 tells you exactly when you can avoid knowing in advance which disjuncts are nonempty, and 2.4 tells you exactly when the same family of lifted systems, restricted to integral y0hy^h_0y0h​, describes the union FFF exactly rather than only its convex hull — this is Jeroslow and Lowe's characterization of when a disjunctive set is representable as the feasible region of an integer program at all.

Formalizing it. No object in this mission — the disjunctive set FFF, its lifted polyhedron PPP, recession cones of a union's components, or the extreme-point correspondence between a polytope and its lift — exists on the platform prior to this mission or anywhere in Mathlib (substrate.md records zero LP/polyhedron modules in Mathlib as of this writing). This mission is a from-scratch formalization of the book's central construction, restating (rather than importing) the disjunctive-set vocabulary introduced by the companion IntroDuality mission, per the series' convention that a draft mission cannot import another draft mission's definitions.

Difficulty

The natural first attempt at Theorem 2.1 tries to prove the two inclusions cl conv(F)⊆Projx(P)\mathrm{cl}\,\mathrm{conv}(F) \subseteq \mathrm{Proj}_x(P)clconv(F)⊆Projx​(P) and Projx(P)⊆cl conv(F)\mathrm{Proj}_x(P) \subseteq \mathrm{cl}\,\mathrm{conv}(F)Projx​(P)⊆clconv(F) by a direct facet-by-facet or vertex-by-vertex argument in Rn\mathbb{R}^nRn — exactly the exponential-size approach the theorem exists to avoid. The book's own first proof instead works entirely with convex combinations: an arbitrary point of cl conv(F)\mathrm{cl}\,\mathrm{conv}(F)clconv(F) is a combination of at most ∣Q∗∣|Q^*|∣Q∗∣ points, one from each polyhedron in the union (Carathéodory-style), which converts directly into a point of PPP by splitting the combination's weight across the lifted coordinates — and conversely, a point of PPP decomposes, disjunct by disjunct, into a convex combination of that disjunct's own vertices and extreme rays. Neither direction ever needs to enumerate facets of cl conv(F)\mathrm{cl}\,\mathrm{conv}(F)clconv(F) in Rn\mathbb{R}^nRn. The second proof (via projection and the polar cone WWW of the lifted system) shows the projected inequalities coincide with exactly the valid-inequality characterization of Theorem 1.2 (disjunctive Farkas), which is a different, complementary way of seeing why no facet of cl conv(F)\mathrm{cl}\,\mathrm{conv}(F)clconv(F) is missed.

Formalization scope

All theorems are stated over a finite index set Q : Type* with [Fintype Q], matrices Matrix (Fin (m h)) (Fin n) ℝ with m : Q → ℕ allowed to depend on h, and vectors in Fin n → ℝ. DisjunctiveSet, FeasibleIndices, MaximalIndices, RecessionCone, and MinkowskiSumOver fix the chapter's vocabulary; ProjX, LiftedPolyhedron, and IntegerRestricted fix the lifted system and its variants. cl conv F is Mathlib's closure (convexHull ℝ ·); extreme points use Mathlib's Set.extremePoints.

LiftedPolyhedron ranges its auxiliary vectors {yh}\{y^h\}{yh}, {y0h}\{y^h_0\}{y0h​} over all of QQQ rather than only the index subset Qidx the book restricts to, forcing the components outside Qidx to zero. This is an equivalent, Finset/decidability-free encoding — appending zero terms changes neither the defining sums nor the constraints — documented as a convention, not a weakening, in MODERATION_NOTES.md; the same definition instantiates both the (2.1)(2.1)(2.1) system (Qidx = Q^*) and the (2.1)Q(2.1)_Q(2.1)Q​ variant (Qidx = Q) that Theorem 2.3 compares.

A trivializing formalization is ruled out explicitly: taking ∣Q∗∣=1|Q^*| = 1∣Q∗∣=1 collapses the lifted system to x=y1x = y^1x=y1, y01=1y^1_0 = 1y01​=1, a vacuous restatement of x∈P1x \in P_1x∈P1​ that proves nothing about unions. Every theorem here is stated for a generic finite Q, never specialized to a fixed small size. Contributions beyond this mission's statements would need genuine polyhedral machinery (vertex/extreme-ray decomposition of a polyhedron, Carathéodory's theorem for cones) that is itself absent from Mathlib and would be welcome as a separate, reusable definitions layer.

Selected references

  • E. Balas, Disjunctive Programming, Springer, 2018. DOI: 10.1007/978-3-030-00148-3, Chapter 2, §2.1.
  • E. Balas, Disjunctive programming: Properties of the convex hull of feasible points, Discrete Applied Mathematics 89 (1998), 3–44 (reprint of a 1974 MSRR, cited in the text as [6], the origin of Theorem 2.1).
  • M. Conforti, M. Di Summa, Y. Faenza, On the size of extended formulations for polytopes associated with unions of polyhedra, SIAM Journal on Discrete Mathematics, cited in the text as [59] — establishes the tightness (minimum additional-variable count) of Theorem 2.1's lifted representation.
  • R. G. Jeroslow, J. K. Lowe, Modelling with integer variables, Mathematical Programming Study 22 (1984), 167–184 (cited in the text as [86]; the characterization behind Theorem 2.4's significance).
6 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimization·Captain: Shuze Chen

Disjunctive Programming I: Intersection Cuts and Duality for Disjunctive ProgramsTextbook

Motivation

Linear programming duality is one of the load-bearing facts of optimization: every feasible linear program has a dual whose value matches the primal's, and this correspondence drives the simplex method's stopping criterion, sensitivity analysis, and most complexity results for polyhedral problems. Integer and mixed-integer programs have no such duality theorem in general — the feasible region of a mixed-integer program is not convex, and the entire apparatus of linear programming duality is built on convexity.

Disjunctive programming, introduced by Egon Balas in the early 1970s, closes part of this gap. A disjunctive set is a union of finitely many polyhedra rather than a single polyhedron — the natural convex-analytic shadow of the "either/or" logical structure that integer variables encode (an integer variable's feasible region is a finite union of half-open pieces, hence a disjunction of the linear constraints that pin it to each value). Balas's insight was that disjunctive programs — linear programs whose feasible region is such a union — admit a strong duality theorem of their own, generalizing the linear-programming case rather than replacing it. This mission formalizes that theorem (Theorem 1.5 of Balas, Disjunctive Programming, Springer 2018) together with the two results the same chapter builds around it: the founding construction of the field, the intersection cut (Theorem 1.1, circa 1970), and the disjunctive generalization of Farkas' Lemma (Theorem 1.2), which characterizes every valid inequality — hence every cutting plane — for a disjunctive set.

Setting

Fix a finite index set QQQ. For each h∈Qh \in Qh∈Q, let AhA_hAh​ be a real mh×nm_h \times nmh​×n matrix and bh∈Rmhb_h \in \mathbb{R}^{m_h}bh​∈Rmh​, and set Ph:={x∈Rn:Ahx≥bh}P_h := \{x \in \mathbb{R}^n : A_h x \ge b_h\}Ph​:={x∈Rn:Ah​x≥bh​}. The union F:=⋃h∈QPhF := \bigcup_{h \in Q} P_hF:=⋃h∈Q​Ph​ is a disjunctive set: any (linear) system of inequalities combined with the logical connectives "and", "or", "not" reduces, via its disjunctive normal form, to a set of exactly this shape. Because a union of convex sets need not be convex, FFF is generally nonconvex even though each PhP_hPh​ is a polyhedron.

A disjunctive program minimizes a linear objective over such a union:

(DP)z0=min⁡{cx:x∈⋃h∈QXh},Xh:={x:Ahx≥bh, x≥0}.(DP)\qquad z_0 = \min\Big\{ c x : x \in \textstyle\bigcup_{h \in Q} X_h \Big\}, \qquad X_h := \{x : A_h x \ge b_h,\ x \ge 0\}.(DP)z0​=min{cx:x∈⋃h∈Q​Xh​},Xh​:={x:Ah​x≥bh​, x≥0}.

Its dual (DD)(DD)(DD) pairs a scalar www with one dual multiplier vector uhu_huh​ per disjunct, requiring w≤uhbhw \le u_h b_hw≤uh​bh​ and uhAh≤cu_h A_h \le cuh​Ah​≤c, uh≥0u_h \ge 0uh​≥0, simultaneously for every h∈Qh \in Qh∈Q, and maximizes www. Write Q∗:={h∈Q:Xh≠∅}Q^* := \{h \in Q : X_h \ne \emptyset\}Q∗:={h∈Q:Xh​=∅} for the disjuncts whose primal system is feasible, and Q∗∗:={h∈Q:Uh≠∅}Q^{**} := \{h \in Q : U_h \ne \emptyset\}Q∗∗:={h∈Q:Uh​=∅} (with Uh:={uh≥0:uhAh≤c}U_h := \{u_h \ge 0 : u_h A_h \le c\}Uh​:={uh​≥0:uh​Ah​≤c}) for those whose dual system is feasible.

The theorems below also use two objects from the origin of the subject (§1.2): given a basic solution xˉ\bar xxˉ of a linear program's optimal simplex tableau, with basic index set III and nonbasic index set JJJ, the tableau's coefficients aˉij\bar a_{ij}aˉij​ (i∈Ii \in Ii∈I, j∈Jj \in Jj∈J) determine, for each nonbasic jjj, an extreme ray direction rjr^jrj of the associated LP cone. A convex set SSS is PIP_IPI​-free at xˉ\bar xxˉ if xˉ\bar xxˉ lies in the interior of SSS and that interior contains no point of the mixed-integer feasible set PIP_IPI​.

Formalization targets

Theorem 1.1 — the intersection cut

λj∗:=max⁡{λj≥0:xˉ+λjrj∈S},∑j∈J1λj∗ xj≥1.\lambda^*_j := \max\{\lambda_j \ge 0 : \bar x + \lambda_j r^j \in S\}, \qquad \sum_{j \in J} \frac{1}{\lambda^*_j}\, x_j \ge 1.λj∗​:=max{λj​≥0:xˉ+λj​rj∈S},j∈J∑​λj∗​1​xj​≥1.

The displayed inequality cuts off xˉ\bar xxˉ but excludes no point of PIP_IPI​, for any PIP_IPI​-free convex set SSS containing xˉ\bar xxˉ in its interior.

Theorem 1.2 — Farkas' Lemma for Disjunctive Sets

(∀x∈F, αx≥α0)  ⟺  (∀h∈Q∗, ∃ uh≥0, uhAh=α, α0≤uhbh).\big(\forall x \in F,\ \alpha x \ge \alpha_0\big) \iff \big(\forall h \in Q^*,\ \exists\, u_h \ge 0,\ u_h A_h = \alpha,\ \alpha_0 \le u_h b_h\big).(∀x∈F, αx≥α0​)⟺(∀h∈Q∗, ∃uh​≥0, uh​Ah​=α, α0​≤uh​bh​).

Theorem 1.5 (goal) — duality for disjunctive programs

Under the Regularity Condition — (Q∗≠∅(Q^* \ne \emptyset(Q∗=∅ and Q∖Q∗∗≠∅)⇒Q∗∖Q∗∗≠∅Q \setminus Q^{**} \ne \emptyset) \Rightarrow Q^* \setminus Q^{**} \ne \emptysetQ∖Q∗∗=∅)⇒Q∗∖Q∗∗=∅ — exactly one of:

  1. both (DP)(DP)(DP) and (DD)(DD)(DD) are feasible, each attains an optimum, and z0=w0z_0 = w_0z0​=w0​; or
  2. one of the two is infeasible, and the other is infeasible or has no finite optimum.

This is the weakest faithful statement of the theorem: it asserts only the shape of the dichotomy established by Balas, not any strengthened or specialized form of it.

Corollary 1.6 — necessity of the Regularity Condition

If the Regularity Condition fails, (DP)(DP)(DP) is feasible, and (DD)(DD)(DD) is infeasible, then (DP)(DP)(DP) still has a finite minimum — exhibiting the duality gap that opens up once the condition is dropped.

Significance

The results themselves. Theorem 1.5 is the mission-critical fact that makes disjunctive programming a genuine extension of linear programming rather than an unrelated combinatorial device: every LP-duality-based algorithmic tool (bounding, sensitivity, complementary-slackness optimality certificates) has a disjunctive-programming counterpart because of this theorem. Theorem 1.1's intersection cut is the historical seed of an entire branch of integer-programming algorithms — lift-and-project cuts, mixed-integer Gomory cuts, and the split closure (later missions of this series) all specialize or generalize it. Theorem 1.2 is the structural fact that makes cutting-plane generation for disjunctive sets tractable at all: every valid inequality decomposes into per-disjunct Farkas certificates.

Formalizing it. None of these results, nor the union-of-polyhedra machinery they are stated over, exist on the platform prior to this mission: the platform's existing Farkas' Lemma and linear-programming strong duality theorems (SmaleNinth.farkas_lemma, SmaleNinth.lp_strong_duality) are the ordinary single-polyhedron statements, which is exactly the special case ∣Q∣=1|Q|=1∣Q∣=1 of the theorems formalized here — genuinely different statements, not restatements. This mission is a from-scratch formalization of the disjunctive generalization, including the vocabulary (disjunctive sets, the paired primal/dual index sets Q∗,Q∗∗Q^*, Q^{**}Q∗,Q∗∗, the Regularity Condition) that the rest of the fifteen-mission Balas series builds on.

Difficulty

The obvious first attempt collapses the disjunctive dual (DD)(DD)(DD) to ∣Q∣|Q|∣Q∣ separate ordinary LP duals, one per disjunct, and tries to combine their individual strong-duality statements. This fails: (DD)(DD)(DD) couples all disjuncts through the single shared scalar www, which must simultaneously satisfy w≤uhbhw \le u_h b_hw≤uh​bh​ for every h∈Qh \in Qh∈Q at once, not disjunct-by-disjunct. The Regularity Condition exists precisely because this coupling can break down — Balas's own example (a two-term disjunctive program with an infeasible dual but a feasible, bounded primal) shows that without the condition, situation (2) of the dichotomy can fail: the primal can have a finite optimum with no matching dual optimum. Any formalization that omits the Regularity Condition, or weakens it to an informal restriction like "nondegenerate", either proves a false statement or proves nothing (a vacuous hypothesis), which Corollary 1.6 exists specifically to rule out.

Formalization scope

All three theorems are stated over a finite index set Q : Type* with [Fintype Q], real matrices Matrix (Fin (m h)) (Fin n) ℝ with row-dimension m : Q → ℕ allowed to depend on h (the book never assumes a common row count across disjuncts), and vectors in Fin n → ℝ. Poly, PolyNonneg, and DualPoly are the plain, nonnegative-orthant, and dual polyhedral systems respectively; FeasibleIndices and RegularityCondition pin Q∗Q^*Q∗/Q∗∗Q^{**}Q∗∗ and the Regularity Condition exactly as stated on p. 13. "No finite optimum" is formalized via UnboundedBelowOn / UnboundedAboveOn: nonempty (feasible) together with no finite bound on the objective, matching Balas's case (2), which explicitly distinguishes infeasibility from unboundedness.

A trivializing formalization is ruled out explicitly: fixing ∣Q∣=1|Q| = 1∣Q∣=1 collapses Theorem 1.5 to ordinary LP duality (already on the platform) and Theorem 1.2 to ordinary Farkas' Lemma, so both theorems are stated for a generic finite Q, never specialized. Theorem 1.5's "exactly one of" dichotomy is formalized as a logical Xor of the two situations, not a weaker Or, since the book asserts mutual exclusivity, not merely that one holds.

The intersection-cut theorem (1.1) is formalized over a generic finite index type ι standing for the full set of structural and surplus variables, with I J : Finset ι the basic/nonbasic partition; a complete development would additionally need the simplex-tableau apparatus connecting ι, I, J, and abar to an actual linear program, which lies outside this mission and belongs instead to the tableau-focused later missions of the series (SimplexTableau, RayCGLP). The extremeRay and PIFree definitions introduced here are local to this mission and are restated, not imported, by later missions that need related vocabulary — per the series' convention that a draft mission cannot import another draft mission's definitions.

Selected references

  • E. Balas, Disjunctive Programming, Springer, 2018. DOI: 10.1007/978-3-030-00148-3, Chapter 1.
  • E. Balas, Intersection cuts — a new type of cutting planes for integer programming, Operations Research 19 (1971), 19–39. (Theorem 1.1's origin, cited in the text as [4].)
  • E. Balas, Disjunctive programming, Annals of Discrete Mathematics 5 (1979), 3–51. (Cited in the text as [9], the origin of Theorem 1.5.)
8 thms2 active usersReviewed
🏆Completed
Convex OptimizationOperations ResearchOptimization·Captain: mikedeng1

Validation of Subgradient Optimization I: The Core Problem Built from the Subgradient Iterates Solves the Dual Linear ProgramResearch Paper

Motivation

Subgradient optimization maximizes a concave function that is not differentiable by stepping along an arbitrary subgradient with a prescribed sequence of step sizes. It became a standard tool of integer programming after Held and Karp used it to compute the Lagrangian 1-tree bound for the traveling-salesman problem (Held & Karp 1971). Held, Wolfe and Crowder then tested it on the assignment problem, a traveling-salesman relaxation and a multicommodity flow problem (Held, Wolfe & Crowder 1974).

The method has one practical defect that the paper names at the start of its Section 6: it contains no test of optimality. The value w(πj)w(\pi^j)w(πj) approaches the maximum, but at no finite step does the method say that the maximum has been reached, or what the maximum is. Section 6 of the paper supplies such a test for the case where www is a minimum of finitely many affine functions. The finitely many subgradients produced by the iterates define a small linear program, the core problem, and from some iteration on this linear program already solves the full dual linear program. Its optimal value is therefore the exact maximum of www, obtained from quantities the method computes anyway. This is how the authors certified the optimal values reported in their experiments.

Timeline:

  • 1967–1969: Poljak proves that the subgradient iterates satisfy w(πj)→max⁡ww(\pi^j)\to\max ww(πj)→maxw when the step sizes tend to zero and have divergent sum (Poljak 1967; Poljak 1969).
  • 1971: Held and Karp apply the method to the 1-tree bound (Held & Karp 1971).
  • 1974: Held, Wolfe and Crowder prove that the core problem P(J,J∗)P(J,J^*)P(J,J∗) solves the dual linear program (Theorem 6.3) and give a sufficient condition for bounded iterates (Theorem 6.1).
  • 1996–1999: primal recovery from subgradient iterates is developed further, by convex combinations of the subgradients with weights derived from the step sizes (Sherali & Choi 1996; Larsson, Patriksson & Strömberg 1999).

Setting

Fix n≥0n\ge0n≥0 and write En=RnE^n=\mathbb R^nEn=Rn with the Euclidean inner product π⋅v\pi\cdot vπ⋅v. The data are K≥1K\ge1K≥1 scalars ckc_kck​ and vectors vk∈Env_k\in E^nvk​∈En, and

w(π)=min⁡{ck+π⋅vk:k=1,…,K}.(2.2)w(\pi)=\min\{c_k+\pi\cdot v_k : k=1,\dots,K\}.\qquad(2.2)w(π)=min{ck​+π⋅vk​:k=1,…,K}.(2.2)

The function www is assumed bounded above, the paper's standing assumption. An index kkk attains the minimum at π\piπ if ck+π⋅vk=w(π)c_k+\pi\cdot v_k=w(\pi)ck​+π⋅vk​=w(π).

A run of the subgradient algorithm consists of a starting point π0∈En\pi^0\in E^nπ0∈En, step sizes tj>0t_j>0tj​>0 and indices k(j)k(j)k(j) such that k(j)k(j)k(j) attains the minimum at πj\pi^jπj, and

πj+1=πj+tj vk(j)(j=0,1,… ).(2.6)\pi^{j+1}=\pi^j+t_j\,v_{k(j)}\qquad(j=0,1,\dots).\qquad(2.6)πj+1=πj+tj​vk(j)​(j=0,1,…).(2.6)

No rule for choosing among several minimizing indices is imposed. Write vj=vk(j)v^j=v_{k(j)}vj=vk(j)​ and cj=ck(j)c^j=c_{k(j)}cj=ck(j)​. The step-size conditions are

tj→0,∑j=0∞tj=∞.(2.7)t_j\to0,\qquad \sum_{j=0}^\infty t_j=\infty.\qquad(2.7)tj​→0,j=0∑∞​tj​=∞.(2.7)

The dual linear program of max⁡w\max wmaxw is

min⁡{∑kckyk:yk≥0, ∑kyk=1, ∑kykvk=0}.(6.1)\min\Big\{\sum_k c_ky_k : y_k\ge0,\ \sum_ky_k=1,\ \sum_ky_kv_k=0\Big\}.\qquad(6.1)min{k∑​ck​yk​:yk​≥0, k∑​yk​=1, k∑​yk​vk​=0}.(6.1)

For integers J<J∗J<J^*J<J∗ the core problem P(J,J∗)P(J,J^*)P(J,J∗) has one variable yjy_jyj​ for each iteration j∈[J,J∗]j\in[J,J^*]j∈[J,J∗]:

min⁡{∑j=JJ∗cjyj:yj≥0, ∑j=JJ∗yj=1, ∑j=JJ∗yjvj=0}.\min\Big\{\sum_{j=J}^{J^*}c^jy_j : y_j\ge0,\ \sum_{j=J}^{J^*}y_j=1,\ \sum_{j=J}^{J^*}y_jv^j=0\Big\}.min{j=J∑J∗​cjyj​:yj​≥0, j=J∑J∗​yj​=1, j=J∑J∗​yj​vj=0}.

An index chosen at several iterations contributes several identical columns. A point yyy of P(J,J∗)P(J,J^*)P(J,J∗) is sent to the point yˉk=∑{yj:J≤j≤J∗, k(j)=k}\bar y_k=\sum\{y_j : J\le j\le J^*,\ k(j)=k\}yˉ​k​=∑{yj​:J≤j≤J∗, k(j)=k} of (6.1). This aggregation preserves feasibility and objective value.

Formalization targets

Goal: Theorem 6.3 (p. 82)

Assume www is bounded above, (tj,πj,k(j))(t_j,\pi^j,k(j))(tj​,πj,k(j)) is a run satisfying (2.7), and {πj}\{\pi^j\}{πj} is bounded. Then

∀J ∃J∗>J:P(J,J∗) has a solution, and every solution of P(J,J∗) aggregates to a solution of (6.1).\forall J\ \exists J^*>J:\quad P(J,J^*)\text{ has a solution, and every solution of }P(J,J^*)\text{ aggregates to a solution of (6.1)}.∀J ∃J∗>J:P(J,J∗) has a solution, and every solution of P(J,J∗) aggregates to a solution of (6.1).

The goal states existence of J∗J^*J∗, which is what the paper claims. The paper's argument in fact gives the conclusion for every sufficiently large J∗J^*J∗. That stronger form is not the goal. Feasibility of P(J,J∗)P(J,J^*)P(J,J∗) (Lemma 6.2) or the inequality Value[P(J,J∗)]≥Value[(6.1)]\mathrm{Value}[P(J,J^*)]\ge\mathrm{Value}[(6.1)]Value[P(J,J∗)]≥Value[(6.1)], which holds for every feasible P(J,J∗)P(J,J^*)P(J,J∗), is not a formalization of the goal. The content is optimality in (6.1).

Milestones

  1. Eq. (2.10): if π∗\pi^*π∗ maximizes www and kkk attains the minimum at π\piπ, then w∗−w(π)≤vk⋅(π∗−π)w^*-w(\pi)\le v_k\cdot(\pi^*-\pi)w∗−w(π)≤vk​⋅(π∗−π).
  2. §6, p. 80 (display): under (2.6), (2.7) and www bounded above, lim⁡jw(πj)=max⁡w=w(π∗)\lim_j w(\pi^j)=\max w=w(\pi^*)limj​w(πj)=maxw=w(π∗) for some π∗\pi^*π∗. The iterates are not assumed bounded.
  3. Theorem 6.1: if every π≠0\pi\ne0π=0 has some π⋅vk<0\pi\cdot v_k<0π⋅vk​<0, every run satisfying (2.7) is bounded.
  4. Eq. (6.1): (6.1) has a solution, and its optimal value equals max⁡w\max wmaxw.
  5. Lemma 6.2: for any JJJ there is J∗>JJ^*>JJ∗>J with P(J,J∗)P(J,J^*)P(J,J∗) feasible, for bounded runs.

Significance

Theorem 6.3 turns an asymptotic method into one that returns an exact answer. Solving P(J,J∗)P(J,J^*)P(J,J∗) for growing J∗J^*J∗ produces a linear program of bounded size whose optimum is eventually the optimum of (6.1), and hence max⁡w\max wmaxw. In the Lagrangian applications, where (6.1) is the linear relaxation of a combinatorial problem, this yields both the bound and a primal solution of the relaxation. The theorem is the ancestor of the primal-recovery results listed in the timeline.

The mission produces a machine-checked version of the paper's Section 6, together with the input the paper takes on citation: Poljak's convergence theorem for divergent-series step sizes, specialized to piecewise-linear concave functions. Neither Poljak's theorem nor Theorem 6.3 is in Mathlib. The pieces are reusable: the convergence theorem applies to every Lagrangian dual solved by subgradient steps, and the duality between max⁡w\max wmaxw and (6.1) is linear-programming duality for a minimum of affine functions.

Difficulty

The inequality Value⁡P(J,J∗)≥Value⁡(6.1)\operatorname{Value}P(J,J^*)\ge\operatorname{Value}(6.1)ValueP(J,J∗)≥Value(6.1) is immediate, since aggregation maps feasible points to feasible points with the same objective. All of the content lies in the reverse inequality. That inequality ties a finite linear program to the limit of an infinite sequence, and it must hold for an arbitrary choice among tied minimizing indices. The iterates themselves need not converge, and under (2.7) the values w(πj)w(\pi^j)w(πj) are not monotone. So an argument that inspects a single iterate, or assumes that the method settles on one face of www, fails. The convergence statement of milestone 2 is not proved in the paper and is the heaviest single step. Feasibility of P(J,J∗)P(J,J^*)P(J,J∗) also needs its own argument, and it fails without the boundedness hypothesis.

Formalization scope

EnE^nEn is EuclideanSpace ℝ (Fin n), the index set is a finite nonempty type ι, and www is the finite minimum Finset.univ.inf'. A run is the predicate IsSubgradientRun c v t π k: positive steps, a minimizing index at every step, and update (2.6). It is not a function of π0\pi^0π0, so every tie-breaking rule is covered. (2.7) is StepSizeCond t: t → 0, and the partial sums tend to +∞+\infty+∞. Iterates are indexed from j=0j=0j=0. Boundedness is Bornology.IsBounded (Set.range π). The variables of P(J,J∗)P(J,J^*)P(J,J∗) are a function on N\mathbb NN of which only the values at J≤j≤J∗J\le j\le J^*J≤j≤J∗ enter. Optimality of yyy in either linear program means feasibility plus an objective no larger than that of every feasible point. Suprema are never taken over unbounded sets: every maximum of www is stated as attained at an explicit π∗\pi^*π∗.

A statement that only asserts feasibility of P(J,J∗)P(J,J^*)P(J,J∗), or only Value⁡P≥Value⁡(6.1)\operatorname{Value}P\ge\operatorname{Value}(6.1)ValueP≥Value(6.1), is not the theorem. The goal requires that the solutions of P(J,J∗)P(J,J^*)P(J,J∗) be optimal for (6.1).

Theorem 6.1 is printed for the step rule (2.8), but its proof uses w(πj)→w∗w(\pi^j)\to w^*w(πj)→w∗, the consequence of (2.7). The mission states it for (2.7), and its milestone title says so.

A complete development needs:

  • linear-programming duality for (6.1), including attainment;
  • the convergence theorem for divergent-series step sizes;
  • existence of a maximizer of a bounded-above minimum of finitely many affine functions;
  • basic facts on convex hulls of finitely many vectors in EnE^nEn.

The first three are reusable well beyond this mission. Contributions of any of them, as standalone theorems, are welcome.

Selected references

  • M. Held, P. Wolfe, H. P. Crowder, Validation of subgradient optimization, Mathematical Programming 6 (1974) 62–88. https://doi.org/10.1007/BF01580223
  • M. Held, R. M. Karp, The traveling-salesman problem and minimum spanning trees: Part II, Mathematical Programming 1 (1971) 6–25. https://doi.org/10.1007/BF01584070
  • B. T. Poljak, A general method of solving extremum problems, Soviet Mathematics Doklady 8 (1967) 593–597.
  • B. T. Poljak, Minimization of unsmooth functionals, USSR Computational Mathematics and Mathematical Physics 9 (1969) 14–29. https://doi.org/10.1016/0041-5553(69)90061-5
  • H. D. Sherali, G. Choi, Recovery of primal solutions when using subgradient optimization methods to solve Lagrangian duals of linear programs, Operations Research Letters 19 (1996) 105–113. https://doi.org/10.1016/0167-6377(96)00019-3
  • T. Larsson, M. Patriksson, A.-B. Strömberg, Ergodic, primal convergence in dual subgradient schemes for convex programming, Mathematical Programming 86 (1999) 283–312. https://doi.org/10.1007/s101070050090
7 thms2 active usersReviewed
🏆Completed
Discrete GeometryOperations ResearchOptimization·Captain: mikedeng1

Elementare Theorie der konvexen Polyeder I: A Point on All Extreme Supports of a Finite Cone Is a Nonnegative Combination of at Most n GeneratorsResearch Paper

Motivation

A polyhedral cone can be described in two ways: as the set of nonnegative combinations of finitely many vectors (a finitely generated cone), or as the intersection of finitely many closed half-spaces through the origin. That the two descriptions give the same class of sets is the Minkowski–Weyl theorem. It is the structural basis of linear programming: the simplex method, LP duality, Farkas' lemma, and the vertex/facet description of polytopes used throughout combinatorial optimization all rest on it.

Hermann Weyl's 1935 paper Elementare Theorie der konvexen Polyeder (Comment. Math. Helv. 7, 290–306) gives an elementary, self-contained proof of both directions. Its first result, which Weyl calls the Hauptsatz (main theorem, Satz 1), is the direction "finitely generated ⇒ finite intersection of half-spaces", in a sharp form: the half-spaces needed are exactly the extreme supports of the generating set, i.e. its facets. Its sharpening, Satz 2, bounds the number of generators needed to represent a point by the dimension nnn. This mission formalizes §§1–2 of the paper (pp. 290–295): the Hauptsatz, its sharpening, and the steps of Weyl's inductive proof.

Timeline:

  • 1896, H. Minkowski, Geometrie der Zahlen: polytopes as bounded intersections of half-spaces and as convex hulls of finitely many points.
  • 1911, C. Carathéodory: a point in the convex hull of a set in Rd\mathbb{R}^dRd is a convex combination of at most d+1d+1d+1 of its points (Rend. Circ. Mat. Palermo 32).
  • 1935, H. Weyl: the present paper; Satz 1 and Satz 2 for cones, with the dual statements in §3 and the polytope theorem in §4.

Setting

Points of Rn\mathbb{R}^nRn are nnn-tuples x=(x1,…,xn)x = (x_1, \ldots, x_n)x=(x1​,…,xn​), and ⟨α,x⟩=α1x1+⋯+αnxn\langle \alpha, x \rangle = \alpha_1 x_1 + \cdots + \alpha_n x_n⟨α,x⟩=α1​x1​+⋯+αn​xn​. A vector α≠0\alpha \ne 0α=0 determines the half-space {x:⟨α,x⟩≥0}\{x : \langle\alpha,x\rangle \ge 0\}{x:⟨α,x⟩≥0}; positive multiples of α\alphaα give the same half-space.

A point system SSS is a finite set of points of Rn\mathbb{R}^nRn. It is non-degenerate if its points do not all satisfy one equation ⟨α,x⟩=0\langle\alpha,x\rangle = 0⟨α,x⟩=0 with α≠0\alpha \neq 0α=0, i.e. the only α\alphaα orthogonal to every point of SSS is 000.

A half-space ⟨α,x⟩≥0\langle\alpha,x\rangle\ge 0⟨α,x⟩≥0 (α≠0\alpha\ne 0α=0) is a support of SSS if every point of SSS lies in it. It is an extreme support if, in addition, equality ⟨α,x⟩=0\langle\alpha,x\rangle = 0⟨α,x⟩=0 holds at n−1n-1n−1 linearly independent points xxx of SSS.

A point xxx is representable by SSS if it is a nonnegative combination of the points of SSS:

x=∑s∈Scs s,cs≥0.x = \sum_{s\in S} c_s\, s, \qquad c_s \ge 0 .x=s∈S∑​cs​s,cs​≥0.

The set of points lying in all extreme supports of SSS is Weyl's konvexe Pyramide. In the Lean development these objects are Representable, NonDegenerate, IsSupport and IsExtremeSupport in the namespace WeylPolyhedra.Pyramid, with points of type Fin n → ℝ and ⟨α,x⟩\langle\alpha,x\rangle⟨α,x⟩ written α ⬝ᵥ x.

Formalization targets

Goal: Satz 2 (Verschärfung des Hauptsatzes), p. 295

For a finite non-degenerate S⊂RnS \subset \mathbb{R}^nS⊂Rn and a point xxx with ⟨α,x⟩≥0\langle\alpha,x\rangle\ge 0⟨α,x⟩≥0 for every extreme support α\alphaα of SSS,

∃ T⊆S,∣T∣≤n,x=∑t∈Tct t,  ct≥0.\exists\, T \subseteq S,\quad |T| \le n,\quad x = \sum_{t\in T} c_t\, t,\ \ c_t \ge 0 .∃T⊆S,∣T∣≤n,x=t∈T∑​ct​t,  ct​≥0.

Satz 1 (Hauptsatz), p. 291

Under the same hypotheses, xxx is representable by SSS. Satz 2 contains Satz 1.

Steps of the proof (§1–§2)

  1. A finite non-degenerate SSS has only finitely many extreme supports, up to positive scaling (p. 291).
  2. The reduction step of case a) (p. 292): if SSS has an extreme support β\betaβ and ppp satisfies all extreme supports, there are e∈Se \in Se∈S with ⟨β,e⟩>0\langle\beta,e\rangle>0⟨β,e⟩>0 and λ≥0\lambda\ge 0λ≥0 such that q=p−λeq = p-\lambda eq=p−λe still satisfies all extreme supports and lies on the plane of one of them.
  3. The lifting step (p. 293): with xn≥0x_n \ge 0xn​≥0 an extreme support of SSS and S0S_0S0​ the points on xn=0x_n = 0xn​=0, every extreme support β\betaβ of S0S_0S0​ in Rn−1\mathbb{R}^{n-1}Rn−1 lifts to the extreme support β1x1+⋯+βn−1xn−1−μxn≥0\beta_1x_1+\cdots+\beta_{n-1}x_{n-1} - \mu x_n \ge 0β1​x1​+⋯+βn−1​xn−1​−μxn​≥0 of SSS (inequality (6)).
  4. Case b) (p. 291, proved pp. 293–294): if SSS has no extreme support, every point of Rn\mathbb{R}^nRn is representable by SSS.

Significance

Satz 1 together with its trivial converse identifies the cone generated by SSS with the intersection of its extreme-support half-spaces. This is one half of the Minkowski–Weyl theorem for cones, and it names the half-spaces: they are the facets of the cone. Satz 2 adds the conic form of Carathéodory's theorem: every point of a cone generated by a finite spanning set in Rn\mathbb{R}^nRn is a nonnegative combination of at most nnn generators. In linear programming this is the statement that a feasible system has a basic feasible solution. The second mission in this series, on §§3–4 of the paper, uses Satz 1 to prove that a bounded region cut out by finitely many inequalities is the convex hull of finitely many points, and conversely.

On formalization status: Mathlib defines finitely generated and dually finitely generated pointed cones (PointedCone, PointedCone.DualFG) and proves Carathéodory's theorem for convex hulls (convexHull_eq_union), but, at the pinned revision, it does not prove the Minkowski–Weyl theorem or the facet description of a finitely generated cone. The results are classical and proved in the paper; this mission produces machine-checked proofs of them, in Weyl's formulation with extreme supports, together with the intermediate steps of his induction.

Difficulty

The hypothesis only controls xxx against the extreme supports, not against every support. Showing that xxx lies in the cone generated by SSS whenever ⟨α,x⟩≥0\langle\alpha,x\rangle\ge 0⟨α,x⟩≥0 holds for every support is the conic Farkas lemma, which follows from a separating hyperplane argument. Here that argument is not enough: a separating hyperplane is a support, but in general not an extreme one, and the statement is about the finitely many extreme ones. The proof has to produce, for a point outside the cone, a violated extreme support, which requires control over the facet structure of the cone.

The dimension count of Satz 2 is a second difficulty. An induction on the dimension naturally gives nnn generators in one case and n+1n+1n+1 in another (a point of a half-space needs one generator on each side), and Weyl notes that he could not avoid a detour to recover the bound nnn. The case where SSS has no extreme support at all must also be handled separately; it is not vacuous, since SSS can then generate all of Rn\mathbb{R}^nRn.

Formalization scope

Conventions committed to in Lean:

  • Rn\mathbb{R}^nRn is Fin n → ℝ; points and normals share this type (the dual space is identified with Rn\mathbb{R}^nRn, as in the paper). The pairing is dotProduct, written α ⬝ᵥ x.
  • A point system is a Finset (Fin n → ℝ). The zero vector is not excluded.
  • A support normal satisfies α ≠ 0. Extreme supports require a subset T ⊆ S with T.card = n - 1 whose elements are linearly independent in the vector space Rn\mathbb{R}^nRn.
  • "All extreme support equations are satisfied" in Satz 1 is read as the inequalities ⟨α,x⟩≥0\langle\alpha,x\rangle\ge0⟨α,x⟩≥0 for every extreme normal α\alphaα, as the proof and Satz 2 make explicit. The hypothesis quantifies over all extreme normals, so no representatives are chosen.
  • "Positive-linear" combinations have nonnegative coefficients (display (3)). In Satz 2 the subset TTT is not required to be linearly independent.
  • Finiteness of extreme supports is stated up to positive scaling.
  • The lifting step is stated in the coordinates Weyl fixes on p. 293: Rn\mathbb{R}^nRn is Fin (m+1) → ℝ, the extreme support is xn≥0x_n \ge 0xn​≥0 (Fin.last m), S0S_0S0​ is projected by Fin.init, and μ\muμ is given together with hypotheses that it is the attained minimum. The hypothesis n≥2n \ge 2n≥2 is made explicit.

Replacing extreme supports by all supports in the hypothesis of Satz 1 or Satz 2 would turn the goal into a much weaker theorem (the conic Farkas lemma plus Carathéodory) and is not an admissible formalization. Dropping non-degeneracy makes Satz 1 false: for S={e1}⊂R2S = \{e_1\} \subset \mathbb{R}^2S={e1​}⊂R2 the extreme supports are ±x2≥0\pm x_2 \ge 0±x2​≥0, and x=(−1,0)x = (-1, 0)x=(−1,0) satisfies both without being a nonnegative multiple of e1e_1e1​.

A complete development needs basic linear algebra over Fin n → ℝ (hyperplanes through n−1n-1n−1 independent points, projection to a coordinate hyperplane) and finite minimisation. The facet description of finitely generated cones, conic Carathéodory and the finiteness of facets are reusable beyond this mission, including for the second mission of the series. Contributions of lemmas on PointedCone that connect Representable with PointedCone.span are welcome.

Selected references

  • H. Weyl, Elementare Theorie der konvexen Polyeder, Commentarii Mathematici Helvetici 7 (1935), 290–306. https://doi.org/10.1007/BF01292722
  • C. Carathéodory, Über den Variabilitätsbereich der Fourier'schen Konstanten von positiven harmonischen Funktionen, Rendiconti del Circolo Matematico di Palermo 32 (1911), 193–217. https://doi.org/10.1007/BF03014795
  • A. Schrijver, Theory of Linear and Integer Programming, Wiley, 1986, §7.2 (the Farkas–Minkowski–Weyl theorem). ISBN 978-0-471-98232-6
  • G. M. Ziegler, Lectures on Polytopes, Springer GTM 152, 1995, Lecture 1. https://doi.org/10.1007/978-1-4613-8431-1
9 thms2 active usersReviewed
🏆Completed
Convex OptimizationOperations ResearchOptimization·Captain: mikedeng1

Path-Finding Methods for Linear Programming I: Centering with Weights on the Weighted Central PathResearch Paper

Motivation

Interior point methods solve a linear program by following a central path: a curve of minimizers of a penalized objective that trades off cost against distance from the boundary of the feasible region. The classical analysis of path following with the logarithmic barrier needs O(m L)O(\sqrt{m}\,L)O(m​L) iterations for a program with mmm constraints, where LLL is the bit complexity of the input (Renegar 1988). For programs with many more constraints than variables, mmm can be far larger than the dimension nnn or the rank of the constraint matrix, and the m\sqrt mm​ factor is then the bottleneck.

Lee and Sidford (FOCS 2014) reduce the iteration count to O~(rank(A) L)\tilde O(\sqrt{\mathrm{rank}(A)}\,L)O~(rank(A)​L) by following a weighted central path in which each constraint carries its own positive weight, and the weights are re-computed as the algorithm moves. Their improved maximum-flow algorithm is an application of the same method.

Timeline. Karmarkar (1984) gave the first polynomial-time interior point method for linear programming. Renegar (1988) showed that path following with the logarithmic barrier needs O(mL)O(\sqrt m L)O(m​L) iterations. Nesterov and Nemirovskii (1994) showed that a universal self-concordant barrier yields O(nL)O(\sqrt n L)O(n​L) iterations, but that barrier is not known to be efficiently computable. Lee and Sidford (2014) achieved O~(rank(A)L)\tilde O(\sqrt{\mathrm{rank}(A)}L)O~(rank(A)​L) iterations, each reducible to O~(1)\tilde O(1)O~(1) linear-system solves.

This mission covers the first half of that framework (§IV of the paper): the weighted central path, the weighted Newton step, and the centering theorem that shows a single step followed by re-weighting makes constant-factor progress.

Setting

Let A∈Rm×nA\in\mathbb R^{m\times n}A∈Rm×n, b∈Rmb\in\mathbb R^mb∈Rm, c∈Rnc\in\mathbb R^nc∈Rn, and consider the linear program

min⁡x∈Rn: Ax≥bcTx.\min_{x\in\mathbb R^n:\ Ax\ge b} c^Tx .x∈Rn: Ax≥bmin​cTx.

The slack of a point xxx is s(x)=Ax−bs(x)=Ax-bs(x)=Ax−b, and the interior is S0={x:Ax>b}S^0=\{x : Ax>b\}S0={x:Ax>b}, the points with all slacks strictly positive. For a path parameter ttt and a vector of positive weights w∈R>0mw\in\mathbb R^m_{>0}w∈R>0m​, the weighted penalized objective is

ft(x,w)=t cTx−∑i=1mwilog⁡s(x)i.f_t(x,w)=t\,c^Tx-\sum_{i=1}^m w_i\log s(x)_i .ft​(x,w)=tcTx−i=1∑m​wi​logs(x)i​.

A pair (x,w)(x,w)(x,w) is feasible if x∈S0x\in S^0x∈S0 and w>0w>0w>0.

Write Sx=diag(s(x))S_x=\mathrm{diag}(s(x))Sx​=diag(s(x)), W=diag(w)W=\mathrm{diag}(w)W=diag(w) and ∥v∥M=vTMv\|v\|_M=\sqrt{v^TMv}∥v∥M​=vTMv​. The Newton step and the centrality are

h⃗t(x,w)=(ATSx−1WSx−1A)−1(tc−ATSx−1w),δt(x,w)=∥h⃗t(x,w)∥ATSx−1WSx−1A.\vec h_t(x,w)=\big(A^TS_x^{-1}WS_x^{-1}A\big)^{-1}\big(tc-A^TS_x^{-1}w\big),\qquad \delta_t(x,w)=\big\|\vec h_t(x,w)\big\|_{A^TS_x^{-1}WS_x^{-1}A}.ht​(x,w)=(ATSx−1​WSx−1​A)−1(tc−ATSx−1​w),δt​(x,w)=​ht​(x,w)​ATSx−1​WSx−1​A​.

The matrix ATSx−1WSx−1AA^TS_x^{-1}WS_x^{-1}AATSx−1​WSx−1​A is the Hessian of ftf_tft​ in xxx, and tc−ATSx−1wtc-A^TS_x^{-1}wtc−ATSx−1​w is its gradient; δt(x,w)=0\delta_t(x,w)=0δt​(x,w)=0 exactly when xxx minimizes ft(⋅,w)f_t(\cdot,w)ft​(⋅,w).

For slacks sss and weights www the projection matrix is PS−1A(w)=W1/2S−1A(ATS−1WS−1A)−1ATS−1W1/2P_{S^{-1}A}(w)=W^{1/2}S^{-1}A(A^TS^{-1}WS^{-1}A)^{-1}A^TS^{-1}W^{1/2}PS−1A​(w)=W1/2S−1A(ATS−1WS−1A)−1ATS−1W1/2 and the slack sensitivity is

γ(s,w)=max⁡i∈[m]∥W−1/21⃗i∥PS−1A(w).\gamma(s,w)=\max_{i\in[m]}\big\|W^{-1/2}\vec 1_i\big\|_{P_{S^{-1}A}(w)} .γ(s,w)=i∈[m]max​​W−1/21i​​PS−1A​(w)​.

A weight function (Definition 4) is a differentiable map g⃗:R>0m→R>0m\vec g:\mathbb R^m_{>0}\to\mathbb R^m_{>0}g​:R>0m​→R>0m​ from slacks to weights with constants c1c_1c1​ (size, a bound on ∥g⃗(s)∥1\|\vec g(s)\|_1∥g​(s)∥1​), cγ≥1c_\gamma\ge1cγ​≥1 (slack sensitivity, γ(s,g⃗(s))≤cγ\gamma(s,\vec g(s))\le c_\gammaγ(s,g​(s))≤cγ​), cr≥1c_r\ge1cr​≥1 (step consistency, two inequalities on the Jacobian G′(s)G'(s)G′(s) of g⃗\vec gg​ that hold for every r≥crr\ge c_rr≥cr​), and uniformity ∥g⃗(s)∥∞≤2\|\vec g(s)\|_\infty\le2∥g​(s)∥∞​≤2.

Formalization targets

Goal: Theorem 5 (Centering with Weights), §IV.C

Let g⃗\vec gg​ be a weight function for AAA with constants c1,cγ,crc_1,c_\gamma,c_rc1​,cγ​,cr​, let x(old)∈S0x^{(old)}\in S^0x(old)∈S0, s(old)=s(x(old))s^{(old)}=s(x^{(old)})s(old)=s(x(old)), and

x(new)=x(old)−11+cr h⃗t(x(old),g⃗(s(old))).x^{(new)}=x^{(old)}-\frac{1}{1+c_r}\,\vec h_t\big(x^{(old)},\vec g(s^{(old)})\big).x(new)=x(old)−1+cr​1​ht​(x(old),g​(s(old))).

If δt(x(old),g⃗(s(old)))≤1100cγcr2\delta_t(x^{(old)},\vec g(s^{(old)}))\le\frac{1}{100c_\gamma c_r^2}δt​(x(old),g​(s(old)))≤100cγ​cr2​1​, then x(new)∈S0x^{(new)}\in S^0x(new)∈S0 and

δt(x(new),g⃗(s(new)))≤(1−14cr)δt(x(old),g⃗(s(old))).\delta_t\big(x^{(new)},\vec g(s^{(new)})\big)\le\Big(1-\frac{1}{4c_r}\Big)\delta_t\big(x^{(old)},\vec g(s^{(old)})\big).δt​(x(new),g​(s(new)))≤(1−4cr​1​)δt​(x(old),g​(s(old))).

The theorem is stated for every weight function, not for the specific one constructed in §V of the paper; that construction is the subject of a separate mission.

Milestone: Lemma 3 (Split Newton Step), §IV.B

For feasible (x(old),w(old))(x^{(old)},w^{(old)})(x(old),w(old)) and r≥0r\ge0r≥0, the split step x(new)=x(old)−11+rh⃗tx^{(new)}=x^{(old)}-\frac1{1+r}\vec h_tx(new)=x(old)−1+r1​ht​, w(new)=w(old)+r1+rW(old)S(old)−1Ah⃗tw^{(new)}=w^{(old)}+\frac r{1+r}W_{(old)}S_{(old)}^{-1}A\vec h_tw(new)=w(old)+1+rr​W(old)​S(old)−1​Aht​ satisfies, whenever δt≤18γ\delta_t\le\frac1{8\gamma}δt​≤8γ1​,

δt(x(new),w(new))≤21+r γ δt2,\delta_t\big(x^{(new)},w^{(new)}\big)\le\frac{2}{1+r}\,\gamma\,\delta_t^2,δt​(x(new),w(new))≤1+r2​γδt2​,

with γ=γ(s(x(old)),w(old))\gamma=\gamma(s(x^{(old)}),w^{(old)})γ=γ(s(x(old)),w(old)), and the new pair is feasible.

Milestone: Lemma 1, §IV.B

For feasible (x,w)(x,w)(x,w) and α,t≥0\alpha,t\ge0α,t≥0:

δ(1+α)t(x,w)≤(1+α)δt(x,w)+α∥w∥1.\delta_{(1+\alpha)t}(x,w)\le(1+\alpha)\delta_t(x,w)+\alpha\sqrt{\|w\|_1}.δ(1+α)t​(x,w)≤(1+α)δt​(x,w)+α∥w∥1​​.

Significance

Theorem 5 is the centering half of the weighted path-following method. Combined with Lemma 1, it shows that the path parameter can be doubled, while staying close to the weighted central path, in a number of steps of the form (5) controlled by cγc_\gammacγ​, crc_rcr​ and c1\sqrt{c_1}c1​​. The paper then constructs (§V, Theorem 1) a weight function with c1=2 rank(A)c_1=2\,\mathrm{rank}(A)c1​=2rank(A), cγ=2c_\gamma=2cγ​=2 and crc_rcr​ logarithmic in m/rank(A)m/\mathrm{rank}(A)m/rank(A), which yields the O~(rank(A))\tilde O(\sqrt{\mathrm{rank}(A)})O~(rank(A)​) iteration bound. The theorem isolates exactly which properties of a weighting scheme are needed, so it applies to any weight function satisfying Definition 4.

The FOCS extended abstract states these results without proofs; the proofs are in the arXiv full version (arXiv:1312.6677). The results are proved on paper. No machine-checked formalization of weighted path following, or of the Lee–Sidford framework, is known. A formal proof would check the constants 1100\frac1{100}1001​, 14\frac1{4}41​, 18\frac1881​ and 21+r\frac2{1+r}1+r2​ as stated in the extended abstract, and would produce reusable Lean infrastructure for Newton steps of barrier functions with explicit matrix formulas.

Difficulty

The standard analysis of Newton's method on a self-concordant barrier gives quadratic convergence of centrality for a fixed barrier. Here the barrier changes during the step: the weights are reset to g⃗(s(x(new)))\vec g(s(x^{(new)}))g​(s(x(new))), so the new centrality is measured with respect to a different Hessian and a different gradient. The obvious argument, analysing the step at fixed weights and then treating the re-weighting as a small perturbation, does not give a contraction factor independent of mmm: without control of how g⃗\vec gg​ reacts to changes in the slacks, the re-weighting can undo the progress of the step. The step-consistency conditions of Definition 4 are the only hypotheses that control this reaction, and they are pointwise bounds on the Jacobian of g⃗\vec gg​, while the step moves the slacks by a finite amount.

Formalization scope

Vectors are Fin n → ℝ and Fin m → ℝ, matrices Matrix (Fin m) (Fin n) ℝ, and products are Matrix.mulVec and dotProduct. S−1S^{-1}S−1 is the diagonal matrix of reciprocals, W±1/2W^{\pm1/2}W±1/2 the diagonal matrices of wi±1\sqrt{w_i}^{\pm1}wi​​±1, and ∥v∥M=vTMv\|v\|_M=\sqrt{v^TMv}∥v∥M​=vTMv​. The Newton step and centrality are defined by the explicit formulas (3) and (4), not by derivatives of ftf_tft​; the centrality uses the Hessian-norm form of (4). The Jacobian G′(s)G'(s)G′(s) is the Fréchet derivative fderiv ℝ g s, and ∥⋅∥∞\|\cdot\|_\infty∥⋅∥∞​ is Mathlib's sup norm.

Conventions fixed where the paper is silent:

  1. Full column rank. Every theorem assumes A.rank = n. The paper uses (ATSx−1WSx−1A)−1(A^TS_x^{-1}WS_x^{-1}A)^{-1}(ATSx−1​WSx−1​A)−1 without comment; the inverse exists for positive slacks and weights exactly when AAA has full column rank. Lean's matrix inverse is 000 on singular matrices, which would make h⃗t\vec h_tht​, δt\delta_tδt​ and γ\gammaγ vanish and every statement trivially true; the rank hypothesis rules this trivializing reading out.
  2. Size as an upper bound. Definition 4's "c1(g⃗)=∥g⃗(s)∥1c_1(\vec g)=\|\vec g(s)\|_1c1​(g​)=∥g​(s)∥1​" is read as ∥g⃗(s)∥1≤c1\|\vec g(s)\|_1\le c_1∥g​(s)∥1​≤c1​ for all s>0s>0s>0 (the paper's own weight function reports a c1c_1c1​ above its ℓ1\ell_1ℓ1​ norm). c1c_1c1​ does not enter Theorem 5.
  3. Operator norm. Step consistency's first bullet is written as ∥(I+r−1G−1G′S)y∥G(s)≤∥y∥G(s)\|(I+r^{-1}G^{-1}G'S)y\|_{G(s)}\le\|y\|_{G(s)}∥(I+r−1G−1G′S)y∥G(s)​≤∥y∥G(s)​ for all yyy.
  4. Lemma 3's rrr ranges over r≥0r\ge0r≥0, and γ(x,w)\gamma(x,w)γ(x,w) means γ(s(x),w)\gamma(s(x),w)γ(s(x),w).
  5. Feasibility of the new point is part of the conclusion of Lemma 3 and Theorem 5, since the page's conclusion evaluates quantities defined only on the interior.
  6. Maximum over [m][m][m] is a supremum over Fin m (attained for m≥1m\ge1m≥1, equal to 000 for m=0m=0m=0).
  7. The path parameter ttt is unrestricted in Theorem 5 and Lemma 3, as on the page; Lemma 1 assumes t≥0t\ge0t≥0 as the page does.

A complete development needs basic facts about weighted norms and the projection matrix PS−1A(w)P_{S^{-1}A}(w)PS−1A​(w), spectral comparison of the matrices ATS−1WS−1AA^TS^{-1}WS^{-1}AATS−1WS−1A for nearby slacks and weights, and calculus for vector-valued maps on the positive orthant. The weighted-norm and projection-matrix material is reusable for any interior point analysis. Proofs of the milestones, alternative arguments, and sharper constants are welcome.

Selected references

  • Y. T. Lee, A. Sidford, Path Finding Methods for Linear Programming: Solving Linear Programs in Õ(√rank) Iterations and Faster Algorithms for Maximum Flow, FOCS 2014, pp. 424–433. https://doi.org/10.1109/FOCS.2014.52
  • Y. T. Lee, A. Sidford, Path Finding I: Solving Linear Programs with Õ(√rank) Linear System Solves, arXiv:1312.6677, 2013. https://arxiv.org/abs/1312.6677
  • J. Renegar, A polynomial-time algorithm, based on Newton's method, for linear programming, Mathematical Programming 40, 1988, pp. 59–93. https://doi.org/10.1007/BF01580724
  • N. Karmarkar, A new polynomial-time algorithm for linear programming, Combinatorica 4, 1984, pp. 373–395. https://doi.org/10.1007/BF02579150
  • Y. Nesterov, A. Nemirovskii, Interior-Point Polynomial Algorithms in Convex Programming, SIAM, 1994. https://doi.org/10.1137/1.9781611970791
6 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimization·Captain: mikedeng1

Critical-Path Planning and Scheduling II: The Project Cost Curve Is Non-Increasing, Piecewise Linear and ConvexResearch Paper

Motivation

A large engineering or construction project is a set of jobs with precedence constraints, and most jobs can be finished faster at a higher cost (overtime, more crews, faster equipment). Planners want to know, for every possible project duration, the cheapest way to meet it. The resulting trade-off between duration and direct cost is what management compares with overhead, penalties and market losses when it picks a schedule.

J. E. Kelley, Jr. and M. R. Walker introduced the critical-path method (CPM) in 1959, from work at du Pont and Remington Rand (Kelley and Walker 1959). Alongside the critical-path computation, they modelled each job's cost as a linear function of its duration and posed the choice of durations as a parametric linear program. They stated that its optimal value, as a function of the project duration λ\lambdaλ, is a non-increasing, piecewise linear, convex function, which they called the project cost curve. The 1959 paper gives no proof and defers the detailed development to a separate paper (Kelley 1961). Fulkerson (1961) gave a network-flow algorithm that computes the curve. Time–cost trade-off analysis ("crashing") has been a standard part of project management since then.

Setting

A project network has events labelled 0,1,…,n0, 1, \dots, n0,1,…,n with n≥1n \ge 1n≥1. Event 000 is the origin and event nnn the terminus. A finite set PPP of jobs is given, each an ordered pair (i,j)(i,j)(i,j): an arrow from event iii to event jjj. As in the paper, labels increase along arrows (i<ji < ji<j for every (i,j)∈P(i,j) \in P(i,j)∈P), the origin precedes every event, and the terminus follows every event.

For job durations y=(yij)y = (y_{ij})y=(yij​), the earliest event times are given by recursion (1):

t0(0)=0,tj(0)=max⁡ [ yij+ti(0)∣i<j, (i,j)∈P ],1≤j≤n,t_0^{(0)} = 0,\qquad t_j^{(0)} = \max\,[\,y_{ij} + t_i^{(0)} \mid i<j,\ (i,j)\in P\,],\quad 1\le j\le n,t0(0)​=0,tj(0)​=max[yij​+ti(0)​∣i<j, (i,j)∈P],1≤j≤n,

and tn(0)(y)t_n^{(0)}(y)tn(0)​(y) is the earliest project completion time.

Each job has a crash duration dijd_{ij}dij​ and a normal duration DijD_{ij}Dij​ with 0≤dij≤Dij0 \le d_{ij} \le D_{ij}0≤dij​≤Dij​, and a linear job cost aijyij+bija_{ij}y_{ij} + b_{ij}aij​yij​+bij​ with aij≤0a_{ij} \le 0aij​≤0, bij≥0b_{ij} \ge 0bij​≥0. The project (direct) cost is

(7)∑(i,j)∈P(aijyij+bij).\text{(7)}\qquad \sum_{(i,j)\in P} (a_{ij} y_{ij} + b_{ij}).(7)(i,j)∈P∑​(aij​yij​+bij​).

A schedule for λ\lambdaλ is a pair (y,t)(y,t)(y,t) with

(5) dij≤yij≤Dij,(8) yij≤tj−ti((i,j)∈P),(9) t0=0, tn=λ.\text{(5)}\ d_{ij}\le y_{ij}\le D_{ij},\qquad \text{(8)}\ y_{ij}\le t_j-t_i\quad ((i,j)\in P),\qquad \text{(9)}\ t_0=0,\ t_n=\lambda.(5) dij​≤yij​≤Dij​,(8) yij​≤tj​−ti​((i,j)∈P),(9) t0​=0, tn​=λ.

Let Λ\LambdaΛ be the set of λ\lambdaλ for which a schedule exists. For λ∈Λ\lambda \in \Lambdaλ∈Λ the project cost curve C(λ)C(\lambda)C(λ) is the minimum of (7) over schedules for λ\lambdaλ. Write λc=tn(0)(d)\lambda_c = t_n^{(0)}(d)λc​=tn(0)​(d) (all jobs crashed) and λN=tn(0)(D)\lambda_N = t_n^{(0)}(D)λN​=tn(0)​(D) (all jobs normal).

Formalization targets

Goal: the shape of the project cost curve (p. 165)

C is non-increasing on Λ,C is piecewise linear on Λ,C is convex on Λ.C \text{ is non-increasing on } \Lambda,\qquad C \text{ is piecewise linear on } \Lambda,\qquad C \text{ is convex on } \Lambda .C is non-increasing on Λ,C is piecewise linear on Λ,C is convex on Λ.

Piecewise linear means finitely many breakpoints β0<⋯<βm\beta_0<\dots<\beta_mβ0​<⋯<βm​ with Λ⊆[β0,∞)\Lambda\subseteq[\beta_0,\infty)Λ⊆[β0​,∞), and affine pieces on Λ∩[βk,βk+1]\Lambda\cap[\beta_k,\beta_{k+1}]Λ∩[βk​,βk+1​] and on Λ∩[βm,∞)\Lambda\cap[\beta_m,\infty)Λ∩[βm​,∞). The goal fixes no breakpoints or slopes. It asserts only the shape the paper claims, on the whole of Λ\LambdaΛ.

Milestones

  1. Feasible range (p. 165, "until no further reduction in project completion time is possible"): Λ=[λc,∞)\Lambda = [\lambda_c, \infty)Λ=[λc​,∞).
  2. Existence of optimal schedules (p. 165, the linear program (8), (9)): for every λ∈Λ\lambda\in\Lambdaλ∈Λ the minimum of (7) is attained.
  3. All-normal solution (p. 165): (D,t(0)(D))(D, t^{(0)}(D))(D,t(0)(D)) is a minimum cost schedule for λ=λN\lambda = \lambda_Nλ=λN​.
  4. λ\lambdaλ is the earliest completion time (p. 165, "within the limits of most interest"): for λc≤λ≤λN\lambda_c\le\lambda\le\lambda_Nλc​≤λ≤λN​ some minimum cost schedule (y,t)(y,t)(y,t) for λ\lambdaλ has tn(0)(y)=λt_n^{(0)}(y)=\lambdatn(0)​(y)=λ.

Significance

The cost curve is the output of CPM's cost analysis. Its convexity is what makes the paper's parametric procedure valid: jobs are expedited in order of increasing marginal cost, and the curve is traced from λN\lambda_NλN​ down to λc\lambda_cλc​ one linear piece at a time. Monotonicity justifies reading the curve as a trade-off. Piecewise linearity with finitely many pieces means the whole curve is determined by finitely many characteristic schedules, the vertices plotted in the paper's Fig. 3. The milestones identify the domain of the curve, show that it is well defined, and fix its right end at the all-normal solution.

These facts are classical: they follow from parametric linear programming, and Kelley (1961) and Fulkerson (1961) develop them in detail. No machine-checked proof of them is known. Prove2Me has a related result, LinearOptimization.lp_optimal_cost_convex_in_rhs (Bertsimas–Tsitsiklis, Theorem 5.1): convexity of the optimal cost of a standard-form LP in its right-hand side. It covers convexity only, for a different LP form, and says nothing about monotonicity or finitely many pieces. This mission adds a formal model of CPM's time–cost program and the full three-part shape theorem.

Difficulty

Convexity alone follows from the usual argument: a convex combination of optimal schedules for two durations is a schedule for the combined duration. Monotonicity needs the structure of the network: when λ\lambdaλ increases, only the constraints (8) on jobs ending at the terminus loosen, because no job leaves the terminus. The hard part is piecewise linearity with finitely many pieces. Convexity does not imply it, and a general result on value functions of linear programs has to be tied to this specific program, whose right-hand side depends on λ\lambdaλ only through tn=λt_n = \lambdatn​=λ. The domain is also unbounded, so the argument must show that the curve is eventually a single affine (in fact constant) piece. It cannot just produce finitely many pieces on a compact interval.

Formalization scope

Events are Fin (n + 1) with origin 0 and terminus Fin.last n, and 1 ≤ n. Jobs are a Finset of ordered pairs, with at most one job per ordered pair. The standing assumptions of pp. 161–162 are fields of ProjectNetwork: labels increase along jobs, and reachability via Relation.ReflTransGen from the origin and to the terminus. Times and durations are real. Job data are functions Fin (n+1) → Fin (n+1) → ℝ, constrained and read only on PPP. The hypotheses 0≤dij≤Dij0\le d_{ij}\le D_{ij}0≤dij​≤Dij​, aij≤0a_{ij}\le 0aij​≤0 and bij≥0b_{ij}\ge 0bij​≥0 are fields of JobData. Recursion (1) is earliest, defined by well-founded recursion on the label. It uses a fallback value 000 for an event without predecessors, which occurs only at the origin. The paper's λ\lambdaλ is written lam. Constraint (9) fixes tn=λt_n = \lambdatn​=λ exactly, and the event times are otherwise unconstrained.

The goal takes C:R→RC : \mathbb{R}\to\mathbb{R}C:R→R with the hypothesis that C(λ)C(\lambda)C(λ) is the least element of the set of costs of schedules for λ\lambdaλ, for every λ∈Λ\lambda \in \Lambdaλ∈Λ. All three conclusions are stated on Λ\LambdaΛ only. This rules out the trivializing formalizations:

  • a junk-valued infimum off Λ\LambdaΛ plays no role;
  • CCC is tied to the program, and the hypothesis on CCC is satisfiable by milestone 2;
  • piecewise linearity requires finitely many pieces that cover all of Λ\LambdaΛ;
  • all three properties are claimed, not convexity alone.

The goal keeps aij≤0a_{ij}\le 0aij​≤0, as the page does throughout §3, although monotonicity and convexity would hold without it.

Disclosed readings:

  • Milestone 1 renders "until no further reduction in project completion time is possible" as Λ=[λc,∞)\Lambda=[\lambda_c,\infty)Λ=[λc​,∞).
  • Milestone 4 reads "within the limits of most interest" as λc≤λ≤λN\lambda_c\le\lambda\le\lambda_Nλc​≤λ≤λN​. It asserts that some optimal schedule has tn(0)(y)=λt_n^{(0)}(y)=\lambdatn(0)​(y)=λ. "Every" is false: when all aij=0a_{ij}=0aij​=0, the all-crash durations are optimal for every λ\lambdaλ.

A complete development needs:

  • the existence of LP optima under a bounded objective, or a direct compactness argument on the feasible polyhedron;
  • a parametric-LP or polyhedral argument for finitely many linear pieces;
  • basic facts on the recursion (1).

The one-variable notion IsPiecewiseLinearOn and the facts on earliest event times can be reused in scheduling missions. Proofs of the milestones, of any of the three goal conjuncts separately, and general lemmas on parametric LP value functions are all welcome.

Not formalized: general piecewise linear convex job costs (deferred by the paper to its references [7], [8]), and the primal–dual procedure itself (a method, not a claim).

Selected references

  • J. E. Kelley, Jr. and M. R. Walker, Critical-Path Planning and Scheduling, Proc. Eastern Joint IRE-AIEE-ACM Computer Conference, 1959, pp. 160–173. https://doi.org/10.1145/1460299.1460318
  • J. E. Kelley, Jr., Critical-Path Planning and Scheduling: Mathematical Basis, Operations Research 9(3), 1961, pp. 296–320. https://doi.org/10.1287/opre.9.3.296
  • D. R. Fulkerson, A Network Flow Computation for Project Cost Curves, Management Science 7(2), 1961, pp. 167–178. https://doi.org/10.1287/mnsc.7.2.167
  • D. Bertsimas and J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997, §5.2 (the optimal cost as a function of the right-hand side).
10 thms2 active usersReviewed
🏆Completed
CombinatoricsGraph TheoryOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs IV: Adjacent Stable Sets on the Stable Set PolytopeResearch Paper

Motivation

Many combinatorial optimization problems are linear programs over a polytope whose vertices are the zero–one incidence vectors of the feasible objects: matchings, stable sets, spanning trees. The edges of such a polytope (pairs of vertices joined by a one-dimensional face) govern the behaviour of the simplex method and of local-search procedures, which move from vertex to vertex along edges: a pivot of the simplex method on a nondegenerate basis replaces a vertex by one of its neighbours.

In December 1971 M. L. Balinski asked when two matchings M1,M2M_1, M_2M1​,M2​ of a graph are neighbours on the matching polyhedron determined by Edmonds (Edmonds 1965). V. Chvátal answered a more general question in §6 of On certain polytopes associated with graphs (Chvátal 1975): he characterized the neighbours on the stable set polytope of an arbitrary graph. Since matchings of GGG are the stable sets of the line graph L(G)L(G)L(G), Balinski's question is the special case of line graphs (Corollary 6.3 of the paper).

Setting

Let G=(V,E)G=(V,E)G=(V,E) be a finite undirected loopless graph. A stable set is a set of vertices no two of which are adjacent. S(G)S(G)S(G) denotes the set of all zero–one vectors x=(xu:u∈V)x=(x_u : u\in V)x=(xu​:u∈V) such that {u:xu=1}\{u : x_u=1\}{u:xu​=1} is stable, and the stable set polytope is

P(G)=conv⁡S(G)⊆RV.P(G)=\operatorname{conv} S(G)\subseteq \mathbb R^V .P(G)=convS(G)⊆RV.

For y∈S(G)y\in S(G)y∈S(G) the corresponding stable set is Y={u:yu=1}Y=\{u : y_u=1\}Y={u:yu​=1}.

For an integer-valued vector c=(cu:u∈V)c=(c_u : u\in V)c=(cu​:u∈V) write cx=∑u∈Vcuxucx=\sum_{u\in V}c_ux_ucx=∑u∈V​cu​xu​. Two vectors y,zy, zy,z are neighbours in P(G)P(G)P(G) if there is an integer-valued ccc such that yyy and zzz are the only two vectors which maximize cxcxcx over S(G)S(G)S(G); in particular y≠zy\neq zy=z. This is the definition the paper states at the start of the proof of Theorem 6.2.

A bicoloration of a graph TTT is a partition V=B∪RV=B\cup RV=B∪R, B∩R=∅B\cap R=\emptysetB∩R=∅, such that every edge joins BBB to RRR. Every tree has one.

In the Lean development these objects are stableVectors G (S(G)S(G)S(G)), stablePolytope G (P(G)P(G)P(G)), onesSet y (YYY), AreNeighbors G y z and IsBicoloration T B R, all in the namespace ChvatalPolytopes.Neighbors.

Formalization targets

Goal: Theorem 6.2 (p. 149)

For y,z∈S(G)y,z\in S(G)y,z∈S(G) with corresponding stable sets Y,ZY,ZY,Z,

y and z are neighbours in P(G)  ⟺  the subgraph H of G induced by (Y−Z)∪(Z−Y) is connected.y \text{ and } z \text{ are neighbours in } P(G) \iff \text{the subgraph } H \text{ of } G \text{ induced by } (Y-Z)\cup(Z-Y) \text{ is connected.}y and z are neighbours in P(G)⟺the subgraph H of G induced by (Y−Z)∪(Z−Y) is connected.

Milestone: Lemma 6.1 (p. 149)

For a tree T=(V,E)T=(V,E)T=(V,E) with a bicoloration V=B∪RV=B\cup RV=B∪R there are nonnegative integers cuc_ucu​ (u∈Vu\in Vu∈V) and mmm with

∑u∈Vcuxu≤mfor all x∈S(T),\sum_{u\in V}c_ux_u\le m\quad\text{for all } x\in S(T),u∈V∑​cu​xu​≤mfor all x∈S(T),

with equality exactly when xxx is the incidence vector of BBB or of RRR.

Milestone: the certificate of the "if" part (p. 149, proof of Theorem 6.2, (i))

If HHH is connected with spanning tree TTT, and cuc_ucu​ (u∈(Y−Z)∪(Z−Y)u\in (Y-Z)\cup(Z-Y)u∈(Y−Z)∪(Z−Y)), mmm are as in Lemma 6.1 for TTT, extend ccc by cu=1c_u=1cu​=1 on Y∩ZY\cap ZY∩Z and cu=−1c_u=-1cu​=−1 outside Y∪ZY\cup ZY∪Z. Then

∑u∈Vcuxu≤m+∣Y∩Z∣for all x∈S(G),\sum_{u\in V}c_ux_u\le m+|Y\cap Z|\quad\text{for all } x\in S(G),u∈V∑​cu​xu​≤m+∣Y∩Z∣for all x∈S(G),

with equality if and only if x=yx=yx=y or x=zx=zx=z.

Significance

Theorem 6.2 describes the 1-skeleton of the stable set polytope of every graph by a condition that can be checked in linear time, although optimizing over P(G)P(G)P(G) is NP-hard in general and no complete linear description of P(G)P(G)P(G) is known for general graphs. Through line graphs it gives the adjacency criterion for the matching polytope (two matchings are neighbours if and only if their symmetric difference is a single path or cycle), which settled Balinski's question. Characterizations of this type underlie the analysis of simplex-type and pivoting algorithms on combinatorial polytopes and the study of their diameters.

The result has been proved since 1975. The mission asks for a machine-checked proof of the theorem as stated in the paper; no formal proof of Theorem 6.2 or of the matching-polytope corollary is known to exist on Prove2Me or in Mathlib. The two milestones isolate the constructive half (Lemma 6.1 and the weighting built from it), which is reusable for any statement that needs an explicit objective singling out two stable sets.

Difficulty

The "only if" direction and the equality analysis are elementary; the substance lies in the "if" direction. An objective that makes both yyy and zzz optimal is easy to write down, for example c=y+zc=y+zc=y+z; the difficulty is to make them the only optimal vectors. Any stable set that agrees with YYY on some connected pieces of HHH and with ZZZ on others ties with yyy and zzz under naive weightings, so the weights on (Y−Z)∪(Z−Y)(Y-Z)\cup(Z-Y)(Y−Z)∪(Z−Y) must be chosen so that every mixed choice loses strictly. The integrality requirement on ccc and the need to control all of S(G)S(G)S(G), not only the stable sets contained in Y∪ZY\cup ZY∪Z, rule out a direct perturbation argument.

Formalization scope

  • Graphs. VVV is a finite type with decidable equality and GGG is a SimpleGraph V; loops and multiple edges are excluded, as in the paper.
  • S(G)S(G)S(G) and P(G)P(G)P(G). S(G)S(G)S(G) is the set of incidence vectors in V → ℝ of stable finsets; P(G)P(G)P(G) is convexHull ℝ (S G).
  • Neighbours. Defined exactly as on p. 149: y≠zy\ne zy=z and, for some c:V→Zc : V\to\mathbb Zc:V→Z, the set of maximizers of cxcxcx over S(G)S(G)S(G) equals {y,z}\{y,z\}{y,z}. The face-lattice notion of an edge of P(G)P(G)P(G) is not used; its equivalence with this definition is not part of the paper.
  • Induced subgraph and connectedness. HHH is G.induce of the set (Y∖Z)∪(Z∖Y)(Y\setminus Z)\cup(Z\setminus Y)(Y∖Z)∪(Z∖Y), and "connected" is Mathlib's SimpleGraph.Connected, which requires at least one vertex. For y=zy=zy=z both sides of the goal are therefore false.
  • Trees. SimpleGraph.IsTree, which includes connectedness; a spanning tree of HHH is a graph TTT on the vertex set of HHH with T≤HT\le HT≤H and T.IsTree. In Lemma 6.1 the integers cuc_ucu​ and mmm are natural numbers.

A trivializing formalization — defining neighbours through the symmetric-difference condition or through Lemma 6.1's certificate, or omitting y≠zy\neq zy=z from the definition — is excluded: neighbours are defined only through unique maximizers of integer objectives over S(G)S(G)S(G).

A complete development needs only finite graphs, induced subgraphs, spanning trees of connected graphs (available in Mathlib) and finite sums. Contributions welcome beyond the milestones: the equivalence of this notion of neighbours with the one-dimensional faces of P(G)P(G)P(G), and Corollary 6.3 for the matching polytope via line graphs.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, Journal of Combinatorial Theory, Series B 18 (1975), 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, Journal of Research of the National Bureau of Standards 69B (1965), 125–130. https://doi.org/10.6028/jres.069B.013
  • M. W. Padberg, On the facial structure of set packing polyhedra, Mathematical Programming 5 (1973), 199–215. https://doi.org/10.1007/BF01580121
6 thms2 active usersReviewed
🏆Completed
CombinatoricsGraph TheoryOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs II: No Clique Is a Cutset of a Connected α-Critical GraphResearch Paper

Motivation

The stability number α(G)\alpha(G)α(G) of a graph, the largest number of pairwise non-adjacent vertices, is the optimum of an integer program over the stable set polytope P(G)P(G)P(G). Linear programming duality turns any explicit linear description of P(G)P(G)P(G) into a certificate of optimality for α(G)\alpha(G)α(G), which is why the question "which inequalities are needed to describe P(G)P(G)P(G)?" has been central to polyhedral combinatorics since Edmonds' description of the matching polytope (Edmonds 1965). Chvátal's 1975 paper (doi:10.1016/0095-8956(75)90041-6) initiated the systematic study of P(G)P(G)P(G) for arbitrary graphs: which graph operations preserve a known description, and which inequalities are facets, i.e. indispensable in every description.

Section 4 of the paper treats one such operation, gluing two graphs along a complete subgraph, and one family of facets, the "rank" inequality ∑uxu≤α(G)\sum_u x_u\le\alpha(G)∑u​xu​≤α(G) for graphs whose critical edges connect all vertices. Combining the two yields a purely graph-theoretic fact about α\alphaα-critical graphs (graphs in which deleting any edge increases the stability number): no complete subgraph separates such a graph. The fact is due to Berge (Graphes et hypergraphes, 1970, Ch. 13, §3, Corollary 2); Chvátal's derivation obtains it from polyhedral arguments. α\alphaα-critical graphs were studied by Erdős and Gallai, Hajnal, Andrásfai and Lovász, and their structure is closely tied to the facets of P(G)P(G)P(G).

Setting

Graphs are finite, undirected and loopless: G=(V,E)G=(V,E)G=(V,E). A stable set is a set of pairwise non-adjacent vertices; α(G)\alpha(G)α(G) is the largest size of a stable set. The incidence vector of s⊆Vs\subseteq Vs⊆V is χs∈RV\chi^s\in\mathbb R^Vχs∈RV with χus=1\chi^s_u=1χus​=1 for u∈su\in su∈s and 000 otherwise. S(G)S(G)S(G) is the set of incidence vectors of stable sets and

P(G)=conv⁡S(G)⊆RV.P(G)=\operatorname{conv}S(G)\subseteq\mathbb R^V .P(G)=convS(G)⊆RV.

A finite system ∑u∈Vaiuxu≤bi\sum_{u\in V}a_{iu}x_u\le b_i∑u∈V​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J) is a defining linear system of PPP if its solution set is exactly PPP. An inequality ∑uauxu≤b\sum_u a_ux_u\le b∑u​au​xu​≤b is a facet of PPP if every defining linear system of PPP contains, for some t>0t>0t>0, the inequality ∑utauxu≤tb\sum_u ta_ux_u\le tb∑u​tau​xu​≤tb.

An edge eee of GGG is critical if α(G−e)=α(G)+1\alpha(G-e)=\alpha(G)+1α(G−e)=α(G)+1; E∗E^*E∗ denotes the set of critical edges, G∗=(V,E∗)G^*=(V,E^*)G∗=(V,E∗), and GGG is α\alphaα-critical if every edge is critical. For graphs G1=(V1,E1)G_1=(V_1,E_1)G1​=(V1​,E1​), G2=(V2,E2)G_2=(V_2,E_2)G2​=(V2​,E2​) put G1∩G2=(V1∩V2,E1∩E2)G_1\cap G_2=(V_1\cap V_2,E_1\cap E_2)G1​∩G2​=(V1​∩V2​,E1​∩E2​) and G1∪G2=(V1∪V2,E1∪E2)G_1\cup G_2=(V_1\cup V_2,E_1\cup E_2)G1​∪G2​=(V1​∪V2​,E1​∪E2​). A vertex set KKK is a cutset of GGG if two vertices outside KKK are joined by no path of G−KG-KG−K, the subgraph induced on V∖KV\setminus KV∖K.

In Lean, all objects live in the namespace ChvatalPolytopes.Separation: stablePolytope G, IsFacet P a b, IsCriticalEdge, criticalGraph G (for G∗G^*G∗), IsAlphaCritical G and IsCutset G K.

Formalization targets

Goal: Corollary 4.3 (p. 144)

For a finite connected α\alphaα-critical graph GGG and any K⊆VK\subseteq VK⊆V inducing a complete subgraph,

K is not a cutset of G.K \text{ is not a cutset of } G .K is not a cutset of G.

The goal is pure graph theory; its proof in the paper consists of the two polyhedral theorems below.

Milestones

  1. Proposition 2.1 (pp. 139–140). For a finite nonempty set SSS of solutions of −xu≤0-x_u\le0−xu​≤0 (u∈V)(u\in V)(u∈V), ∑uaiuxu≤bi\sum_u a_{iu}x_u\le b_i∑u​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J): the solution set equals conv⁡S\operatorname{conv}SconvS if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S}=min⁡{∑iλibi:λ≥0, ∑iλiaiu≥cu (u∈V)}.\max\{cx:x\in S\}=\min\Big\{\sum_i\lambda_ib_i:\lambda\ge0,\ \sum_i\lambda_ia_{iu}\ge c_u\ (u\in V)\Big\}.max{cx:x∈S}=min{i∑​λi​bi​:λ≥0, i∑​λi​aiu​≥cu​ (u∈V)}.
  1. Theorem 4.1 (p. 141). If G1∩G2G_1\cap G_2G1​∩G2​ is complete, the union of defining linear systems of P(G1)P(G_1)P(G1​) and P(G2)P(G_2)P(G2​) (each containing its nonnegativity rows) is a defining linear system of P(G1∪G2)P(G_1\cup G_2)P(G1​∪G2​).
  2. Theorem 4.2 (p. 143). If G∗G^*G∗ is connected, then
∑u∈Vxu≤α(G)\sum_{u\in V}x_u\le\alpha(G)u∈V∑​xu​≤α(G)

is a facet of P(G)P(G)P(G).

Significance

Theorem 4.1 says that clique-sums are harmless for linear descriptions of P(G)P(G)P(G): a description of a graph glued along a clique is the union of descriptions of the pieces. It underlies the later decomposition theory of stable set polytopes (clique cutsets appear throughout the study of perfect and ttt-perfect graphs). Theorem 4.2 supplies a large class of facets with a combinatorial certificate, and was the starting point of the study of rank facets. Corollary 4.3 illustrates how polyhedral statements yield structural graph theory: the facet in Theorem 4.2 cannot coexist with a clique cutset.

All three results are proved in the paper, and Berge's corollary was known before it. None of them has, to the knowledge of this mission, a machine-checked proof; Mathlib has stable sets (IsIndepSet, indepNum), cliques and convex hulls, but no stable set polytope, no notion of facet via defining systems, and no α\alphaα-critical graphs. The mission produces these definitions and the formal proofs of Proposition 2.1, Theorems 4.1, 4.2 and Corollary 4.3.

Difficulty

Proposition 2.1 requires LP duality in the form "min = max with both optima attained" together with a separation argument that reduces arbitrary objectives to integral ones; the "if" direction fails without the nonnegativity rows, so the statement is sensitive to the exact form of the system. In Theorem 4.1 the inclusion P(G1∪G2)⊆P(G_1\cup G_2)\subseteqP(G1​∪G2​)⊆ (solutions of the union) is routine; the difficulty is the converse: a point whose restrictions lie in P(G1)P(G_1)P(G1​) and in P(G2)P(G_2)P(G2​) is a convex combination of stable sets on each side, and the two combinations have to be matched on the clique V1∩V2V_1\cap V_2V1​∩V2​ to produce stable sets of G1∪G2G_1\cup G_2G1​∪G2​. Theorem 4.2 concerns every defining linear system, so it cannot be proved by exhibiting one description; the natural route via "affinely independent tight points" is a different definition of facet and needs full-dimensionality of P(G)P(G)P(G) to be equivalent. Finally, the goal requires translating a cutset into a decomposition G=G1∪G2G=G_1\cup G_2G=G1​∪G2​ with complete intersection, and then showing that a union of two systems on smaller vertex sets cannot contain a positive multiple of ∑u∈Vxu≤α(G)\sum_{u\in V}x_u\le\alpha(G)∑u∈V​xu​≤α(G).

Formalization scope

  • Graphs are SimpleGraph V on a Fintype V with DecidableEq V. S(G)S(G)S(G) is a set of functions V → ℝ (incidence vectors of stable finsets), and P(G)P(G)P(G) is convexHull ℝ (stableVectors G).
  • Linear systems are indexed by finite types with real coefficients. "Defining linear system" is equality of the solution set with the polytope. IsFacet quantifies over all finite index types J : Type and all real systems whose solution set equals the polytope; it is the paper's definition, not the affinely-independent-points characterization.
  • Proposition 2.1: "min = max" means an attained minimum equal to the maximum; the hypothesis S≠∅S\neq\emptysetS=∅ is added (the paper's max⁡\maxmax over SSS needs it), and the nonnegativity rows are kept.
  • Theorem 4.1: the glued graph GGG lives on a type VVV with finsets V1∪V2=VV_1\cup V_2=VV1​∪V2​=V; G1,G2G_1,G_2G1​,G2​ are the induced subgraphs on V1,V2V_1,V_2V1​,V2​; "G1∩G2G_1\cap G_2G1​∩G2​ complete" is encoded as "V1∩V2V_1\cap V_2V1​∩V2​ is a clique of GGG and no edge joins V1−V2V_1-V_2V1​−V2​ to V2−V1V_2-V_1V2​−V1​", which is equivalent to the paper's hypotheses. The rows of each system are evaluated on the restriction of xxx.
  • Theorem 4.2: "G∗G^*G∗ connected" is Mathlib's Connected, which requires V≠∅V\neq\emptysetV=∅ — for V=∅V=\emptysetV=∅ the statement would be false. α(G)\alpha(G)α(G) is indepNum, cast to R\mathbb RR.
  • Corollary 4.3: "complete subgraph" is any clique set G.IsClique K, not only maximal cliques (the paper reserves "clique" for maximal complete subgraphs, but the corollary speaks of complete subgraphs), including K=∅K=\emptysetK=∅. "Cutset" means two vertices outside KKK joined by no path of G−KG-KG−K. The formalization "G−KG-KG−K is not connected" is ruled out: under Mathlib's convention it would make K=VK=VK=V a cutset and the statement false for K1K_1K1​ and K2K_2K2​.
  • Reusable infrastructure: the stable set polytope, facets via defining systems, Proposition 2.1 (shared with the other missions of this series), critical edges and α\alphaα-critical graphs. Contributions of intermediate lemmas (LP duality in the attained form, full-dimensionality of P(G)P(G)P(G), the cutset–decomposition equivalence) are welcome.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, J. Combin. Theory Ser. B 18 (1975) 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • C. Berge, Graphes et hypergraphes, Dunod, Paris, 1970 (English translation: Graphs and Hypergraphs, North-Holland, 1973), Chapter 13, §3.
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, J. Res. Nat. Bur. Standards 69B (1965) 125–130. https://doi.org/10.6028/jres.069B.013
  • M. W. Padberg, On the facial structure of set packing polyhedra, Math. Programming 5 (1973) 199–215. https://doi.org/10.1007/BF01580121
  • L. Lovász, Normal hypergraphs and the perfect graph conjecture, Discrete Math. 2 (1972) 253–267. https://doi.org/10.1016/0012-365X(72)90006-4
8 thms2 active usersReviewed
🏆Completed
CombinatoricsGraph TheoryOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs I: Clique Inequalities Define the Stable Set Polytope Exactly for Perfect GraphsResearch Paper

Motivation

Many combinatorial optimization problems ask for the best subset of a finite set subject to combinatorial side conditions. The polyhedral method replaces the finite family of feasible subsets by the convex hull of their incidence vectors and asks for an explicit system of linear inequalities describing that convex hull; once such a system is known, linear programming duality gives min–max theorems and certificates of optimality. The maximum weight stable set problem is the central test case: it is NP-hard in general, so no tractable complete description of its polytope is expected for all graphs, and the question becomes for which graphs a simple description suffices.

V. Chvátal's 1975 paper On certain polytopes associated with graphs answers this question for the two simplest families of valid inequalities, and its Section 3 connects the answer to Berge's perfect graphs. The result is a standard entry point to polyhedral combinatorics and is one of the ingredients behind the later polynomial-time algorithms for stable sets in perfect graphs by Grötschel, Lovász and Schrijver.

Timeline. Berge (1961) introduced perfect graphs and conjectured that a graph is perfect if and only if its complement is. Lovász (Normal hypergraphs and the perfect graph conjecture, Discrete Math. 1972; A characterization of perfect graphs, J. Combin. Theory Ser. B 1972) proved this, together with the characterization of perfection by α(GA) ω(GA)≥∣A∣\alpha(G_A)\,\omega(G_A)\ge|A|α(GA​)ω(GA​)≥∣A∣ and the invariance of perfection under vertex duplication. Fulkerson's theory of antiblocking polyhedra (1971–72) gave a polyhedral route to the same equivalence. Chvátal (received 1972, published 1975) gave the self-contained polyhedral statement formalized here, with a proof based on Lovász's two theorems.

Setting

A graph G=(V,E)G=(V,E)G=(V,E) is finite, undirected and loopless. A stable set is a set of vertices no two of which are adjacent. A clique is a maximal complete subgraph, and C(G)C(G)C(G) is the set of vertex sets W⊆VW\subseteq VW⊆V of the cliques of GGG.

S(G)⊆RVS(G)\subseteq\mathbb R^VS(G)⊆RV is the set of zero–one vectors x=(xu:u∈V)x=(x_u:u\in V)x=(xu​:u∈V) such that {u:xu=1}\{u:x_u=1\}{u:xu​=1} is stable, and the stable set polytope is P(G)=conv⁡S(G)P(G)=\operatorname{conv}S(G)P(G)=convS(G). A finite system of linear inequalities is a defining linear system of P(G)P(G)P(G) if its solution set is exactly P(G)P(G)P(G). For c∈RVc\in\mathbb R^Vc∈RV write cx=∑u∈Vcuxucx=\sum_{u\in V}c_ux_ucx=∑u∈V​cu​xu​.

GGG is perfect (the paper's α\alphaα-perfect) if for every zero–one vector ccc,

max⁡{cx:x∈S(G)}=min⁡{∑W∈C(G)λW: λW∈{0,1}, ∑W∈C(G), u∈WλW≥cu (u∈V)}.\max\{cx:x\in S(G)\}=\min\Big\{\sum_{W\in C(G)}\lambda_W:\ \lambda_W\in\{0,1\},\ \sum_{W\in C(G),\,u\in W}\lambda_W\ge c_u\ (u\in V)\Big\}.max{cx:x∈S(G)}=min{W∈C(G)∑​λW​: λW​∈{0,1}, W∈C(G),u∈W∑​λW​≥cu​ (u∈V)}.

For A⊆VA\subseteq VA⊆V, GAG_AGA​ is the induced subgraph, α(GA)\alpha(G_A)α(GA​) its stability number and ω(GA)\omega(G_A)ω(GA​) its clique number. To duplicate a vertex uuu is to add a new vertex u′u'u′ adjacent to all neighbours of uuu but not to uuu.

In the Lean development these are stableVectors G, stablePolytope G, maximalCliques G, IsPerfect G and duplicate G u in the namespace ChvatalPolytopes.Perfect.

Formalization targets

Goal: Theorem 3.1 (p. 140)

For every graph GGG, the system

−xu≤0(u∈V),∑u∈Wxu≤1(W∈C(G))-x_u\le0\quad(u\in V),\qquad\sum_{u\in W}x_u\le1\quad(W\in C(G))−xu​≤0(u∈V),u∈W∑​xu​≤1(W∈C(G))

is a defining linear system of P(G)P(G)P(G) if and only if GGG is perfect. Both directions are required.

Milestones

  1. Proposition 2.1 (pp. 139–140). For a finite nonempty set SSS of solutions of −xu≤0-x_u\le0−xu​≤0, ∑uaiuxu≤bi\sum_u a_{iu}x_u\le b_i∑u​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J), the solution set equals conv⁡S\operatorname{conv}SconvS if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S}=min⁡{∑iλibi:λ≥0, ∑iλiaiu≥cu (u∈V)}.\max\{cx:x\in S\}=\min\Big\{\sum_i\lambda_ib_i:\lambda\ge0,\ \sum_i\lambda_ia_{iu}\ge c_u\ (u\in V)\Big\}.max{cx:x∈S}=min{i∑​λi​bi​:λ≥0, i∑​λi​aiu​≥cu​ (u∈V)}.
  1. Lovász's first theorem (§3, p. 140). Every nonperfect GGG has A⊆VA\subseteq VA⊆V with α(GA) ω(GA)<∣A∣\alpha(G_A)\,\omega(G_A)<|A|α(GA​)ω(GA​)<∣A∣.
  2. Lovász's second theorem (§3, p. 140). Duplicating a vertex of a perfect graph gives a perfect graph.
  3. Condition (iii) (p. 141). GGG is perfect if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S(G)}=min⁡{∑W∈C(G)λW:λW≥0, ∑W∋uλW≥cu (u∈V)}.\max\{cx:x\in S(G)\}=\min\Big\{\sum_{W\in C(G)}\lambda_W:\lambda_W\ge0,\ \sum_{W\ni u}\lambda_W\ge c_u\ (u\in V)\Big\}.max{cx:x∈S(G)}=min{W∈C(G)∑​λW​:λW​≥0, W∋u∑​λW​≥cu​ (u∈V)}.

Significance

The result. The nonnegativity and clique inequalities are valid for P(G)P(G)P(G) for every graph. Theorem 3.1 says they are complete exactly for perfect graphs, so on perfect graphs the maximum weight stable set problem is a linear program over an explicitly described polytope, and weighted min–max theorems (stable sets versus clique covers) follow from LP duality. Combined with the perfect graph theorem, it gives a polyhedral characterization of perfect graphs, and it is the model for later results that identify graph classes by the facets of their stable set polytopes (odd-cycle inequalities, ttt-perfection, Section 7 of the same paper).

Formalizing it. The result is classical and proved. No machine-checked version of it is known, and Mathlib has neither perfect graphs nor stable set polytopes. The mission produces a formal statement of the polyhedral characterization with the paper's own notion of perfection, a formal version of the convex-hull/LP min–max principle (Proposition 2.1), which is reusable for any 0–1 polytope, and formal statements of the two theorems of Lovász that the proof relies on.

Difficulty

Proposition 2.1 reduces Theorem 3.1 to the equivalence of perfection with a fractional min–max for all integer weights. The obvious approach to that equivalence fails in both directions. From perfection one only gets the min–max for zero–one weights and zero–one multipliers; general integer weights do not reduce to zero–one weights by linearity, because the minimum over clique covers is not additive in ccc. Conversely, a fractional clique cover of value α\alphaα does not directly produce an integral one. The paper crosses this gap with two theorems of Lovász: a numerical certificate of nonperfection, and the invariance of perfection under vertex duplication. Both are substantial graph-theoretic results in their own right, and neither follows from the definitions by routine manipulation.

Proposition 2.1 itself needs separation of a point from a polytope by an integral objective and LP strong duality with the nonnegativity rows handled separately.

Formalization scope

Vertices form a finite type V with decidable equality; a graph is a SimpleGraph V. S(G)S(G)S(G) is a set of functions V → ℝ, and P(G)P(G)P(G) is Mathlib's convexHull ℝ of it. C(G)C(G)C(G) is the finset of finsets that are maximal among cliques (Maximal), as on the page; with V=∅V=\emptysetV=∅ the only maximal clique is ∅\emptyset∅. "Defining linear system" is an equality of sets. Every "max = min" is written out in full: there is a value mmm that is the maximum over SSS (attained and an upper bound), some feasible multiplier vector attains mmm, and every feasible multiplier vector has objective at least mmm. Clique multipliers are functions Finset V → ℝ read only on C(G)C(G)C(G).

Explicit conventions and added hypotheses:

  • In Proposition 2.1 the index set JJJ is a finite type, coefficients are real, the nonnegativity rows are kept as a separate conjunct x≥0x\ge0x≥0, and SSS is assumed nonempty (the paper's max⁡\maxmax over SSS needs it).
  • α\alphaα and ω\omegaω are Mathlib's indepNum and cliqueNum (natural numbers) of G.induce A.
  • The duplicated graph lives on Option V, with none the new vertex.

Perfection is the paper's zero–one min–max, not "the clique system defines P(G)P(G)P(G)" (which would make the goal a tautology) and not Berge's χ(GA)=ω(GA)\chi(G_A)=\omega(G_A)χ(GA​)=ω(GA​) (a different definition, equivalent only through the perfect graph theorem). P(G)P(G)P(G) is the convex hull of S(G)S(G)S(G), never the solution set of an inequality system.

Needed infrastructure, all reusable: integral separation from a rational polytope and LP strong duality in the form max⁡{cx:Ax≤b,x≥0}=min⁡{λb:λA≥c,λ≥0}\max\{cx:Ax\le b,x\ge0\}=\min\{\lambda b:\lambda A\ge c,\lambda\ge0\}max{cx:Ax≤b,x≥0}=min{λb:λA≥c,λ≥0}; basic facts about stable sets and maximal cliques of induced subgraphs and of duplicated graphs; invariance of IsPerfect under graph isomorphism and under taking induced subgraphs. Proofs of the Lovász milestones, which have independent value for a Mathlib theory of perfect graphs, are welcome.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, J. Combin. Theory Ser. B 18 (1975) 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • L. Lovász, Normal hypergraphs and the perfect graph conjecture, Discrete Math. 2 (1972) 253–267. https://doi.org/10.1016/0012-365X(72)90006-4
  • L. Lovász, A characterization of perfect graphs, J. Combin. Theory Ser. B 13 (1972) 95–98. https://doi.org/10.1016/0095-8956(72)90045-7
  • D. R. Fulkerson, Anti-blocking polyhedra, J. Combin. Theory Ser. B 12 (1972) 50–71. https://doi.org/10.1016/0095-8956(72)90032-9
  • M. Grötschel, L. Lovász, A. Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer, 1988. https://doi.org/10.1007/978-3-642-97881-4
8 thms2 active usersReviewed
🏆Completed
Control TheoryOperations ResearchOptimization+1·Captain: mikedeng1

Resource Allocation and Cross-Layer Control in Wireless Networks I: The Network Layer Capacity RegionTextbook

Motivation

Every wireless network control algorithm — routing, scheduling, power control, admission control — is ultimately judged against one question: which traffic loads can it keep stable? Answering that question requires a precise, algorithm-independent notion of queueing stability under random arrivals and a randomly time-varying, possibly non-ergodic-looking channel. Tassiulas & Ephremides (1992) and Neely, Modiano & Rohrs (2005) developed the framework used throughout Georgiadis, Neely & Tassiulas's survey Resource Allocation and Cross-Layer Control in Wireless Networks (Foundations and Trends in Networking, 2006): "strong stability" of a queue backlog process, defined purely through the time-averaged expected backlog, with no assumption that the arrival or service process is stationary, Markov, or even has a well-defined long-run average. The present mission formalizes the chapter's foundational single-queue results — the two structural facts every later network-wide capacity and control result in the book is built from.

Setting

A queue is described by three processes on slots t=0,1,2,…t=0,1,2,\dotst=0,1,2,…: an arrival process A(t)A(t)A(t) (new bits admitted at the end of slot ttt), a service process svc(t)\mathrm{svc}(t)svc(t) (the transmission rate offered during slot ttt), and the backlog U(t)U(t)U(t), evolving by the queueing law

U(t+1)=max⁡[U(t)−svc(t),0]+A(t).U(t+1)=\max[U(t)-\mathrm{svc}(t),0]+A(t).U(t+1)=max[U(t)−svc(t),0]+A(t).

The queue is strongly stable if its expected backlog has a bounded time average, lim sup⁡t→∞1t∑τ=0t−1E{U(τ)}<∞\limsup_{t\to\infty}\frac1t\sum_{\tau=0}^{t-1}\mathbb E\{U(\tau)\}<\inftylimsupt→∞​t1​∑τ=0t−1​E{U(τ)}<∞. An arrival process is admissible with rate λ\lambdaλ if (i) its time-average expected rate is λ\lambdaλ, (ii) its second moment conditioned on the history is uniformly bounded, and (iii) for every δ>0\delta>0δ>0 there is an averaging window over which the conditional average rate exceeds λ\lambdaλ by at most δ\deltaδ, uniformly in the starting time — a robust substitute for "the rate is exactly λ\lambdaλ" that holds for i.i.d., Markov-modulated, and burstiness-constrained arrivals alike. A service process is admissible with rate μ\muμ analogously, with a deterministic pointwise upper bound in place of the second-moment condition. Both notions are formalized here on a filtered probability space (Ω,P,F)(\Omega,P,\mathcal F)(Ω,P,F), with F(t)\mathcal F(t)F(t) the history of slots 0,…,t−10,\dots,t-10,…,t−1 exactly as the book's own H(t)\mathcal H(t)H(t).

Formalization targets

Goal — Lemma 3.6 (Stability Conditions under Admissibility)

(a) λ≤μ is necessary for strong stability;(b) λ<μ is sufficient for it.\text{(a) } \lambda\le\mu \text{ is necessary for strong stability;}\qquad \text{(b) } \lambda<\mu \text{ is sufficient for it.}(a) λ≤μ is necessary for strong stability;(b) λ<μ is sufficient for it.

This is the chapter's central single-queue result: it converts the purely structural notion of strong stability into the one comparison — arrival rate versus service rate — that every later capacity-region and control-algorithm argument in the book reduces to.

Milestone — Lemma 3.3 (Necessary Condition for Strong Stability)

if U is strongly stable and E{A(t)}≤Amax⁡ ∀t (or E{svc(t)−A(t)}≤Dmax⁡ ∀t), then lim⁡t→∞E{U(t)}/t=0.\text{if } U \text{ is strongly stable and } \mathbb E\{A(t)\}\le A_{\max}\ \forall t \text{ (or } \mathbb E\{\mathrm{svc}(t)-A(t)\}\le D_{\max}\ \forall t\text{), then } \lim_{t\to\infty}\mathbb E\{U(t)\}/t=0.if U is strongly stable and E{A(t)}≤Amax​ ∀t (or E{svc(t)−A(t)}≤Dmax​ ∀t), then t→∞lim​E{U(t)}/t=0.

This is the elementary real-analysis fact — no admissibility, no probability beyond an already-given expectation sequence — that underlies the necessity half of Lemma 3.6's proof.

Significance

Strong stability and the admissibility framework are the load-bearing definitions of the entire book: every later chapter's algorithm-performance theorem (Chapter 4's backpressure throughput optimality, Chapter 5's utility-optimal Lyapunov drift bound, Chapter 6's energy-constrained control) is a theorem about when its induced queues are strongly stable, and every one of those proofs cites Lemma 3.6 (or its network generalization, Theorem 3.8's capacity region) as the final step converting a drift bound into a stability conclusion. Formalizing it fixes, once for the whole series, the precise real-analysis and conditional-expectation content of "arrival rate below service rate implies stability" that a Prove2Me solver would otherwise have to reconstruct from scratch for each downstream chapter.

Formalizing it. No result in this mission has a machine-checked proof anywhere; nothing adjacent exists on the platform (searched for strong stability, admissible arrival process, Lyapunov drift, network capacity region — the one hit, a Foster–Lyapunov hitting-time bound for a finite-state MDP, is a scalar drift-to-a-target-state object, not a queue-backlog vector with no absorbing state, and is not reused). This mission is the first formalization of either result.

Difficulty

The obvious first idea for the sufficiency half (b) is to try to bound E{U(t)}\mathbb E\{U(t)\}E{U(t)} directly by unrolling the queueing recursion and taking expectations termwise. This fails immediately: expectation does not commute with max⁡(⋅,0)\max(\cdot,0)max(⋅,0), so E{U(t+1)}≠max⁡[E{U(t)}−E{svc(t)},0]+E{A(t)}\mathbb E\{U(t+1)\}\ne\max[\mathbb E\{U(t)\}-\mathbb E\{\mathrm{svc}(t)\},0]+\mathbb E\{A(t)\}E{U(t+1)}=max[E{U(t)}−E{svc(t)},0]+E{A(t)} in general — the whole reason admissibility's second-moment and TTT-slot averaging clauses exist is to control exactly this gap between the pathwise recursion and its expectation, via a genuine (non-elementary) drift argument. The necessity half (a) has the opposite trap: it is tempting to prove λ≤μ\lambda\le\muλ≤μ from a single-slot expectation inequality, but a queue can be strongly stable while E{U(t)}\mathbb E\{U(t)\}E{U(t)} oscillates on any finite window, so the argument has to go through the time-averaged (Lemma 3.3) quantity, not a slot-by-slot one.

Formalization scope

Admissibility's conditional-expectation clauses are stated with Mathlib's Filtration ℕ and condExp (P[f | 𝓕 t]), following this platform's established idiom for martingale-difference hypotheses. Every conditional or plain expectation in a defining clause carries an explicit Integrable guard, because Mathlib's Bochner integral and condExp both silently default to 0 on a non-integrable function — without the guard, a process with an undefined or infinite second moment would satisfy admissibility vacuously, which is not the book's assumption (the book assumes these moments are finite; it never derives it). Lemma 3.3 is formalized directly on the real sequences representing E{U(t)}\mathbb E\{U(t)\}E{U(t)}, E{A(t)}\mathbb E\{A(t)\}E{A(t)}, E{svc(t)}\mathbb E\{\mathrm{svc}(t)\}E{svc(t)} — exactly the content the book's own statement and proof use, with no further probabilistic structure, since the lemma's hypotheses and conclusion never mention anything but these expectations. Out of scope for this mission: the network-wide capacity region (Definition 3.7, Theorem 3.8, Corollaries 3.9-3.10) and the graph-family construction Γ\GammaΓ/Cl{Γ}\mathrm{Cl}\{\Gamma\}Cl{Γ} of §3.2-3.3. Faithfully formalizing "λ\lambdaλ is stably supportable by the network" requires embedding admissible-process realizations into a full multi-queue routing model, which is substantially heavier than either result formalized here and was left out entirely — per this series' faithfulness-over-coverage rule — rather than approximated by, e.g., dropping the second-moment or TTT-slot clauses of admissibility, which would silently change what "admissible" means. A trivializing formalization to rule out: defining AdmissibleArrival/AdmissibleService without the Integrable guards above would make Lemma 3.6 provable by choosing a non-integrable process, which is not the book's theorem.

Selected references

  • Georgiadis, Neely & Tassiulas, Resource Allocation and Cross-Layer Control in Wireless Networks, Foundations and Trends in Networking, Vol. 1, No. 1 (2006), pp. 1-144. https://doi.org/10.1561/1300000001
  • Tassiulas & Ephremides, "Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks", IEEE Transactions on Automatic Control, 37(12), 1992. https://doi.org/10.1109/9.182479
  • Neely, Modiano & Rohrs, "Dynamic power allocation and routing for time-varying wireless networks", IEEE Journal on Selected Areas in Communications, 23(1), 2005. https://doi.org/10.1109/JSAC.2004.837349
6 thms2 active usersReviewed
🏆Completed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

The Design of Competitive Online Algorithms via a Primal-Dual Approach IX: General Packing-Covering ConstraintsTextbook

Motivation

Chapter 4's framework (formalized in this series' 04-framework mission) solves the online covering-packing pair only in the restricted setting a(i,j) ∈ {0,1}, b(j) = 1 — every constraint is an unweighted "cover me with at least one of these" condition. Chapter 14 delivers the promise made at the very start of the survey (p. 115: "we show how to extend the ideas we present here to handle general (non-negative) values of a(i,j) and b(j)"): fully general non-negative coefficients, normalized so every constraint reads ∑_i a(i,j)x(i) ≥ 1. This mission formalizes both halves of that generalization — the packing scheme (Theorem 14.1, with a matching lower bound, Lemma 14.2, showing an extra additive term is unavoidable) and the covering scheme (Theorem 14.3, the goal).

Setting

Fix a finite set I of primal (covering) variables with positive costs c(i), and a finite set J of dual (packing) variables/covering constraints, with a(i,j) ≥ 0 for every pair (Fig. 14.1). The packing scheme (Section 14.1) is parameterized by a target competitive ratio B > 0: on each new dual variable y(j) and its coefficients a(i,j), the algorithm increases y(j) continuously and each x(i) by an explicit exponential increment function until the new primal constraint is satisfied, achieving B-competitiveness for the packing objective at the cost of an additive O(log(a_i(max)/a_i(min))) term (beyond the multiplicative O(log n)) in how much each dual constraint can be violated — qualitatively different from Chapter 4's purely multiplicative O(log d) bound, and Lemma 14.2 proves this additive term cannot be removed. The covering scheme (Section 14.2) instead works in phases: each phase assumes a doubling lower bound α(r) on OPT and "forgets" its primal/dual variables once the primal cost exceeds α(r), restarting with α(r+1) = 2α(r) — a structurally different mechanism from Chapter 4's direct algorithms, needed because with general coefficients a single monotone run can no longer be analyzed via one potential function alone.

Formalization targets

Theorem 14.3 (the goal, p. 253): for any B > 0, the phase-based covering scheme (each constraint normalized to ∑_i a(i,j)x(i) ≥ 1/B) is competitive with an explicit ratio 8 log(2n)/B, taken directly from the proof's own final displayed chain, 2α(r) ≤ 4α(r-1) ≤ (8 log(2n)/B) Y(r-1) ≤ (8 log(2n)/B) OPT (p. 253-254) — the theorem's own statement only gives O(log n/B), so this explicit constant is this mission's own instantiation from the proof, not an independent derivation and not a transcription of a displayed theorem-level formula (flagged, per this series' explicit-constants rule).

Two milestones, in attack order:

  • Theorem 14.1 (p. 249): the packing scheme is B-competitive, and violates each dual constraint by at most the book's own exact displayed bound c(i)·2log(1 + n·a_i(max)/a_i(min))/B (Claim (3) — the exact constant the proof establishes, not the theorem headline's O(·) simplification).
  • Lemma 14.2 (p. 251): a matching lower bound, on the book's own explicit single-constraint instance, showing the additive log(a(max)/a(min)) term of Theorem 14.1 is necessary.

Significance

This chapter is the survey's demonstration that the primal-dual framework's core technique survives its most natural generalization, at the price of an explicit extra term the chapter also proves is unavoidable — a tight characterization, not merely an upper bound. Every other online covering/packing chapter in this survey (set cover, routing, ad-auctions, bounded allocation) is technically a special case of this chapter's general model; Chapter 4's restricted framework is the pedagogical entry point, and this chapter is where the general theory actually lives. No formal development of the general packing-covering problem was found on the platform as of 2026-09-20; this mission is the first.

Difficulty

Two distinct obstacles, mirroring this chapter's own two schemes. First, Theorem 14.1's proof (p. 249-251) establishes its per-round primal/dual derivative inequality via a direct calculus argument (differentiating the explicit increment function) — formalized here as a hypothesis (hX_le_BY) standing for that calculation, not reproduced, since the goal is a faithful statement of the resulting competitive ratio, and the increment function's own exponential form is transcribed in the theorem's docstring but the differentiation itself is out of scope. Second, Theorem 14.3's phase-based mechanism is genuinely stateful across an unbounded number of phases (each phase resets its own primal/dual variables while the LP's actual variables retain the running maximum) — modeling this process explicitly is comparable in complexity to Chapter 13's level-based algorithm, and this mission makes the same scope choice: the mechanism's output (the resulting cost/profit relationship, hX_le_ratio) is taken as a hypothesis standing for the book's own Claims (1) and (3) combined, rather than constructed phase-by-phase.

Formalization scope

GeneralInstance I J bundles Fig. 14.1's fully general LP data (a(i,j) ≥ 0, c(i) > 0) — restated locally (not importing 04-framework's CoveringInstance) per this series' rule against cross-draft imports, even though this chapter is the direct generalization of that one. aMax/aMin are the per-variable (not per-instance) maximum and minimum-non-zero coefficients Theorem 14.1 needs. harmonicNum is restated locally (duplicated from 13-bounded-allocation's own definition, for the same no-cross-draft-import reason). Both goal-adjacent theorems use this series' weak-duality "competitive against any feasible comparison solution" pattern (04-framework, reused as a convention, not re-derived): Theorem 14.1 against any feasible packing comparison (matching that it concerns the packing side), Theorem 14.3 against any feasible covering comparison (matching the covering side). Welcome contributions: completing the three sorrys (Theorem 14.1's calculus argument, Theorem 14.3's phase-based mechanism constructed explicitly, and Lemma 14.2's direct summation argument, which is the most tractable of the three to actually prove), and formalizing the sanity check that both schemes reduce to Chapter 4's Algorithm 1/2/3 when a(i,j) ∈ {0,1}, b(j) = 1 (checked by hand in SELF_REVIEW.md, not as a Lean lemma).

Selected references

  • N. Buchbinder, J. Naor. The Design of Competitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends in Theoretical Computer Science, 3(2-3):93-263, 2009. https://doi.org/10.1561/0400000024
7 thms2 active usersReviewed
🏆Completed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

The Design of Competitive Online Algorithms via a Primal-Dual Approach IV: Generalized CachingTextbook

Motivation

Caching is a two-level memory-management problem — the fast level (cache) can hold only kkk items, and the algorithm must decide, online, which item to evict whenever the current request misses — that is normally analyzed through the competitive ratio of ad hoc marking or LRU-style rules. Buchbinder and Naor's survey [1] instead recasts weighted caching (non-uniform fetching costs) as an instance of the covering/packing linear program, and derives a fractional online algorithm through the same primal-dual recipe formalized in this series' 04-framework mission (Chapter 4), but for a genuinely different LP shape: the caching LP's right-hand side varies from constraint to constraint, unlike Chapter 4's uniform b(j)=1b(j)=1b(j)=1. This mission covers Sections 7.1-7.2 of Chapter 7, "Generalized Caching": the fractional weighted-caching algorithm and its 2(1+ln⁡k)2(1+\ln k)2(1+lnk)-competitive analysis. Sections 7.3-7.4, which further generalize to non-uniform page sizes (not just costs), are out of scope — a natural follow-on mission, not attempted here (see Formalization scope).

Setting

Fix a finite set VVV of primal variables x(p,j)x(p,j)x(p,j) — one per page ppp and each of its eviction intervals between its jjj-th and (j+1)(j{+}1)(j+1)-th request — with fetching cost c(p,j)=cp≥1c(p,j) = c_p \ge 1c(p,j)=cp​≥1 (the book's standing weighted-caching assumption), and a finite set Time\mathrm{Time}Time of online constraints, one per request time ttt, revealed in the order enumerated by Time\mathrm{Time}Time. The eviction-charged LP formulation (the book charges for evicting pages rather than fetching them, an equivalent reformulation up to an additive constant independent of the request sequence) constrains, at each time ttt: ∑v∈S(t)xv≥rhs(t)\sum_{v \in S(t)} x_v \ge \mathrm{rhs}(t)∑v∈S(t)​xv​≥rhs(t), where S(t)S(t)S(t) is the set of currently-active eviction variables for pages present until ttt (excluding the page just requested) and rhs(t)=∣B(t)∣−k\mathrm{rhs}(t) = |B(t)| - krhs(t)=∣B(t)∣−k is the amount of cache space those pages must collectively vacate. The Lagrangian dual has a variable y(t)y(t)y(t) per request time and a variable z(p,j)z(p,j)z(p,j) per eviction interval, with dual constraint (∑t∣v∈S(t)y(t))−zv≤cv\big(\sum_{t \mid v \in S(t)} y(t)\big) - z_v \le c_v(∑t∣v∈S(t)​y(t))−zv​≤cv​. As in Chapter 4, primal variables may only increase and the algorithm sees each constraint only upon its arrival.

The Fractional Caching algorithm (p. 153-154) sets each x(p,j)x(p,j)x(p,j) to jump from 000 to 1/k1/k1/k the first time its dual constraint tightens, then increases continuously according to an exponential function of the accumulated dual sum until it saturates at 111 (at which point z(p,j)z(p,j)z(p,j) begins absorbing further dual increase at the same rate, freezing x(p,j)x(p,j)x(p,j)). This is a genuinely different LP shape from Chapter 4's framework (non-uniform, time-varying right-hand side) reusing the same complementary-slackness design pattern as that chapter's Algorithm 3.

Formalization targets

Theorem 7.1 (the goal, p. 154), given the algorithm's final dual values y≥0y \ge 0y≥0, z≥0z \ge 0z≥0 and primal feasibility:

(∀v, ∑t∣v∈S(t)yt−zv≤cv(1+ln⁡k)) ⟹ (∀x′′ feasible, ∑vcvxv≤2(1+ln⁡k)∑vcvxv′′),\Big(\forall v,\ \textstyle\sum_{t \mid v \in S(t)} y_t - z_v \le c_v(1+\ln k)\Big) \ \Longrightarrow\ \Big(\forall x''\text{ feasible},\ \textstyle\sum_v c_v x_v \le 2(1+\ln k)\sum_v c_v x''_v\Big),(∀v, ∑t∣v∈S(t)​yt​−zv​≤cv​(1+lnk)) ⟹ (∀x′′ feasible, ∑v​cv​xv​≤2(1+lnk)∑v​cv​xv′′​),

i.e. the algorithm is 2(1+ln⁡k)2(1+\ln k)2(1+lnk)-competitive, with the constant taken verbatim from the book's own theorem statement (no O(⋅)O(\cdot)O(⋅) instantiation needed here, unlike most goals in this series). The antecedent is itself Eq. (7.2) (p. 155), formalized as the milestone dual_near_feasible: the algorithm's dual solution, scaled down by 1+ln⁡k1+\ln k1+lnk, is feasible — the book's own intermediate step, derived from the fact that every cachingX value is capped at 111.

Significance

Chapter 7 is the first chapter in this survey to apply the online primal-dual method to an LP whose right-hand side is not uniformly 111 (unlike Chapters 4 and 5), demonstrating the method's reach beyond the "simplified" 0/1-coefficient covering LP that 04-framework formalizes. The 2(1+ln⁡k)2(1+\ln k)2(1+lnk) fractional guarantee is also the analytical core of the chapter's randomized rounding result (Theorem 7.3, not part of this mission — see Formalization scope), which converts it into an actual O(log⁡k)O(\log k)O(logk)-competitive randomized algorithm against an adaptive adversary, and of the chapter's further generalization to non-uniform page sizes (Theorem 7.5, Sections 7.3-7.4). No formal development of weighted or generalized caching was found on the platform as of 2026-09-20 (searches below); the existing KServer.* namespace formalizes a different, unweighted, uniform kkk-server model and shares no substrate with this mission. This mission is the first.

Difficulty

As with 04-framework's Algorithm 3, the central obstacle is characterizing an online process by its final output alone: cachingX is defined as the algorithm's own closed-form update rule (threshold-then-exponential, capped once x(p,j)=1x(p,j)=1x(p,j)=1), evaluated at the run's final accumulated dual values, rather than as an independently-constrained free variable — the latter would let xxx and yyy be chosen to satisfy the conclusion's inequalities directly, trivializing the claim that a specific online algorithm achieves this ratio. Establishing that the capped closed form is faithful (not merely an invented convention) requires the same monotonicity argument 04-framework's alg3X uses, adapted to this chapter's extra z(p,j)z(p,j)z(p,j) term inside the exponent (present here; absent from Chapter 4's Algorithm 3). The proof's own structure — splitting the primal cost into a 0→1/k0\to1/k0→1/k contribution (C1C_1C1​) bounded via complementary slackness and a 1/k→11/k\to11/k→1 contribution (C2C_2C2​) bounded via a derivative/telescoping argument over the continuous accumulation process (Eqs. (7.6)-(7.10), p. 155-157) — is, as in Chapter 4, a genuinely dynamic fact about the trajectory, not encoded as a hypothesis; the mission states the theorem faithfully and leaves the sorry for that argument, per this series' documented-simplification convention.

Formalization scope

CachingInstance V Time bundles S : Time → Finset V, rhs : Time → ℝ (unlike 04-framework's CoveringInstance, whose right-hand side is fixed at 111 throughout), c : V → ℝ with hc_pos : ∀v, 1 ≤ c v (the book's own literal cp ≥ 1, not a strengthening), and k : ℕ with hk_pos : 0 < k. dualSum inst y v := ∑_{t \mid v \in S(t)} y_t, matching 04-framework's pattern. cachingX inst y z v is a noncomputable def: 0 before activation, otherwise min 1 ((1/k) exp((dualSum - z - c v)/c v)), so "the algorithm's output" is genuinely a function of its dual trajectory. Reals throughout; Real.log for the book's natural log ln⁡\lnln. Explicitly out of scope: Section 7.3's rounding apparatus (Theorem 7.3, the map from fractional to randomized-integral cache states) and Section 7.4's non-uniform-page-size generalization (Theorem 7.5) — both are natural follow-on missions building on this one's CachingInstance and cachingX, not attempted here per this chunk's own BRIEF.md, which flags Theorem 7.1 alone as "a complete, self-contained mission goal" when the rounding apparatus proves too heavy for a single pass. Welcome contributions: completing the two sorrys, and the Section 7.3-7.4 follow-on mission.

Selected references

  • N. Buchbinder, J. Naor. The Design of Competitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends in Theoretical Computer Science, 3(2-3):93-263, 2009. https://doi.org/10.1561/0400000024
6 thms2 active usersReviewed
🏆Completed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

The Design of Competitive Online Algorithms via a Primal-Dual Approach II: The Online Set-Cover ProblemTextbook

Motivation

Section 4 of this survey derives a simple randomized O(log⁡mlog⁡n)O(\log m \log n)O(logmlogn)-competitive algorithm for the online set-cover problem, by rounding the fractional solution the online packing-covering framework produces. An intriguing question the survey poses next: can the same guarantee be achieved deterministically? The standard tool for removing randomness, the method of conditional expectations, requires finding a pessimistic estimator — a potential function whose value the algorithm can track and whose behavior certifies the randomized algorithm's guarantee step by step. Chapter 5 constructs exactly this potential function for the weighted online set-cover problem, and shows that greedily minimizing it online reproduces the randomized algorithm's competitive ratio with no randomness at all. This mission formalizes that construction: the potential function itself (Lemma 5.1) and the correctness guarantee it buys (Theorem 5.2).

Setting

Fix a finite universe of elements EEE and a finite family of sets TTT with positive costs csc_scs​, both known to the algorithm in advance (only which elements will actually need covering, and in what order, is unknown). A monotonically increasing assignment w:T→Rw : T \to \mathbb{R}w:T→R of fractional weights to sets is produced online by a fractional subroutine (any O(log⁡m)O(\log m)O(logm)- competitive online fractional algorithm — the survey's own Section 4.2 supplies one). An element's weight is we:=∑s∣e∈swsw_e := \sum_{s \mid e \in s} w_swe​:=∑s∣e∈s​ws​. Given a target α≥c(COPT)\alpha \ge c(C_{OPT})α≥c(COPT​) (a guessed upper bound on the optimal integral cover's cost — the survey handles an unknown optimum by doubling this guess across phases, outside this chapter's own scope), the algorithm maintains a chosen cover C⊆TC \subseteq TC⊆T and the potential

Φ  =  ∑e∉Cˉn2we  +  n⋅exp⁡ ⁣(12α∑s(csχC(s)−3wscslog⁡n)),\Phi \;=\; \sum_{e \notin \bar C} n^{2w_e} \;+\; n \cdot \exp\!\Big(\tfrac{1}{2\alpha} \sum_{s} \big(c_s \chi_C(s) - 3 w_s c_s \log n\big)\Big),Φ=e∈/Cˉ∑​n2we​+n⋅exp(2α1​s∑​(cs​χC​(s)−3ws​cs​logn)),

where n=∣E∣n = |E|n=∣E∣ and χC\chi_CχC​ is CCC's characteristic function. Whenever a set sss's weight increases, the algorithm computes Φ\PhiΦ both with and without adding sss to CCC and chooses whichever keeps Φ\PhiΦ from exceeding its value before the step (failing only if neither does, which Lemma 5.1 shows cannot happen when α≥c(COPT)\alpha \ge c(C_{OPT})α≥c(COPT​)).

Formalization targets

Theorem 5.2 (goal, p. 139): given the invariant Φ<n2\Phi < n^2Φ<n2 that Lemma 5.1 maintains throughout a run, (i) every element of weight ≥1\ge 1≥1 is covered, and (ii) the chosen cover costs at most α⋅O(log⁡mlog⁡n)\alpha \cdot O(\log m \log n)α⋅O(logmlogn).

Lemma 5.1 (milestone, p. 137): the potential function never increases in expectation across a weight-augmenting step, under the algorithm's own randomized choice of whether to add the augmented set to the cover (the internal argument — via the method of conditional expectations — that certifies the deterministic algorithm's choice rule never fails).

Significance

This chapter answers, for the online set-cover problem specifically, a question that recurs throughout online algorithm design: when can a randomized guarantee be derandomized online? The potential-function technique here is the survey's own template for the answer (it recurs, per the chapter's Notes section, in the routing algorithm of Chapter 9 and the ad-auctions algorithm of Chapter 10, both formalized as separate missions in this series) — a self-contained, reusable instance of "derandomization via an explicit pessimistic estimator" in the online setting, distinct from the offline set-cover primal-dual and dual-fitting algorithms of this book's own Chapter 2, already on the platform (PrimalDualOnline.SetCover.*, checked below: a static instance with no arrival order and no potential function, a genuinely different model).

Difficulty

The central formalization challenge is that Lemma 5.1's own statement, "Φend≤Φstart\Phi_{end} \le \Phi_{start}Φend​≤Φstart​", denotes the potential's value in expectation under the algorithm's randomized choice — not a single deterministic before/after pair — since the lemma is proved via a probabilistic argument (adding sss to the cover with probability 1−n−2δs1 - n^{-2\delta_s}1−n−2δs​) whose role is purely internal to justifying the deterministic algorithm's rule (choose whichever of the two options controls Φ\PhiΦ). Stating the lemma as a bare inequality between two potential values, without the mixture, would either be false (the "add sss" branch alone can increase Φ\PhiΦ) or would silently smuggle in the derandomized choice as a hypothesis rather than proving it is always available. This mission states the expectation explicitly as a probability-weighted average of the two branch potentials, matching the actual analytic content of the book's proof (equations 5.1-5.6) rather than its final one-line restatement.

Formalization scope

SetCoverInstance E T bundles elemSets : E → Finset T (the sets containing an element) and positive costs c. elementWeight and coveredBy are literal transcriptions of wew_ewe​ and "e∈Cˉe \in \bar Ce∈Cˉ". potential transcribes Φ\PhiΦ's displayed formula verbatim, with n cast from Fintype.card E. potential_nonincreasing (Lemma 5.1) is the expectation inequality described above. algorithm_correctness (Theorem 5.2) takes the potential invariant Φ < n² as a hypothesis (the state Lemma 5.1, applied repeatedly from the initial value Φ<n2\Phi < n^2Φ<n2, is what the book's own proof shows every reachable state satisfies) together with an explicit ratio β standing for "the fractional solution is O(log m)-competitive" (∑ wₛcₛ ≤ βα) — the book imports this fact from Section 4 as a black-box subroutine rather than re-deriving a specific numeric constant in this chapter, and this mission does the same rather than re-deriving Chapter 4's own constant under the (different) d→md \to md→m substitution the book's prose glosses over. The conclusion is then the fully explicit α · log n · (3β + 2), matching the book's own derivation (displayed inequality, p. 139-140) with O(log m) replaced by the parameter β. This correctly rules out the trivializing formalization in which the O(log m log n) bound is left as an unquantified existential constant, or in which Φ's invariant is assumed directly as an unmotivated free hypothesis rather than the fact Lemma 5.1 is what actually establishes. Reals throughout; Real.log, Real.exp, Real.rpow (via the ^ notation on reals) for the book's own log, exp and n^{2w_e}. Nothing here is reused from 04-framework (concurrent draft; per this series' own rule, drafts do not import drafts) even though this chapter's fractional subroutine is conceptually the same online covering framework — restated here only as the abstract ratio β, not as a Lean dependency. Welcome contributions: completing the two sorrys, and formalizing the doubling-across-phases wrapper (Section 5.1's "Obtaining a Deterministic Algorithm" discussion) that removes the need to know α ≥ c(C_OPT) in advance.

Selected references

  • N. Buchbinder, J. Naor. The Design of Competitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends in Theoretical Computer Science, 3(2-3):93-263, 2009. https://doi.org/10.1561/0400000024
  • N. Alon, B. Awerbuch, Y. Azar, N. Buchbinder, J. Naor. The online set cover problem. STOC 2003 / SIAM J. Comput. 39(2), 2009 (cited by this book's Chapter 5 Notes as [3]).
6 thms2 active usersReviewed
🏆Completed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

The Design of Competitive Online Algorithms via a Primal-Dual Approach I: The Online Packing-Covering FrameworkTextbook

Motivation

Many online problems — renting vs. buying equipment, routing traffic without knowing future demand, allocating advertising budget as bids arrive — share a common linear-programming shape: a covering (minimization) problem whose constraints appear one at a time, or its dual packing (maximization) problem whose variables appear one at a time, with no ability to revisit past decisions. Buchbinder and Naor's survey [1] recasts the online primal-dual method, originally developed for offline approximation in Section 2 of the same survey (already covered on this platform via the PrimalDualOnline namespace, citing Buchbinder's thesis [2]), as a general recipe for such online problems, unifying earlier ad hoc analyses of the ski-rental problem (Chapter 3) and paving the way for the online set-cover, routing, caching, and ad-auction algorithms formalized elsewhere in this series. This mission covers Chapter 4, "The Basic Approach": the framework itself and its three founding algorithms.

Setting

Fix a finite index set III of primal variables with non-negative cost coefficients cic_ici​, and a finite index set JJJ of covering constraints, revealed one at a time in the order enumerated by JJJ. Each constraint jjj is given by a set S(j)⊆IS(j) \subseteq IS(j)⊆I (the book's simplified setting, in which every non-zero coefficient equals 111 and every right-hand side equals 111; Chapter 14 removes this restriction) and asserts ∑i∈S(j)xi≥1\sum_{i \in S(j)} x_i \ge 1∑i∈S(j)​xi​≥1. An online covering algorithm may only increase the xix_ixi​, never decrease them, and upon a constraint's arrival must eventually make it hold. The online covering problem is to minimize ∑icixi\sum_i c_i x_i∑i​ci​xi​ subject to every revealed constraint, online. Its Lagrangian dual is the online packing problem: a dual variable yjy_jyj​ arrives together with constraint jjj, may only be increased while jjj is being processed, and the objective is to maximize ∑jyj\sum_j y_j∑j​yj​ subject to ∑j∣i∈S(j)yj≤ci\sum_{j \mid i \in S(j)} y_j \le c_i∑j∣i∈S(j)​yj​≤ci​ for every iii — the packing constraint on iii becomes fully known only once every jjj with i∈S(j)i \in S(j)i∈S(j) has arrived, so it, too, is revealed gradually. d:=max⁡j∣S(j)∣d := \max_j |S(j)|d:=maxj​∣S(j)∣, the largest constraint size, is carried as an explicit parameter throughout.

Section 4.2 gives three algorithms solving both problems simultaneously — the same run produces a covering solution xxx and a packing solution yyy — with the same worst-case guarantee but different flavors: Algorithm 1 is a discrete process (each processing round performs a whole number of identical multiplicative-plus-additive updates until its constraint is satisfied); Algorithm 2 is the continuous limit of Algorithm 1 (dual variables increase continuously and xix_ixi​ follows an explicit exponential of the accumulated dual sum); Algorithm 3 replaces the continuous update with one triggered by an approximate complementary-slackness condition, at the cost of a mild dual infeasibility. All three make essential use of the online order: an algorithm that saw the whole instance up front would trivially solve the offline LP.

Formalization targets

Theorem 4.3 (Algorithm 3 — the goal, p. 124):

(∀i, ∑j∣i∈S(j)yj≤ci(1+ln⁡d)) ∧ (∀x′′ feasible, ∑icixi≤2(1+ln⁡d)∑icixi′′) ∧ (∀y′′ feasible, ∑jyj′′≤2∑jyj).\Big(\forall i,\ \textstyle\sum_{j \mid i \in S(j)} y_j \le c_i(1+\ln d)\Big) \ \wedge\ \Big(\forall x''\text{ feasible},\ \textstyle\sum_i c_i x_i \le 2(1+\ln d)\sum_i c_i x''_i\Big) \ \wedge\ \Big(\forall y''\text{ feasible},\ \textstyle\sum_j y''_j \le 2\sum_j y_j\Big).(∀i, ∑j∣i∈S(j)​yj​≤ci​(1+lnd)) ∧ (∀x′′ feasible, ∑i​ci​xi​≤2(1+lnd)∑i​ci​xi′′​) ∧ (∀y′′ feasible, ∑j​yj′′​≤2∑j​yj​).

Theorem 4.1 (Algorithm 1) and Theorem 4.2 (Algorithm 2, p. 118 and p. 121) are the same three-part guarantee for the other two algorithms, with log⁡2(3d+1)\log_2(3d+1)log2​(3d+1) in place of 1+ln⁡d1+\ln d1+lnd for Algorithm 1 (and its packing solution genuinely integral), and with 2ln⁡(1+d)2\ln(1+d)2ln(1+d) in place of both 2(1+ln⁡d)2(1+\ln d)2(1+lnd) and 222 for Algorithm 2 (whose packing solution is exactly feasible, not merely approximately so). The competitive ratios are stated against an arbitrary offline-feasible comparison solution on each side (covering and packing) rather than against an unconstructed LP optimum — the standard weak-duality reformulation of "ccc-competitive", and the one the book's own proofs (which invoke weak duality directly, never LP optimality) actually establish.

Significance

The framework converts three qualitatively different design intuitions — the ski-rental-style discrete doubling, the continuous primal-dual differential equation, and complementary slackness — into three algorithms with an identical asymptotic guarantee, Θ(log⁡d)\Theta(\log d)Θ(logd), matching the Ω(log⁡d)\Omega(\log d)Ω(logd) (packing) and Ω(log⁡n)\Omega(\log n)Ω(logn) (covering) lower bounds the book proves in Section 4.3 (Lemmas 4.5-4.6, not part of this mission). This is the load-bearing substrate for the rest of the survey: Chapter 5's online set-cover algorithm, Chapter 13's bounded-allocation problem, and Chapter 14's general packing-covering constraints all restate this chapter's framework locally rather than re-deriving it, and are formalized as separate missions in this series. Formalizing it here, once, with the exact constants each proof establishes, is what lets those missions cite a single faithful statement instead of three independently-drifting restatements. No formal development of this framework was found on the platform as of 2026-09-20 (searches below); this mission is the first.

Difficulty

The central obstacle is not the algebra of any single algorithm's proof — each is a short, self-contained argument — but stating the guarantee for an online process using only its final output. An algorithm is characterized here by the closed-form relation its update rule establishes between the accumulated dual sum and the primal value (e.g., Algorithm 3's xi=min⁡(1,d−1exp⁡(di/ci−1))x_i = \min(1, d^{-1}\exp(d_i/c_i - 1))xi​=min(1,d−1exp(di​/ci​−1)) once activated, 000 before), together with primal feasibility as the hypothesis that a run has completed; a formalization that instead handed the algorithm the whole instance in advance, or dropped primal feasibility as a hypothesis, would either trivialize the online promise or make the stated bound simply false. A second difficulty specific to this formalization: Theorem 4.3's own proof bounds the primal cost by splitting it into a piece controlled by the final-state complementary-slackness conditions (immediate from the closed form and the ddd-bound) and a piece controlled by a derivative/telescoping argument over the continuous accumulation process itself — the latter is a genuinely dynamic fact about the trajectory, not just its endpoint, and is recorded as a documented simplification below rather than folded into the hypotheses, since the goal is a faithful statement, not a proof.

Formalization scope

CoveringInstance I J bundles S : J → Finset I, c : I → ℝ, and d : ℝ with 0 < d and ∀ j, (S j).card ≤ d as explicit hypotheses (never derived as d := ⨆ j, (S j).card, matching the book's own presentation and avoiding a vacuous formalization in which d is chosen after the fact to make the bound trivial). dualSum inst y i := ∑_{j \mid i \in S(j)} y_j. Each algorithm's output is a noncomputable def from the accumulated dual data to ℝ (alg1X, alg2X, alg3X), so that "the algorithm's output" is genuinely a function of its dual trajectory rather than an independently-constrained free variable — ruling out the trivializing formalization in which xxx and yyy are unrelated variables merely required to satisfy the conclusion's own inequalities. Reals throughout (ℝ, not ℝ≥0 or ENNReal); Finset.filter realizes "jjj such that i∈S(j)i \in S(j)i∈S(j)"; Real.logb 2 and Real.log (natural log) match the book's own log₂ and ln. Reusable beyond this mission: CoveringInstance, dualSum, and the weak-duality-style "competitive against any feasible comparison solution" pattern, which 05-online-set-cover, 13-bounded-allocation, and 14-general-packing-covering are expected to restate locally (per this series' own rule against cross-draft imports between concurrent missions) rather than import directly. Welcome contributions: completing any of the three sorrys, and formalizing the Section 4.3 lower bounds (Lemmas 4.5-4.6) as a follow-on mission.

Selected references

  • N. Buchbinder, J. Naor. The Design of Competitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends in Theoretical Computer Science, 3(2-3):93-263, 2009. https://doi.org/10.1561/0400000024
  • N. Buchbinder. Designing Competitive Online Algorithms via a Primal-Dual Approach. PhD thesis, Tel Aviv University, 2008. https://www.tau.ac.il/~nivb/download/phd-thsis.pdf
9 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimization·Captain: mikedeng1

Introduction to Stochastic Programming V: The Integer L-Shaped MethodTextbook

Motivation

Two-stage stochastic programs with recourse are already hard to optimize when the recourse problem is a linear program: Chapters 4–6 of this series show how the L-shaped method exploits the recourse function's convexity and polyhedrality to converge finitely by cutting planes. Adding integrality restrictions destroys both properties. Birge and Louveaux open Chapter 7 by naming the consequence directly: "properties of stochastic integer programs are scarce," duality is lost, and the recourse value Q(x)Q(x)Q(x) for even a single first-stage point xxx may itself require solving an integer program from scratch, with no warm start available across scenarios (Birge & Louveaux, Introduction to Stochastic Programming, 2nd ed., Springer 2011, p. 290).

Section 7.2 isolates the one structural feature that still buys finite convergence: first-stage variables restricted to {0,1}\{0,1\}{0,1}. Laporte and Louveaux's Integer L-shaped method (1993) exploits this by combining a branch-and-bound search over the finitely many binary first-stage points with a new family of optimality cuts, valid wherever a finite lower bound on the recourse value is available. This mission formalizes that method's specification and its finite-convergence guarantee, together with the two propositions its proof rests on.

Setting

A stochastic integer program (SIP) extends a two-stage stochastic linear program with fixed recourse (Chapter 3's Recourse.Instance: first-stage data A,b,cA, b, cA,b,c, fixed recourse matrix WWW, and KKK scenarios of (qk,hk,Tk)(q_k, h_k, T_k)(qk​,hk​,Tk​) with probabilities pkp_kpk​) by two further restrictions:

(SIP)min⁡x∈XcTx+Eξmin⁡y{q(ω)Ty∣W(ω)y=h(ω)−T(ω)x, y∈Y}s.t. Ax=b,(\mathrm{SIP}) \quad \min_{x \in X} c^{\mathsf T}x + \mathbb E_\xi \min_y \{ q(\omega)^{\mathsf T} y \mid W(\omega)y = h(\omega) - T(\omega)x,\ y \in Y\} \quad \text{s.t. } Ax = b,(SIP)x∈Xmin​cTx+Eξ​ymin​{q(ω)Ty∣W(ω)y=h(ω)−T(ω)x, y∈Y}s.t. Ax=b,

where XXX restricts the first stage and YYY restricts the recourse variable — typically requiring integrality of yyy. Section 7.2's standing hypothesis narrows XXX further: every coordinate of xxx is binary. Write Q(x)Q(x)Q(x) for the resulting recourse value (a possibly-infinite expectation, by the same convention as the continuous case) and C(x)C(x)C(x) for the value of the continuous relaxation, obtained by dropping the restriction YYY and keeping only y≥0y \ge 0y≥0 — exactly the recourse value Chapter 3's Recourse.Instance already computes.

The method needs one further hypothesis, Assumption 2: a finite lower bound LLL with L≤min⁡x{Q(x)∣Ax=b, x∈X}L \le \min_x \{Q(x) \mid Ax=b,\ x \in X\}L≤minx​{Q(x)∣Ax=b, x∈X}, not required to be tight. For a subset SSS of the first-stage index set, write δ(x,S)=∑i∈Sxi−∑i∉Sxi\delta(x,S) = \sum_{i \in S} x_i - \sum_{i \notin S} x_iδ(x,S)=∑i∈S​xi​−∑i∈/S​xi​, and let indicator(S)\mathrm{indicator}(S)indicator(S) be the binary point with xi=1x_i = 1xi​=1 for i∈Si \in Si∈S, xi=0x_i = 0xi​=0 otherwise — δ(x,S)\delta(x,S)δ(x,S) measures how far a binary point xxx is from matching SSS exactly, reaching its maximum ∣S∣|S|∣S∣ only at x=indicator(S)x = \mathrm{indicator}(S)x=indicator(S).

Formalization targets

Proposition 1 (continuous cuts survive integrality)

e−ETx≤C(x)  ⟹  e−ETx≤Q(x)e - E^{\mathsf T}x \le C(x) \implies e - E^{\mathsf T}x \le Q(x)e−ETx≤C(x)⟹e−ETx≤Q(x)

Any L-shaped optimality cut valid for the continuous relaxation's value remains valid for the true, integrality-restricted recourse value, since C(x)≤Q(x)C(x) \le Q(x)C(x)≤Q(x) pointwise.

Proposition 3 (a cut from one binary feasible solution)

θ≥(qS−L)(∑i∈Sxi−∑i∉Sxi)−(qS−L)(∣S∣−1)+L\theta \ge (q_S - L)\Bigl(\sum_{i \in S} x_i - \sum_{i \notin S} x_i\Bigr) - (q_S-L)(|S|-1) + Lθ≥(qS​−L)(i∈S∑​xi​−i∈/S∑​xi​)−(qS​−L)(∣S∣−1)+L

is a valid lower bound on Q(x)Q(x)Q(x) for every binary first-stage-feasible xxx, given a binary feasible point indicator(S)\mathrm{indicator}(S)indicator(S) with true recourse value qSq_SqS​ and a lower bound LLL satisfying Assumption 2.

Proposition 4 — the mission's goal

Under Assumption 2, the Integer L-shaped method — the branch-and-bound search over binary first-stage points, tightened at each iteration by a fresh cut of the Proposition 3 form — finitely converges to an optimal solution of an SIP with relatively complete recourse and binary first-stage variables, when one exists. "Finitely" is quantified explicitly: a bound of 2n12^{n_1}2n1​ on the number of iterations, the number of distinct binary first-stage points.

Significance

Proposition 4 is the chapter's payoff: it turns "solve an SIP with binary first-stage variables" from an open-ended search into a procedure with a certified stopping point, at the cost of one additional hypothesis (a computable lower bound LLL) that is often easy to obtain by relaxing the second-stage integrality restriction, as the book's Example 1 illustrates directly. Propositions 1 and 3 are the two soundness facts the method's cuts rest on: Proposition 1 lets an implementation reuse the continuous L-shaped method's own optimality cuts as valid (if weaker) constraints, and Proposition 3 supplies the chapter's genuinely new cut, tailored to the binary structure and strong enough by itself to guarantee termination.

Formalizing this mission fixes, machine-checkably, the exact hypotheses under which the method is correct — in particular, that "binary" is load-bearing (the finiteness bound is literally 2n12^{n_1}2n1​) and that "relatively complete recourse" cannot be dropped, since it is what keeps the recourse value from becoming +∞+\infty+∞ at a feasible point. No result here has, to the mission's knowledge, been formalized elsewhere; the propositions and the method's specification are drafted fresh.

Difficulty

The recourse function QQQ is neither convex nor polyhedral once yyy is integer-restricted, so the argument cannot follow the continuous L-shaped method's proof line for line — that proof leans on QQQ's convexity to certify a cut from finitely many bases. Proposition 3's cut instead argues purely combinatorially: δ(x,S)≤∣S∣\delta(x,S) \le |S|δ(x,S)≤∣S∣ for every binary xxx, with equality forcing x=indicator(S)x = \mathrm{indicator}(S)x=indicator(S), so the cut's right-hand side collapses to the true value qSq_SqS​ exactly there and falls to at most LLL everywhere else — a fact about the finitely many binary points of {0,1}n1\{0,1\}^{n_1}{0,1}n1​, not about QQQ's analytic structure. The natural first idea, adapting a continuous L-shaped cut by simply restricting its domain to binary xxx, fails: nothing forces such a cut to be tight at the current iterate, so it need not exclude a revisited point, and finite convergence (the content Proposition 4 actually asserts, not just "an optimum exists") would be lost.

Formalization scope

The mission represents first-stage points as Fin n1 → ℝ with a Binary predicate (∀ i, x i = 0 ∨ x i = 1) rather than a Fin n1 → Bool type, so that the master problem's feasible region and its binary-restricted subset share one ambient space, matching how the book moves between XXX and its binary points. The second-stage restriction YYY is left an arbitrary Set (Fin n2 → ℝ); taking it to be all of Rn2\mathbb R^{n2}Rn2 recovers exactly Chapter 3's continuous recourse value, without a second definition. Flagged (moderator review, 2026-09-19): Proposition 1's own C(x)C(x)C(x) is the book's Y‾\overline YY-based continuous/LP-relaxation of YYY (Eq. (1.3)-(1.4)), which can retain bounds YYY imposes beyond integrality — the book's own worked example on the same page gives binary Y={0,1}m2Y=\{0,1\}^{m_2}Y={0,1}m2​, so Y‾=[0,e]\overline Y=[0,e]Y=[0,e], not y≥0y\ge0y≥0 alone. This mission's prop1_cuts_valid_for_sip uses the dropped-YYY relaxation (only y≥0y \ge 0y≥0) rather than Y‾\overline YY, which coincides with the book's C(x)C(x)C(x) only when YYY is itself an unbounded integrality restriction; the theorem is a narrower result than the book's Proposition 1 whenever YYY carries additional structure, though it remains true as stated because the dropped-YYY value is unconditionally ≤\le≤ the book's Y‾\overline YY-based C(x)C(x)C(x), which is itself ≤Q(x)\le Q(x)≤Q(x) — see the item's own Formalization Note for the full argument. The existential lower bound LLL of Assumption 2 is kept a bare existentially-quantified real, never sharpened to a formula, matching the book's own "no requirement is made that the bound LLL should be tight."

The Integer L-shaped method's branch-and-bound bookkeeping (Steps 0, 1, 3, 4: pendant-node list management, bound-based fathoming, and branching on a violated integrality restriction) is abstracted into a direct optimization over the binary first-stage feasible set at each iteration, since Proposition 3's cut is proved valid there without appeal to any specific branching order — the same level of abstraction the Chapter 5 mission uses for the continuous L-shaped method's own master-problem bookkeeping. What is retained explicitly is the part the finiteness bound actually depends on: Step 5's recourse-value computation and Step 6's binary choice between fathoming and adding a fresh cut, modeled as a state machine whose state is the finite set of binary points already excluded by a cut. A formalization that dropped this state machine — asserting only "if Assumption 2 and relatively complete recourse hold, an optimal solution exists" — would trivialize the proposition's actual content, the finite bound on the number of steps; this mission keeps that bound as an explicit, checkable part of the goal statement.

Definitions reused from earlier missions in this series: StochasticProg.Recourse.Instance (Chapter 3) for the underlying two-stage recourse data and its continuous-relaxation value. Contributions welcome on strengthening Proposition 4's proof to also derive Proposition 3 as a lemma, and on formalizing the improved cuts of Propositions 5–7 (out of scope here, left for a possible follow-up mission).

Selected references

  • J.R. Birge and F. Louveaux, Introduction to Stochastic Programming, 2nd ed., Springer Series in Operations Research and Financial Engineering, Springer 2011, Chapter 7, §7.2. DOI: 10.1007/978-1-4614-0237-4
  • G. Laporte and F. Louveaux, "The integer L-shaped method for stochastic integer programs with complete recourse," Operations Research Letters 13(3), 1993, 133–142.
6 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimizationProbability·Captain: mikedeng1

Introduction to Stochastic Programming IV: Nested Decomposition for Multistage ProgramsTextbook

Motivation

Sequential planning problems — inventory replenishment, hydro-thermal power scheduling, asset-liability management — routinely span more than two decision epochs, with information about the future revealed gradually as each period unfolds. A two-stage recourse model (decide now, observe once, recourse once) is too coarse for these: it either collapses the whole horizon into a single "wait and see" observation or forces an ad-hoc rolling-horizon heuristic with no optimality guarantee. The multistage stochastic program is the natural model that keeps the full sequence of decisions and observations, and Benders (L-shaped) decomposition is the workhorse algorithm the field has used to solve it since Van Slyke and Wets [1969] introduced it for the two-stage case. Ho and Manne [1974] and Glassey [1973] first proposed nested decomposition for deterministic multistage models; Louveaux [1980] extended it to multistage quadratic stochastic programs, and Birge [1985] gave the linear multistage generalization this mission formalizes, later implemented at scale by Pereira and Pinto [1985] and Gassmann [1990] and still the basis of production stochastic-programming solvers today.

Setting

A multistage stochastic linear program unfolds over HHH stages t=1,…,Ht = 1,\dots,Ht=1,…,H. At each stage, uncertainty resolves into one of finitely many realizations, so the whole process of realizations forms a scenario tree: a single scenario at t=1t=1t=1 (the root), branching into finitely many scenarios at t=2t=2t=2, each of those again branching at t=3t=3t=3, and so on. Write kkk for a scenario (a tree node) and a(k)a(k)a(k) for its ancestor, the scenario at stage t−1t-1t−1 that kkk descends from; Dt+1(j)D^{t+1}(j)Dt+1(j) is the set of scenario jjj's descendants at the next stage. Each scenario kkk at stage ttt carries its own decision vector xkt≥0x^t_k \ge 0xkt​≥0, bounded above (xkt≤uktx^t_k \le u^t_kxkt​≤ukt​, coordinatewise), subject to the linear constraint

Wtxkt=hkt−Tkt−1xa(k)t−1,W^t x^t_k = h^t_k - T^{t-1}_k x^{t-1}_{a(k)},Wtxkt​=hkt​−Tkt−1​xa(k)t−1​,

where the recourse matrix WtW^tWt depends only on the stage (fixed recourse) while the transition matrix Tkt−1T^{t-1}_kTkt−1​ and right-hand side hkth^t_khkt​ may vary scenario by scenario. Stacking every scenario's constraint over the whole tree gives the deterministic equivalent linear program, minimizing the probability-weighted total cost ∑kpk(ckt)⊤xkt\sum_k p_k (c^t_k)^\top x^t_k∑k​pk​(ckt​)⊤xkt​ over this feasible region — problem (3.4.1) in the source.

The nested L-shaped method solves (3.4.1) by decomposition rather than forming this (typically enormous) single LP directly. Each scenario kkk owns a small subproblem, NLDS(t,k)\mathrm{NLDS}(t,k)NLDS(t,k), that looks exactly like a two-stage L-shaped subproblem: it has kkk's own constraint and bound, plus a running set of feasibility cuts and optimality cuts accumulated so far, plus, if kkk has descendants, an approximation variable θkt\theta^t_kθkt​ standing in for the (unknown, convex, piecewise-linear) future cost Qkt+1Q^{t+1}_kQkt+1​ of everything downstream of kkk. Solving NLDS(t,k)\mathrm{NLDS}(t,k)NLDS(t,k) either finds it infeasible — in which case a feasibility cut is derived from the infeasibility certificate and sent up to kkk's parent — or finds an optimal dual solution, whose aggregate over all of jjj's children (weighted by conditional probability) becomes a candidate optimality cut for j=a(k)j = a(k)j=a(k). The method sweeps forward and backward across the tree, feasibility and optimality cuts accumulating at every internal node, until no node's subproblem produces a fresh cut.

Formalization targets

Goal (Chapter 6, Theorem 1)

if every Ξt is finite and every xt has a finite upper bound, then the nested L-shaped method\text{if every }\Xi_t\text{ is finite and every }x_t\text{ has a finite upper bound, then the nested L-shaped method}if every Ξt​ is finite and every xt​ has a finite upper bound, then the nested L-shaped method converges finitely to an optimal solution of the deterministic equivalent (3.4.1), or correctly certifies its infeasibility.\text{converges finitely to an optimal solution of the deterministic equivalent (3.4.1), or correctly certifies its infeasibility.}converges finitely to an optimal solution of the deterministic equivalent (3.4.1), or correctly certifies its infeasibility.

This is the chapter's only numbered result and the weakest faithful statement of "the method works": it makes no claim about the number of iterations beyond finiteness, and none about which sequencing protocol (forward-forward-back, or any other) is used to choose which subproblem to solve next.

Significance

Finite convergence is what separates an algorithm from a heuristic: without it, nothing rules out an infinite sequence of ever-finer cuts that never certifies optimality or infeasibility. Birge's 1985 result is the reason nested Benders decomposition can be used as an exact method rather than an approximation, and every later refinement (bunching, sifting, multicuts, parallel implementations, all mentioned in the source text) modifies how cuts are generated or which subproblem is solved next without touching this finiteness guarantee — they are all still instances of the same cut-generation mechanism this mission formalizes. The two-stage case (Chapter 5, Theorem 2) is the H=2H=2H=2 special case of this theorem; the mission's tree-indexed state and transition relation are written to specialize to the two-stage development directly when the tree has one branching level, though the two developments are not connected by an import (see Formalization scope). No machine-checked proof of either the two-stage or multistage case appears to exist prior to this series; formalizing it here produces the first Lean statement of the mechanism nested Benders decomposition rests on.

Difficulty

The obvious first idea — prove finiteness by bounding the total number of cuts a node can ever receive, the way a flat scenario set bounds the two-stage method's cut count by its number of LP bases — fails because a node's own subproblem is not a fixed-size LP: every cut recorded at node kkk becomes a new row of kkk's own constraint set, so the "number of possible bases" at kkk keeps changing as the algorithm runs, and the bound at kkk depends recursively on how many cuts kkk's own children could ever produce. The book's actual argument (p. 290) is a genuine induction on the stage index, from the last stage backward: assume the bound holds for every node at stage t+1t+1t+1, then combinatorially bound the finite number of extended bases at stage ttt that this permits, then take the finite union over every possible extension size. This mission's Lean development commits to a scope that keeps a node's basis a fixed-size object (see below) rather than re-deriving that combinatorial bound.

Formalization scope

Every stage shares one decision dimension nnn and one constraint dimension mmm (Fin n, Fin m); the book allows these to vary by stage but nothing in Theorem 1's statement needs that generality. Scenario probabilities p are the unconditional probability of reaching a node, required strictly positive and summing to 111 within each stage (Instance.hp_pos, Instance.hp_sum); the aggregation formulas use only the ratio pk/pjp_k/p_jpk​/pj​ for kkk a child of jjj, which reads the same whether p is unconditional or conditional, so this is a normalization choice, not a substantive restriction. The upper bound ub is ℝ-valued rather than extended-real-valued, which is Theorem 1's own hypothesis ("finite upper bounds"), not an added convention.

The one deliberate scope-narrowing choice, flagged here and in MODERATION_NOTES.md, and strengthened in this revision after moderator review (2026-09-19, CHANGES_REQUESTED.md #2): a node kkk's dual witness (Basis, FeasBasis) is read off kkk's original constraint (1.2) alone — the fixed-size recourse matrix Wstage(k)W^{\mathrm{stage}(k)}Wstage(k) — never off the extended constraint set (1.2)-(1.4). The gap this leaves is broader than "accumulated cuts are ignored": kkk's own continuation variable θk\theta_kθk​ — present in (1.1)'s objective, and fixed to 000 from Step 0 onward, not merely absent until cuts accumulate — has no representation at all in Basis, multiplier, basisValue, or the optimality-cut coefficients optCutCoeffs computes for a parent jjj of kkk. Consequently, whenever a child kkk used in an optimality cut is itself an interior node (kkk has children of its own, i.e. stage(k)<H−1\mathrm{stage}(k) < H-1stage(k)<H−1, which happens for every H≥3H \geq 3H≥3 tree), the mechanized cut coefficients are not the book's (Ejt−1,ejt−1)(E^{t-1}_j, e^{t-1}_j)(Ejt−1​,ejt−1​) of Eq. (1.1) and are not the printed algorithm's mechanism at that node — they are the dual of kkk's plain sub-LP alone, omitting kkk's own contribution to the recourse value entirely, not only the portion contributed by kkk's accumulated cuts. This gap is inert exactly when every child aggregated in a cut is a last-stage node (H≤2H \le 2H≤2, where the mechanism coincides with the already-published two-stage sibling 05-two-stage-methods) and active for every deeper cut, which is most of what a general Tree H actually exercises. Concretely: as mechanized, the optimality-cut half of Step (Bases.optCutCoeffs, Step.opt) is faithful to the printed nested L-shaped method's cut-generation step only when every child it aggregates over is a last-stage node; for an interior child it computes a value that omits that child's own θ\thetaθ term rather than the book's recursive one. The feasibility-cut half (Bases.feasCutCoeffs, Step.feas) has no such gap — feasibility does not involve θ\thetaθ at any stage — and the tree/instance layer (Tree, Instance) and the goal theorem's own outer shape are unaffected: thm1_finite_convergence's statement (existence of a finite, Step-reachable state that is infeasible-certified or globally optimal) is not weakened, but the reader should treat the mechanized Step relation itself, for H ≥ 3, as a documented variant of Steps 1-2 rather than a literal transcription of them at every node — see STATUS.md's Revision section for the moderator exchange this responds to. Reworking cut generation to consume each child's own current (xk,θk)(x_k, \theta_k)(xk​,θk​) witness directly, so that an interior child's continuation value is no longer dropped, is left to a future revision; it is a materially larger change (the child's local optimum is then piecewise-linear rather than linear in its own parent's decision, so the duality argument needs a genuinely different — not merely extended — basis notion) than this session's time budget allows. This keeps every basis type a fixed-size Fin m → Fin n object, exactly as in the two-stage method, and keeps the algorithm's finite-step bound an explicit, provable cardinality (|Node × FeasBasis| + |Node → Basis|) rather than the book's own implicit, recursively-defined one. The trivializing formalization this scope choice must not fall into — declaring victory by proving the plain two-stage case is what convergence "reduces to" without ever quantifying over the tree — is avoided because every definition and the goal statement itself are stated for a general Tree H with unrestricted branching, not merely H=2H = 2H=2; what is disclosed above is a gap in how faithfully Step models the book's own cut-generation mechanism at depth, not a restriction of the statement to H=2H = 2H=2.

Reusable beyond this mission: Def_StochasticProg_Multistage_Tree (the finite scenario tree) is a natural building block for 07-integer-programs (an integer restriction of the same two-stage subproblem) and 10-multistage-approximations (multistage Jensen bounds, which need the same tree). Contributions welcome: a faithful account of the extended-basis induction sketched above, and a formalization of Chapter 6, Theorem 3 (finite termination of the quadratic nested decomposition of Section 6.2), which this mission omits for time (see STATUS.md).

Selected references

  • J.R. Birge, "Decomposition and Partitioning Methods for Multistage Stochastic Linear Programs", Operations Research 33(5), 1985.
  • R.M. Van Slyke, R. Wets, "L-Shaped Linear Programs with Applications to Optimal Control and Stochastic Programming", SIAM Journal on Applied Mathematics 17(4), 1969. https://doi.org/10.1137/0117061
  • H.I. Gassmann, "MSLiP: A Computer Code for the Multistage Stochastic Linear Programming Problem", Mathematical Programming 47, 1990. https://doi.org/10.1007/BF01580858
  • M.V.F. Pereira, L.M.V.G. Pinto, "Stochastic Optimization of a Multireservoir Hydroelectric System: A Decomposition Approach", Water Resources Research 21(6), 1985. https://doi.org/10.1029/WR021i006p00779
  • J.R. Birge, F. Louveaux, Introduction to Stochastic Programming, 2nd ed., Springer Series in Operations Research and Financial Engineering, 2011. https://doi.org/10.1007/978-1-4614-0237-4
5 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimization·Captain: Shuze Chen

Introduction to Linear Optimization VI: Farkas' Lemma and Separating HyperplanesTextbook

When is a system of linear constraints infeasible? Sections 4.6-4.7 of Bertsimas-Tsitsiklis answer with the archetypal theorem of the alternative. The capstone is Farkas' lemma (Theorem 4.6): for an m×nm \times nm×n matrix AAA and b∈Rmb \in \mathbb{R}^mb∈Rm, exactly one of the following holds — (a) some x≥0x \ge 0x≥0 satisfies Ax=bAx = bAx=b, or (b) some ppp satisfies p′A≥0′p'A \ge 0'p′A≥0′ and p′b<0p'b < 0p′b<0; such a ppp is a certificate of infeasibility, geometrically a hyperplane separating bbb from the cone of the columns of AAA. The mission also carries the cone-membership restatement (Corollary 4.3), the inequality form (Theorem 4.7: every solution of Ax≤bAx \le bAx≤b satisfies c′x≤dc'x \le dc′x≤d iff some p≥0p \ge 0p≥0 has p′A=c′p'A = c'p′A=c′ and p′b≤dp'b \le dp′b≤d), and the application to asset pricing (Theorem 4.8: a market's prices admit no arbitrage iff there is a nonnegative state-price vector qqq with pi=∑sqsrsip_i = \sum_s q_s r_{si}pi​=∑s​qs​rsi​). The book proves Farkas' lemma from LP strong duality; Section 4.7 then reverses the arrow from first principles: every polyhedron is closed (Theorem 4.9), Weierstrass' theorem (Theorem 4.10, already in Mathlib), and the separating hyperplane theorem (Theorem 4.11: for nonempty closed convex SSS and x∗∉Sx^* \notin Sx∗∈/S there exists ccc with c′x∗<c′xc'x^* < c'xc′x∗<c′x for all x∈Sx \in Sx∈S), from which Farkas' lemma — and hence the duality theorem itself — follows geometrically.

8 thms2 active usersReviewed
🏆Completed
Optimization·Captain: Shuze Chen

Introduction to Linear Optimization III: Fourier–Motzkin Elimination and Projections of PolyhedraTextbook

Is the shadow of a polyhedron again a polyhedron? §2.8 of Bertsimas–Tsitsiklis answers this with perhaps the oldest method for solving linear programming problems: Fourier–Motzkin elimination. Given P={x∈Rn∣∑j=1naijxj≥bi, i=1,…,m}P = \{x \in \mathbb{R}^n \mid \sum_{j=1}^n a_{ij}x_j \ge b_i,\ i = 1, \dots, m\}P={x∈Rn∣∑j=1n​aij​xj​≥bi​, i=1,…,m}, one sorts the constraints by the sign of the coefficient of xnx_nxn​ — rewriting them as xn≥di+fi′xˉx_n \ge d_i + \mathbf{f}_i'\bar{x}xn​≥di​+fi′​xˉ, dj+fj′xˉ≥xnd_j + \mathbf{f}_j'\bar{x} \ge x_ndj​+fj′​xˉ≥xn​, or 0≥dk+fk′xˉ0 \ge d_k + \mathbf{f}_k'\bar{x}0≥dk​+fk′​xˉ — and forms the polyhedron Q⊂Rn−1Q \subset \mathbb{R}^{n-1}Q⊂Rn−1 whose constraints are all pairwise combinations dj+fj′xˉ≥di+fi′xˉd_j + \mathbf{f}_j'\bar{x} \ge d_i + \mathbf{f}_i'\bar{x}dj​+fj′​xˉ≥di​+fi′​xˉ together with the constraints not involving xnx_nxn​. The capstone, Theorem 2.10, states that QQQ is exactly the projection Πn−1(P)\Pi_{n-1}(P)Πn−1​(P) of PPP onto its first n−1n-1n−1 coordinates: a value of xnx_nxn​ can be interpolated if and only if every lower bound is below every upper bound. Though hopeless as an algorithm (the number of constraints can grow exponentially), elimination has powerful theoretical corollaries, all formalized here: projections Πk(P)\Pi_k(P)Πk​(P) of polyhedra are polyhedra (Corollary 2.4), the image of a polyhedron under any linear mapping is a polyhedron (Corollary 2.5), and the convex hull of finitely many vectors is a polyhedron (Corollary 2.6) — the first half of the finite-basis picture completed by the resolution theorem of Mission VII.

6 thms2 active usersReviewed
🏆Completed
Operations ResearchOptimization·Captain: Shuze Chen

Introduction to Linear Optimization II: Existence and Optimality of Extreme PointsTextbook

Where should one look for the optimum of a linear programming problem? Chapter 1 of Bertsimas–Tsitsiklis suggests that optima "tend to occur at corners" of the feasible polyhedron; §§2.5–2.6 turn this intuition into theorems. Not every polyhedron has a corner — a halfspace in Rn\mathbb{R}^nRn (n>1n > 1n>1) has none — and the exact dividing line is the presence of an infinite line: a nonempty polyhedron

P={x∣ai′x≥bi, i=1,…,m}P = \{x \mid a_i'x \ge b_i,\ i = 1, \dots, m\}P={x∣ai′​x≥bi​, i=1,…,m}

has an extreme point if and only if it does not contain a line, if and only if nnn of the vectors a1,…,ama_1, \dots, a_ma1​,…,am​ are linearly independent (Theorem 2.6). In particular every nonempty bounded polyhedron and every nonempty standard-form polyhedron has a basic feasible solution (Corollary 2.2). The capstone, Theorem 2.8, is the sharpest form of the corner principle: if PPP has at least one extreme point, then for any cost vector ccc either the optimal cost is −∞-\infty−∞, or there is an extreme point of PPP that is optimal — existence of an optimal solution comes for free once the cost is bounded below. Its companion Theorem 2.7 places an optimal extreme point under the weaker assumption that an optimal solution exists, and Corollary 2.3 — the fundamental theorem of linear programming — concludes that every feasible LP either has optimal cost −∞-\infty−∞ or attains an optimal solution, in stark contrast with nonlinear problems such as minimizing 1/x1/x1/x over x≥1x \ge 1x≥1. These results license the extreme-point search that the simplex method (Mission IV) performs.

12 thms2 active usersReviewed
🏆Completed
OptimizationTheoretical Computer Science·Captain: moutei

Primal-Dual Online Algorithms I: Fractional Ski RentalTextbook

Motivation

An online algorithm must commit to decisions before it knows the rest of its input, and it is judged by competitive analysis: the ratio between its cost and the cost of an optimal solution computed with full knowledge of the input. A recurring obstacle in this area is that each problem seems to need its own ad hoc potential-function argument. Buchbinder's thesis develops a single method that replaces those arguments — formulate the offline problem as a covering linear program, let the online algorithm raise the dual variables of its packing dual, and read the competitive ratio off the ratio between the primal and dual increments. The same recipe then yields algorithms for online set cover, weighted caching, ad-auction revenue, routing, and load balancing.

This mission formalizes the chapter where the method is introduced on its smallest example, the ski-rental problem. A customer needs skis for an unknown number of days: renting costs 111 per day and buying costs BBB once. The customer must decide, each morning, whether to rent again or buy, without knowing how many ski days remain. Despite its size the problem is the canonical rent-or-buy dilemma, and it has two classical tight results: a deterministic 222-competitive algorithm, and a randomized algorithm whose competitive ratio tends to e/(e−1)e/(e-1)e/(e−1), due to Karlin, Manasse, McGeoch and Owicki (1994). The primal-dual derivation of both is the content of Chapter 3.

Setting

An instance is a pair (B,k)(B, k)(B,k): the purchase price BBB, a positive integer, and the number k≥0k \ge 0k≥0 of ski days, which the online algorithm does not know. An offline solution either buys at once, paying BBB, or rents on every day, paying kkk; so the offline optimum is

OPT(B,k)  =  min⁡(B,k).\mathrm{OPT}(B,k) \;=\; \min(B, k).OPT(B,k)=min(B,k).

Chapter 3 casts this as a linear program (Figure 3.1, p. 18). The primal is a covering program with one buy variable xxx and one rent variable zjz_jzj​ per day jjj:

minimize   Bx+∑j=1kzjsubject tox+zj≥1  for each day j.\text{minimize } \; B x + \sum_{j=1}^{k} z_j \quad \text{subject to} \quad x + z_j \ge 1 \ \text{ for each day } j.minimize Bx+j=1∑k​zj​subject tox+zj​≥1  for each day j.

Its dual is a packing program with one variable yjy_jyj​ per day:

maximize   ∑j=1kyjsubject to∑j=1kyj≤B,0≤yj≤1.\text{maximize } \; \sum_{j=1}^{k} y_j \quad \text{subject to} \quad \sum_{j=1}^{k} y_j \le B, \qquad 0 \le y_j \le 1 .maximize j=1∑k​yj​subject toj=1∑k​yj​≤B,0≤yj​≤1.

The online structure enters in a single way: a new ski day appends a new covering constraint to the primal and a new variable to the dual, and previously raised primal variables may never be decreased. That monotonicity is what "previous decisions cannot be regretted" means formally.

The fractional primal-dual algorithm maintains xxx, initially 000. On each new day, while x<1x < 1x<1 it sets zj←1−xz_j \leftarrow 1 - xzj​←1−x, then raises

x  ←  x(1+1B)+1cB,x \;\leftarrow\; x\left(1 + \tfrac{1}{B}\right) + \tfrac{1}{cB},x←x(1+B1​)+cB1​,

and sets yj←1y_j \leftarrow 1yj​←1; once xxx has reached 111 it does nothing further. The free parameter ccc is then pinned to the value that makes xxx reach exactly 111 after BBB days,

c  =  (1+1B)B−1.c \;=\; \left(1 + \tfrac{1}{B}\right)^{B} - 1 .c=(1+B1​)B−1.

Formalization targets

Goal — the fractional algorithm's competitive ratio at finite BBB

B xk+∑j=0k−1zj  ≤  (1+1(1+1B)B−1)⋅min⁡(B,k)for every B≥1, k≥0.B\,x_k + \sum_{j=0}^{k-1} z_j \;\le\; \left(1 + \frac{1}{\left(1 + \frac{1}{B}\right)^{B} - 1}\right) \cdot \min(B, k) \qquad \text{for every } B \ge 1, \ k \ge 0 .Bxk​+j=0∑k−1​zj​≤(1+(1+B1​)B−11​)⋅min(B,k)for every B≥1, k≥0.

The coefficient is the exact finite-BBB ratio 1+1/c1 + 1/c1+1/c, left in closed form rather than replaced by a constant. This is deliberate: (1+1B)B\left(1+\frac1B\right)^B(1+B1​)B increases to eee, so c<e−1c < e - 1c<e−1 and therefore 1+1/c>e/(e−1)1 + 1/c > e/(e-1)1+1/c>e/(e−1) for every finite BBB. A goal asserting e/(e−1)e/(e-1)e/(e−1)-competitiveness at finite BBB would be false, and a goal asserting some rounded constant would be invalidated by any sharpening. The closed-form coefficient is the weakest statement that is stable under improvement.

Asymptotic companion — where e/(e−1)e/(e-1)e/(e−1) actually lives

lim⁡B→∞(1+1(1+1B)B−1)  =  ee−1  ≈  1.5819767.\lim_{B \to \infty} \left(1 + \frac{1}{\left(1 + \frac{1}{B}\right)^{B} - 1}\right) \;=\; \frac{e}{e-1} \;\approx\; 1.5819767 .B→∞lim​(1+(1+B1​)B−11​)=e−1e​≈1.5819767.

The classical constant is recorded here, as a limit of the coefficient sequence, and nowhere else.

Parallel target — the deterministic algorithm

detCost(B,k)  ≤  2⋅min⁡(B,k),detCost(B,k)={kk<B2Bk≥B\mathrm{detCost}(B,k) \;\le\; 2 \cdot \min(B,k), \qquad \mathrm{detCost}(B,k) = \begin{cases} k & k < B \\ 2B & k \ge B\end{cases}detCost(B,k)≤2⋅min(B,k),detCost(B,k)={k2B​k<Bk≥B​

Chapter 3's other result, independent of the fractional development.

Significance

The ski-rental bounds themselves are classical and tight, and nothing here is mathematically open. What the chapter contributes, and what this mission captures, is the derivation: it is the template instantiated by every later chapter of the thesis, so the artifacts built here — a covering/packing LP pair, its weak-duality instance, a monotone online variable with a closed-form growth law, and the primal-to-dual increment ratio as the source of the competitive factor — are the vocabulary in which the rest of the series will be stated.

On status: the mathematics is proved, published, and standard. It is not, to the best of a search of Mathlib at revision 0df444a, formalized — that revision contains no competitive-analysis or online-algorithm framework, no ski-rental development, and no general linear-programming weak-duality theorem. So the work this mission asks for is formalization of a known proof, not new mathematics, and the reusable output is infrastructure that does not currently exist in the library.

Difficulty

The offline problem is trivial, and a newcomer's first move — prove min⁡(B,k)\min(B,k)min(B,k) is the optimum and stop — solves the wrong problem. The content is entirely in the online constraint. Three specific places where the obvious argument stalls:

The optimum is never observed. The algorithm's cost must be compared against min⁡(B,k)\min(B,k)min(B,k) without kkk being available to it. The comparison is routed through the dual instead: the dual objective the algorithm accumulates is a lower bound on every feasible primal solution, hence on the optimum, and the algorithm's own primal cost is a fixed multiple of that dual objective.

The growth law is piecewise. The update fires only while x<1x < 1x<1. Summing the per-day increments therefore does not telescope uniformly: days before xxx reaches 111 contribute 1+1/c1 + 1/c1+1/c each and later days contribute nothing, and the index at which the switch happens is exactly BBB — which is a theorem about the recurrence, not an assumption.

The constant is forced, not chosen. c=(1+1/B)B−1c = (1+1/B)^B - 1c=(1+1/B)B−1 is not a free tuning parameter; it is the unique value for which the geometric sequence xj=((1+1/B)j−1)/cx_j = \bigl((1+1/B)^j - 1\bigr)/cxj​=((1+1/B)j−1)/c hits 111 at j=Bj = Bj=B, which is in turn what makes the dual solution feasible (∑jyj≤B\sum_j y_j \le B∑j​yj​≤B). Dual feasibility and the choice of ccc are the same fact.

Formalization scope

Conventions this development commits to. The purchase price is a natural number BBB with 0<B0 < B0<B, because Chapter 3 uses BBB simultaneously as a price, as a day index ("buy skis on the BBBth day"), and as the exponent in (1+1/B)B(1+1/B)^B(1+1/B)B; costs are real numbers, with BBB and kkk coerced. Days are indexed from 000, so day j+1j+1j+1 of the prose is index jjj, and Fin k indexes the kkk days. Real division is total, so 1/0=01/0 = 01/0=0; the hypothesis 0<B0 < B0<B is what keeps every reciprocal in the development genuine, and without it ccc would evaluate to 000 and the recurrence would collapse to the constant zero sequence. The algorithm's x < 1 guard is part of the formalized definition, not an informal aside: without it the cost would keep growing past day BBB.

A documented discrepancy in the source. The prose on p. 17 relaxes the integer program by letting xxx and each zjz_jzj​ range over [0,1][0,1][0,1]; Figure 3.1 on p. 18 prints only x≥0x \ge 0x≥0, zj≥0z_j \ge 0zj​≥0. This mission takes the prose version, 0≤x≤10 \le x \le 10≤x≤1 and 0≤zj≤10 \le z_j \le 10≤zj​≤1, as the canonical fractional program, and also records the nonnegativity-only region exactly as printed. Two separate theorems establish that both have least value min⁡(B,k)\min(B,k)min(B,k), so the discrepancy is resolved inside the mission rather than silently chosen. Solvers should note which of the two predicates a given statement uses.

Ruling out a trivializing formalization. The offline optimum is defined independently, as min⁡(B,k)\min(B,k)min(B,k), and is not derived from the algorithm's own behaviour; a separate theorem certifies that this value really is the least attainable objective value of the canonical program, so the goal cannot be satisfied by redefining the benchmark. The goal inequality is also tight — both sides are equal to (1+1/c)(1+1/c)(1+1/c) times the number of days on which x<1x < 1x<1 — so it cannot be weakened into vacuity without becoming false.

Infrastructure, and what is reusable. The development needs only Mathlib big operators over Fin k, basic real analysis for the limit, and IsLeast. Two items are explicitly infrastructure rather than ski-rental content: the specialized weak-duality theorem for this covering/packing pair, and the Figure 3.1 optimum. Both are candidates for generalization by the later mission on Chapter 2's general linear-programming duality, and a solver who proves the general form there should expect this instance to be derivable from it rather than duplicated.

Out of scope here. The final paragraph of p. 19 rounds the fractional solution into a randomized algorithm by sampling a threshold α∈[0,1]\alpha \in [0,1]α∈[0,1] uniformly and buying on the day whose increment of xxx contains α\alphaα. That step needs a probability space and an expectation argument, and is deferred to the immediate follow-up mission, Primal-Dual Online Algorithms II: Randomized Rounding for Ski Rental. Contributions here should not anticipate it.

Selected references

  • Niv Buchbinder, Designing Competitive Online Algorithms via a Primal-Dual Approach, PhD thesis, Tel Aviv University, 2008. Chapter 3, pp. 17–19. https://www.tau.ac.il/~nivb/download/phd-thsis.pdf
  • Niv Buchbinder and Joseph (Seffi) Naor, The Design of Competitive Online Algorithms via a Primal-Dual Approach, Foundations and Trends in Theoretical Computer Science 3(2–3), 2009. https://doi.org/10.1561/0400000024
  • Anna R. Karlin, Mark S. Manasse, Lyle A. McGeoch and Susan Owicki, Competitive randomized algorithms for nonuniform problems, Algorithmica 11(6), 1994, 542–571. https://doi.org/10.1007/BF01294260
  • Allan Borodin and Ran El-Yaniv, Online Computation and Competitive Analysis, Cambridge University Press, 1998.
9 thms1 active userReviewed
PreviousPage 4 of 4Next

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me