Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Collections

The OR Formalization Drive

Help us formalize the operations research literature in Lean.

1094 missions

Missions

661–680 of 1094
OpenCompletedAll
🏆Completed
CombinatoricsGraph TheoryLinear Optimization+2·Captain: mikedeng1

Understanding and Using Linear Programming I: Integral Bipartite Matchings, Total Unimodularity and König's TheoremTextbook

Motivation

Many combinatorial optimization problems are integer programs: linear objectives and linear constraints, with the extra requirement that the variables be integers. Dropping that requirement gives the LP relaxation, which is solvable efficiently but in general only bounds the integer optimum. For a small but important class of problems the relaxation loses nothing: its optimum is attained at an integral point, so linear programming solves the combinatorial problem exactly. Bipartite matching is the standard example, and the job-assignment problem that opens Chapter 3 of Matoušek and Gärtner's Understanding and Using Linear Programming (Springer 2007) is a maximum-weight perfect matching problem in a bipartite graph.

The same phenomenon, combined with linear programming duality, produces combinatorial min–max theorems. The oldest of them is König's theorem (1931) on matchings and vertex covers in bipartite graphs; Hall's marriage theorem (1935) follows from it. This mission formalizes the book's treatment of both strands: the integrality of the bipartite matching LP (Section 3.2), total unimodularity and König's theorem (Section 8.2), and, on the same objects for general graphs, the LP-rounding 2-approximation for vertex cover (Section 3.3).

Setting

Let G=(V,E)G = (V, E)G=(V,E) be a finite simple graph. A bipartition of GGG is a pair of disjoint sets X,YX, YX,Y with X∪Y=VX \cup Y = VX∪Y=V such that every edge joins a vertex of XXX to a vertex of YYY; GGG is bipartite if it has one. A matching is a set M⊆EM \subseteq EM⊆E in which each vertex is incident to at most one edge; a vertex cover is a set C⊆VC \subseteq VC⊆V containing at least one end-vertex of every edge. A matching is maximum if no matching has more edges; a vertex cover is minimum if no vertex cover has fewer vertices.

The incidence matrix of GGG has a row for each vertex and a column for each edge, with entry 111 when the vertex lies on the edge and 000 otherwise. A real matrix is totally unimodular if every square submatrix, obtained by deleting some rows and some columns, has determinant 000, 111 or −1-1−1.

Given real edge weights wew_ewe​, the integer program (3.1) maximizes ∑ewexe\sum_{e} w_e x_e∑e​we​xe​ subject to ∑e∋vxe=1\sum_{e \ni v} x_e = 1∑e∋v​xe​=1 for every vertex vvv and xe∈{0,1}x_e \in \{0,1\}xe​∈{0,1}; its 0/1 solutions are the perfect matchings. Its LP relaxation replaces xe∈{0,1}x_e \in \{0,1\}xe​∈{0,1} by 0≤xe≤10 \le x_e \le 10≤xe​≤1. The vertex-cover relaxation (3.3) minimizes ∑vxv\sum_v x_v∑v​xv​ subject to xu+xv≥1x_u + x_v \ge 1xu​+xv​≥1 for every edge {u,v}\{u,v\}{u,v} and 0≤xv≤10 \le x_v \le 10≤xv​≤1.

Formalization targets

Goal: König's theorem (Theorem 8.2.2)

For every finite bipartite graph GGG,

max⁡{∣M∣:M a matching of G}  =  min⁡{∣C∣:C a vertex cover of G}.\max\{|M| : M \text{ a matching of } G\} \;=\; \min\{|C| : C \text{ a vertex cover of } G\}.max{∣M∣:M a matching of G}=min{∣C∣:C a vertex cover of G}.

Total unimodularity (Lemmas 8.2.3–8.2.5)

A TU  ⇒  (A∣ei) TU;A TU, b∈Zm, max⁡{cTx:Ax≤b, x≥0} attained  ⇒  attained at some x∗∈Zn;A \text{ TU} \;\Rightarrow\; (A \mid e_i) \text{ TU}; \qquad A \text{ TU},\ b \in \mathbb{Z}^m,\ \max\{c^Tx : Ax \le b,\ x \ge 0\} \text{ attained} \;\Rightarrow\; \text{attained at some } x^* \in \mathbb{Z}^n;A TU⇒(A∣ei​) TU;A TU, b∈Zm, max{cTx:Ax≤b, x≥0} attained⇒attained at some x∗∈Zn;

and the incidence matrix of a bipartite graph is totally unimodular.

Integrality of the perfect-matching relaxation (Theorem 3.2.1)

If the LP relaxation of (3.1) for a bipartite graph with real weights is feasible, it has an optimal solution with all xe∈{0,1}x_e \in \{0,1\}xe​∈{0,1}, which is also optimal for (3.1).

Consequences on the same objects

Hall's theorem (Theorem 8.2.1): if ∣N(T)∣≥∣T∣|N(T)| \ge |T|∣N(T)∣≥∣T∣ for every T⊆XT \subseteq XT⊆X, where N(T)⊆YN(T) \subseteq YN(T)⊆Y is the set of neighbours of TTT, then some matching covers every vertex of XXX. And for an arbitrary graph, with x∗x^*x∗ optimal for (3.3), SLP={v:xv∗≥12}S_{LP} = \{v : x^*_v \ge \tfrac12\}SLP​={v:xv∗​≥21​} and SOPTS_{OPT}SOPT​ a minimum vertex cover (§3.3, p. 38):

SLP is a vertex cover and ∣SLP∣≤2 ∣SOPT∣.S_{LP} \text{ is a vertex cover and } |S_{LP}| \le 2\,|S_{OPT}| .SLP​ is a vertex cover and ∣SLP​∣≤2∣SOPT​∣.

Significance

König's theorem says that for bipartite graphs the two natural certificates, a matching (a lower bound on any vertex cover) and a vertex cover (an upper bound on any matching), always meet. It makes maximum matchings and minimum vertex covers computable by linear programming, whereas minimum vertex cover in general graphs is NP-hard; Section 3.3's rounding bound quantifies what the LP still gives in that general case. Lemma 8.2.4 is the general tool behind this and behind the max-flow min-cut theorem that the book mentions on p. 148: any integer program with a totally unimodular constraint matrix and integral right-hand side can be solved as a linear program.

All results here are classical and proved. The formalization work is to connect them: Mathlib already has the definition of total unimodularity (Matrix.IsTotallyUnimodular), closure under appending unit-like rows, and Hall's theorem in the form of Finset.all_card_le_biUnion_card_iff_exists_injective. To the best of the drafting survey, neither König's theorem nor the total unimodularity of bipartite incidence matrices nor the integrality lemma 8.2.4 is in Mathlib, and no König statement was found among the platform's missions. The mission produces these in a form that later chapters on network flows and combinatorial duality can import.

Difficulty

The inequality "maximum matching ≤\le≤ minimum vertex cover" is immediate, since each edge of a matching needs its own cover vertex. The difficulty is the reverse inequality, and it is exactly where bipartiteness is needed: the triangle has maximum matching 111 and minimum vertex cover 222. Along the book's route, the obstacle is that LP duality equates the optima of the two relaxations, which are real numbers; one must show that both relaxations already have integral optimal solutions, which is the content of total unimodularity and Lemma 8.2.4. Theorem 3.2.1 is a separate integrality statement with equality constraints and weights of arbitrary sign; it is not a consequence of the Birkhoff–von Neumann theorem unless the graph is complete bipartite with equal sides.

Formalization scope

Graphs are SimpleGraph V on a Fintype vertex type with decidable equality; edges are elements of Sym2 V, and a matching is a Finset (Sym2 V) of edges. Bipartiteness is the existence of finite sets X,YX, YX,Y forming a bipartition; the empty graph and the empty vertex type are allowed and the statements remain the book's there. Vertex covers are Mathlib's SimpleGraph.IsVertexCover. Matrices are real; LP vectors are Fin n → ℝ (0-based indices) or indexed by the edge set or the vertices. An "optimal solution" is always a feasible point that is at least as good as every feasible point: no supremum or infimum over a possibly empty or unbounded set is used, and König's theorem asserts that both a maximum matching and a minimum vertex cover exist and have equal size. Lemma 8.2.4 takes b∈Zmb \in \mathbb{Z}^mb∈Zm and allows real ccc; its conclusion is an integral optimal solution, not merely an integral feasible one. Theorem 3.2.1 is the perfect-matching version with equality constraints, not the "≤1\le 1≤1" matching version discussed in the book's remarks.

A formalization in which König's theorem compares a supremum and an infimum of possibly empty sets, or in which "optimal" is not tied to feasibility, would be trivializing and is ruled out by these conventions.

Useful infrastructure, reusable beyond this mission: Laplace expansion arguments for totally unimodular matrices, the equivalence of the inequality form with the equational form, existence of optimal basic feasible solutions, and LP duality in inequality form (the platform's LinearOptimization.lp_strong_duality states duality for a general-form LP). Combinatorial proofs of König and Hall are equally welcome; only the statements are fixed.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §3.2–3.3 and §8.2. https://doi.org/10.1007/978-3-540-30717-4
  • D. Kőnig, "Gráfok és mátrixok", Matematikai és Fizikai Lapok 38 (1931), 116–119.
  • P. Hall, "On representatives of subsets", Journal of the London Mathematical Society 10 (1935), 26–30. https://doi.org/10.1112/jlms/s1-10.37.26
  • A. J. Hoffman, J. B. Kruskal, "Integral boundary points of convex polyhedra", in Linear Inequalities and Related Systems, Annals of Mathematics Studies 38, Princeton, 1956, 223–246. https://doi.org/10.1515/9781400881987-014
  • A. Schrijver, Theory of Linear and Integer Programming, Wiley, 1986, Chapter 19.
14 thms3 active usersReviewed
🏆Completed
Linear OptimizationOperations ResearchOptimization·Captain: mikedeng1

Understanding and Using Linear Programming II: Optimal Basic Feasible Solutions and Vertices in Equational FormTextbook

Motivation

Every finite algorithm for linear programming rests on one structural fact: if a linear program has an optimum at all, it has one at a point singled out by finitely many linear conditions. The simplex method walks between such points, and exact complexity analyses, sensitivity analysis and integrality arguments all start from them. Chapter 4 of J. Matoušek and B. Gärtner, Understanding and Using Linear Programming (Springer, 2007, DOI 10.1007/978-3-540-30717-4), establishes this fact for linear programs in equational form, in the definitions that the rest of the book (the simplex method of Chapter 5, duality in Chapter 6, the applications in Chapter 8) uses.

This mission is the second of a series formalizing that book. It fixes the book's notion of a basic feasible solution and of a vertex, and targets the theorem that optimal solutions exist whenever the program is feasible and bounded, and can then be chosen basic.

Setting

A linear program in equational form is

maximize cTxsubject toAx=b, x≥0,\text{maximize } c^{T}x \quad\text{subject to}\quad Ax=b,\ x\ge 0,maximize cTxsubject toAx=b, x≥0,

where AAA is a real m×nm\times nm×n matrix, b∈Rmb\in\mathbb{R}^mb∈Rm, c∈Rnc\in\mathbb{R}^nc∈Rn, and x≥0x\ge 0x≥0 means every coordinate of xxx is nonnegative. A feasible solution is an x∈Rnx\in\mathbb{R}^nx∈Rn satisfying both constraints; the set of them is PPP. An optimal solution is a feasible xxx with cTy≤cTxc^{T}y\le c^{T}xcTy≤cTx for every feasible yyy. The objective is bounded from above if some real MMM satisfies cTx≤Mc^{T}x\le McTx≤M for all feasible xxx.

Throughout Section 4.2 the book assumes that AAA has n≥mn\ge mn≥m columns and rank mmm (its rows are linearly independent). For S⊆{1,…,n}S\subseteq\{1,\dots,n\}S⊆{1,…,n}, ASA_SAS​ denotes the matrix formed by the columns of AAA with indices in SSS. A basis is an mmm-element set BBB for which ABA_BAB​ is nonsingular, i.e. its columns are linearly independent. A basic feasible solution is a feasible xxx for which some basis BBB has xj=0x_j=0xj​=0 for every j∉Bj\notin Bj∈/B.

A point vvv is a vertex of PPP if v∈Pv\in Pv∈P and some nonzero c∈Rnc\in\mathbb{R}^nc∈Rn satisfies cTv>cTyc^{T}v>c^{T}ycTv>cTy for every y∈P∖{v}y\in P\setminus\{v\}y∈P∖{v}: vvv is the unique maximizer over PPP of a nonzero linear function.

Formalization targets

Goal: Theorem 4.2.3 (p. 46)

For AAA of rank mmm with n≥mn\ge mn≥m,

(P≠∅ ∧ ∃M ∀x∈P, cTx≤M) ⟹ ∃ x∗ optimal,\Bigl(P\neq\emptyset\ \wedge\ \exists M\ \forall x\in P,\ c^{T}x\le M\Bigr)\ \Longrightarrow\ \exists\,x^{*}\ \text{optimal},(P=∅ ∧ ∃M ∀x∈P, cTx≤M) ⟹ ∃x∗ optimal, ∃ x∗ optimal ⟹ ∃ x~ optimal and basic feasible.\exists\,x^{*}\ \text{optimal}\ \Longrightarrow\ \exists\,\tilde x\ \text{optimal and basic feasible}.∃x∗ optimal ⟹ ∃x~ optimal and basic feasible.

Both parts are one theorem, as in the book. Part (i) says optimal solutions fail to exist only for the two obvious reasons, infeasibility and unboundedness; part (ii) says an optimum can always be found among basic feasible solutions.

Milestones

  1. Lemma 4.2.1 (p. 45): a feasible xxx is basic if and only if the columns of AKA_KAK​ are linearly independent, where K={j:xj>0}K=\{j : x_j>0\}K={j:xj​>0}.
  2. Proposition 4.2.2 (p. 45): for a basis BBB there is at most one feasible solution vanishing outside BBB.
  3. The statement proved inside the proof of Theorem 4.2.3 (p. 47): if the objective is bounded above, every feasible x0x_0x0​ is dominated by a basic feasible x~\tilde xx~, cTx~≥cTx0c^{T}\tilde x\ge c^{T}x_0cTx~≥cTx0​.
  4. Theorem 4.4.1 (p. 54): a point of PPP is a vertex of PPP if and only if it is a basic feasible solution.

Significance

Theorem 4.2.3 gives a finite, if impractical, algorithm for linear programming: enumerate the at most (nm)\binom{n}{m}(mn​) sets BBB, solve ABxB=bA_Bx_B=bAB​xB​=b, and keep the best nonnegative solution. It is the correctness backbone of the simplex method, which visits basic feasible solutions in a smarter order, and it is the source of the book's claim that a feasible and bounded linear program has an optimal solution. Theorem 4.4.1 identifies this algebraic notion with the geometric corners of the feasible polyhedron, which is what makes statements such as "the LP relaxation has an integral vertex" in later chapters meaningful.

All of these results are classical and fully proved in the book. The value of formalizing them here is the definition layer: later missions of this series (Bland's rule, the central path, the scheduling application) state their results about bases and basic feasible solutions in exactly these definitions, and a proved Theorem 4.2.3 in this form lets them import the existence of an optimal basic solution instead of re-deriving it. Related facts are already machine-checked on Prove2Me in the formulation of Bertsimas and Tsitsiklis (Introduction to Linear Optimization I and II: minimization over polyhedra {x:aiTx≥bi}\{x : a_i^{T}x\ge b_i\}{x:aiT​x≥bi​}, extreme points, basic solutions as nnn active linearly independent constraints). Those statements concern a different presentation of the program and a different notion of basic solution; connecting them to the equational-form statements here is itself a welcome contribution.

Difficulty

The obvious argument for part (i), "a continuous function on a closed set bounded above attains its supremum", fails: the feasible set is usually unbounded, and a linear function bounded above on an unbounded closed convex set need not obviously attain its supremum without using the polyhedral structure. The existence of an optimum is exactly the nontrivial content of part (i); compactness is not available.

For milestone 1, the delicate direction is the converse: a set of linearly independent columns indexed by KKK must be completed to an mmm-element basis, which requires the rank-mmm assumption. For Theorem 4.4.1, the direction from vertex to basic feasible solution is not local: a vertex is defined by an optimization property, while basicness is a statement about the support of the point.

Formalization scope

All items live in the namespace MatousekLP.BFS and share one definition module, MatousekLP.BFS.EquationalForm. Conventions:

  • vectors are Fin n → ℝ, matrices Matrix (Fin m) (Fin n) ℝ; the book's indices 1,…,n1,\dots,n1,…,n are 0, …, n-1;
  • Ax=bAx=bAx=b is A *ᵥ x = b, x≥0x\ge 0x≥0 is 0 ≤ x (pointwise), cTxc^{T}xcTx is c ⬝ᵥ x;
  • a subset BBB of indices is a Finset (Fin n); "ABA_BAB​ nonsingular" is linear independence over R\mathbb{R}R of the family of columns of AAA indexed by the elements of BBB, together with B.card = m;
  • the standing assumption of §4.2 is the pair of hypotheses m ≤ n and A.rank = m on every theorem;
  • "optimal" and "bounded from above" are stated against every feasible point. No real supremum over the feasible set appears anywhere, so an empty or unbounded feasible set cannot make a statement hold through a default value;
  • "vertex" is the book's unique-maximizer definition of p. 53, not Mathlib's Set.extremePoints; the book's remark on p. 55 that the two coincide is not used as a definition;
  • Theorem 4.4.1 carries the extra hypothesis n≥1n\ge 1n≥1: for n=0n=0n=0 there is no nonzero vector in R0\mathbb{R}^0R0, the single feasible point 000 is basic but not a vertex, and the book's equivalence fails.

A formalization in which "optimal" were defined through sSup of the objective over the feasible set would make part (ii) trivially true or false on unbounded programs; the definitions here rule that out. Dropping the rank hypothesis would make part (ii) false (no basis exists when the rows are dependent), so it is not optional.

Reusable infrastructure: the column-restriction and basis vocabulary, the support set KKK, and the extension of a linearly independent set of columns to a basis of the column space are needed again in the simplex chapter. Proofs of any milestone, and bridges to Mathlib's Set.extremePoints or to the Bertsimas–Tsitsiklis statements on the platform, are welcome.

Selected references

  • J. Matoušek and B. Gärtner, Understanding and Using Linear Programming, Universitext, Springer, 2007, Chapter 4, pp. 41–56. https://doi.org/10.1007/978-3-540-30717-4
  • D. Bertsimas and J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997, Chapter 2.
  • G. M. Ziegler, Lectures on Polytopes, Graduate Texts in Mathematics 152, Springer, 1995. https://doi.org/10.1007/978-1-4613-8431-1
6 thms2 active usersReviewed
🏆Completed
Convex OptimizationLinear OptimizationOperations Research+1·Captain: mikedeng1

Understanding and Using Linear Programming IV: The Duality Theorem and Three Proofs of the Farkas LemmaTextbook

Motivation

Every linear program comes with a second linear program, its dual, whose feasible solutions certify bounds on the optimum of the first. The duality theorem of linear programming says that these certificates are perfect: when both programs are feasible, the best bound equals the optimum. The theorem underlies the analysis of the simplex method, sensitivity analysis and shadow prices in operations research, the minimax theorem for zero-sum games, max-flow/min-cut and König-type min-max theorems in combinatorial optimization, and the primal–dual design of approximation and online algorithms.

The Farkas lemma, a theorem of the alternative for linear systems, contains the essence of duality: a system of linear equations or inequalities either has a (nonnegative) solution, or a single linear combination of its rows proves that it has none. It goes back to Farkas (1902) and Minkowski's work on finitely generated cones; the duality theorem itself is due to von Neumann (1947) and Gale, Kuhn and Tucker (1951).

This mission formalizes Chapter 6 of Matoušek and Gärtner's textbook Understanding and Using Linear Programming (Springer, 2007): the duality theorem in the book's form, weak duality, the Farkas lemma in its algebraic, geometric and three-variant forms, and the lemmas of two self-contained proofs of the Farkas lemma, one analytic (nearest points in finitely generated cones) and one via minimally infeasible systems.

Setting

Let AAA be a real matrix with mmm rows and nnn columns, b∈Rmb\in\mathbb{R}^mb∈Rm, c∈Rnc\in\mathbb{R}^nc∈Rn. Vector inequalities are componentwise. The primal and dual linear programs are

(P)max⁡ cTx  s.t. Ax≤b, x≥0,(D)min⁡ bTy  s.t. ATy≥c, y≥0.\text{(P)}\quad\max\ c^{T}x \ \text{ s.t. } Ax\le b,\ x\ge 0, \qquad\qquad \text{(D)}\quad\min\ b^{T}y \ \text{ s.t. } A^{T}y\ge c,\ y\ge 0.(P)max cTx  s.t. Ax≤b, x≥0,(D)min bTy  s.t. ATy≥c, y≥0.

A feasible solution of (P) is an x∈Rnx\in\mathbb{R}^nx∈Rn satisfying its constraints; an optimal solution is a feasible x∗x^*x∗ with cTx≤cTx∗c^{T}x\le c^{T}x^*cTx≤cTx∗ for every feasible xxx. (P) is unbounded if its objective takes arbitrarily large values on feasible solutions. For the minimization (D) the notions are mirrored: an optimal y∗y^*y∗ has bTy∗≤bTyb^{T}y^*\le b^{T}ybTy∗≤bTy for all feasible yyy, and (D) is unbounded if bTyb^{T}ybTy takes arbitrarily small values.

For a1,…,an∈Rma_1,\dots,a_n\in\mathbb{R}^ma1​,…,an​∈Rm, the convex cone generated by them is C={t1a1+⋯+tnan:ti≥0}C=\{t_1a_1+\dots+t_na_n : t_i\ge 0\}C={t1​a1​+⋯+tn​an​:ti​≥0}; a primitive cone is one generated by k≤mk\le mk≤m linearly independent vectors. A system Ax≤bAx\le bAx≤b of mmm inequalities is minimally infeasible if it has no solution but dropping any one inequality makes it solvable.

Formalization targets

Goal: the duality theorem (§6.1, p. 83)

For (P) and (D) as above, exactly one of the following occurs:

  1. neither (P) nor (D) is feasible;
  2. (P) is unbounded and (D) is infeasible;
  3. (P) is infeasible and (D) is unbounded;
  4. both are feasible; then both have optimal solutions, and every optimal x∗x^*x∗ of (P) and optimal y∗y^*y∗ of (D) satisfy
cTx∗=bTy∗.c^{T}x^*=b^{T}y^*.cTx∗=bTy∗.

Milestones

  • Proposition 6.1.1 (weak duality). cTx≤bTyc^{T}x\le b^{T}ycTx≤bTy for all feasible xxx of (P) and yyy of (D); hence (P) unbounded forces (D) infeasible, and (D) unbounded forces (P) infeasible.
  • Proposition 6.4.1 (Farkas lemma). Exactly one of: Ax=bAx=bAx=b has a solution x≥0x\ge 0x≥0; some yyy has yTA≥0Ty^{T}A\ge 0^{T}yTA≥0T and yTb<0y^{T}b<0yTb<0. Already on the platform as LinearOptimization.farkas_lemma (Proved) and linked as a reference.
  • Proposition 6.4.3 (three variants). Solvability of Ax=bAx=bAx=b, x≥0x\ge0x≥0; of Ax≤bAx\le bAx≤b, x≥0x\ge 0x≥0; and of Ax≤bAx\le bAx≤b with xxx free, each characterized by a certificate condition on yyy.
  • Proposition 6.4.2 (geometric Farkas lemma). bbb lies in the cone generated by a1,…,ana_1,\dots,a_na1​,…,an​, or a hyperplane through 000 separates the cone from bbb strictly — exactly one.
  • Lemmas 6.5.4, 6.5.5, 6.5.3, 6.5.1. Primitive cones are closed; a finitely generated cone is a finite union of primitive cones; hence it is closed (6.5.3, on the platform as Polyhedral.isClosed_conicSpan, Proved); hence it has a point nearest to any b∉Cb\notin Cb∈/C.
  • Lemmas 6.6.2 and 6.6.1. Ax=bAx=bAx=b is solvable iff every yyy with yTA=0Ty^{T}A=0^{T}yTA=0T has yTb=0y^{T}b=0yTb=0; in a minimally infeasible system, for every iii some x~(i)\tilde x^{(i)}x~(i) satisfies all inequalities except the iiith with equality.

Significance

The result. The duality theorem converts optimality into feasibility: a pair (x,y)(x,y)(x,y) of primal and dual feasible solutions with cTx=bTyc^{T}x=b^{T}ycTx=bTy is a short, checkable certificate that both are optimal, and the theorem guarantees such a certificate exists whenever an optimum does. It classifies every primal–dual pair into four behaviours and excludes the other five combinations of feasible-bounded, unbounded and infeasible. Later chapters of the same book rest on it: the minimax theorem for zero-sum games, the integrality of bipartite matching polytopes, the LP rounding for unrelated-machine scheduling, and the Delsarte bound for codes.

Formalizing it. All results here are classical and fully proved in the book; the work is formalization. Mathlib contains a Farkas lemma for proper cones in Hilbert spaces and closedness facts for finitely generated cones, and the platform already has Bertsimas–Tsitsiklis-style duality for a general-form minimization (LinearOptimization.lp_strong_duality) and matrix Farkas lemmas. What is missing is the textbook statement in Matoušek's inequality form (P)/(D), with its four-case exclusive classification, together with the chain of named lemmas that make two different elementary proofs of the Farkas lemma machine-checkable. The analytic chain (6.5.x) and the minimally-infeasible chain (6.6.x) are reusable independently of LP.

Difficulty

Weak duality is a two-line computation. The difficulty is entirely in the reverse direction, that a feasible bounded (P) forces the dual to be feasible with the same value. Any proof must use something beyond linear algebra over R\mathbb{R}R: either the termination of the simplex method with an anticycling rule, a topological fact (a finitely generated cone is closed), or an extremal argument (an optimal solution of an auxiliary LP). The naive geometric argument — take the nearest point of the cone to bbb — fails without closedness, and closedness of the cone generated by a set is false for infinitely generated cones (the cone over a disc touching the origin is an open half-plane plus a point), so finiteness has to be used, which is the role of the primitive-cone decomposition. In the four-case theorem itself, the remaining obstacle is attainment: "bounded and feasible" must be upgraded to "an optimum exists" for both programs, which is not a consequence of Farkas-type statements alone.

Formalization scope

  • Vectors are Fin n → ℝ and matrices Matrix (Fin m) (Fin n) ℝ; the book's indices 1,…,n1,\dots,n1,…,n become 0,…,n−10,\dots,n-10,…,n−1. The row vector yTAy^{T}AyTA is Aᵀ *ᵥ y, so yTA≥0Ty^{T}A\ge 0^{T}yTA≥0T is 0 ≤ Aᵀ *ᵥ y; scalar products are ⬝ᵥ.
  • Optimal solutions and unboundedness are stated against every feasible point; no sSup/sInf is used, so no junk value of an empty or unbounded supremum enters. "Exactly one of the four cases" is ∃! k : Fin 4, DualityCase A b c k, with the book's case kkk at index k−1k-1k−1; a plain disjunction would be weaker than the book.
  • Cone items live in EuclideanSpace ℝ (Fin m), so the nearest point of Lemma 6.5.1 is Euclidean and yTxy^{T}xyTx is the inner product. The convex cone generated by a1,…,ana_1,\dots,a_na1​,…,an​ is the set of nonnegative combinations (it contains 000, also for n=0n=0n=0).
  • A trivializing formalization — case 4 read as "if both have optimal solutions then their values agree", which is weak duality plus nothing — is ruled out: case 4 asserts the existence of both optima from feasibility alone.
  • Lemma 6.3.1 (the dual solution read off the final simplex tableau) and Lemma 6.5.2 (nearest point in a nonempty closed set, available in Mathlib as IsClosed.exists_infDist_eq_dist) are not separate targets. The Fourier–Motzkin elimination of §6.7 has no numbered result.
  • Contributions welcome: proofs of any milestone, the two Farkas-lemma chains, and bridges to the general-form duality already on the platform.

Selected references

  • J. Matoušek and B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, Chapter 6. https://doi.org/10.1007/978-3-540-30717-4
  • J. Farkas, Theorie der einfachen Ungleichungen, J. Reine Angew. Math. 124 (1902), 1–27. https://doi.org/10.1515/crll.1902.124.1
  • D. Gale, H. W. Kuhn and A. W. Tucker, Linear programming and the theory of games, in Activity Analysis of Production and Allocation, Wiley, 1951, 317–329.
  • M. Conforti, M. Di Summa and G. Zambelli, Minimally infeasible set-partitioning problems with balanced constraints, Mathematics of Operations Research (cited in the book as to appear; the source of the proof in §6.6).
  • D. Bertsimas and J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997, Chapter 4.
14 thms5 active usersReviewed
🏆Completed
Convex OptimizationLinear OptimizationOperations Research+1·Captain: mikedeng1

Understanding and Using Linear Programming V: The Primal–Dual Central Path and the Self-Dual EmbeddingTextbook

Motivation

Interior point methods solve linear programs in a number of iterations polynomial in the input size, and in practice they compete with the simplex method on large instances. Their modern form goes back to Karmarkar's projective algorithm (Karmarkar 1984); the primal–dual path-following variant analysed in textbooks follows a curve, the central path, defined by a perturbed system of optimality conditions. Two facts make the method well defined. First, the central path exists and is unique whenever the primal and dual programs have strictly feasible points. Second, an arbitrary linear program, possibly infeasible or unbounded, can be embedded in an auxiliary program that has an explicit starting point on its own central path and whose suitable optimal solutions either solve the original program or certify that it has no optimum.

Chapter 7, §7.2 of Matoušek and Gärtner, Understanding and Using Linear Programming (Springer 2007), presents both facts in elementary form, following Terlaky (2001). This mission formalizes its three numbered lemmas.

Timeline. The homogeneous system bearing their names is due to Goldman and Tucker (1956), in the study of the structure of optimal solution sets; the self-dual embedding for interior point methods was introduced by Ye, Todd and Mizuno (1994), and the book's presentation follows the skew-symmetric form in Roos, Terlaky and Vial (2005).

Setting

Let AAA be a real m×nm\times nm×n matrix, b∈Rmb\in\mathbb{R}^mb∈Rm, c∈Rnc\in\mathbb{R}^nc∈Rn. The linear program in equational form (7.2) is

maximize cTx subject to Ax=b, x≥0,\text{maximize } c^{T}x \text{ subject to } Ax=b,\ x\ge 0,maximize cTx subject to Ax=b, x≥0,

where AAA has rank mmm; its dual (7.5) is: minimize bTyb^{T}ybTy subject to ATy≥cA^{T}y\ge cATy≥c, y∈Rmy\in\mathbb{R}^my∈Rm. The notation x>0x>0x>0 means that all coordinates of xxx are strictly positive. For μ>0\mu>0μ>0 the barrier function is fμ(x)=cTx+μ∑j=1nln⁡xjf_\mu(x)=c^{T}x+\mu\sum_{j=1}^n\ln x_jfμ​(x)=cTx+μ∑j=1n​lnxj​, defined for x>0x>0x>0. The central-path system (7.4), in unknowns x,s∈Rnx,s\in\mathbb{R}^nx,s∈Rn and y∈Rmy\in\mathbb{R}^my∈Rm, is

Ax=b,ATy−s=c,(s1x1,…,snxn)=μ1,x,s≥0.Ax=b,\qquad A^{T}y-s=c,\qquad (s_1x_1,\dots,s_nx_n)=\mu\mathbf 1,\qquad x,s\ge 0 .Ax=b,ATy−s=c,(s1​x1​,…,sn​xn​)=μ1,x,s≥0.

For the embedding, the book switches to the inequality form (7.7): maximize cTxc^{T}xcTx subject to Ax≤bAx\le bAx≤b, x≥0x\ge 0x≥0, with dual: minimize bTyb^{T}ybTy subject to ATy≥cA^{T}y\ge cATy≥c, y≥0y\ge 0y≥0. The Goldman–Tucker system (GTS) is

Ax−τb≤0,−ATy+τc≤0,bTy−cTx≤0,x,y≥0, τ≥0,Ax-\tau b\le 0,\qquad -A^{T}y+\tau c\le 0,\qquad b^{T}y-c^{T}x\le 0,\qquad x,y\ge 0,\ \tau\ge 0,Ax−τb≤0,−ATy+τc≤0,bTy−cTx≤0,x,y≥0, τ≥0,

and ρ=ρ(x,y)=cTx−bTy\rho=\rho(x,y)=c^{T}x-b^{T}yρ=ρ(x,y)=cTx−bTy is the slack of its last inequality. With u=(y,x,τ)∈Rku=(y,x,\tau)\in\mathbb{R}^ku=(y,x,τ)∈Rk, k=n+m+1k=n+m+1k=n+m+1, (GTS) reads M0u≤0M_0u\le 0M0​u≤0, u≥0u\ge 0u≥0 for the skew-symmetric matrix

M0=(0A−b−AT0cbT−cT0).M_0=\begin{pmatrix}0&A&-b\\-A^{T}&0&c\\b^{T}&-c^{T}&0\end{pmatrix}.M0​=​0−ATbT​A0−cT​−bc0​​.

Put r=1+M01r=\mathbf 1+M_0\mathbf 1r=1+M0​1, M=(M0−rrT0)M=\begin{pmatrix}M_0&-r\\r^{T}&0\end{pmatrix}M=(M0​rT​−r0​) and q=(0,…,0,k+1)∈Rk+1q=(0,\dots,0,k+1)\in\mathbb{R}^{k+1}q=(0,…,0,k+1)∈Rk+1. The self-dual program (SD) in v=(u,ϑ)v=(u,\vartheta)v=(u,ϑ) is: maximize −qTv-q^{T}v−qTv subject to Mv≤qMv\le qMv≤q, v≥0v\ge 0v≥0. Its slacks are z=q−Mvz=q-Mvz=q−Mv, and a feasible vvv is strictly complementary if vj>0v_j>0vj​>0 or zj>0z_j>0zj​>0 for every j=1,…,k+1j=1,\dots,k+1j=1,…,k+1.

Formalization targets

Goal: Lemma 7.2.1 (p. 121)

If (7.2) has a feasible x~>0\tilde x>0x~>0 and (7.5) has a feasible y~\tilde yy~​ with s~=ATy~−c>0\tilde s=A^{T}\tilde y-c>0s~=ATy~​−c>0, then for every μ>0\mu>0μ>0

∃! (x∗,y∗,s∗) solving (7.4),x∗=arg⁡max⁡{fμ(x):Ax=b, x>0} (uniquely).\exists!\,(x^*,y^*,s^*)\ \text{solving (7.4)},\qquad x^*=\arg\max\{f_\mu(x): Ax=b,\ x>0\}\ \text{(uniquely)}.∃!(x∗,y∗,s∗) solving (7.4),x∗=argmax{fμ​(x):Ax=b, x>0} (uniquely).

Milestones

  1. Claim in the proof of Lemma 7.2.1 (p. 121): under the lemma's assumptions and for fixed μ>0\mu>0μ>0, the set Q={x:Ax=b, x>0, fμ(x)≥fμ(x~)}Q=\{x: Ax=b,\ x>0,\ f_\mu(x)\ge f_\mu(\tilde x)\}Q={x:Ax=b, x>0, fμ​(x)≥fμ​(x~)} is bounded.
  2. Lemma 7.2.2 (p. 126): no solution of (GTS) has τ≠0\tau\ne 0τ=0 and ρ≠0\rho\ne 0ρ=0; exactly one of "a solution with τ>0\tau>0τ>0" and "a solution with ρ>0\rho>0ρ>0" exists; in the first case 1τx\frac1\tau xτ1​x and 1τy\frac1\tau yτ1​y are optimal for (7.7) and its dual; in the second, (7.7) is infeasible or unbounded.
  3. Lemma 7.2.3 (p. 128): (SD) is feasible and bounded, every optimal solution has ϑ=0\vartheta=0ϑ=0 and its uuu-part solves (GTS), and every strictly complementary optimal solution gives a solution of (GTS) with τ>0\tau>0τ>0 or ρ>0\rho>0ρ>0.

Significance

Lemma 7.2.1 is what makes "the central path" a well-defined object: without existence, a path-following method has nothing to follow, and without uniqueness the point x∗(μ)x^*(\mu)x∗(μ) that the algorithm approximates is not determined. It also identifies the barrier maximizer with the solution of the Lagrange system (7.4), which is the system the Newton steps of the algorithm linearize. Lemmas 7.2.2 and 7.2.3 remove the need for an interior starting point and for knowing in advance that the program has an optimum: every linear program reduces to computing a strictly complementary optimal solution of a program with a known interior point on its central path.

The three lemmas are classical and proved in the book (7.2.2 as a sketch). Formalizing them adds a machine-checked account of the central path in equational form, and of the Goldman–Tucker and self-dual constructions with explicit block matrices, reusable by any later formalization of interior point complexity bounds. As far as a search of the platform shows, no formal statement of the Goldman–Tucker system or of the self-dual embedding exists there; the nearest item, Lemma 9.5 of Introduction to Linear Optimization XII (Bertsimas–Tsitsiklis), characterizes the central path by KKT conditions and is not linked to a formal statement.

Difficulty

For Lemma 7.2.1, uniqueness of a maximizer follows from strict concavity, but existence does not: the feasible region {Ax=b, x>0}\{Ax=b,\ x>0\}{Ax=b, x>0} is open relative to its affine hull and typically unbounded, and fμf_\mufμ​ need not attain its supremum on such a set. The interior dual point is what rules out escape to infinity; the primal interior point is what rules out escape to the boundary. Identifying the maximizer with the unique solution of (7.4) further needs the Lagrange multiplier rule on an open set and the full row rank of AAA to determine yyy from sss.

For Lemma 7.2.2 the exclusivity and the optimality statements are weak-duality arguments, but existence of a solution with ρ>0\rho>0ρ>0 when (7.7) is infeasible or unbounded requires a Farkas-type alternative for both the primal and the dual, and the case split in the book's sketch ("the dual case is analogous") must be carried out. Lemma 7.2.3 requires bookkeeping with the block structure of MMM and the skew-symmetry of M0M_0M0​.

Formalization scope

Vectors are functions Fin n → ℝ and Fin m → ℝ; the book's indices 1,…,n1,\dots,n1,…,n become 0,…,n−10,\dots,n-10,…,n−1. Matrices are Matrix (Fin m) (Fin n) ℝ, inequalities between vectors are componentwise, x>0x>0x>0 is ∀ j, 0 < x j. The rank condition of (7.2) is the hypothesis A.rank = m. Optimal solutions and unboundedness are expressed against every feasible point, never through a real supremum. The vector u=(y,x,τ)u=(y,x,\tau)u=(y,x,τ) is indexed by Fin m ⊕ Fin n ⊕ Unit and v=(u,ϑ)v=(u,\vartheta)v=(u,ϑ) by (Fin m ⊕ Fin n ⊕ Unit) ⊕ Unit; M0M_0M0​, rrr, MMM and qqq are defined entrywise on these index types, with the last entry of qqq equal to k+1=n+m+2k+1=n+m+2k+1=n+m+2. "Exactly one" in Lemma 7.2.2 is Xor.

Lean's Real.log returns 000 for nonpositive arguments, so a statement comparing fμf_\mufμ​ over {Ax=b}\{Ax=b\}{Ax=b} or {Ax=b, x≥0}\{Ax=b,\ x\ge 0\}{Ax=b, x≥0} would be a different, and generally false or trivial, claim; every comparison of barrier values is restricted to points with all coordinates strictly positive. The unique solution of (7.4) is stated as existence plus equality of every solution with it, not as existence of some solution.

Useful infrastructure: strict concavity of sums of logarithms, the Lagrange multiplier rule for affine constraints (Mathlib's IsLocalExtrOn.exists_multipliers_of_hasStrictFDerivAt or a direct orthogonality argument), compactness of closed bounded sets in Fin n → ℝ, and Farkas' lemma in the forms of Proposition 6.4.1 of the book. Proofs of the milestones, alternative arguments, and general lemmas about skew-symmetric linear programs are all welcome.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §7.2. https://doi.org/10.1007/978-3-540-30717-4
  • T. Terlaky, An easy way to teach interior-point methods, European Journal of Operational Research 130(1), 2001, 1–19.
  • C. Roos, T. Terlaky, J.-P. Vial, Interior Point Methods for Linear Optimization, 2nd ed., Springer, 2005. https://doi.org/10.1007/b100325
  • A. J. Goldman, A. W. Tucker, Theory of linear programming, in Linear Inequalities and Related Systems, Annals of Mathematics Studies 38, Princeton University Press, 1956, 53–97.
  • Y. Ye, M. J. Todd, S. Mizuno, An O(nL)O(\sqrt{n}L)O(n​L)-iteration homogeneous and self-dual linear programming algorithm, Mathematics of Operations Research 19(1), 1994, 53–67. https://doi.org/10.1287/moor.19.1.53
  • N. Karmarkar, A new polynomial-time algorithm for linear programming, Combinatorica 4, 1984, 373–395. https://doi.org/10.1007/BF02579150
  • F. A. Potra, S. J. Wright, Interior-point methods, Journal of Computational and Applied Mathematics 124, 2000, 281–302.
6 thms3 active usersReviewed
🏆Completed
Algorithmic Game TheoryLinear OptimizationOperations Research+1·Captain: mikedeng1

Understanding and Using Linear Programming VI: The Minimax Theorem for Zero-Sum GamesTextbook

Why zero-sum games belong in a linear programming course

A two-player zero-sum game models any situation in which one party's gain is exactly the other party's loss: a military allocation in the spirit of Colonel Blotto, a sealed-bid contest, rock–paper–scissors. The central question is what each player should do when the opponent is also reasoning about them. John von Neumann answered it in 1928 with the minimax theorem (von Neumann 1928): each player has a strategy guaranteeing the same number, the value of the game, whatever the opponent does. The theorem underlies modern game theory, robust decision making, and the analysis of online learning algorithms, where regret bounds are routinely derived from it.

Section 8.1 of Matoušek and Gärtner's Understanding and Using Linear Programming (Springer 2007) presents the theorem as an application of linear programming duality. This mission is the sixth of a series formalizing the capstone results of the book.

Setting

Alice has m≥1m \ge 1m≥1 pure strategies and Bob has n≥1n \ge 1n≥1. A real m×nm \times nm×n payoff matrix M=(mij)M = (m_{ij})M=(mij​) records Alice's gain, and Bob's loss, when Alice plays her iiith and Bob his jjjth pure strategy. A mixed strategy of Alice is a probability vector x∈Rm\mathbf x \in \mathbb R^mx∈Rm, ∑ixi=1\sum_i x_i = 1∑i​xi​=1, x≥0\mathbf x \ge \mathbf 0x≥0; a mixed strategy of Bob is a probability vector y∈Rn\mathbf y \in \mathbb R^ny∈Rn. When the players randomize independently, Alice's expected payoff is

xTMy=∑i,jmijxiyj.\mathbf x^T M \mathbf y = \sum_{i,j} m_{ij} x_i y_j .xTMy=i,j∑​mij​xi​yj​.

The worst-case payoffs are

β(x)=min⁡yxTMy,α(y)=max⁡xxTMy,\beta(\mathbf x) = \min_{\mathbf y} \mathbf x^T M \mathbf y, \qquad \alpha(\mathbf y) = \max_{\mathbf x} \mathbf x^T M \mathbf y,β(x)=ymin​xTMy,α(y)=xmax​xTMy,

over mixed strategies. A mixed strategy of Bob is a best response against x\mathbf xx if it minimizes xTMy\mathbf x^T M\mathbf yxTMy; a mixed strategy of Alice is a best response against y\mathbf yy if it maximizes it. A pair (x~,y~)(\tilde{\mathbf x}, \tilde{\mathbf y})(x~,y~​) is a mixed Nash equilibrium (Definition 8.1.1) if each is a best response against the other. Alice's x~\tilde{\mathbf x}x~ is worst-case optimal if β(x~)=max⁡xβ(x)\beta(\tilde{\mathbf x}) = \max_{\mathbf x} \beta(\mathbf x)β(x~)=maxx​β(x); Bob's y~\tilde{\mathbf y}y~​ is worst-case optimal if α(y~)=min⁡yα(y)\alpha(\tilde{\mathbf y}) = \min_{\mathbf y}\alpha(\mathbf y)α(y~​)=miny​α(y).

The proof in the book passes through three linear programs: the dual of (8.1), which for a fixed x\mathbf xx maximizes x0x_0x0​ subject to MTx−1x0≥0M^T \mathbf x - \mathbf 1 x_0 \ge \mathbf 0MTx−1x0​≥0; program (8.2), the same with x\mathbf xx as variables subject to ∑ixi=1\sum_i x_i = 1∑i​xi​=1, x≥0\mathbf x \ge \mathbf 0x≥0; and program (8.4), which minimizes y0y_0y0​ subject to My−1y0≤0M \mathbf y - \mathbf 1 y_0 \le \mathbf 0My−1y0​≤0, ∑jyj=1\sum_j y_j = 1∑j​yj​=1, y≥0\mathbf y \ge \mathbf 0y≥0.

Formalization targets

Goal: Theorem 8.1.3 (minimax theorem for zero-sum games)

For every m×nm \times nm×n payoff matrix with m,n≥1m, n \ge 1m,n≥1: worst-case optimal mixed strategies exist for both players; for any worst-case optimal x~\tilde{\mathbf x}x~ of Alice and y~\tilde{\mathbf y}y~​ of Bob, the pair (x~,y~)(\tilde{\mathbf x}, \tilde{\mathbf y})(x~,y~​) is a mixed Nash equilibrium; and there is a single number vvv, the value of the game, with

β(x~)=x~TMy~=α(y~)=v\beta(\tilde{\mathbf x}) = \tilde{\mathbf x}^T M \tilde{\mathbf y} = \alpha(\tilde{\mathbf y}) = vβ(x~)=x~TMy~​=α(y~​)=v

for every such pair. The third clause is what distinguishes the theorem from the existence of some saddle point.

Milestones

  1. β\betaβ and α\alphaα are attained minima and maxima (p. 135).
  2. Lemma 8.1.2(i): β(x)≤xTMy≤α(y)\beta(\mathbf x) \le \mathbf x^T M \mathbf y \le \alpha(\mathbf y)β(x)≤xTMy≤α(y) for all mixed x,y\mathbf x, \mathbf yx,y, hence max⁡xβ≤min⁡yα\max_{\mathbf x}\beta \le \min_{\mathbf y}\alphamaxx​β≤miny​α.
  3. Lemma 8.1.2(ii): both strategies of a mixed Nash equilibrium are worst-case optimal.
  4. Lemma 8.1.2(iii): β(x~)=α(y~)\beta(\tilde{\mathbf x}) = \alpha(\tilde{\mathbf y})β(x~)=α(y~​) implies that (x~,y~)(\tilde{\mathbf x}, \tilde{\mathbf y})(x~,y~​) is a mixed Nash equilibrium.
  5. The dual of (8.1) has optimal value β(x)\beta(\mathbf x)β(x) (p. 137).
  6. Eq. (8.3): an optimal solution (x~0,x~)(\tilde x_0, \tilde{\mathbf x})(x~0​,x~) of (8.2) satisfies x~0=β(x~)=max⁡xβ(x)\tilde x_0 = \beta(\tilde{\mathbf x}) = \max_{\mathbf x}\beta(\mathbf x)x~0​=β(x~)=maxx​β(x).
  7. Eq. (8.5): an optimal solution (y~0,y~)(\tilde y_0, \tilde{\mathbf y})(y~​0​,y~​) of (8.4) satisfies y~0=α(y~)=min⁡yα(y)\tilde y_0 = \alpha(\tilde{\mathbf y}) = \min_{\mathbf y}\alpha(\mathbf y)y~​0​=α(y~​)=miny​α(y).
  8. Programs (8.2) and (8.4) both have optimal solutions, and their optimum values coincide (p. 138).
  9. The minimax equality (p. 137):
max⁡xmin⁡yxTMy=min⁡ymax⁡xxTMy.\max_{\mathbf x}\min_{\mathbf y}\mathbf x^T M \mathbf y = \min_{\mathbf y}\max_{\mathbf x}\mathbf x^T M \mathbf y .xmax​ymin​xTMy=ymin​xmax​xTMy.

Significance

The theorem gives a complete prescription for zero-sum play: a worst-case optimal strategy secures at least the value against any opponent, and a worst-case optimal opponent holds the player to at most the value, so both players can announce their strategies in advance without loss. With Lemma 8.1.2(ii) it yields a characterization: a pair of mixed strategies is a Nash equilibrium if and only if both are worst-case optimal. The minimax equality is used downstream in online learning (regret-to-value arguments), in robust optimization, and in Yao's principle for randomized algorithms.

The mathematics is classical and proved; what this mission adds is a machine-checked version in the book's own formulation. The platform already has AGT.zero_sum_minimax (Algorithmic Game Theory I), which proves the existence of a saddle point, and the general FamousTheorems.sion_minimax_theorem. Neither states that every pair of worst-case optimal strategies is an equilibrium with a common value, and neither exhibits the LP route: the dual of (8.1), the programs (8.2) and (8.4), and their duality. The mission records that route statement by statement, so that it can be reused as a worked instance of LP duality.

Difficulty

Lemma 8.1.2 is routine; the entire content is the reverse inequality max⁡xβ(x)≥min⁡yα(y)\max_{\mathbf x}\beta(\mathbf x) \ge \min_{\mathbf y}\alpha(\mathbf y)maxx​β(x)≥miny​α(y). The obvious attack, maximizing β\betaβ directly, fails because β\betaβ is a minimum of linear functions and hence not linear, so its maximization is not a linear program as written. The obstacle is removed only by an appeal to LP duality in the proof, together with the facts that the simplices are nonempty and compact, and that the relevant programs are feasible and bounded so that optima exist. None of this is supplied by the pure-strategy structure of the game: pure Nash equilibria need not exist (rock–paper–scissors has none).

Formalization scope

Pure strategies are indexed by Fin m and Fin n, with the book's standing assumption m,n≥1m, n \ge 1m,n≥1 carried as hypotheses 1 ≤ m, 1 ≤ n by every theorem; the book's indices 1,…,m1,\dots,m1,…,m become 0,…,m−10,\dots,m-10,…,m−1. Mixed strategies are Mathlib's stdSimplex ℝ (Fin m), the payoff is x ⬝ᵥ (M *ᵥ y). β(x)\beta(\mathbf x)β(x) is the real sInf and α(y)\alpha(\mathbf y)α(y) the real sSup of the payoffs over the opponent's simplex; milestone 1 states that these are attained. A mixed Nash equilibrium is defined in the verbal form of Definition 8.1.1 (mutual best responses). Worst-case optimality is defined against all mixed strategies, never as a saddle-point condition, so the goal is not circular with Lemma 8.1.2(iii). LP optimality is stated as "feasible and at least as good as every feasible point", so no supremum over a possibly empty or unbounded feasible set is used.

The book's clause that worst-case optimal strategies "can be efficiently computed by linear programming" is algorithmic and is not part of the formal statement; there is no complexity model. A goal asserting only the existence of worst-case optimal strategies, or only the existence of some equilibrium, would drop the theorem's third clause and is ruled out: the common value vvv is quantified before all pairs of worst-case optimal strategies.

A complete development needs compactness of the standard simplex, continuity of the bilinear payoff, and a strong duality theorem for linear programs in the form of the programs (8.2)/(8.4); the latter is reusable across the whole series. Proofs by other routes (Sion's theorem, a separating hyperplane argument, fixed points) are welcome for the goal; the LP milestones stand on their own as statements about the programs.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.1, pp. 131–142. https://doi.org/10.1007/978-3-540-30717-4
  • J. von Neumann, "Zur Theorie der Gesellschaftsspiele", Mathematische Annalen 100 (1928), 295–320. https://doi.org/10.1007/BF01448847
  • M. Sion, "On general minimax theorems", Pacific Journal of Mathematics 8 (1958), 171–176. https://doi.org/10.2140/pjm.1958.8.171
12 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research+2·Captain: mikedeng1

Understanding and Using Linear Programming VII: LP Rounding Schedules Unrelated Machines Within Twice the Optimal MakespanTextbook

Motivation

Scheduling indivisible jobs on parallel machines to finish all of them as early as possible is a basic problem in operations research and in the theory of algorithms. In the unrelated machines model each job may take a different time on each machine, with no relation between the rows of the time table, as when machines of different types (black-and-white, duplex, colour copiers in the book's example) handle jobs of different kinds. Minimizing the makespan in this model is NP-hard, so the question is how close to the optimum a polynomial-time algorithm can get.

  • 1990. Lenstra, Shmoys and Tardos (Math. Programming 46, 259–271) give a polynomial-time algorithm that rounds a basic optimal solution of a linear programming relaxation and returns a schedule of makespan at most 2 topt2\,t_{\mathrm{opt}}2topt​. The same paper shows that approximating the optimum makespan within a factor less than 3/23/23/2 is NP-hard.
  • 2007. Matoušek and Gärtner present the algorithm in §8.3 of Understanding and Using Linear Programming in a simplified, somewhat less efficient form: minimize t∗(T)+Tt^*(T) + Tt∗(T)+T over the thresholds TTT rather than binary-searching for the smallest TTT with t∗(T)≤Tt^*(T) \le Tt∗(T)≤T. This mission follows the book's presentation.

The gap between 3/23/23/2 and 222 for the general unrelated-machines problem has remained open since 1990; it is the standard example of LP rounding driven by the sparsity of basic solutions.

Setting

There are mmm machines MMM and nnn jobs JJJ; dij>0d_{ij} > 0dij​>0 is the running time of job jjj on machine iii. A schedule is a map σ:J→M\sigma : J \to Mσ:J→M assigning each job to one machine. The load of machine iii is ∑j:σ(j)=idij\sum_{j:\sigma(j)=i} d_{ij}∑j:σ(j)=i​dij​, the makespan of σ\sigmaσ is the largest load, and toptt_{\mathrm{opt}}topt​ is the makespan of an optimal schedule, one whose makespan is at most that of every schedule.

For a real threshold TTT, the linear program LPR(T)\mathrm{LPR}(T)LPR(T) in the variables ttt and xijx_{ij}xij​ is

minimize  tsubject to  ∑i∈Mxij=1  (j∈J),∑j∈Jdijxij≤t  (i∈M),xij≥0,xij=0  whenever dij>T.\begin{aligned} \text{minimize } \ & t \\ \text{subject to } \ & \textstyle\sum_{i \in M} x_{ij} = 1 \ \ (j \in J), \qquad \textstyle\sum_{j \in J} d_{ij} x_{ij} \le t \ \ (i \in M),\\ & x_{ij} \ge 0, \qquad x_{ij} = 0 \ \text{ whenever } d_{ij} > T . \end{aligned}minimize  subject to  ​t∑i∈M​xij​=1  (j∈J),∑j∈J​dij​xij​≤t  (i∈M),xij​≥0,xij​=0  whenever dij​>T.​

Its optimal value is t∗(T)t^*(T)t∗(T), with t∗(T)=∞t^*(T) = \inftyt∗(T)=∞ when LPR(T)\mathrm{LPR}(T)LPR(T) is infeasible. The constraint matrix AAA has one row per machine, one per job and one per pair with dij>Td_{ij} > Tdij​>T; the column of xijx_{ij}xij​ carries dijd_{ij}dij​ in the row of machine iii, 111 in the row of job jjj, and 111 in the row of the constraint xij=0x_{ij} = 0xij​=0 if present. Assumption 8.3.1 on a solution x∗x^*x∗ is that the columns of AAA belonging to its nonzero variables are linearly independent; basic feasible solutions satisfy it. The support graph of x∗x^*x∗ is the bipartite graph G=(M∪J,E)G = (M \cup J, E)G=(M∪J,E) with E={{i,j}:xij∗>0}E = \{\{i,j\} : x^*_{ij} > 0\}E={{i,j}:xij∗​>0}.

Formalization targets

Goal: Theorem 8.3.4

Let T∗T^*T∗ minimize t∗(T)+Tt^*(T) + Tt∗(T)+T over all real TTT and let (t∗,x∗)(t^*, x^*)(t∗,x∗) be an optimal solution of LPR(T∗)\mathrm{LPR}(T^*)LPR(T∗) satisfying Assumption 8.3.1. Then there is a schedule σ\sigmaσ with xσ(j)j∗>0x^*_{\sigma(j) j} > 0xσ(j)j∗​>0 for every job jjj and

max⁡i∈M∑j:σ(j)=idij  ≤  2 topt.\max_{i \in M} \sum_{j : \sigma(j) = i} d_{ij} \;\le\; 2\, t_{\mathrm{opt}} .i∈Mmax​j:σ(j)=i∑​dij​≤2topt​.

Milestones

  1. Lemma 8.3.2. Every subgraph of the support graph GGG has at most as many edges as vertices: ∣E′∣≤∣M′∣+∣J′∣|E'| \le |M'| + |J'|∣E′∣≤∣M′∣+∣J′∣.
  2. Lemma 8.3.3. For T≥0T \ge 0T≥0 and an optimal solution (t∗,x∗)(t^*, x^*)(t∗,x∗) of LPR(T)\mathrm{LPR}(T)LPR(T) satisfying Assumption 8.3.1, some schedule along the edges of GGG has makespan at most t∗+Tt^* + Tt∗+T.
  3. Proof of Theorem 8.3.4, first step. LPR(topt)\mathrm{LPR}(t_{\mathrm{opt}})LPR(topt​) is feasible and t∗(topt)≤toptt^*(t_{\mathrm{opt}}) \le t_{\mathrm{opt}}t∗(topt​)≤topt​.
  4. Proof of Theorem 8.3.4, second step. t∗(T∗)+T∗≤2 toptt^*(T^*) + T^* \le 2\,t_{\mathrm{opt}}t∗(T∗)+T∗≤2topt​.

Significance

The theorem gives a polynomial-time 2-approximation for an NP-hard problem, and its proof isolates a reusable principle: a basic solution of an assignment-type LP has a support graph in which every subgraph has at most as many edges as vertices (a pseudoforest), so all but a matching's worth of the fractional assignment is already integral. The same sparsity argument underlies rounding results for the generalized assignment problem and for many later scheduling and allocation relaxations.

The result has been proved since 1990 and is textbook material. It is not formalized on Prove2Me or, to the maintainers' knowledge, in Mathlib. This mission produces a machine-checked version of the rounding theorem together with the counting lemma on basic solutions, the relaxation inequality t∗(topt)≤toptt^*(t_{\mathrm{opt}}) \le t_{\mathrm{opt}}t∗(topt​)≤topt​, and the bound on the chosen threshold, each stated on shared definitions of the scheduling LP.

Difficulty

The obvious approach, rounding every job to the machine carrying the largest fraction of it, can overload a machine by many jobs at once and gives no constant factor. The bound t∗+Tt^* + Tt∗+T needs two facts that are not visible from the LP value alone: that the support of a basic solution is sparse in the precise sense of Lemma 8.3.2, which has to be read off the linear independence of columns of the constraint matrix after deleting rows; and that the jobs left fractional can be matched injectively to machines, which requires a Hall-type condition derived from that sparsity. Relating linear independence of real column vectors to an edge count in a bipartite graph, and then producing a matching, is where the formal work lies.

A second subtlety is the threshold TTT: the bound t∗+T≤2toptt^* + T \le 2 t_{\mathrm{opt}}t∗+T≤2topt​ holds only because T∗T^*T∗ is chosen by minimizing over thresholds, and the relaxation at T=toptT = t_{\mathrm{opt}}T=topt​ must be compared with the one at T∗T^*T∗ through optimal solutions of different linear programs.

Formalization scope

Machines are Fin m, jobs are Fin n (0-based; the book's machines 1,…,m1,\dots,m1,…,m and jobs m+1,…,m+nm+1,\dots,m+nm+1,…,m+n are disjoint index sets), running times form d : Matrix (Fin m) (Fin n) ℝ, and the standing hypothesis dij>0d_{ij} > 0dij​>0 of §8.3 appears in every theorem. A schedule is a function Fin n → Fin m; the makespan is the supremum of the loads over the finite type Fin m, which is the maximum for m≥1m \ge 1m≥1. The optimum toptt_{\mathrm{opt}}topt​ is the makespan of a schedule assumed optimal, never an infimum.

Optimal values of LPR(T)\mathrm{LPR}(T)LPR(T) are never written as sInf: statements quantify over optimal solutions, i.e. feasible (t,x)(t, x)(t,x) with t≤t′t \le t't≤t′ for every feasible (t′,x′)(t', x')(t′,x′). The book's convention t∗(T)=∞t^*(T) = \inftyt∗(T)=∞ for infeasible LPR(T)\mathrm{LPR}(T)LPR(T) is encoded by letting thresholds without an optimal solution impose no condition in the minimality hypothesis on T∗T^*T∗, which reads t∗+T∗≤t+Tt^* + T^* \le t + Tt∗+T∗≤t+T for every real TTT and every optimal solution (t,x)(t, x)(t,x) of LPR(T)\mathrm{LPR}(T)LPR(T). The constraint matrix used in Assumption 8.3.1 has rows indexed by Fin m ⊕ Fin n ⊕ {(i, j) // T < d i j} and excludes the column of ttt, as on p. 151.

"Efficiently construct" in Lemma 8.3.3 and "computes" in Theorem 8.3.4 are formalized by the property of the constructed schedule, not by its running time: every job goes to a machine iii with xij∗>0x^*_{ij} > 0xij∗​>0. This constraint is what rules out the trivializing formalization — "some schedule has makespan at most 2topt2 t_{\mathrm{opt}}2topt​" is true of the optimal schedule itself and says nothing about the rounding.

A complete development needs: finite linear algebra (a linearly independent family of vectors supported on kkk coordinates has at most kkk members), Hall's marriage theorem (available in Mathlib as Finset.all_card_le_biUnion_card_iff_exists_injective), and the existence of an optimal solution of a feasible, bounded linear program (used to apply the minimality of T∗T^*T∗ at T=toptT = t_{\mathrm{opt}}T=topt​). The counting lemma for basic solutions and the definitions of LPR(T)\mathrm{LPR}(T)LPR(T) are reusable for other assignment relaxations. Proofs of any milestone, and alternative proofs of Lemma 8.3.3 by the direct pseudoforest argument of p. 153–154, are welcome.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.3, pp. 148–156. https://doi.org/10.1007/978-3-540-30717-4
  • J. K. Lenstra, D. B. Shmoys, É. Tardos, Approximation algorithms for scheduling unrelated parallel machines, Mathematical Programming 46 (1990), 259–271. https://doi.org/10.1007/BF01585745
7 thms2 active usersReviewed
🏆Completed
CombinatoricsInformation TheoryLinear Optimization+2·Captain: mikedeng1

Understanding and Using Linear Programming VIII: The Delsarte Linear Programming Bound for Binary CodesTextbook

Motivation

A binary error-correcting code is a set of nnn-bit words chosen so that the words stay distinguishable after a few bits have been corrupted in transmission. A code can correct any rrr errors exactly when every two of its words differ in at least 2r+12r+12r+1 positions. The more words the code has, the more information each transmitted block carries. So the central quantitative question of coding theory is how large a code of given length and minimum distance can be. Codes are used in every technology that transmits or stores data, from disks and phones to deep-space probes.

In 1973 Philippe Delsarte showed that an upper bound on this maximum size is the optimum value of an explicit linear program (Delsarte, An algebraic approach to the association schemes of coding theory, Philips Res. Repts. Suppl. 10, 1973). The bound was far stronger than the classical volume argument and remains a standard tool. This mission formalizes the self-contained proof of the bound in §8.4 of Matoušek and Gärtner's textbook (Springer 2007). That proof follows Best, Brouwer, MacWilliams, Odlyzko and Sloane (IEEE Trans. Inform. Theory 24, 1978). The mission also covers the step of Delsarte's original argument that the book isolates as a lemma.

Timeline.

  • 1950: Hamming introduces single-error-correcting codes and the sphere-packing bound.
  • 1973: Delsarte proves the linear programming bound using association schemes.
  • 1978: Best et al. give the elementary parity proof and small improvements, among them A(17,3)≤6552A(17,3) \le 6552A(17,3)≤6552.
  • 2005: Schrijver replaces the linear program by a semidefinite program and improves many entries of the code tables (IEEE Trans. Inform. Theory 51).

Setting

A word is w=(w1,…,wn)∈{0,1}n\mathbf w = (w_1,\dots,w_n) \in \{0,1\}^nw=(w1​,…,wn​)∈{0,1}n, and a code is any set C⊆{0,1}nC \subseteq \{0,1\}^nC⊆{0,1}n. The Hamming distance dH(w,w′)d_H(\mathbf w,\mathbf w')dH​(w,w′) is the number of positions jjj with wj≠wj′w_j \ne w'_jwj​=wj′​. The weight ∣w∣|\mathbf w|∣w∣ is the number of ones in w\mathbf ww. The word w⊕w′\mathbf w \oplus \mathbf w'w⊕w′ is the entrywise sum modulo 2. For I⊆{1,…,n}I \subseteq \{1,\dots,n\}I⊆{1,…,n}, the restricted distance dHI(w,w′)d^I_H(\mathbf w,\mathbf w')dHI​(w,w′) counts only the differing positions that lie in III.

A code has distance ddd if dH(w,w′)≥dd_H(\mathbf w,\mathbf w') \ge ddH​(w,w′)≥d for all distinct w,w′∈C\mathbf w,\mathbf w' \in Cw,w′∈C (Definition 8.4.1). The quantity A(n,d)A(n,d)A(n,d) is the maximum of ∣C∣|C|∣C∣ over all codes C⊆{0,1}nC \subseteq \{0,1\}^nC⊆{0,1}n with distance ddd.

For 0≤i,t≤n0 \le i,t \le n0≤i,t≤n the Krawtchouk numbers are

Kt(n,i)=∑j=0min⁡(i,t)(−1)j(ij)(n−it−j).K_t(n,i) = \sum_{j=0}^{\min(i,t)} (-1)^j \binom ij \binom{n-i}{t-j}.Kt​(n,i)=j=0∑min(i,t)​(−1)j(ji​)(t−jn−i​).

The distance distribution of a code CCC is

x~i(C)=1∣C∣ ∣{(w,w′)∈C2:dH(w,w′)=i}∣,i=0,…,n.\tilde x_i(C) = \frac{1}{|C|}\,\bigl|\{(\mathbf w,\mathbf w')\in C^2 : d_H(\mathbf w,\mathbf w') = i\}\bigr|, \qquad i=0,\dots,n.x~i​(C)=∣C∣1​​{(w,w′)∈C2:dH​(w,w′)=i}​,i=0,…,n.

The Delsarte linear program has variables x0,…,xnx_0,\dots,x_nx0​,…,xn​. It maximizes x0+⋯+xnx_0+\dots+x_nx0​+⋯+xn​ subject to:

  • x0=1x_0 = 1x0​=1;
  • xi=0x_i = 0xi​=0 for 1≤i≤d−11 \le i \le d-11≤i≤d−1;
  • ∑i=0nKt(n,i) xi≥0\sum_{i=0}^n K_t(n,i)\,x_i \ge 0∑i=0n​Kt​(n,i)xi​≥0 for 1≤t≤n1 \le t \le n1≤t≤n;
  • x≥0x \ge 0x≥0.

For Delsarte's original argument, MiM_iMi​ is the 2n×2n2^n\times 2^n2n×2n matrix whose (v,w)(\mathbf v,\mathbf w)(v,w) entry is 111 when dH(v,w)=id_H(\mathbf v,\mathbf w) = idH​(v,w)=i and 000 otherwise. The weights are y~i=∣{(w,w′)∈C2:dH=i}∣/(2n(ni))\tilde y_i = |\{(\mathbf w,\mathbf w')\in C^2 : d_H = i\}| / (2^n\binom ni)y~​i​=∣{(w,w′)∈C2:dH​=i}∣/(2n(in​)).

Formalization targets

Goal: Theorem 8.4.3 (the Delsarte bound)

A(n,d)  ≤  max⁡{∑i=0nxi  :  x feasible for the Delsarte program}for all n,d.A(n,d) \;\le\; \max\Bigl\{\textstyle\sum_{i=0}^n x_i \;:\; x \text{ feasible for the Delsarte program}\Bigr\}\quad\text{for all } n, d.A(n,d)≤max{∑i=0n​xi​:x feasible for the Delsarte program}for all n,d.

The goal is stated against every upper bound vvv of the objective on the feasible set. No particular optimum value is fixed, so the statement covers every nnn and ddd at once.

Milestones, in attack order

  1. Lemma 8.4.5. For every III and CCC, the pairs in C2C^2C2 with even dHId^I_HdHI​ are at least as many as the pairs with odd dHId^I_HdHI​.
  2. Corollary 8.4.6. ∑(w,w′)∈C2(−1)(w⊕w′)Tv≥0\sum_{(\mathbf w,\mathbf w')\in C^2}(-1)^{(\mathbf w\oplus\mathbf w')^T\mathbf v}\ge 0∑(w,w′)∈C2​(−1)(w⊕w′)Tv≥0 for every v\mathbf vv.
  3. Proposition 8.4.4. ∑i=0nKt(n,i) x~i(C)≥0\sum_{i=0}^n K_t(n,i)\,\tilde x_i(C) \ge 0∑i=0n​Kt​(n,i)x~i​(C)≥0 for every CCC and every t=1,…,nt = 1,\dots,nt=1,…,n.
  4. §8.4, p. 160. The values x~i(C)\tilde x_i(C)x~i​(C) sum to ∣C∣|C|∣C∣. For a nonempty code with distance ddd, the vector x~(C)\tilde x(C)x~(C) is feasible for the program.
  5. Lemma 8.4.2 (sphere-packing bound). A(n,2r+1)≤⌊2n/∑i=0r(ni)⌋A(n,2r+1) \le \lfloor 2^n / \sum_{i=0}^r\binom ni\rfloorA(n,2r+1)≤⌊2n/∑i=0r​(in​)⌋.
  6. Lemma 8.4.7. M~=∑i=0ny~iMi\tilde M = \sum_{i=0}^n \tilde y_i M_iM~=∑i=0n​y~​i​Mi​ is positive semidefinite.

Significance

The Delsarte bound turns an extremal problem over the 22n2^{2^n}22n subsets of the cube into a linear program with n+1n+1n+1 variables. For A(17,3)A(17,3)A(17,3) it gives 655365536553, while the sphere-packing bound gives 728172817281. Many entries of the standard code tables rest on this bound or its refinements. The positive semidefiniteness in Lemma 8.4.7 is the starting point of the semidefinite programming bounds of Schrijver and of later work. The same framework also underlies the linear programming bounds for spherical codes and sphere packings.

The theorem is classical and fully proved in the literature. Neither Mathlib nor this platform has a formal statement or proof of it. Mathlib has Hamming distance and binomial coefficients, but it has no A(n,d)A(n,d)A(n,d), no Krawtchouk numbers and no LP bound for codes. This mission would produce the first formal statement and proof. It would also produce reusable identities on Krawtchouk sums and character sums over {0,1}n\{0,1\}^n{0,1}n.

Difficulty

Two of the program's constraints are immediate once x~i\tilde x_ix~i​ is defined: x~0=1\tilde x_0 = 1x~0​=1, and x~i=0\tilde x_i = 0x~i​=0 for i<di < di<d. The difficulty lies in the Krawtchouk constraints. They do not follow from counting pairs at a single distance. They require a sign-weighted count over all words of weight ttt, and the sum must then be regrouped by the distance of each pair. That regrouping identifies a count of words, split by how many ones they share with a fixed word, with the Krawtchouk number. Formally this is an exchange of finite sums together with a binomial counting identity, and the index bookkeeping, including the range j≤min⁡(i,t)j \le \min(i,t)j≤min(i,t), has to be exact.

The obvious attempt proves the inequality one distance class at a time. It fails because the individual terms Kt(n,i) x~iK_t(n,i)\,\tilde x_iKt​(n,i)x~i​ have no sign. Only the whole sum is nonnegative.

Formalization scope

  • Words and codes. Words are Fin n → Bool, with bit 111 as true. The book's positions 1,…,n1,\dots,n1,…,n become 0, …, n-1. Codes are Finsets of words, and dHd_HdH​ is Mathlib's hammingDist.
  • The maximum A(n,d)A(n,d)A(n,d). A(n,d)A(n,d)A(n,d) is a Finset.sup over the finite family of codes with distance ddd. This family contains the empty code, so the maximum is attained.
  • Krawtchouk numbers. Kt(n,i)K_t(n,i)Kt​(n,i) is an integer, and its natural-number subtractions are honest for i≤ni \le ni≤n and j≤tj \le tj≤t.
  • LP variables and the xi=0x_i = 0xi​=0 constraints. The LP variables are indexed by Fin (n+1) with no index shift. The constraints xi=0x_i = 0xi​=0 are imposed for 1≤i<d1 \le i < d1≤i<d, so they are vacuous for d≤1d \le 1d≤1.
  • The empty code. Lean's convention 1/0=01/0 = 01/0=0 gives x~(∅)=0\tilde x(\emptyset) = 0x~(∅)=0. Proposition 8.4.4 then holds trivially, and the feasibility milestone carries the hypothesis C≠∅C \ne \emptysetC=∅ that the book's division presupposes.
  • The sphere-packing floor. The floor in the sphere-packing bound is natural-number division by a denominator that is at least 111.
  • Positive semidefiniteness. This is Mathlib's Matrix.PosSemidef over R\mathbb RR.

No trivialization. The goal is not stated as "A(n,d)≤sup⁡A(n,d) \le \supA(n,d)≤sup" with a real supremum, which Lean would evaluate to 000 on an empty or unbounded set. Its hypothesis ranges over upper bounds of a feasible program: (1,0,…,0)(1,0,\dots,0)(1,0,…,0) is always feasible, so the hypothesis is never vacuous.

Contributions welcome. Useful lemmas include:

  • Krawtchouk identities, for example ∑tKt(n,i)=2n[i=0]\sum_{t}K_t(n,i) = 2^n[i=0]∑t​Kt​(n,i)=2n[i=0] and Ki(n,t)(ni)=Kt(n,i)(nt)K_i(n,t)\binom ni = K_t(n,i)\binom ntKi​(n,t)(in​)=Kt​(n,i)(tn​);
  • counting words of weight ttt that meet a fixed support in exactly jjj positions;
  • general facts on character sums ∑w∈C(−1)wTv\sum_{\mathbf w\in C}(-1)^{\mathbf w^T\mathbf v}∑w∈C​(−1)wTv.

These are reusable for other LP and SDP bounds in coding theory.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.4. https://doi.org/10.1007/978-3-540-30717-4
  • P. Delsarte, An algebraic approach to the association schemes of coding theory, Philips Research Reports Supplements 10, 1973.
  • M. R. Best, A. E. Brouwer, F. J. MacWilliams, A. M. Odlyzko, N. J. A. Sloane, Bounds for binary codes of length less than 25, IEEE Trans. Inform. Theory 24 (1978), 81–93. https://doi.org/10.1109/TIT.1978.1055827
  • A. Schrijver, New code upper bounds from the Terwilliger algebra and semidefinite programming, IEEE Trans. Inform. Theory 51 (2005), 2859–2866. https://doi.org/10.1109/TIT.2005.851748
10 thms2 active usersReviewed
🏆Completed
Linear OptimizationOperations ResearchOptimization+1·Captain: mikedeng1

Understanding and Using Linear Programming IX: Basis Pursuit Recovers Sparse Solutions Exactly iff the Kernel Misses the CrosspolytopeTextbook

Motivation

A deep-space probe sends a vector w∈Rkw\in\mathbb{R}^kw∈Rk encoded as z=Qw∈Rnz=Qw\in\mathbb{R}^nz=Qw∈Rn, and up to about 8% of the transmitted numbers may be corrupted arbitrarily. Section 8.5 of Matoušek and Gärtner's Understanding and Using Linear Programming (Springer 2007, DOI 10.1007/978-3-540-30717-4) shows that decoding reduces to finding a sparse solution of an underdetermined linear system Ax=bAx=bAx=b, and that under suitable conditions this sparse solution is found exactly by a single linear program. The same problem arises in signal processing (sparse representations in redundant wavelet dictionaries) and in computer tomography, and it is the core of what became known as compressed sensing.

Timeline, as recorded in the book's references:

  • 1999: Chen, Donoho and Saunders introduce basis pursuit, minimizing the ℓ1\ell_1ℓ1​-norm subject to Ax=bAx=bAx=b (SIAM J. Sci. Comput. 20).
  • 2005: Candès, Rudelson, Tao and Vershynin prove that for every α∈(0,1)\alpha\in(0,1)α∈(0,1) there is β(α)>0\beta(\alpha)>0β(α)>0 such that a random ⌊αn⌋×n\lfloor\alpha n\rfloor\times n⌊αn⌋×n matrix is exact for ⌊βn⌋\lfloor\beta n\rfloor⌊βn⌋-sparse vectors with probability exponentially close to 1 (FOCS 2005).
  • 2006: Donoho, via neighborliness of centrally symmetric polytopes, obtains the constants α=0.75\alpha=0.75α=0.75, β=0.08\beta=0.08β=0.08 used in the book, and shows that no ⌊0.75n⌋×n\lfloor 0.75n\rfloor\times n⌊0.75n⌋×n matrix is exact for r>0.25nr>0.25nr>0.25n when nnn is large (Discrete Comput. Geom. 35).
  • 2006: Linial and Novik prove further upper bounds showing that these existence results are asymptotically optimal (Discrete Comput. Geom. 36).

Setting

Let AAA be a real m×nm\times nm×n matrix with m<nm<nm<n and b∈Rmb\in\mathbb{R}^mb∈Rm. The support of x∈Rnx\in\mathbb{R}^nx∈Rn is supp⁡(x)={i:xi≠0}\operatorname{supp}(x)=\{i: x_i\ne 0\}supp(x)={i:xi​=0}. For an integer r≥0r\ge 0r≥0, a sparse solution of Ax=bAx=bAx=b is an xxx with Ax=bAx=bAx=b and ∣supp⁡(x)∣≤r|\operatorname{supp}(x)|\le r∣supp(x)∣≤r. The ℓ1\ell_1ℓ1​-norm is ∥x∥1=∣x1∣+⋯+∣xn∣\|x\|_1=|x_1|+\dots+|x_n|∥x∥1​=∣x1​∣+⋯+∣xn​∣.

Basis pursuit is the optimization problem

(BP)minimize ∥x∥1  subject to x∈Rn, Ax=b,\text{(BP)}\qquad\text{minimize } \|x\|_1\ \text{ subject to } x\in\mathbb{R}^n,\ Ax=b,(BP)minimize ∥x∥1​  subject to x∈Rn, Ax=b,

which is equivalent to the linear program

(BP′)minimize u1+⋯+un  subject to Ax=b, −u≤x≤u, u≥0.\text{(BP}'\text{)}\qquad\text{minimize } u_1+\dots+u_n\ \text{ subject to } Ax=b,\ -u\le x\le u,\ u\ge 0 .(BP′)minimize u1​+⋯+un​  subject to Ax=b, −u≤x≤u, u≥0.

The matrix AAA is BP-exact for rrr if for every b∈Rmb\in\mathbb{R}^mb∈Rm: whenever Ax=bAx=bAx=b has a solution x~\tilde xx~ with at most rrr nonzero components, x~\tilde xx~ is the unique optimal solution of (BP). The crosspolytope is B1n={x:∥x∥1≤1}B^n_1=\{x:\|x\|_1\le 1\}B1n​={x:∥x∥1​≤1}, the kernel of AAA is L={x:Ax=0}L=\{x: Ax=0\}L={x:Ax=0}, and L+z={ℓ+z:ℓ∈L}L+z=\{\ell+z:\ell\in L\}L+z={ℓ+z:ℓ∈L}. For zzz with ∥z∥1=1\|z\|_1=1∥z∥1​=1, the cone at zzz is Cz={t(x−z):t≥0, x∈B1n}C_z=\{t(x-z): t\ge 0,\ x\in B^n_1\}Cz​={t(x−z):t≥0, x∈B1n​}, and LLL is good for zzz if (L+z)∩B1n={z}(L+z)\cap B^n_1=\{z\}(L+z)∩B1n​={z}.

Formalization targets

Goal: Lemma 8.5.4 (reformulation of BP-exactness)

For m<nm<nm<n and r≤mr\le mr≤m:

A is BP-exact for r  ⟺  ∀z∈Rn with ∥z∥1=1, ∣supp⁡(z)∣≤r:(L+z)∩B1n={z}.A \text{ is BP-exact for } r\iff \forall z\in\mathbb{R}^n\ \text{with}\ \|z\|_1=1,\ |\operatorname{supp}(z)|\le r:\quad (L+z)\cap B^n_1=\{z\}.A is BP-exact for r⟺∀z∈Rn with ∥z∥1​=1, ∣supp(z)∣≤r:(L+z)∩B1n​={z}.

This is the book's geometric characterization of exact recovery, and the statement on which the known probabilistic proofs are built.

Milestones

  1. Observation 8.5.1: Ax=bAx=bAx=b has at most one sparse solution for every bbb if and only if every 2r2r2r or fewer columns of AAA are linearly independent.
  2. The remark after it (p. 169): under m<nm<nm<n, that column condition forces m≥2rm\ge 2rm≥2r.
  3. Equivalence of (BP) and (BP′) (p. 170): in every optimal solution of (BP′), ui=∣xi∣u_i=|x_i|ui​=∣xi​∣; and xxx is optimal for (BP) iff (x,∣x∣)(x,|x|)(x,∣x∣) is optimal for (BP′).
  4. From the proof of Lemma 8.5.4 (p. 173): if Az=bAz=bAz=b, the solution set of Ax=bAx=bAx=b is exactly L+zL+zL+z.
  5. From "Intuition for BP-exactness" (p. 174): for ∥z∥1=1\|z\|_1=1∥z∥1​=1 and ∣supp⁡(z)∣≤r|\operatorname{supp}(z)|\le r∣supp(z)∣≤r, LLL is good for zzz iff L∩Cz={0}L\cap C_z=\{0\}L∩Cz​={0}.

Further draft item: Theorem 8.5.2

With m=⌊0.75n⌋m=\lfloor 0.75n\rfloorm=⌊0.75n⌋, r=⌊0.08n⌋r=\lfloor 0.08n\rfloorr=⌊0.08n⌋ and AAA an m×nm\times nm×n matrix of independent N(0,1)N(0,1)N(0,1) entries, there is a constant c>0c>0c>0 such that for every nnn

Pr⁡[A is BP-exact for r] ≥ 1−e−cm.\Pr[A \text{ is BP-exact for } r]\ \ge\ 1-e^{-cm}.Pr[A is BP-exact for r] ≥ 1−e−cm.

The book states this without proof. It is included as a separate theorem, not a milestone of the goal.

Significance

Lemma 8.5.4 converts an algorithmic property, that an ℓ1\ell_1ℓ1​ linear program returns a prescribed sparse vector for every right-hand side, into a purely geometric property of the kernel of AAA relative to the low-dimensional faces of the crosspolytope. With milestone 5 it becomes the statement that LLL avoids a finite family of cones, which is where union bounds over faces and estimates for random subspaces enter. Observation 8.5.1 separates what is information-theoretically possible (uniqueness of sparse solutions) from what is computationally achievable by linear programming; finding a sparse solution directly is NP-hard in general. Theorem 8.5.2 is the quantitative payoff: a fixed fraction of arbitrary gross errors can be corrected by solving one linear program.

All of these results are proved in the literature; Lemma 8.5.4, Observation 8.5.1 and the milestones are elementary, and Theorem 8.5.2 rests on Donoho's polytope-neighborliness analysis. The platform has a related formalization of Wainwright's restricted nullspace property (Theorem 7.8 of High-Dimensional Statistics, namespace HighDimStat.SparseLinear), which fixes a support set SSS rather than characterizing exactness for all rrr-sparse vectors through the crosspolytope. A machine-checked proof of Theorem 8.5.2 with the constants 0.750.750.75 and 0.080.080.08 is, to our knowledge, not available anywhere; it would require substantial Gaussian and high-dimensional geometry infrastructure.

Difficulty

For the goal and milestones the difficulty is bookkeeping, not ideas: the scaling between a sparse solution x~\tilde xx~ and the boundary point x~/∥x~∥1\tilde x/\|\tilde x\|_1x~/∥x~∥1​, the case x~=0\tilde x=0x~=0, and the fact that BP-exactness quantifies over all right-hand sides bbb while the geometric side quantifies over boundary points of the crosspolytope.

Theorem 8.5.2 is of a different order. A union bound over the (nr)2r\binom{n}{r}2^r(rn​)2r faces of dimension r−1r-1r−1 reduces it to bounding the probability that a random (n−m)(n-m)(n−m)-dimensional subspace meets one cone CFC_FCF​ nontrivially, and getting that probability small enough to beat the combinatorial factor with the stated numerical constants is the hard part. Rough asymptotic estimates do not give 0.080.080.08 at α=0.75\alpha=0.75α=0.75.

Formalization scope

Vectors are functions Fin n → ℝ (the book's indices 1,…,n1,\dots,n1,…,n become 0,…,n−10,\dots,n-10,…,n−1) and matrices are Matrix (Fin m) (Fin n) ℝ. The ℓ1\ell_1ℓ1​-norm is written out as ∑i∣xi∣\sum_i|x_i|∑i​∣xi​∣, since Mathlib's norm on Fin n → ℝ is the sup norm. The support is a Finset of indices. Optimality in (BP) and (BP′) is stated against every feasible point; no infimum is taken, so an empty or unbounded feasible set cannot create a spurious optimum. "Every 2r2r2r or fewer columns" ranges over finsets of distinct column indices, column jjj being Aᵀ j. The hypotheses m<nm<nm<n and r≤mr\le mr≤m of Lemma 8.5.4 are kept as on the page, although the equivalence does not use them; m<nm<nm<n is also the standing assumption of §8.5 needed for m≥2rm\ge 2rm≥2r.

In Theorem 8.5.2 the random matrix has the product law of independent gaussianReal 0 1 entries, the constant c>0c>0c>0 is quantified before nnn, and measurability of the BP-exact event is part of the conclusion, so the bound concerns a genuine probability rather than an outer measure.

A trivializing formalization is ruled out: BP-exactness requires uniqueness among all minimizers for every right-hand side, not just optimality of x~\tilde xx~, and the crosspolytope condition is an equality of sets, not an inclusion that zzz alone would satisfy.

All definitions live in one module (MatousekLP.SparseRecovery.BasisPursuit); the ℓ1\ell_1ℓ1​ and support vocabulary is reusable for later sparse-recovery missions. Contributions are welcome on every milestone, on the goal, and on the infrastructure towards Theorem 8.5.2 (Gaussian measures on matrix spaces, measurability of the BP-exact event, the face structure of the crosspolytope).

Selected references

  • J. Matoušek and B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.5. https://doi.org/10.1007/978-3-540-30717-4
  • S. S. Chen, D. L. Donoho and M. A. Saunders, Atomic decomposition by basis pursuit, SIAM J. Sci. Comput. 20(1), 1999, 33–61. https://doi.org/10.1137/S1064827596304010
  • E. J. Candès, M. Rudelson, T. Tao and R. Vershynin, Error correction via linear programming, Proc. 46th IEEE FOCS, 2005, 295–308. https://doi.org/10.1109/SFCS.2005.5464411
  • D. L. Donoho, High-dimensional centrally symmetric polytopes with neighborliness proportional to dimension, Discrete Comput. Geom. 35, 2006, 617–652. https://doi.org/10.1007/s00454-005-1220-0
  • N. Linial and I. Novik, How neighborly can a centrally symmetric polytope be?, Discrete Comput. Geom. 36, 2006, 273–281. https://doi.org/10.1007/s00454-006-1235-1
7 thms2 active usersReviewed
🏆Completed
CombinatoricsDiscrete GeometryLinear Optimization+2·Captain: mikedeng1

Understanding and Using Linear Programming X: Pairwise Intersecting d-Intervals Have a Transversal of Size 2d²Textbook

Motivation

A basic question of combinatorial geometry asks when a family of sets can be pierced (or stabbed) by few points. For intervals on the real line the answer is classical: if every two of finitely many closed intervals intersect, one point meets all of them, namely the rightmost left endpoint. This is the one-dimensional case of Helly's theorem. The situation changes as soon as the sets are allowed to have holes. Unions of two intervals can intersect pairwise without any point being common to three of them, so no single point suffices, and it is not obvious that any bound depending only on the number of holes exists.

This mission formalizes the answer given in Section 8.6 of Matoušek and Gärtner's Understanding and Using Linear Programming (Springer, 2007): pairwise intersecting unions of ddd intervals can always be pierced by 2d22d^22d2 points. The section uses the result to illustrate a general method of combinatorics, in which a linear programming relaxation of a covering problem is bounded through LP duality and then rounded. The same scheme, a bound on the fractional transversal number followed by a rounding step, appears across discrete geometry and combinatorial optimization.

Timeline.

  • 1970: Gyárfás and Lehel prove that a bound depending only on ddd exists; their bound is exponential in ddd (A Helly-type problem in trees, in Combinatorial Theory and its Applications, North-Holland).
  • 1992: Alon and Kleitman solve the Hadwiger–Debrunner (p,q)(p,q)(p,q)-problem with a method combining fractional transversals and LP duality (Adv. Math. 96).
  • 1997: Kaiser proves the bound d2d^2d2 using algebraic topology (Discrete Comput. Geom. 18).
  • 1998: Alon gives the short LP-duality proof of the bound 2d22d^22d2 formalized here (Discrete Comput. Geom. 19).
  • 2001: Matoušek shows that the transversal number cannot in general be below a constant multiple of d2/log⁡dd^2/\log dd2/logd (Discrete Comput. Geom. 26).

Setting

Fix an integer d≥1d \ge 1d≥1. A ddd-interval is a union of ddd closed intervals on the real line,

J=[a1,b1]∪⋯∪[ad,bd],ak≤bk.J = [a_1,b_1] \cup \dots \cup [a_d,b_d], \qquad a_k \le b_k .J=[a1​,b1​]∪⋯∪[ad​,bd​],ak​≤bk​.

The numbers aka_kak​ and bkb_kbk​ are the endpoints of JJJ. A finite family J\mathcal JJ of ddd-intervals is pairwise intersecting if J1∩J2≠∅J_1 \cap J_2 \ne \emptysetJ1​∩J2​=∅ for all J1,J2∈JJ_1, J_2 \in \mathcal JJ1​,J2​∈J. A set XXX of real numbers is a transversal of J\mathcal JJ if every J∈JJ \in \mathcal JJ∈J contains a point of XXX.

More generally, for a finite set VVV and a system F\mathcal FF of subsets of VVV: a transversal is a set X⊆VX \subseteq VX⊆V meeting every member; the transversal number τ(F)\tau(\mathcal F)τ(F) is the smallest size of a transversal; a matching is a subsystem of pairwise disjoint members, and the matching number ν(F)\nu(\mathcal F)ν(F) is the largest size of a matching. The fractional transversal number τ∗(F)\tau^*(\mathcal F)τ∗(F) is the optimal value of the linear program

min⁡∑v∈Vxvs.t.∑v∈Fxv≥1 (F∈F), x≥0,\min \sum_{v\in V} x_v \quad \text{s.t.} \quad \sum_{v \in F} x_v \ge 1 \ (F \in \mathcal F),\ x \ge 0,minv∈V∑​xv​s.t.v∈F∑​xv​≥1 (F∈F), x≥0,

and the fractional matching number ν∗(F)\nu^*(\mathcal F)ν∗(F) is the optimal value of

max⁡∑F∈FyFs.t.∑F: v∈FyF≤1 (v∈V), y≥0.\max \sum_{F\in\mathcal F} y_F \quad \text{s.t.} \quad \sum_{F :\, v \in F} y_F \le 1 \ (v \in V),\ y \ge 0 .maxF∈F∑​yF​s.t.F:v∈F∑​yF​≤1 (v∈V), y≥0.

Formalization targets

Goal: Theorem 8.6.1

J finite, pairwise intersecting family of d-intervals  ⟹  ∃X⊂R, ∣X∣≤2d2, X∩J≠∅  ∀J∈J.\mathcal J \text{ finite, pairwise intersecting family of } d\text{-intervals} \;\Longrightarrow\; \exists X \subset \mathbb R,\ |X| \le 2d^2,\ X \cap J \ne \emptyset \ \ \forall J \in \mathcal J .J finite, pairwise intersecting family of d-intervals⟹∃X⊂R, ∣X∣≤2d2, X∩J=∅  ∀J∈J.

This is the book's theorem with its constant 2d22d^22d2.

Milestones

  1. Lemma 8.6.2. If J1,…,JnJ_1,\dots,J_nJ1​,…,Jn​ (n≥1n \ge 1n≥1, repetitions allowed) are ddd-intervals with Ji∩Jj≠∅J_i \cap J_j \ne \emptysetJi​∩Jj​=∅ for all i,ji,ji,j, then some endpoint of some JiJ_iJi​ lies in at least n/2dn/2dn/2d of the JjJ_jJj​.
  2. §8.6, p. 182. For every finite set system with nonempty members,
ν(F)≤ν∗(F)=τ∗(F)≤τ(F).\nu(\mathcal F) \le \nu^*(\mathcal F) = \tau^*(\mathcal F) \le \tau(\mathcal F).ν(F)≤ν∗(F)=τ∗(F)≤τ(F).
  1. Lemma 8.6.3. If J\mathcal JJ is a finite pairwise intersecting family of ddd-intervals and PPP its set of endpoints, there are weights xp≥0x_p \ge 0xp​≥0, p∈Pp \in Pp∈P, with ∑p∈J∩Pxp≥1\sum_{p \in J \cap P} x_p \ge 1∑p∈J∩P​xp​≥1 for every J∈JJ \in \mathcal JJ∈J and ∑p∈Pxp≤2d\sum_{p\in P} x_p \le 2d∑p∈P​xp​≤2d.

Significance

The result. Theorem 8.6.1 shows that the piercing number of pairwise intersecting ddd-intervals is bounded by a function of ddd alone, and that this function is polynomial. The section also states, without proof, the extension τ(J)≤2d2 ν(J)\tau(\mathcal J) \le 2d^2\,\nu(\mathcal J)τ(J)≤2d2ν(J) for arbitrary finite families of ddd-intervals. Upper bounds of this kind feed into piercing and hitting-set questions for families with bounded "complexity", and the chain ν≤ν∗=τ∗≤τ\nu \le \nu^* = \tau^* \le \tauν≤ν∗=τ∗≤τ is the standard frame in which such bounds are proved.

Formalizing it. The theorem, both lemmas and the duality chain are proved in the literature and in the book. None of them is on the platform. The work consists of formalizing the book's proof: a double-counting argument, LP duality for the pair of fractional programs together with the rationality of an optimal basic solution, and a rounding step. The general-set-system milestone is reusable for any transversal problem, independent of ddd-intervals.

Difficulty

The obvious generalization of the one-dimensional argument fails: for d≥2d \ge 2d≥2 no point need be common to all members, so there is no single extremal endpoint to choose, and a greedy piercing procedure has no control over how many points it uses. The difficulty is to obtain a bound that does not depend on the size of the family. In the book's route the counting statement of Lemma 8.6.2 holds only for equal weights, while the fractional programs produce arbitrary real weights, and the passage between the two, as well as the passage from a fractional transversal of small total weight to an actual finite set of points, are the steps that need care.

Formalization scope

A ddd-interval is stored as data: two functions left, right : Fin d → ℝ with left k ≤ right k, together with the set toSet =⋃k[ak,bk]= \bigcup_k [a_k,b_k]=⋃k​[ak​,bk​]. Components are indexed 0,…,d−10,\dots,d-10,…,d−1. Endpoints are those of the given components, so they depend on the representation, as in the book's proofs. Families are Finsets of such data; Lemma 8.6.2 uses a Fin n-indexed sequence, since the proof of Lemma 8.6.3 applies it to a sequence with repetitions. The hypotheses d≥1d \ge 1d≥1 (the book's definition) and, in Lemma 8.6.2, n≥1n \ge 1n≥1 are explicit. The quantity n/2dn/2dn/2d is real division. Transversal sizes are cardinalities of a Finset ℝ bounded by 2d22d^22d2.

For set systems, VVV is a finite type and F\mathcal FF a Finset (Finset V) with nonempty members; without this assumption no transversal exists and both fractional programs degenerate. The numbers τ∗\tau^*τ∗ and ν∗\nu^*ν∗ are expressed through optimal feasible solutions, not as infima or suprema, so no junk value of an empty or unbounded set is involved. τ\tauτ is an sInf over N\mathbb NN that is attained under the nonemptiness assumption, and ν\nuν is a maximum over the finite family of matchings.

A trivializing formalization is ruled out: the pairwise-intersection hypothesis is satisfiable by nonempty families, the transversal is required to meet the actual sets JJJ, not a representation artifact, and the bound 2d22d^22d2 and 2d2d2d are the book's constants, not weakened ones.

Needed infrastructure: finite sums over Finset ℝ, LP duality for a finite primal–dual pair in inequality form (or a direct proof of the chain), rationality of an optimal vertex, and a left-to-right sweep over a sorted finite set of reals. Contributions of a general LP duality statement for set-system relaxations are welcome and reusable.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.6. https://doi.org/10.1007/978-3-540-30717-4
  • N. Alon, Piercing d-intervals, Discrete Comput. Geom. 19 (1998) 333–334.
  • N. Alon, D. Kleitman, Piercing convex sets and the Hadwiger–Debrunner (p, q)-problem, Adv. Math. 96 (1992) 103–112.
  • T. Kaiser, Transversals of d-intervals, Discrete Comput. Geom. 18 (1997) 195–203.
  • J. Matoušek, Lower bounds on the transversal numbers of d-intervals, Discrete Comput. Geom. 26 (2001) 283–287.
  • A. Gyárfás, J. Lehel, A Helly-type problem in trees, in Combinatorial Theory and its Applications (P. Erdős, A. Rényi, V. T. Sós, eds.), North-Holland, 1970, 571–584.
6 thms2 active usersReviewed
🏆Completed
Graph TheoryLinear OptimizationOperations Research+1·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources I: A Time-Feasible Schedule Exists iff the Project Network Has No Cycle of Positive LengthTextbook

Motivation

Project scheduling assigns start times to the activities of a project subject to constraints between them. The classical critical path method (CPM) of Kelley and Walker (1959) and the program evaluation and review technique (PERT) allow only minimum time lags: activity jjj may start no earlier than a given time after activity iii starts. Practice also needs maximum time lags: activity jjj must start no later than a given time after iii. These express deadlines, release dates, time windows and "no wait" couplings. Once maximum time lags are allowed, the project network has cycles and negative arc weights, and even the existence of a schedule is no longer automatic.

This mission is the first of a series on Neumann, Schwindt and Zimmermann, Project Scheduling with Time Windows and Scarce Resources (2nd ed., Springer 2003), a standard reference for resource-constrained project scheduling with general temporal constraints. Chapter 1 contains the temporal part of the theory: feasibility, earliest and latest schedules, floats, and the distance order. Every later chapter adds resource constraints on top of this layer.

Timeline. Roy (1964) introduced the Metra Potential Method, which is scheduling on activity-on-node networks with minimum time lags. Neumann (1975, Sect. 6.4) treated time windows through potentials on networks with arbitrary arc weights. Bartusch, Möhring and Radermacher (1988, Annals of Operations Research 16) developed the general theory of scheduling project networks with resource constraints and time windows, including the feasibility criterion stated below. The book collects these results in Chapter 1.

Setting

A project consists of n≥1n\ge 1n≥1 real activities 1,…,n1,\dots,n1,…,n and two fictitious activities, 000 (project beginning) and n+1n+1n+1 (project completion), so the node set is V={0,1,…,n+1}V=\{0,1,\dots,n+1\}V={0,1,…,n+1}. Each activity iii has an integer duration pip_ipi​, with p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0 and pi>0p_i>0pi​>0 for real activities.

A minimum time lag dijmin⁡d^{\min}_{ij}dijmin​ between two different activities becomes an arc ⟨i,j⟩\langle i,j\rangle⟨i,j⟩ of weight δij=dijmin⁡\delta_{ij}=d^{\min}_{ij}δij​=dijmin​. A maximum time lag dijmax⁡d^{\max}_{ij}dijmax​ becomes a backward arc ⟨j,i⟩\langle j,i\rangle⟨j,i⟩ of weight δji=−dijmax⁡\delta_{ji}=-d^{\max}_{ij}δji​=−dijmax​. There is at most one arc per ordered pair, keeping the tightest lag. The result is the activity-on-node (AoN) network N=(V,E,δ)N=(V,E,\delta)N=(V,E,δ), whose integer weights may be positive, negative or zero and which in general contains cycles. The book establishes that for every node iii there is a path from 000 to iii of nonnegative length and a path from iii to n+1n+1n+1 of length at least pip_ipi​ (p. 8, from Definition 1.1.1 and Remarks 1.1.2). This is the standing assumption of the chapter.

A schedule is a vector S=(S0,…,Sn+1)S=(S_0,\dots,S_{n+1})S=(S0​,…,Sn+1​) of real start times with S0=0S_0=0S0​=0 and Si≥0S_i\ge 0Si​≥0. It is time-feasible if it satisfies the temporal constraints

Sj−Si ≥ δij(⟨i,j⟩∈E),S_j-S_i\ \ge\ \delta_{ij}\qquad(\langle i,j\rangle\in E),Sj​−Si​ ≥ δij​(⟨i,j⟩∈E),

and ST\mathcal S_TST​ is the set of time-feasible schedules. A time-feasible schedule minimizing the project duration Sn+1S_{n+1}Sn+1​ is time-optimal.

The length of a path or cycle is the sum of its arc weights. For an integer L=LSn+1L=LS_{n+1}L=LSn+1​, which is either a prescribed maximum project duration dˉ\bar ddˉ or the shortest project duration, the temporal scheduling network N+N^+N+ adds the backward arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩ with weight −L-L−L. The distance dijd_{ij}dij​ is the length of a longest path from iii to jjj in N+N^+N+, with dii=0d_{ii}=0dii​=0. The earliest and latest start times are ESi=d0iES_i=d_{0i}ESi​=d0i​ and LSi=−di0LS_i=-d_{i0}LSi​=−di0​, the earliest completion time is ECi=ESi+piEC_i=ES_i+p_iECi​=ESi​+pi​, and the total float is TFi=LSi−ESiTF_i=LS_i-ES_iTFi​=LSi​−ESi​. The distance order ≺D\prec_D≺D​ is defined for i≠ji\ne ji=j by: i≺Dji\prec_D ji≺D​j if dij>0d_{ij}>0dij​>0, or dij=0d_{ij}=0dij​=0 and dji<0d_{ji}<0dji​<0.

Formalization targets

Goal: Theorem 1.3.3 (p. 10)

ST≠∅⟺N contains no cycle of positive length.\mathcal S_T\ne\emptyset\quad\Longleftrightarrow\quad N\ \text{contains no cycle of positive length}.ST​=∅⟺N contains no cycle of positive length.

The statement contains no constants. It is the consistency criterion for the temporal constraints and the entry condition for everything else in the book.

Milestones

  1. Distances, §1.3, p. 11, Eq. (1.3.3). If N+N^+N+ has no cycle of positive length, then ddd satisfies dij≥δijd_{ij}\ge\delta_{ij}dij​≥δij​ on E+E^+E+ and the triangle inequality dij≥dih+dhjd_{ij}\ge d_{ih}+d_{hj}dij​≥dih​+dhj​, and it is the smallest family that does.
  2. Earliest and latest schedules, §1.3, p. 12. Under the same hypothesis and the standing assumption, ES=(d0i)iES=(d_{0i})_iES=(d0i​)i​ is time-feasible and lies below every time-feasible schedule. LS=(−di0)iLS=(-d_{i0})_iLS=(−di0​)i​ is time-feasible, satisfies LSn+1≤LLS_{n+1}\le LLSn+1​≤L, and lies above every time-feasible schedule SSS with Sn+1≤LS_{n+1}\le LSn+1​≤L.
  3. Remark 1.3.2 (p. 10). If ST≠∅\mathcal S_T\ne\emptysetST​=∅, there is an integer-valued time-optimal schedule.
  4. Proposition 1.3.8 (p. 15). For a real activity iii, [LSi,ECi[≠∅[LS_i,EC_i[\ne\emptyset[LSi​,ECi​[=∅ if and only if iii is critical (TFi=0TF_i=0TFi​=0) or near-critical (0<TFi<pi0<TF_i<p_i0<TFi​<pi​). A further item of the mission, not a milestone, states the claim of §1.4, p. 17 (after Definition 1.4.3): if N+N^+N+ has no cycle of positive length, ≺D\prec_D≺D​ is a strict order on VVV.

Significance

The result itself. Theorem 1.3.3 tells when the temporal constraints of a project can be met at all. Milestones 1 and 2 identify the earliest and latest schedules with longest path lengths, which makes temporal scheduling a pair of longest-path computations (a forward pass from 000 and a backward pass to 000). Remark 1.3.2 justifies working in integer time. The distance order and the base time intervals [LSi,ECi[[LS_i,EC_i[[LSi​,ECi​[ are the inputs of the resource-constrained methods in Chapters 2 and 3: priority rules schedule along ≺D\prec_D≺D​, and base time intervals give lower bounds on resource usage.

Formalizing it. These results are classical and proved, but the book does not prove Theorem 1.3.3; it points to Neumann (1975) and Bartusch et al. (1988). To our knowledge they have no machine-checked form in this generality, with arbitrary integer weights, cycles, fictitious start and end nodes, and the backward arc of N+N^+N+. The CPM results for acyclic event networks with nonnegative durations already on Prove2Me are a special case. The definitions of this mission (project, AoN network, schedule, N+N^+N+, distances) are intended as the shared substrate for the later missions of the series, which add renewable and cumulative resources.

Difficulty

The necessity direction of the goal is a telescoping sum around a cycle. The sufficiency direction needs a schedule, and the natural candidate Si=d0iS_i=d_{0i}Si​=d0i​ requires three things: longest path lengths must be well defined, they must be finite, and they must satisfy the temporal constraints. With negative weights and cycles, the maximum over walks is unbounded when a positive cycle exists, and a walk-based definition gives nothing. A path-based definition gives a finite maximum but loses the concatenation property, so the triangle inequality becomes a statement about removing nonpositive cycles from walks. S0=0S_0=0S0​=0 and Si≥0S_i\ge 0Si​≥0 further depend on the standing assumption: without it, an arc ⟨i,0⟩\langle i,0\rangle⟨i,0⟩ with positive weight makes ST\mathcal S_TST​ empty although no cycle is positive. The same combinatorics of walks, paths and cycles is behind milestones 1 and 2 and the distance-order item.

Formalization scope

Nodes are Fin (n + 2): 000 is the project beginning and Fin.last (n + 1) the project completion. The field one_le_n records n≥1n\ge 1n≥1. Durations are natural numbers with p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0 and pi>0p_i>0pi​>0 for real activities. Arc weights are arbitrary integers on a loop-free Finset of ordered pairs, so parallel arcs cannot occur. Start times are real; integrality appears only as Remark 1.3.2.

Walks are functions Fin (m + 1) → Fin (n + 2). A path is an injective walk, and a cycle is a closed walk with at least one arc and distinct nodes apart from the repeated endpoint. Distances are maxima over the finitely many paths, valued in WithBot ℤ with ⊥=−∞\bot=-\infty⊥=−∞ for unreachable pairs. No supremum over an unbounded set is taken. ESiES_iESi​ and LSiLS_iLSi​ convert these to integers with junk value 000 for −∞-\infty−∞, and every milestone that uses them carries the hypotheses under which the distances are finite. The backward arc of N+N^+N+ has weight −L-L−L for an integer parameter LLL. If NNN already contains an arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩, the two arcs merge into one carrying the larger weight, as in the book's convention for parallel lags. The standing assumption of p. 8 is a named predicate and a hypothesis of the goal and of milestones 2 and 4.

A trivializing formalization is ruled out: weights are signed integers and cycles are allowed, so the no-positive-cycle condition is not vacuous, and the standing assumption is satisfiable by projects with maximum time lags.

A complete development needs cycle removal from closed walks, the Bellman-type characterization of longest paths without positive cycles, and total unimodularity or a direct integrality argument for Remark 1.3.2. The walk, path and distance layer is reusable for any difference-constraint system. Proofs of milestones and lemmas on walk decomposition are welcome.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003. https://doi.org/10.1007/978-3-540-24800-2
  • M. Bartusch, R. H. Möhring, F. J. Radermacher, "Scheduling project networks with resource constraints and time windows", Annals of Operations Research 16 (1988), 201–240. https://doi.org/10.1007/BF02283745
  • K. Neumann, Operations Research Verfahren, Band III, Hanser, 1975, Sect. 6.4.
  • B. Roy, Les problèmes d'ordonnancement: applications et méthodes, Dunod, 1964.
  • J. E. Kelley, M. R. Walker, "Critical-path planning and scheduling", Proceedings of the Eastern Joint Computer Conference, 1959, 160–173. https://doi.org/10.1145/1460299.1460318
  • R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows, Prentice Hall, 1993, Sect. 5.4 and 5.6.
8 thms3 active usersReviewed
🏆Completed
CombinatoricsGraph TheoryOperations Research+1·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources II: A Time-Feasible Strict Order Is Feasible iff It Breaks Up Every Minimal Forbidden SetTextbook

Motivation

Resource-constrained project scheduling asks for start times of the activities of a project so that prescribed time lags between activities are respected and, at every moment, the activities in progress do not require more of any renewable resource (staff, machines, reactors) than is available. When the time lags include maximum time lags (deadlines relative to other activities), even finding a feasible schedule is NP-hard, and the feasible region is in general neither convex nor connected. Branch-and-bound methods for this problem (the problem PS∣temp∣Cmax⁡PS|temp|C_{\max}PS∣temp∣Cmax​ in the notation of Neumann, Schwindt & Zimmermann) do not search over schedules directly. They search over strict orders of the activities, that is, over sets of precedence constraints "jjj starts after iii has finished".

This mission formalizes the theory behind that search, as developed by Bartusch, Möhring & Radermacher (1988) and presented in §2.3 of Neumann, Schwindt & Zimmermann, Project Scheduling with Time Windows and Scarce Resources (2nd ed., Springer 2003). Its goal, Theorem 2.3.10, says when a strict order resolves every resource conflict.

Setting

A project has activities V={0,1,…,n+1}V = \{0, 1, \dots, n+1\}V={0,1,…,n+1}, where 000 and n+1n+1n+1 are fictitious activities marking the project's start and completion and 1,…,n1, \dots, n1,…,n are the real activities (n≥1n \ge 1n≥1). Activity iii has duration pi∈Z≥0p_i \in \mathbb Z_{\ge 0}pi​∈Z≥0​, with p0=pn+1=0p_0 = p_{n+1} = 0p0​=pn+1​=0 and pi>0p_i > 0pi​>0 for real activities. Time lags are encoded in the project network NNN: an arc ⟨i,j⟩∈E\langle i, j\rangle \in E⟨i,j⟩∈E with integer weight δij\delta_{ij}δij​ imposes Sj−Si≥δijS_j - S_i \ge \delta_{ij}Sj​−Si​≥δij​. The book's standing assumptions give, for every node iii, a path from 000 to iii of nonnegative length and a path from iii to n+1n+1n+1 of length at least pip_ipi​.

A schedule is a vector S∈Rn+2S \in \mathbb R^{n+2}S∈Rn+2 with S0=0S_0 = 0S0​=0 and Si≥0S_i \ge 0Si​≥0. It is time-feasible if Sj−Si≥δijS_j - S_i \ge \delta_{ij}Sj​−Si​≥δij​ for all arcs. The set of time-feasible schedules is ST\mathcal S_TST​.

Each renewable resource k∈Rk \in \mathcal Rk∈R has a capacity RkR_kRk​, and activity iii uses rik≤Rkr_{ik} \le R_krik​≤Rk​ units of it while in progress, with r0k=rn+1,k=0r_{0k} = r_{n+1,k} = 0r0k​=rn+1,k​=0. The active set at time ttt is A(S,t)={i∣Si≤t<Si+pi}\mathcal A(S,t) = \{ i \mid S_i \le t < S_i + p_i\}A(S,t)={i∣Si​≤t<Si​+pi​}, and SSS is resource-feasible if ∑i∈A(S,t)rik≤Rk\sum_{i \in \mathcal A(S,t)} r_{ik} \le R_k∑i∈A(S,t)​rik​≤Rk​ for all kkk and all t≥0t \ge 0t≥0. The feasible region S\mathcal SS consists of the schedules that are both time-feasible and resource-feasible.

A strict order O⊆V×VO \subseteq V \times VO⊆V×V is an asymmetric, transitive relation. Its order polyhedron is

ST(O)={S∈ST∣Sj≥Si+pi for all (i,j)∈O}.\mathcal S_T(O) = \{ S \in \mathcal S_T \mid S_j \ge S_i + p_i \ \text{for all } (i,j) \in O\}.ST​(O)={S∈ST​∣Sj​≥Si​+pi​ for all (i,j)∈O}.

OOO is time-feasible if ST(O)≠∅\mathcal S_T(O) \ne \emptysetST​(O)=∅, and feasible if moreover ST(O)⊆S\mathcal S_T(O) \subseteq \mathcal SST​(O)⊆S. The order network N(O)N(O)N(O) adds to NNN, for each (i,j)∈O(i,j) \in O(i,j)∈O, an arc ⟨i,j⟩\langle i,j\rangle⟨i,j⟩ of weight pip_ipi​, or raises the weight of an existing arc to max⁡(δij,pi)\max(\delta_{ij}, p_i)max(δij​,pi​). A schedule SSS induces the strict order O(S)={(i,j)∣i≠j, Sj≥Si+pi}O(S) = \{(i,j) \mid i \ne j,\ S_j \ge S_i + p_i\}O(S)={(i,j)∣i=j, Sj​≥Si​+pi​}.

A set F⊆VF \subseteq VF⊆V is forbidden if ∑i∈Frik>Rk\sum_{i \in F} r_{ik} > R_k∑i∈F​rik​>Rk​ for some resource kkk. It is a minimal forbidden set if no proper subset of it is forbidden. F\mathcal FF denotes the set of minimal forbidden sets.

Formalization targets

Goal: Theorem 2.3.10 (Bartusch et al. 1988)

For every time-feasible strict order OOO,

O feasible  ⟺  ∀F∈F ∃ i,j∈F: N(O) has a path from i to j of length≥pi.O \text{ feasible} \iff \forall F \in \mathcal F\ \exists\, i, j \in F:\ N(O) \text{ has a path from } i \text{ to } j \text{ of length} \ge p_i .O feasible⟺∀F∈F ∃i,j∈F: N(O) has a path from i to j of length≥pi​.

Milestones

  1. Proposition 2.3.3. A strict order OOO is time-feasible if and only if N(O)N(O)N(O) has no cycle of positive length.
  2. Bartusch et al.'s criterion (quoted in the proof of Theorem 2.3.10). A schedule SSS is resource-feasible if and only if every F∈FF \in \mathcal FF∈F contains distinct i,ji, ji,j with Sj≥Si+piS_j \ge S_i + p_iSj​≥Si​+pi​.
  3. Proposition 2.3.6. For time-feasible SSS, the strict order O(S)O(S)O(S) is feasible if and only if S∈SS \in \mathcal SS∈S.
  4. Theorem 2.3.7. S=⋃O∈OST(O)\mathcal S = \bigcup_{O \in \mathcal O} \mathcal S_T(O)S=⋃O∈O​ST​(O), where O\mathcal OO is the finite set of inclusion-minimal feasible strict orders.
  5. Remark 2.3.11. A time-feasible schedule partitions FFF if and only if every A(S,t)∩F\mathcal A(S,t) \cap FA(S,t)∩F, t≥0t \ge 0t≥0, is feasible. A time-feasible order is feasible if and only if it breaks up all (equivalently, all minimal) forbidden sets. A time-feasible schedule is feasible if and only if it partitions all forbidden sets.

Significance

Theorem 2.3.10 turns the feasibility of a strict order, which is a statement about infinitely many schedules and all times ttt, into a finite check: one longest-path computation in N(O)N(O)N(O) for each minimal forbidden set. Together with Proposition 2.3.3 and the structural Theorem 2.3.7, it shows that S\mathcal SS is a finite union of polyhedra indexed by feasible strict orders. This justifies the enumeration schemes of Chapter 2 of the book (branching on the pairs that break up a minimal forbidden set) and the notions of active and stable schedules developed in later sections.

All results in this mission are proved in the literature. For the resource-feasibility criterion, the book cites Bartusch et al. (1988) instead of proving it. To our knowledge, none of these results has been machine-checked. A formal development would give a verified foundation for the order-based description of the feasible region, on which later missions of this series (active schedules, delaying modes, stable schedules) build.

Difficulty

The sufficiency half of the goal is short once the criterion is available: a path of length ≥pi\ge p_i≥pi​ in N(O)N(O)N(O) forces Sj≥Si+piS_j \ge S_i + p_iSj​≥Si​+pi​ on the whole order polyhedron. The necessity half carries the content. If for some minimal forbidden set FFF no path in N(O)N(O)N(O) between elements of FFF reaches the required length, one must construct a schedule in ST(O)\mathcal S_T(O)ST​(O) in which all activities of FFF are simultaneously in progress. This means adding the reverse constraints Sj−Si<piS_j - S_i < p_iSj​−Si​<pi​ for all i,j∈Fi, j \in Fi,j∈F to the temporal system without creating a cycle of positive length, while keeping S0=0S_0 = 0S0​=0 and S≥0S \ge 0S≥0. The obvious reading "no single arc gives a precedence, so they can overlap" fails because maximum time lags combine into long paths through activities outside FFF. The standing assumption that every node is reachable from 000 by a path of nonnegative length is needed here: without it the equivalence is false.

Formalization scope

  • The activity set is Fin (n + 2): 0 is the project start and Fin.last (n + 1) the project completion. Durations and resource data are natural numbers, arc weights are integers, and start times are real numbers.
  • Strict orders are finite sets of pairs, Finset (Fin (n+2) × Fin (n+2)), required to be asymmetric and transitive.
  • Resource constraints hold for every t≥0t \ge 0t≥0. The book's (2.1.4) writes 0≤t≤dˉ0 \le t \le \bar d0≤t≤dˉ. In Chapter 2 schedules are not bounded by dˉ\bar ddˉ, and the book's proofs and Remark 2.3.11 use all t≥0t \ge 0t≥0. This is a convention of the whole series, not a strengthening.
  • A path is a walk (nodes may repeat) and its length is the sum of its arc weights. A cycle of positive length is a closed walk with at least one arc and positive length. For a time-feasible order, N(O)N(O)N(O) has no cycle of positive length. In that case "some path of length ≥pi\ge p_i≥pi​" coincides with the book's "longest path length ≥pi\ge p_i≥pi​", so no supremum over paths appears.
  • The standing assumptions of the book form a single predicate Project.StandingAssumptions, which is a hypothesis of every theorem: n≥1n \ge 1n≥1; p0=pn+1=0p_0 = p_{n+1} = 0p0​=pn+1​=0 and pi>0p_i > 0pi​>0 otherwise; no loops; r0k=rn+1,k=0r_{0k} = r_{n+1,k} = 0r0k​=rn+1,k​=0 and rik≤Rkr_{ik} \le R_krik​≤Rk​; and the two path conditions of p. 8.
  • Minimal forbidden sets and inclusion-minimal feasible orders use Mathlib's Minimal, taken among forbidden sets and among feasible strict orders respectively.
  • The goal is an equivalence, and both directions are required. Weakening it to sufficiency, or dropping the time-feasibility of OOO or the minimality of FFF, would change the theorem. Keeping the book's cut-off t≤dˉt \le \bar dt≤dˉ would also change it, because a schedule could then have an unresolved conflict after dˉ\bar ddˉ and still be called feasible.
  • Theorem 1.3.3 of Chapter 1 (a time-feasible schedule exists if and only if the network has no cycle of positive length) is needed for Proposition 2.3.3 and is restated here for N(O)N(O)N(O). Chapter 1's mission is drafted separately.
  • Useful infrastructure beyond this mission: longest-path potentials on integer-weighted digraphs without positive cycles (feasibility of difference constraints), and the walk and cycle API on Network. Contributions of this general lemma layer are welcome.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003. https://doi.org/10.1007/978-3-540-24800-2
  • M. Bartusch, R. H. Möhring, F. J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16 (1988), 201–240. https://doi.org/10.1007/BF02283745
9 thms2 active usersReviewed
🏆Completed
Convex OptimizationOperations ResearchOptimization+1·Captain: mikedeng1

Numerical Techniques for Stochastic Optimization IV: Nonstationary Optimization and a Convergence Criterion for Nonmonotone SequencesTextbook

Motivation

Many stochastic and nondifferentiable optimization problems are not solved by minimizing their true objective f0f^0f0 directly: f0f^0f0 may be nonsmooth, an expectation that cannot be evaluated, or only approximately known. A standard remedy replaces f0f^0f0 by a sequence of "good" approximations F0(⋅,s)F^0(\cdot, s)F0(⋅,s) (smoothed versions, sample averages, perturbations) that converge to f0f^0f0, and runs one step of a descent method on the current approximation at every iteration. Approximation and optimization then proceed simultaneously. More generally, in nonstationary optimization the objective F0(⋅,s)F^0(\cdot, s)F0(⋅,s) and the feasible set XsX_sXs​ change with the iteration number sss, and the iterates xsx^sxs are required to follow the time path of the optimal solutions,

lim⁡s→∞[F0(xs,s)−min⁡{F0(x,s)∣x∈Xs}]=0.\lim_{s\to\infty}\bigl[F^0(x^s, s) - \min\{F^0(x, s) \mid x \in X_s\}\bigr] = 0 .s→∞lim​[F0(xs,s)−min{F0(x,s)∣x∈Xs​}]=0.

Such procedures are essentially nonmonotone: a step on F0(⋅,s)F^0(\cdot, s)F0(⋅,s) gives no guarantee of decrease of F0(⋅,t)F^0(\cdot, t)F0(⋅,t) for t≥s+1t \ge s+1t≥s+1, nor of f0f^0f0. Their convergence therefore cannot be proved by the usual monotone Lyapunov argument. Section 6.4 of Yu. Ermoliev's chapter "Stochastic Quasigradient Methods" in Ermoliev & Wets (eds.), Numerical Techniques for Stochastic Optimization (Springer 1988), gives the basic deterministic convergence theorem for this setting (Theorem 6.3) and the convergence criterion for nonmonotone sequences on which its proof rests (Theorem 6.4, taken from Ermoliev's 1976 monograph; the chapter compares its conditions with Zangwill's necessary and sufficient convergence conditions).

Timeline, as recorded in the chapter's bibliography (pp. 180–181): Ermoliev and Nurminski introduced limit extremal problems, in which F0(⋅,s)F^0(\cdot, s)F0(⋅,s) and XsX_sXs​ both converge ("Limit extremal problems", Kibernetika 1973, [14]); Nurminski gave convergence conditions for stochastic programming algorithms (Kibernetika 1973, [11]); Gupal treated time-varying functions (Kibernetika 1974, [15]); Ermoliev's monograph Stochastic Programming Methods (Nauka, 1976, [5]) contains the criterion stated here as Theorem 6.4 (p. 181); Nurminski formulated the general problem of nonstationary optimization (Kibernetika 1977, [16]); and Gaivoronski proved convergence of stochastic nonstationary procedures (Kibernetika 1978, [19]), the source of the chapter's Theorem 6.5.

Setting

Throughout, points are vectors of Rn\mathbb R^nRn with the Euclidean norm ∥⋅∥\|\cdot\|∥⋅∥ and inner product ⟨⋅,⋅⟩\langle\cdot,\cdot\rangle⟨⋅,⋅⟩.

  • The projection onto a nonempty closed convex set X⊆RnX \subseteq \mathbb R^nX⊆Rn is πX(y)=arg⁡min⁡{∥y−x∥2:x∈X}\pi_X(y) = \arg\min\{\|y - x\|^2 : x \in X\}πX​(y)=argmin{∥y−x∥2:x∈X}, the unique nearest point of XXX to yyy.
  • A subgradient of a convex function F:Rn→RF : \mathbb R^n \to \mathbb RF:Rn→R at xxx is a vector ggg with F(y)≥F(x)+⟨g,y−x⟩F(y) \ge F(x) + \langle g, y - x\rangleF(y)≥F(x)+⟨g,y−x⟩ for all yyy. The book writes Fx0(x,s)F^0_x(x, s)Fx0​(x,s) for a subgradient of F0(⋅,s)F^0(\cdot, s)F0(⋅,s) at xxx.
  • The nonstationary projected subgradient method (6.41) starts from any x0∈Rnx^0 \in \mathbb R^nx0∈Rn and sets
xs+1=πX[xs−ρsgs],gs a subgradient of F0(⋅,s) at xs,s=0,1,…x^{s+1} = \pi_X\bigl[x^s - \rho_s g_s\bigr], \qquad g_s \text{ a subgradient of } F^0(\cdot, s) \text{ at } x^s,\quad s = 0, 1, \dotsxs+1=πX​[xs−ρs​gs​],gs​ a subgradient of F0(⋅,s) at xs,s=0,1,…

with step sizes ρs≥0\rho_s \ge 0ρs​≥0.

  • For a closed set X∗X^*X∗ (in the application, the set of minimizers of f0f^0f0 on XXX) and a sequence (xs)(x^s)(xs), the exit time from the ε\varepsilonε-ball around xskx^{s_k}xsk​ is τk=min⁡{s≥sk:∥xs−xsk∥>ε}\tau_k = \min\{s \ge s_k : \|x^s - x^{s_k}\| > \varepsilon\}τk​=min{s≥sk​:∥xs−xsk​∥>ε}.
  • The Lyapunov function of the proof is V(x)=min⁡x∗∈X∗∥x∗−x∥2V(x) = \min_{x^* \in X^*}\|x^* - x\|^2V(x)=minx∗∈X∗​∥x∗−x∥2, the squared distance to X∗X^*X∗.

Formalization targets

Goal: Theorem 6.3 (pp. 153–154)

Let F0(⋅,s)F^0(\cdot, s)F0(⋅,s) and f0f^0f0 be convex continuous on Rn\mathbb R^nRn, XXX a nonempty convex compact set, F0(⋅,s)→f0F^0(\cdot, s) \to f^0F0(⋅,s)→f0 uniformly on XXX, ∥gs∥≤C\|g_s\| \le C∥gs​∥≤C, ρs≥0\rho_s \ge 0ρs​≥0, ρs→0\rho_s \to 0ρs​→0 and ∑sρs=∞\sum_s \rho_s = \infty∑s​ρs​=∞. Then the iterates of (6.41) satisfy

F0(xs,s)⟶min⁡{f0(x)∣x∈X}(s→∞).F^0(x^s, s) \longrightarrow \min\{f^0(x) \mid x \in X\} \qquad (s \to \infty).F0(xs,s)⟶min{f0(x)∣x∈X}(s→∞).

The statement fixes no rate and no constant: only the qualitative limit, which is what the book proves.

Milestones

  1. p. 155 — the one-step recursion V(xs+1)≤V(xs)+2ρs⟨gs,x∗(s)−xs⟩+ρs2∥gs∥2V(x^{s+1}) \le V(x^s) + 2\rho_s\langle g_s, x^*(s) - x^s\rangle + \rho_s^2\|g_s\|^2V(xs+1)≤V(xs)+2ρs​⟨gs​,x∗(s)−xs⟩+ρs2​∥gs​∥2, with x∗(s)x^*(s)x∗(s) a point of X∗X^*X∗ nearest to xsx^sxs.
  2. p. 156 — the travel bound ∥xb−xa∥≤∑s=ab−1∥xs+1−xs∥≤C∑s=ab−1ρs\|x^b - x^a\| \le \sum_{s=a}^{b-1}\|x^{s+1} - x^s\| \le C\sum_{s=a}^{b-1}\rho_s∥xb−xa∥≤∑s=ab−1​∥xs+1−xs∥≤C∑s=ab−1​ρs​ along (6.41) once xa∈Xx^a \in Xxa∈X.
  3. p. 155 — conditions (1) and (2)(a) of Theorem 6.4 for (6.41): the iterates stay in a compact set and ∥xs+1−xs∥→0\|x^{s+1} - x^s\| \to 0∥xs+1−xs∥→0.
  4. Theorem 6.4 (p. 155) — if X∗X^*X∗ is closed, (xs)(x^s)(xs) lies in a compact set, steps vanish along subsequences converging into X∗X^*X∗, the sequence leaves every small ball around a subsequential limit outside X∗X^*X∗, and it leaves with a strictly lower value of a continuous VVV that takes countably many values on X∗X^*X∗, then V(xs)V(x^s)V(xs) converges and all accumulation points lie in X∗X^*X∗.
  5. pp. 155–156 — conditions (2)(b) and (3) of Theorem 6.4 for (6.41) with X∗=arg⁡min⁡Xf0X^* = \arg\min_X f^0X∗=argminX​f0 and V=dist⁡(⋅,X∗)2V = \operatorname{dist}(\cdot, X^*)^2V=dist(⋅,X∗)2:
lim sup⁡k→∞V(xτk)<lim⁡k→∞V(xsk).\limsup_{k\to\infty} V(x^{\tau_k}) < \lim_{k\to\infty} V(x^{s_k}).k→∞limsup​V(xτk​)<k→∞lim​V(xsk​).

Significance

Theorem 6.3 is the prototype of the convergence results for simultaneous optimization and approximation. It covers smoothing schemes in which f0f^0f0 is replaced by F0(x,s)=Ef0(x+h(s))F^0(x, s) = \mathbb E f^0(x + h(s))F0(x,s)=Ef0(x+h(s)) with a vanishing perturbation h(s)h(s)h(s) (the chapter's (6.39)–(6.40)), penalty and regularization sequences, and the deterministic skeleton of stochastic nonstationary methods such as Theorem 6.5. Theorem 6.4 is reusable well beyond this mission: it is a general tool for proving that accumulation points of a nonmonotone algorithm are solutions; the chapter introduces it as the tool for "essentially nonmonotonic solution procedures" in general.

Both results are classical and proved (Theorem 6.3 in the chapter itself, Theorem 6.4 in Ermoliev's 1976 monograph, whose proof the chapter cites but does not reproduce). No machine-checked proof of either is known to the platform's catalogue (searches for nonstationary optimization, Zangwill-type criteria and nonmonotone convergence return no match). The formalization adds a Lean statement and proof of a nonmonotone convergence criterion, a Lean proof of convergence for projected subgradient steps on a changing objective, and reusable facts about Euclidean projection onto a convex compact set.

Difficulty

The obvious argument for projected subgradient methods tracks V(xs)=dist⁡(xs,X∗)2V(x^s) = \operatorname{dist}(x^s, X^*)^2V(xs)=dist(xs,X∗)2 and shows that it decreases whenever xsx^sxs is far from X∗X^*X∗. Here that argument fails at two points. First, the subgradient is taken on F0(⋅,s)F^0(\cdot, s)F0(⋅,s), not on f0f^0f0, so the decrease of VVV holds only up to an error controlled by sup⁡X∣F0(⋅,s)−f0∣\sup_X|F^0(\cdot, s) - f^0|supX​∣F0(⋅,s)−f0∣, and only while the iterate stays away from X∗X^*X∗; near X∗X^*X∗, VVV may increase. Second, a decrease of VVV over each excursion does not by itself exclude "cycling": the sequence may visit every neighbourhood of a point x′∉X∗x' \notin X^*x′∈/X∗ infinitely often. Theorem 6.4 is formulated in terms of exit times and subsequences rather than single steps for this reason, and its hypothesis that VVV takes only countably many values on X∗X^*X∗ is what separates it from a monotone-descent statement.

Formalization scope

  • Rn\mathbb R^nRn is EuclideanSpace ℝ (Fin n); sequences are indexed by ℕ from s=0s = 0s=0 as in the book. The iteration (6.41) is a hypothesis on a given sequence, x (s+1) = projX X (x s - ρ s • g s), with a given selection of subgradients g s; the subgradient inequality is required on all of Rn\mathbb R^nRn, and F0(⋅,s)F^0(\cdot, s)F0(⋅,s), f0f^0f0 are convex and continuous on all of Rn\mathbb R^nRn.
  • projX X y is a minimizer of ∥y−x∥2\|y - x\|^2∥y−x∥2 over XXX (junk value yyy when none exists; every statement assumes XXX nonempty, closed and convex). optimalSet f X is the set of minimizers of fff on XXX; VVV is Metric.infDist · X* ^ 2.
  • Added hypotheses the page does not print: ρs≥0\rho_s \ge 0ρs​≥0 (step sizes are nonnegative throughout the chapter) and X≠∅X \ne \varnothingX=∅ (the minimum over XXX must exist). The limit min⁡Xf0\min_X f^0minX​f0 is written sInf (f '' X); ∑sρs=∞\sum_s\rho_s = \infty∑s​ρs​=∞ is divergence of the partial sums.
  • Constants. The only unspecified constant is the CCC of the travel bound on p. 156 ("where CCC is a constant"); the proof yields CCC = the bound of hypothesis (d), ∥gs∥≤C\|g_s\| \le C∥gs​∥≤C, and that is the constant in milestone 2. All other results are qualitative.
  • Corrections of the page. (i) Theorem 6.4 (2)(b) is printed as "τk=min⁡{s∣s≥sk,∥xsk−xs∥<ε}>∞\tau_k = \min\{s \mid s \ge s_k, \|x^{s_k} - x^s\| < \varepsilon\} > \inftyτk​=min{s∣s≥sk​,∥xsk​−xs∥<ε}>∞", which no sequence satisfies; following the proof of Theorem 6.3 it is read as: τk=min⁡{s≥sk:∥xs−xsk∥>ε}\tau_k = \min\{s \ge s_k : \|x^s - x^{s_k}\| > \varepsilon\}τk​=min{s≥sk​:∥xs−xsk​∥>ε} is finite. "For ε\varepsilonε sufficiently small and for any sks_ksk​" is read as "there is ε0>0\varepsilon_0 > 0ε0​>0 such that for all ε∈(0,ε0)\varepsilon \in (0,\varepsilon_0)ε∈(0,ε0​) and all kkk", and condition (3) is imposed for the same ε\varepsilonε. (ii) The left limit in (3) is read as lim sup⁡\limsuplimsup (the proof prints lim⁡‾\overline{\lim}lim); the right limit is V(x′)V(x')V(x′). (iii) The display on p. 155 prints "===" where the projection gives "≤\le≤". (iv) The proof on p. 155 prints "xsk→x′∈X∗x^{s_k} \to x' \in X^*xsk​→x′∈X∗" where x′∉X∗x' \notin X^*x′∈/X∗ is meant.
  • Theorem 6.5 (the stochastic version, p. 156) is not formalized: the chapter states it without proof, citing [19], its moment hypothesis E∥ξ0(s)∥<constE\|\xi^0(s)\| < \mathrm{const}E∥ξ0(s)∥<const and the measurability of the random step sizes ρs\rho_sρs​ are not pinned down on the page, and it is not used by Theorem 6.3.
  • A trivializing formalization is ruled out: the goal is about the iteration (6.41) itself, not a statement that assumes xs→X∗x^s \to X^*xs→X∗ and derives the limit of the values, and no hypothesis forces the sequence or the functions to be constant.
  • Contributions welcome: properties of projX (existence, uniqueness, nonexpansiveness, the obtuse-angle characterization), a proof of Theorem 6.4, and the two proof steps on pp. 155–156.

Selected references

  • Yu. Ermoliev, "Stochastic Quasigradient Methods", in Yu. Ermoliev and R. J-B Wets (eds.), Numerical Techniques for Stochastic Optimization, Springer Series in Computational Mathematics 10, Springer 1988, Ch. 6, pp. 141–185 (§6.4, pp. 152–156). https://doi.org/10.1007/978-3-642-61370-8
  • Yu. M. Ermoliev, Stochastic Programming Methods (in Russian), Nauka, Moscow, 1976 (the chapter's [5]; Theorem 6.4 is on p. 181).
  • Yu. M. Ermoliev and E. A. Nurminski, "Limit extremal problems", Kibernetika 1 (1973) (the chapter's [14]).
  • E. A. Nurminski, "Convergence conditions of algorithms of stochastic programming", Kibernetika 3 (1973) (the chapter's [11]).
  • E. A. Nurminski, "The problem of nonstationary optimization", Kibernetika 2 (1977) (the chapter's [16]).
  • A. A. Gaivoronski, "Nonstationary stochastic programming problems", Kibernetika 4 (1978) (the chapter's [19]).
  • W. I. Zangwill, Nonlinear Programming: A Unified Approach, Prentice-Hall, 1969.
8 thms2 active usersReviewed
🏆Completed
Operations ResearchProbabilityStatistics+1·Captain: mikedeng1

Fundamentals of Queueing Theory VIII: Lindley's Integral Equation for the G/G/1 QueueTextbook

Why the G/G/1 queue

The single-server queue with general interarrival times and general service times, written G/G/1 in Kendall's notation, is the model left when every distributional assumption is removed from the classical single-server queue. Customers arrive one at a time, wait in line in first-come, first-served order, and are served one at a time. Almost nothing about it can be computed in closed form. What survives is a recursion for the waiting times of successive customers and the integral equation of its steady state, due to Lindley (Lindley, 1952). Every exact and approximate treatment of the G/G/1 waiting time, including the bounds of the next chapter of the book, starts from that equation.

This mission is the eighth of a series formalizing Gross, Shortle, Thompson and Harris, Fundamentals of Queueing Theory (4th ed., Wiley 2008, DOI 10.1002/9781118625651). It covers Chapter 6, "General Models and Theoretical Topics". The chapter also treats the G/E_k/1 characteristic equation (§6.1), the M/D/c queue (§6.3) and maximum-likelihood estimation for M/M/1 (§6.7), which appear here as further milestones.

Timeline. Lindley (1952) derived the recursion and the integral equation and showed that a limiting waiting-time distribution exists when the mean service time is smaller than the mean interarrival time. Loynes (1962) gave the stationary solution as a supremum over the past of a random walk, for stationary rather than independent inputs. Clarke (1957) derived the maximum-likelihood estimators for M/M/1, and Crommelin (1932) the M/D/c generating function. Chaudhry, Harris and Marchal (1990) located the roots of the G/E_k/1 characteristic equation.

Setting

The interarrival times T(n)T^{(n)}T(n) are independent with common distribution AAA, the service times S(n)S^{(n)}S(n) are independent with common distribution BBB, and the two sequences are independent. Both AAA and BBB are lifetime laws: probability distributions on [0,∞)[0,\infty)[0,∞). The means are E[T]=1/λ\mathrm E[T]=1/\lambdaE[T]=1/λ and E[S]=1/μ\mathrm E[S]=1/\muE[S]=1/μ, and the traffic intensity is ρ=λ/μ=E[S]/E[T]\rho=\lambda/\mu=\mathrm E[S]/\mathrm E[T]ρ=λ/μ=E[S]/E[T].

The line delay Wq(n)W_q^{(n)}Wq(n)​ of the nnnth customer satisfies Lindley's recursion

Wq(n+1)=max⁡(0,  Wq(n)+S(n)−T(n)).W_q^{(n+1)}=\max\bigl(0,\;W_q^{(n)}+S^{(n)}-T^{(n)}\bigr).Wq(n+1)​=max(0,Wq(n)​+S(n)−T(n)).

Write UUU for the distribution of S−TS-TS−T with S∼BS\sim BS∼B and T∼AT\sim AT∼A independent. Since Wq(n)W_q^{(n)}Wq(n)​ is independent of (S(n),T(n))(S^{(n)},T^{(n)})(S(n),T(n)), one step of the recursion sends the distribution ν\nuν of Wq(n)W_q^{(n)}Wq(n)​ to the distribution of max⁡(0,W+U)\max(0,W+U)max(0,W+U) with W∼νW\sim\nuW∼ν independent of UUU. A stationary delay distribution is a probability distribution ν\nuν that this step maps to itself; its CDF is Wq(t)=ν((−∞,t])W_q(t)=\nu((-\infty,t])Wq​(t)=ν((−∞,t]).

Formalization targets

Goal: Lindley's equation (6.8)

If E[T]\mathrm E[T]E[T] and E[S]\mathrm E[S]E[S] are finite and ρ<1\rho<1ρ<1, then a stationary delay distribution exists, and the CDF of every stationary delay distribution satisfies

Wq(t)={∫−∞tWq(t−x) dU(x)(0≤t<∞),0(t<0),U(x)=∫max⁡(0,x)∞B(y) dA(y−x).W_q(t)=\begin{cases}\displaystyle\int_{-\infty}^{t}W_q(t-x)\,dU(x) & (0\le t<\infty),\\ 0 & (t<0),\end{cases} \qquad U(x)=\int_{\max(0,x)}^{\infty}B(y)\,dA(y-x).Wq​(t)=⎩⎨⎧​∫−∞t​Wq​(t−x)dU(x)0​(0≤t<∞),(t<0),​U(x)=∫max(0,x)∞​B(y)dA(y−x).

The goal consists of the existence statement and the equation together. The equation alone is close to unfolding one step of the recursion. Existence is what ties it to a queue in steady state.

Milestones

  • (6.9), the CDF of U=S−TU=S-TU=S−T as a convolution of BBB and AAA.
  • The one-step convolution (p.285): Wq(n+1)(t)=∫−∞tWq(n)(t−x) dU(x)W_q^{(n+1)}(t)=\int_{-\infty}^{t}W_q^{(n)}(t-x)\,dU(x)Wq(n+1)​(t)=∫−∞t​Wq(n)​(t−x)dU(x) for t≥0t\ge0t≥0.
  • (6.10)–(6.12), the Wiener–Hopf form: Wq−(t)+Wq(t)=∫−∞tWq(t−x) dU(x)W_q^-(t)+W_q(t)=\int_{-\infty}^t W_q(t-x)\,dU(x)Wq−​(t)+Wq​(t)=∫−∞t​Wq​(t−x)dU(x) for all ttt, and Wˉq(s)=Wˉq−(s)/(A∗(−s)B∗(s)−1)\bar W_q(s)=\bar W_q^-(s)/(A^*(-s)B^*(s)-1)Wˉq​(s)=Wˉq−​(s)/(A∗(−s)B∗(s)−1) for two-sided Laplace transforms.
  • The G/E_k/1 root result (p.278): the characteristic equation zk=A∗[kμ(1−z)]z^k=A^*[k\mu(1-z)]zk=A∗[kμ(1−z)] has exactly one root in (0,1)(0,1)(0,1), one in (−1,0)(-1,0)(−1,0) exactly when kkk is even, and, when A∗=[A1∗]kA^*=[A_1^*]^kA∗=[A1∗​]k, exactly kkk distinct roots in the open unit disk.
  • (6.18)–(6.20), the M/D/c generating function and p0p_0p0​ in terms of the roots of zc=e−λ(1−z)z^c=e^{-\lambda(1-z)}zc=e−λ(1−z).
  • (6.33), the maximum-likelihood estimators λ^=na/t\hat\lambda=n_a/tλ^=na​/t, μ^=nc/tb\hat\mu=n_c/t_bμ^​=nc​/tb​ for M/M/1.

Significance

Lindley's equation characterizes the stationary G/G/1 waiting time without any distributional assumption. The M/M/1, M/G/1 and G/M/1 waiting-time distributions of earlier chapters are its special cases. The transform relation (6.12) reduces the G/G/1 delay to a factorization problem for A∗(−s)B∗(s)−1A^*(-s)B^*(s)-1A∗(−s)B∗(s)−1. The recursion and the equation are the starting point of Kingman's bound, of heavy-traffic approximations and of simulation of single-server systems.

All of these results are classical and proved. As far as a search of the platform shows, none of them is formalized. The platform's forward-coupling mission proves convergence to a stationary workload of a continuous-time queue that it assumes to exist. It proves neither the existence of a stationary law of Lindley's discrete recursion nor Lindley's equation. The mission therefore produces a machine-checked account of the G/G/1 recursion on distributions, a Loynes-type existence theorem for it, and the Wiener–Hopf transform identity. Its definitions (lifetime laws, the law of S−TS-TS−T, the law map of the recursion, two-sided transforms) are reusable for Kingman's bound in the next mission of the series.

Difficulty

The obvious route to existence is to iterate the recursion from Wq(0)=0W_q^{(0)}=0Wq(0)​=0 and take a limit. The distributions of Wq(n)W_q^{(n)}Wq(n)​ from zero increase stochastically, but a limit of CDFs need not be a probability distribution: mass can escape to infinity, and it does when ρ>1\rho>1ρ>1. Ruling this out under ρ<1\rho<1ρ<1 is the whole content of the existence half. It is a statement about the entire past of the input sequences, not about one step of the recursion, and the book asserts it without argument ("In the steady state (ρ<1\rho<1ρ<1) …", p.285).

The transform identity (6.12) needs the right strip of convergence, which the book does not state. A∗(−s)A^*(-s)A∗(−s) is finite only where the interarrival time has an exponential moment.

Formalization scope

Distributions are Mathlib measures on R\mathbb RR. AAA and BBB are probability measures with no mass on (−∞,0)(-\infty,0)(−∞,0), with integrable identity where means are used. ρ<1\rho<1ρ<1 is stated as E[S]/E[T]<1\mathrm E[S]/\mathrm E[T]<1E[S]/E[T]<1 with E[T]>0\mathrm E[T]>0E[T]>0. Independence is encoded by product measures: UUU is the image of B⊗AB\otimes AB⊗A under (s,t)↦s−t(s,t)\mapsto s-t(s,t)↦s−t, and one step of the recursion is the image of ν⊗U\nu\otimes Uν⊗U under (w,u)↦max⁡(0,w+u)(w,u)\mapsto\max(0,w+u)(w,u)↦max(0,w+u). Stieltjes integrals over (−∞,t](-\infty,t](−∞,t] are Lebesgue integrals over the closed half-line, so the atom Wq(0)=q0W_q(0)=q_0Wq​(0)=q0​ is counted. Transforms take complex arguments.

The closed forms carried by the statements are the following.

  • (6.8), in both of the book's forms, ∫−∞tWq(t−x) dU(x)\int_{-\infty}^t W_q(t-x)\,dU(x)∫−∞t​Wq​(t−x)dU(x) and −∫0∞Wq(y) dU(t−y)-\int_0^\infty W_q(y)\,dU(t-y)−∫0∞​Wq​(y)dU(t−y).
  • (6.9) as an integral against the law of T+xT+xT+x.
  • U∗(s)=A∗(−s)B∗(s)U^*(s)=A^*(-s)B^*(s)U∗(s)=A∗(−s)B∗(s) and (6.12), for 0<Re⁡s0<\operatorname{Re}s0<Res with ∫e(Re⁡s)x dA(x)<∞\int e^{(\operatorname{Re}s)x}\,dA(x)<\infty∫e(Res)xdA(x)<∞. The division is stated only where A∗(−s)B∗(s)≠1A^*(-s)B^*(s)\ne1A∗(−s)B∗(s)=1.
  • (6.18) and (6.19) with the denominator 1−zceλ(1−z)1-z^ce^{\lambda(1-z)}1−zceλ(1−z) cleared on ∣z∣≤1|z|\le1∣z∣≤1, and (6.20) for c≥2c\ge2c≥2. The roots z1,…,zc−1z_1,\dots,z_{c-1}z1​,…,zc−1​ are hypotheses: distinct, ≠1\ne1=1, and exhausting the roots in the closed disk.
  • (6.33) as the unique maximizer of −λt−μtb+naln⁡λ+ncln⁡μ-\lambda t-\mu t_b+n_a\ln\lambda+n_c\ln\mu−λt−μtb​+na​lnλ+nc​lnμ over λ,μ>0\lambda,\mu>0λ,μ>0.

A stationary delay distribution is a fixed point of the law map of the recursion, not an arbitrary CDF assumed to satisfy (6.8). A statement of (6.8) for "any CDF with Wq=Wq∗UW_q=W_q*UWq​=Wq​∗U on [0,∞)[0,\infty)[0,∞)" would assume its own conclusion, and is excluded. The statement for M/D/c includes existence of a steady state under λ<c\lambda<cλ<c as well as the formula for every steady state.

Not formalized: §6.1.1–6.1.2 (G/PH_k/1, quasi-birth–death processes), §6.4 (semi-Markov processes, whose limit theorems the book quotes without hypotheses), §6.5 (random-order and last-come service, series representations), §6.6 (design and control), and the rest of §6.7.

Contributions are welcome on the random-walk representation of the recursion, on the existence theorem under ρ<1\rho<1ρ<1, and on the transform identities. The first two are reusable for any single-server or storage model driven by a reflected random walk.

Selected references

  • D. Gross, J. F. Shortle, J. M. Thompson, C. M. Harris, Fundamentals of Queueing Theory, 4th ed., Wiley, 2008. https://doi.org/10.1002/9781118625651
  • D. V. Lindley, "The theory of queues with a single server", Mathematical Proceedings of the Cambridge Philosophical Society 48(2), 1952. https://doi.org/10.1017/S0305004100027638
  • R. M. Loynes, "The stability of a queue with non-independent inter-arrival and service times", Mathematical Proceedings of the Cambridge Philosophical Society 58(3), 1962. https://doi.org/10.1017/S0305004100036094
  • W. Feller, An Introduction to Probability Theory and Its Applications, Vol. II, 2nd ed., Wiley, 1971.
  • A. B. Clarke, "Maximum likelihood estimates in a simple queue", Annals of Mathematical Statistics 28(4), 1957. https://doi.org/10.1214/aoms/1177706796
  • M. L. Chaudhry, C. M. Harris, W. G. Marchal, "Robustness of rootfinding in single-server queueing models", ORSA Journal on Computing 2(3), 1990. https://doi.org/10.1287/ijoc.2.3.273
12 thms3 active usersReviewed
🏆Completed
Markov ChainNumerical AnalysisOperations Research+2·Captain: mikedeng1

Fundamentals of Queueing Theory X: Uniformization of Continuous-Time Markov ChainsTextbook

Motivation

Most Markovian queueing models have no closed-form transient solution. The M/M/1 queue already needs modified Bessel functions (Chapter 2 of the book), and a finite-capacity or multi-class model with state-dependent rates has no closed form at all. What an analyst can always write down is the system of forward equations p′(t)=p(t)Qp'(t)=p(t)Qp′(t)=p(t)Q for the state probabilities. Chapter 8 of Gross, Shortle, Thompson and Harris, Fundamentals of Queueing Theory (4th ed., Wiley 2008, DOI 10.1002/9781118625651), presents two numerical techniques that turn such models into numbers: the randomization (or uniformization) method for the transient distribution of a finite continuous-time Markov chain, and the Fourier-series method for inverting a Laplace transform, as needed for the M/G/1 waiting-time transform (5.33) and the busy-period transform (5.37).

Uniformization goes back to Jensen (1953) and is the standard transient solver in performance-evaluation and reliability tools. Its appeal is that it replaces a matrix exponential, which is numerically delicate, by powers of a stochastic matrix weighted by Poisson probabilities, with an error bound that can be fixed before the computation starts (Grassmann 1977; Gross and Miller 1984). The Fourier-series method with Euler summation is due to Abate and Whitt (Abate and Whitt 1992; Abate, Choudhury and Whitt 1999).

Setting

A continuous-time Markov chain X(t)X(t)X(t) on the states {0,1,…,N}\{0,1,\dots,N\}{0,1,…,N} is described by its infinitesimal generator Q=(qij)Q=(q_{ij})Q=(qij​): for i≠ji\ne ji=j, qij≥0q_{ij}\ge0qij​≥0 is the rate of jumps from iii to jjj, and the diagonal entry is −qi-q_i−qi​ with

qi=∑j≠iqij,i=0,1,…,N.q_i=\sum_{j\ne i}q_{ij},\qquad i=0,1,\dots,N.qi​=j=i∑​qij​,i=0,1,…,N.

The transient state-probability vector p(t)=(p0(t),…,pN(t))p(t)=(p_0(t),\dots,p_N(t))p(t)=(p0​(t),…,pN​(t)), pn(t)=Pr⁡{X(t)=n}p_n(t)=\Pr\{X(t)=n\}pn​(t)=Pr{X(t)=n}, is the solution of the forward equations

p′(t)=p(t)Q(t≥0),p'(t)=p(t)Q\quad(t\ge0),p′(t)=p(t)Q(t≥0),

started from a given probability vector p(0)p(0)p(0). Fix a constant Λ>0\Lambda>0Λ>0 with Λ≥qi\Lambda\ge q_iΛ≥qi​ for every iii (the book takes Λ=max⁡iqi\Lambda=\max_i q_iΛ=maxi​qi​) and define the uniformized matrix

P~=QΛ+I,p~in={qin/Λ(i≠n),1−qi/Λ(i=n).\tilde P=\frac{Q}{\Lambda}+I,\qquad \tilde p_{in}=\begin{cases}q_{in}/\Lambda&(i\ne n),\\1-q_i/\Lambda&(i=n).\end{cases}P~=ΛQ​+I,p~​in​={qin​/Λ1−qi​/Λ​(i=n),(i=n).​

It is the transition matrix of a discrete-time chain YkY_kYk​: the state of XXX after the kkk-th event of a Poisson process of rate Λ\LambdaΛ that has been thinned. Write ϕ(k)=p(0)P~k\phi^{(k)}=p(0)\tilde P^{k}ϕ(k)=p(0)P~k for its distribution after kkk steps.

For the second half of the chapter, the Laplace transform of a real function fff on [0,∞)[0,\infty)[0,∞) is fˉ(s)=∫0∞e−stf(t) dt\bar f(s)=\int_0^\infty e^{-st}f(t)\,dtfˉ​(s)=∫0∞​e−stf(t)dt, and the Fourier-series approximant with parameter AAA is

fA,n(t)=eA/22t[fˉ(A2t)+2∑k=1n(−1)k Re fˉ(A+2kπi2t)],f_{A,n}(t)=\frac{e^{A/2}}{2t}\Big[\bar f\Big(\frac{A}{2t}\Big)+2\sum_{k=1}^{n}(-1)^k\,\mathrm{Re}\,\bar f\Big(\frac{A+2k\pi i}{2t}\Big)\Big],fA,n​(t)=2teA/2​[fˉ​(2tA​)+2k=1∑n​(−1)kRefˉ​(2tA+2kπi​)],

with fA(t)=lim⁡n→∞fA,n(t)f_A(t)=\lim_{n\to\infty}f_{A,n}(t)fA​(t)=limn→∞​fA,n​(t).

Formalization targets

Goal: the randomization formula with its truncation bound (Eqs. (8.9)–(8.12))

The forward equations have a solution, and every solution satisfies, for all t≥0t\ge0t≥0,

p(t)=∑k=0∞p(0)P~(k) e−Λt(Λt)kk!,p(t)=\sum_{k=0}^{\infty}p(0)\tilde P^{(k)}\,\frac{e^{-\Lambda t}(\Lambda t)^k}{k!},p(t)=k=0∑∞​p(0)P~(k)k!e−Λt(Λt)k​,

and whenever ∑k=0Te−Λt(Λt)k/k!>1−ϵ\sum_{k=0}^{T}e^{-\Lambda t}(\Lambda t)^k/k!>1-\epsilon∑k=0T​e−Λt(Λt)k/k!>1−ϵ, every component of the sum truncated at k=Tk=Tk=T is within ϵ\epsilonϵ of pn(t)p_n(t)pn​(t).

Milestones

  1. Eq. (8.12): P~\tilde PP~ has the entries above and is a stochastic matrix.
  2. Eqs. (8.13)–(8.14): ϕ(k)=ϕ(k−1)P~\phi^{(k)}=\phi^{(k-1)}\tilde Pϕ(k)=ϕ(k−1)P~ and each ϕ(k)\phi^{(k)}ϕ(k) is a probability vector.
  3. p.385: ϕ=ϕP~  ⟺  0=ϕQ\phi=\phi\tilde P\iff0=\phi Qϕ=ϕP~⟺0=ϕQ.
  4. Eqs. (8.27)–(8.28): for bounded Lipschitz fff, A>0A>0A>0 and t>0t>0t>0,
fA(t)−f(t)=∑k=1∞e−kAf((2k+1)t),∣fA(t)−f(t)∣≤Ce−A1−e−A  if ∣f(x)∣≤C for x>3t.f_A(t)-f(t)=\sum_{k=1}^{\infty}e^{-kA}f\big((2k+1)t\big),\qquad |f_A(t)-f(t)|\le\frac{Ce^{-A}}{1-e^{-A}}\ \text{ if } |f(x)|\le C \text{ for } x>3t.fA​(t)−f(t)=k=1∑∞​e−kAf((2k+1)t),∣fA​(t)−f(t)∣≤1−e−ACe−A​  if ∣f(x)∣≤C for x>3t.

The mission also contains Eqs. (8.7)–(8.8) as a further theorem, outside the milestone list: the transition probabilities satisfy pin(t)=∑kp~in(k)e−Λt(Λt)k/k!p_{in}(t)=\sum_k\tilde p^{(k)}_{in}e^{-\Lambda t}(\Lambda t)^k/k!pin​(t)=∑k​p~​in(k)​e−Λt(Λt)k/k!, and pn(t)=∑ipi(0)pin(t)p_n(t)=\sum_i p_i(0)p_{in}(t)pn​(t)=∑i​pi​(0)pin​(t).

Significance

The randomization formula reduces the transient analysis of any finite Markovian queue (finite-buffer, multi-server, with balking, reneging or state-dependent rates) to repeated vector–matrix products with a sparse stochastic matrix. The truncation point is chosen from a Poisson tail alone, independently of QQQ. Milestone 3 shows that the same matrix gives the stationary equations, so one iteration serves both transient and steady-state computation. The discretization identity (8.27) is what justifies the parameter choice in Algorithm 8.1: the error decays like e−Ae^{-A}e−A.

All of these results are classical and proved in the literature. None of them is formalized in Lean or Mathlib as far as a search of the platform and Mathlib shows. Mathlib has the matrix exponential and Poisson summation under decay hypotheses, but no continuous-time Markov chain generators, no uniformization, and no Laplace transform. This mission would add the finite-state link between generators, stochastic matrices and matrix exponentials that later chapters of queueing and reliability theory use, and a verified error formula for a numerical inversion method in wide use.

Difficulty

The book's derivation is probabilistic: it conditions on the number of events of the Poisson(Λ\LambdaΛ) process and thins them. A formal statement cannot rest on that picture, because p(t)p(t)p(t) is defined analytically, by the forward equations. The goal therefore contains a uniqueness statement for a linear ODE on [0,∞)[0,\infty)[0,∞) with one-sided derivative at 000, which the book never mentions. The componentwise bound then needs P~\tilde PP~ to be stochastic, so that every ϕn(k)\phi^{(k)}_nϕn(k)​ lies in [0,1][0,1][0,1]. That is exactly where Λ≥max⁡iqi\Lambda\ge\max_i q_iΛ≥maxi​qi​ is used; with a smaller Λ\LambdaΛ the matrix P~\tilde PP~ has negative diagonal entries and the bound fails.

For (8.27), the book gives no proof. The identity is an aliasing (Poisson-summation) formula for a periodic function assembled from the values of fff at all odd multiples of ttt. The convergence of the conditionally summed series (8.24) is the delicate point: continuity of fff at ttt, the book's only hypothesis, does not guarantee convergence of a Fourier series. Mathlib's Poisson summation theorems require decay of the Fourier transform that the damped, reflected function built from fff does not have.

Formalization scope

  • States are Fin (N+1); a row vector is Fin (N+1) → ℝ; pQpQpQ is vecMul. A generator is a real matrix with nonnegative off-diagonal entries and diagonal −∑j≠iqij-\sum_{j\ne i}q_{ij}−∑j=i​qij​.
  • p(t)p(t)p(t) is not defined as the series. It is any function with p(0)=p0p(0)=p_0p(0)=p0​ and one-sided derivative p(t)Qp(t)Qp(t)Q within [0,∞)[0,\infty)[0,∞) at every t≥0t\ge0t≥0. The goal also asserts that such a function exists, so it cannot hold vacuously, and it asserts the series identity for every solution. Defining p(t)p(t)p(t) as the series (8.9) would make the goal a tautology and is ruled out.
  • Λ\LambdaΛ is any real with Λ>0\Lambda>0Λ>0 and Λ≥qi\Lambda\ge q_iΛ≥qi​ for all iii (the book takes equality with max⁡iqi\max_i q_imaxi​qi​).
  • The truncation bound is stated componentwise, as on p.384 ("an error bound on pn(t)p_n(t)pn​(t) of ϵ\epsilonϵ"), for an arbitrary real ϵ\epsilonϵ and truncation point TTT.
  • The series (8.8), (8.9) are stated with HasSum, so convergence is part of the claim.
  • The Laplace transform is the Lebesgue integral over (0,∞)(0,\infty)(0,∞) at a complex argument. fA(t)f_A(t)fA​(t) is the limit of the partial sums fA,n(t)f_{A,n}(t)fA,n​(t), and the convergence is part of milestone 4.
  • Strengthened hypotheses in milestone 4: fff bounded and Lipschitz on [0,∞)[0,\infty)[0,∞) replaces "ttt is a continuity point of fff", which is not sufficient for convergence.
  • Corrected misprints: e−λte^{-\lambda t}e−λt in (8.9) is e−Λte^{-\Lambda t}e−Λt; qij/Λq_{ij}/\Lambdaqij​/Λ in (8.12) is qin/Λq_{in}/\Lambdaqin​/Λ; ϕ(Q/Λ−I)\phi(Q/\Lambda-I)ϕ(Q/Λ−I) on p.385 is ϕ(Q/Λ+I)\phi(Q/\Lambda+I)ϕ(Q/Λ+I).
  • Not formalized: Theorem 8.1 (Bromwich inversion) and the real form (8.21), which the book states without hypotheses on fff; the limit claim lim⁡kϕ(k)=lim⁡tp(t)\lim_k\phi^{(k)}=\lim_t p(t)limk​ϕ(k)=limt​p(t) on p.385, which fails when P~\tilde PP~ is periodic; the Euler-summation approximation (8.26) and the round-off discussion, which are stated with "≈".

Useful infrastructure: the matrix exponential and its derivative (Matrix, NormedSpace.exp), uniqueness for linear ODEs (Grönwall), Fourier series on the circle, and a reusable Laplace transform file. Contributions of general lemmas on generators and stochastic matrices are welcome, as they apply to every finite Markovian model in the series.

Selected references

  • D. Gross, J. F. Shortle, J. M. Thompson, C. M. Harris, Fundamentals of Queueing Theory, 4th ed., Wiley, 2008, §§8.1.2–8.2. https://doi.org/10.1002/9781118625651
  • A. Jensen, "Markoff chains as an aid in the study of Markoff processes", Skandinavisk Aktuarietidskrift 36 (1953) 87–91.
  • W. K. Grassmann, "Transient solutions in Markovian queueing systems", Computers & Operations Research 4 (1977) 47–53.
  • D. Gross, D. R. Miller, "The randomization technique as a modeling tool and solution procedure for transient Markov processes", Operations Research 32 (1984) 343–361. https://doi.org/10.1287/opre.32.2.343
  • J. Abate, W. Whitt, "The Fourier-series method for inverting transforms of probability distributions", Queueing Systems 10 (1992) 5–87. https://doi.org/10.1007/BF01158520
  • J. Abate, G. L. Choudhury, W. Whitt, "An introduction to numerical transform inversion and its application to probability models", in W. Grassmann (ed.), Computational Probability, Kluwer, 1999, 257–323.
8 thms2 active usersReviewed
🏆Completed
Linear OptimizationOperations ResearchOptimization+1·Captain: mikedeng1

Understanding and Using Linear Programming III: The Simplex Method with Bland's Rule Never CyclesTextbook

Motivation

The simplex method, introduced by G. B. Dantzig in 1947, is the standard algorithm for linear programming and remains the core of commercial solvers. It moves from one basic feasible solution to another by pivot steps, and at each step a pivot rule chooses which variable enters and which leaves the basis. For several natural rules, including Dantzig's original largest-coefficient rule, the method can cycle: on a degenerate linear program it can return to a basis it has already visited and repeat forever without improving the objective. Hoffman (1953) and Beale (1955) gave cycling examples.

R. G. Bland (New finite pivoting rules for the simplex method, Mathematics of Operations Research 2(2), 1977) showed that a simple combinatorial rule, choosing the smallest eligible index for both the entering and the leaving variable, never cycles. This makes the simplex method a finite algorithm on every linear program in equational form, and it gives an algorithmic proof of the duality theorem. Chapter 5 of J. Matoušek and B. Gärtner, Understanding and Using Linear Programming (Springer, 2007, DOI 10.1007/978-3-540-30717-4), develops the general theory of simplex tableaus and proves Bland's theorem as Theorem 5.8.1. This mission is the third of a series formalizing that book.

Setting

A linear program in equational form is

maximize cTxsubject toAx=b, x≥0,\text{maximize } c^{T}x \quad\text{subject to}\quad Ax=b,\ x\ge 0,maximize cTxsubject toAx=b, x≥0,

with AAA a real m×nm\times nm×n matrix, b∈Rmb\in\mathbb{R}^mb∈Rm, c∈Rnc\in\mathbb{R}^nc∈Rn. Following §4.2 of the book, AAA has n≥mn\ge mn≥m columns and rank mmm. For an mmm-element set B={k1<⋯<km}⊆{1,…,n}B=\{k_1<\dots<k_m\}\subseteq\{1,\dots,n\}B={k1​<⋯<km​}⊆{1,…,n} let N={ℓ1<⋯<ℓn−m}N=\{\ell_1<\dots<\ell_{n-m}\}N={ℓ1​<⋯<ℓn−m​} be its complement, and ABA_BAB​, ANA_NAN​ the matrices of the columns of AAA indexed by BBB and NNN. BBB is a feasible basis if ABA_BAB​ is nonsingular and AB−1b≥0A_B^{-1}b\ge0AB−1​b≥0; its basic feasible solution is the unique xxx with Ax=bAx=bAx=b and xj=0x_j=0xj​=0 for j∉Bj\notin Bj∈/B.

A simplex tableau T(B)T(B)T(B) is a system

xB=p+Q xN,z=z0+rTxNx_B=p+Q\,x_N,\qquad z=z_0+r^{T}x_NxB​=p+QxN​,z=z0​+rTxN​

in the variables x1,…,xn,zx_1,\dots,x_n,zx1​,…,xn​,z with the same solutions as Ax=bAx=bAx=b, z=cTxz=c^Txz=cTx. A nonbasic variable xvx_vxv​, v=ℓβv=\ell_\betav=ℓβ​, may enter if rβ>0r_\beta>0rβ​>0; a basic variable xux_uxu​, u=kαu=k_\alphau=kα​, may then leave if

qαβ<0and−pαqαβ=min⁡{−piqiβ:qiβ<0}.(5.3)q_{\alpha\beta}<0\quad\text{and}\quad-\frac{p_\alpha}{q_{\alpha\beta}}=\min\Bigl\{-\frac{p_i}{q_{i\beta}}: q_{i\beta}<0\Bigr\}.\tag{5.3}qαβ​<0and−qαβ​pα​​=min{−qiβ​pi​​:qiβ​<0}.(5.3)

The pivot step replaces BBB by B′=(B∖{u})∪{v}B'=(B\setminus\{u\})\cup\{v\}B′=(B∖{u})∪{v}. Bland's rule takes the entering variable of smallest index among those with rβ>0r_\beta>0rβ​>0, and the leaving variable of smallest index among those satisfying (5.3).

Formalization targets

Goal: Theorem 5.8.1 (p. 73)

There is no infinite sequence of bases

B0→B1→B2→⋯B_0\to B_1\to B_2\to\cdotsB0​→B1​→B2​→⋯

in which each Bt+1B_{t+1}Bt+1​ is obtained from the feasible basis BtB_tBt​ by a pivot step obeying Bland's rule. Since there are finitely many bases and a Bland step is determined by its starting basis, this is the book's "always finite; i.e., cycling is impossible".

Milestones

  1. Lemma 5.5.1 (p. 66): a feasible basis has exactly one simplex tableau, with Q=−AB−1ANQ=-A_B^{-1}A_NQ=−AB−1​AN​, p=AB−1bp=A_B^{-1}bp=AB−1​b, z0=cBTAB−1bz_0=c_B^TA_B^{-1}bz0​=cBT​AB−1​b, r=cN−(cBTAB−1AN)Tr=c_N-(c_B^TA_B^{-1}A_N)^Tr=cN​−(cBT​AB−1​AN​)T.
  2. Optimality criterion (§5.6, p. 67): if r≤0r\le0r≤0, the basic feasible solution of BBB is optimal.
  3. Lemma 5.6.1 (p. 68): a pivot step leads to a feasible basis; if no leaving variable exists, the program is unbounded along an explicit ray.
  4. Claim in the proof of Theorem 5.8.1 (p. 73): for any pivot rule, all bases of a cycle have the same basic feasible solution, and every variable that enters during the cycle is 000 in it.

Significance

With the optimality criterion and Lemma 5.6.1, Theorem 5.8.1 turns the simplex method into an algorithm: started from any feasible basis, it stops after finitely many pivot steps at an optimal basic feasible solution or with a ray certifying unboundedness. Combined with the auxiliary program of §5.6 for finding a first feasible basis, this yields a constructive proof that every feasible, bounded linear program has an optimal basic feasible solution, and the book remarks that the duality theorem follows easily. Bland's rule is also the model for later combinatorial anticycling rules in oriented matroid programming.

The theorem is classical and fully proved in the book. What the mission adds is a machine-checked version stated in the book's own tableau notation. On Prove2Me the simplex method is formalized in the Bertsimas–Tsitsiklis series (Introduction to Linear Optimization IV), for minimization with reduced costs, with termination proved under nondegeneracy and for the lexicographic rule; Bland's rule is not formalized there.

Difficulty

The obvious termination argument is that the objective value strictly increases at each step, so no basis repeats. That argument fails exactly at degenerate pivot steps, where the minimum in (5.3) is 000: the basis changes, the basic feasible solution and the objective value do not. Along a degenerate stretch the objective gives no progress measure, and for general pivot rules the method does cycle there. Any proof must therefore use the specific tie-breaking of Bland's rule, which is a statement about indices, not about values, and relate the tableaus of two different bases in the cycle to each other. Counting bases or tracking the objective value alone does not suffice.

Formalization scope

Vectors are Fin n → ℝ and the book's indices 1,…,n1,\dots,n1,…,n become 0,…,n−10,\dots,n-10,…,n−1. Bases are Finset (Fin n); the sorted enumerations k1<⋯<kmk_1<\dots<k_mk1​<⋯<km​ and ℓ1<⋯<ℓn−m\ell_1<\dots<\ell_{n-m}ℓ1​<⋯<ℓn−m​ are Finset.orderEmbOfFin, tableau rows are indexed by Fin m and nonbasic columns by Fin (n - m). Nonsingularity of ABA_BAB​ is IsUnit A_B.det, so the Mathlib inverse is the true inverse wherever it appears. The tableau parameters used by the pivot rules are the explicit formulas of Lemma 5.5.1; the tableau itself is also defined as in the book (same solution set) so that Lemma 5.5.1 is a genuine statement. "Smallest index" compares variable indices, not row positions. Optimality and unboundedness are stated against feasible points, not through a supremum. Every theorem assumes n≥mn\ge mn≥m and rank⁡A=m\operatorname{rank}A=mrankA=m, the standing assumption of §4.2.

A formalization in which any improving variable may enter proves a different, false statement, since cycling examples exist for such rules; the step relation here fixes both choices by Bland's rule. The step relation is not empty: it holds whenever the current tableau has a positive last-row coefficient and a negative entry in the entering column, so the goal is not vacuous.

The development needs basic linear algebra over Matrix, the uniqueness of basic feasible solutions, and bookkeeping for sorted index enumerations. Lemma 5.5.1 and Lemma 5.6.1 are reusable for any later formalization of the simplex method in this notation. Contributions are welcome for each milestone, for the cycle-form corollary, and for a sorry-free proof of the goal.

Selected references

  • J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, Chapter 5. https://doi.org/10.1007/978-3-540-30717-4
  • R. G. Bland, New finite pivoting rules for the simplex method, Mathematics of Operations Research 2(2):103–107, 1977. https://doi.org/10.1287/moor.2.2.103
  • E. M. L. Beale, Cycling in the dual simplex algorithm, Naval Research Logistics Quarterly 2(4):269–275, 1955. https://doi.org/10.1002/nav.3800020407
  • D. Bertsimas, J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997, Chapter 3.
7 thms2 active usersReviewed
🏆Completed
Convex OptimizationDiscrete GeometryLinear Optimization+2·Captain: mikedeng1

Understanding and Using Linear Programming XI: The KKT Conditions and the Unique Smallest Enclosing BallTextbook

Motivation

The smallest enclosing ball problem asks, for finitely many points p1,…,pn∈Rdp_1,\dots,p_n\in\mathbb{R}^dp1​,…,pn​∈Rd, for a ball of the smallest radius that contains all of them. It appears in clustering, in collision detection and bounding-volume hierarchies, in facility location (placing one service point so that the farthest client is as close as possible), and in the analysis of geometric algorithms. Sylvester posed the planar version in 1857; Megiddo (1983) gave a linear-time algorithm in fixed dimension, and Welzl (1991) a simple randomized one.

This mission formalizes Section 8.7 of Matoušek and Gärtner, Understanding and Using Linear Programming (Springer, 2007), which uses the problem to introduce convex programming. Unlike the geometric problems of the book's Chapter 2, the smallest ball cannot be written as a linear program. The section shows instead that it is a convex quadratic program, derives the Karush–Kuhn–Tucker (KKT) conditions for convex programs in equational form from the duality theorem of linear programming, and uses them to prove that the smallest enclosing ball exists and is unique. It is the book's bridge from linear to convex optimization.

Setting

A function f:Rn→Rf:\mathbb{R}^n\to\mathbb{R}f:Rn→R is convex if f((1−t)x+ty)≤(1−t)f(x)+tf(y)f((1-t)x+ty)\le(1-t)f(x)+tf(y)f((1−t)x+ty)≤(1−t)f(x)+tf(y) for all x,y∈Rnx,y\in\mathbb{R}^nx,y∈Rn and t∈[0,1]t\in[0,1]t∈[0,1]. A convex program in equational form is

minimize f(x)subject to Ax=b, x≥0,\text{minimize } f(x)\quad\text{subject to } Ax=b,\ x\ge 0,minimize f(x)subject to Ax=b, x≥0,

with AAA a real m×nm\times nm×n matrix with columns a1,…,ana_1,\dots,a_na1​,…,an​, b∈Rmb\in\mathbb{R}^mb∈Rm and fff convex. A vector xxx is feasible if Ax=bAx=bAx=b and x≥0x\ge 0x≥0 componentwise, and optimal if it is feasible and f(x)≤f(x′)f(x)\le f(x')f(x)≤f(x′) for every feasible x′x'x′. For differentiable fff, ∇f(x)\nabla f(x)∇f(x) is the row vector of partial derivatives, so ∇f(x∗)(x−x∗)\nabla f(x^*)(x-x^*)∇f(x∗)(x−x∗) is a scalar.

For points p1,…,pn∈Rdp_1,\dots,p_n\in\mathbb{R}^dp1​,…,pn​∈Rd, write P={p1,…,pn}P=\{p_1,\dots,p_n\}P={p1​,…,pn​} and let QQQ be the d×nd\times nd×n matrix whose jjjth column is pjp_jpj​. The program studied is

(8.15)minimize f(x)=xTQTQx−∑j=1nxj pjTpjsubject to ∑j=1nxj=1, x≥0.\text{(8.15)}\qquad \text{minimize } f(x)=x^TQ^TQx-\sum_{j=1}^n x_j\,p_j^Tp_j\quad\text{subject to } \sum_{j=1}^n x_j=1,\ x\ge 0 .(8.15)minimize f(x)=xTQTQx−j=1∑n​xj​pjT​pj​subject to j=1∑n​xj​=1, x≥0.

A ball is a closed Euclidean ball B(c,r)={z∈Rd:∥z−c∥≤r}B(c,r)=\{z\in\mathbb{R}^d:\|z-c\|\le r\}B(c,r)={z∈Rd:∥z−c∥≤r}. The ball B(c,r)B(c,r)B(c,r) is the unique smallest enclosing ball of a set SSS if r≥0r\ge 0r≥0, S⊆B(c,r)S\subseteq B(c,r)S⊆B(c,r), every ball containing SSS has radius at least rrr, and every ball containing SSS of radius at most rrr has center ccc.

Formalization targets

Goal: Theorem 8.7.4

For n≥1n\ge 1n≥1 points p1,…,pn∈Rdp_1,\dots,p_n\in\mathbb{R}^dp1​,…,pn​∈Rd, the objective fff of (8.15) is convex, and

  1. (8.15) has an optimal solution x∗x^*x∗;
  2. there is a point p∗p^*p∗ with p∗=Qx∗p^*=Qx^*p∗=Qx∗ for every optimal x∗x^*x∗, and for every optimal x∗x^*x∗
−f(x∗)≥0andB(p∗,−f(x∗)) is the unique smallest enclosing ball of P.-f(x^*)\ge 0\quad\text{and}\quad B\big(p^*,\sqrt{-f(x^*)}\big)\ \text{is the unique smallest enclosing ball of } P .−f(x∗)≥0andB(p∗,−f(x∗)​) is the unique smallest enclosing ball of P.

Milestones

  • Fact 8.7.1. For C⊆RnC\subseteq\mathbb{R}^nC⊆Rn convex, fff differentiable and convex, and x∗∈Cx^*\in Cx∗∈C: x∗x^*x∗ minimizes fff over CCC iff ∇f(x∗)(x−x∗)≥0\nabla f(x^*)(x-x^*)\ge 0∇f(x∗)(x−x∗)≥0 for all x∈Cx\in Cx∈C.
  • Proposition 8.7.2 (KKT conditions). For fff convex with continuous partial derivatives and x∗x^*x∗ feasible: x∗x^*x∗ is optimal iff there is y~∈Rm\tilde y\in\mathbb{R}^my~​∈Rm with
∇f(x∗)j+y~Taj {=0if xj∗>0,≥0otherwise,j=1,…,n.\nabla f(x^*)_j+\tilde y^Ta_j\ \begin{cases}=0&\text{if } x^*_j>0,\\ \ge 0&\text{otherwise,}\end{cases}\qquad j=1,\dots,n.∇f(x∗)j​+y~​Taj​ {=0≥0​if xj∗​>0,otherwise,​j=1,…,n.
  • Lemma 8.7.3. If s1,…,sks_1,\dots,s_ks1​,…,sk​ lie on the boundary of the ball BBB with center s∗s^*s∗, then BBB is the unique smallest enclosing ball of {s1,…,sk}\{s_1,\dots,s_k\}{s1​,…,sk​} iff for every u∈Rdu\in\mathbb{R}^du∈Rd some jjj has uT(sj−s∗)≤0u^T(s_j-s^*)\le 0uT(sj​−s∗)≤0.

Significance

The result. Theorem 8.7.4 gives existence and uniqueness of the smallest enclosing ball together with an explicit certificate: the center is a convex combination Qx∗Qx^*Qx∗ of the input points, the squared radius is the negated optimum value, and the points pjp_jpj​ with xj∗>0x^*_j>0xj∗​>0 lie on the boundary. It reduces the geometric problem to a convex quadratic program, for which interior-point and simplex-type solvers exist, and it is the basis of the combinatorial characterization "the center lies in the convex hull of the boundary points" used by Welzl-type algorithms. Proposition 8.7.2 is the KKT theorem for equational-form convex programs; it holds without any constraint qualification because the constraints are linear.

Formalizing it. All results here are classical and proved in the book; none is open. The mission produces machine-checked statements and, when solved, proofs of: the first-order optimality criterion for convex functions on convex sets in Rn\mathbb{R}^nRn; the equational-form KKT theorem derived from LP duality; the boundary characterization of unique smallest enclosing balls; and existence and uniqueness of the smallest enclosing ball in every dimension. Mathlib has first-order necessary conditions at local minima and general convexity theory, but no KKT theorem for linearly constrained convex programs in this form and no smallest-enclosing-ball theory.

Difficulty

Existence of an optimum and convexity of fff are routine. For the KKT conditions, the necessary direction needs multipliers, which do not come from calculus alone: the obvious Lagrange-multiplier argument handles only equality constraints and says nothing about the sign pattern forced by x≥0x\ge 0x≥0. For the goal, a solver must connect three layers — the gradient of a quadratic form in matrix notation, the multiplier conditions, and the Euclidean geometry of distances to p∗p^*p∗ — and uniqueness of the ball does not follow from uniqueness of the optimizer x∗x^*x∗, which in general is not unique (repeated or cospherical points). The statement quantifies over all optimal x∗x^*x∗ and asserts that they all yield the same center.

Formalization scope

  • Vectors of Rn\mathbb{R}^nRn are Fin n → ℝ, so the book's indices 1,…,n1,\dots,n1,…,n become 0,…,n−10,\dots,n-10,…,n−1. Points of Rd\mathbb{R}^dRd are EuclideanSpace ℝ (Fin d), so ∥⋅∥\|\cdot\|∥⋅∥ and pTqp^TqpTq are Euclidean. The matrix QQQ is Matrix (Fin d) (Fin n) ℝ.
  • Optimality is stated against every feasible point; no infimum or supremum is taken. ∇f(x∗)(x−x∗)\nabla f(x^*)(x-x^*)∇f(x∗)(x−x∗) is the Fréchet derivative applied to x−x∗x-x^*x−x∗, and ∇f(x∗)j\nabla f(x^*)_j∇f(x∗)j​ its value on the jjjth unit vector. "Continuous partial derivatives" is ContDiff ℝ 1 f. Convexity is ConvexOn ℝ Set.univ f.
  • Balls are closed. The squared radius −f(x∗)-f(x^*)−f(x∗) is expressed by asserting −f(x∗)≥0-f(x^*)\ge 0−f(x∗)≥0 and taking the radius −f(x∗)\sqrt{-f(x^*)}−f(x∗)​. "Unique ball of smallest radius" is written out as minimality of the radius among all enclosing closed balls plus equality of centers for every enclosing ball of radius at most the optimum; merely stating that the ball encloses PPP would not be the theorem.
  • The goal assumes n≥1n\ge 1n≥1 (for n=0n=0n=0 the feasible set is empty). In Fact 8.7.1 the minimizer x∗x^*x∗ is assumed to lie in CCC, as "minimizes fff over CCC" presupposes. In Lemma 8.7.3 the radius is nonnegative and each sjs_jsj​ is at distance exactly rrr from s∗s^*s∗.
  • Needed infrastructure: gradients of quadratic forms on Fin n → ℝ, LP duality for the pair (maximize cTxc^TxcTx, Ax=bAx=bAx=b, x≥0x\ge0x≥0) / (minimize bTyb^TybTy, ATy≥cA^Ty\ge cATy≥c), compactness of the standard simplex, and elementary Euclidean geometry. The first-order criterion and the KKT theorem are reusable beyond this mission; proofs through any route are welcome.

Selected references

  • J. Matoušek and B. Gärtner, Understanding and Using Linear Programming, Springer Universitext, 2007, §8.7, pp. 184–191. https://doi.org/10.1007/978-3-540-30717-4
  • S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004. https://doi.org/10.1017/CBO9780511804441
  • N. Megiddo, Linear-time algorithms for linear programming in R3\mathbb{R}^3R3 and related problems, SIAM J. Comput. 12(4), 1983. https://doi.org/10.1137/0212052
  • E. Welzl, Smallest enclosing disks (balls and ellipsoids), in New Results and New Trends in Computer Science, LNCS 555, Springer, 1991. https://doi.org/10.1007/BFb0038202
  • J. J. Sylvester, A question in the geometry of situation, Quarterly Journal of Pure and Applied Mathematics 1, 1857.
6 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources IV: Every Feasible Schedule Obeys a Minimal Delaying Mode of Each Forbidden SetTextbook

Motivation

Resource-constrained project scheduling with general temporal constraints, written PS∣temp∣Cmax⁡PS|temp|C_{\max}PS∣temp∣Cmax​, asks for start times of the activities of a project that respect minimum and maximum time lags between activities and the capacities of renewable resources (staff, machines, reactors), and that minimize the project duration. Deciding whether a feasible schedule exists at all is already NP-complete (Bartusch, Möhring and Radermacher, 1988), so exact methods are branch-and-bound procedures. The dominant family, going back to De Reyck and Herroelen (1998) and presented in Chapter 2 of Neumann, Schwindt and Zimmermann's monograph, branches on resource conflicts: whenever the currently computed schedule overloads a resource at some time ttt, the set of activities in progress at ttt is a forbidden set, and the node is split into children, each of which adds precedence constraints that resolve the conflict.

Such a scheme is only correct if the children together retain every feasible schedule. Theorem 2.5.7 of the book is exactly this completeness guarantee, and it is the reason the enumeration can be restricted to the small family of minimal delaying modes instead of arbitrary ways of breaking up a conflict. The same section also contains the preprocessing results (§2.5.2) that exploit two-element forbidden sets before any branching happens. This mission formalizes both.

Setting

A project has activities V={0,1,…,n+1}V=\{0,1,\dots,n+1\}V={0,1,…,n+1} with n≥1n\ge1n≥1; activity 000 is the project beginning and n+1n+1n+1 the project completion, both of duration 000, and every real activity i∈{1,…,n}i\in\{1,\dots,n\}i∈{1,…,n} has an integer duration pi>0p_i>0pi​>0. The project network NNN has arc set EEE and integer arc weights δij\delta_{ij}δij​; the arc ⟨i,j⟩\langle i,j\rangle⟨i,j⟩ imposes the temporal constraint Sj−Si≥δijS_j-S_i\ge\delta_{ij}Sj​−Si​≥δij​. A finite set R\mathcal RR of renewable resources is given; resource kkk has capacity Rk∈NR_k\in\mathbb NRk​∈N and activity iii uses rik∈Z≥0r_{ik}\in\mathbb Z_{\ge0}rik​∈Z≥0​ units of it, with rik≤Rkr_{ik}\le R_krik​≤Rk​ and r0k=rn+1,k=0r_{0k}=r_{n+1,k}=0r0k​=rn+1,k​=0.

A schedule is a vector S=(Si)i∈VS=(S_i)_{i\in V}S=(Si​)i∈V​ of real start times with S0=0S_0=0S0​=0 and Si≥0S_i\ge0Si​≥0. The active set at time ttt is A(S,t)={i∈V∣Si≤t<Si+pi}\mathcal A(S,t)=\{i\in V\mid S_i\le t<S_i+p_i\}A(S,t)={i∈V∣Si​≤t<Si​+pi​}. The schedule is time-feasible if it satisfies all temporal constraints, resource-feasible if

∑i∈A(S,t)rik≤Rk(k∈R, t≥0),\sum_{i\in\mathcal A(S,t)}r_{ik}\le R_k\qquad(k\in\mathcal R,\ t\ge0),i∈A(S,t)∑​rik​≤Rk​(k∈R, t≥0),

and feasible if it is both; S\mathcal SS denotes the set of feasible schedules.

A set F⊆VF\subseteq VF⊆V is forbidden if ∑i∈Frik>Rk\sum_{i\in F}r_{ik}>R_k∑i∈F​rik​>Rk​ for some kkk, a feasible set otherwise, and minimal forbidden if no proper subset is forbidden. For a forbidden FFF, a set B⊆FB\subseteq FB⊆F is a delaying alternative if F∖BF\setminus BF∖B is feasible, and a minimal delaying alternative if no proper subset of BBB is one. A minimal delaying mode for FFF is a pair (i,B)(i,B)(i,B) with BBB a minimal delaying alternative for FFF and i∈F∖Bi\in F\setminus Bi∈F∖B.

For §2.5.2, fix an integer upper bound UBUBUB on the project duration. The temporal scheduling network N+N^+N+ adds to NNN the arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩ with weight δn+1,0=−UB\delta_{n+1,0}=-UBδn+1,0​=−UB, and dijd_{ij}dij​ is the longest path length from iii to jjj in N+N^+N+ (−∞-\infty−∞ if there is no path, dii=0d_{ii}=0dii​=0).

Formalization targets

Goal: Theorem 2.5.7 (p. 49)

For every forbidden set FFF and every feasible schedule S∈SS\in\mathcal SS∈S there is a minimal delaying mode (i,B)(i,B)(i,B) for FFF with

Sj≥Si+pi(j∈B).S_j\ge S_i+p_i\qquad(j\in B).Sj​≥Si​+pi​(j∈B).

FFF is arbitrary (not necessarily minimal); BBB must be a minimal delaying alternative and iii must lie outside BBB.

Milestones

  1. Eqs. (2.5.2)–(2.5.3), p. 46. BBB is a minimal delaying alternative for a forbidden FFF iff F∖BF\setminus BF∖B is a maximal feasible subset of FFF, iff B⊆FB\subseteq FB⊆F,
∑i∈F∖Brik≤Rk (k∈R)and∀j∈B ∃k: ∑i∈F∖Brik+rjk>Rk.\sum_{i\in F\setminus B}r_{ik}\le R_k\ (k\in\mathcal R)\quad\text{and}\quad\forall j\in B\ \exists k:\ \sum_{i\in F\setminus B}r_{ik}+r_{jk}>R_k.i∈F∖B∑​rik​≤Rk​ (k∈R)and∀j∈B ∃k: i∈F∖B∑​rik​+rjk​>Rk​.
  1. Bartusch et al.'s criterion (proof of Theorem 2.3.10, p. 35). A schedule is resource-feasible iff every minimal forbidden set FFF contains distinct i,ji,ji,j with Sj≥Si+piS_j\ge S_i+p_iSj​≥Si​+pi​.
  2. Lemma 2.5.5, p. 49. A minimal delaying alternative for FFF is an inclusion-minimal set meeting every minimal forbidden F′⊆FF'\subseteq FF′⊆F.
  3. Theorem 2.5.11, p. 55. If {i,j}\{i,j\}{i,j} is a two-element forbidden set with dij<pid_{ij}<p_idij​<pi​ and dij>−pjd_{ij}>-p_jdij​>−pj​, then every feasible SSS with Sn+1≤UBS_{n+1}\le UBSn+1​≤UB satisfies Sj≥Si+piS_j\ge S_i+p_iSj​≥Si​+pi​.
  4. Eq. (2.5.7), p. 55. If for a two-element forbidden set {i,j}\{i,j\}{i,j} neither dij>−pjd_{ij}>-p_jdij​>−pj​ nor dji>−pid_{ji}>-p_idji​>−pi​ holds, then for all h,l∈Vh,l\in Vh,l∈V and every feasible SSS with Sn+1≤UBS_{n+1}\le UBSn+1​≤UB,
Sl≥Sh+min⁡(dhi+pi+djl, dhj+pj+dil).S_l\ge S_h+\min\bigl(d_{hi}+p_i+d_{jl},\ d_{hj}+p_j+d_{il}\bigr).Sl​≥Sh​+min(dhi​+pi​+djl​, dhj​+pj​+dil​).

Significance

The result. Theorem 2.5.7 is the completeness statement of the De Reyck–Herroelen enumeration scheme (Algorithm 2.5.8): if every child of a conflict node imposes the precedence constraints i→ji\to ji→j (j∈Bj\in Bj∈B) of one minimal delaying mode (i,B)(i,B)(i,B), the children's order polyhedra together contain all feasible schedules of the parent. Proposition 2.5.9(a), the correctness of the whole branch-and-bound procedure, rests on it. Because the objective does not enter, the book reuses the theorem for the regular and nonregular objectives of Chapter 3. Theorem 2.5.11 and inequality (2.5.7) are the preprocessing rules that shrink the time-feasible region before enumeration: each adds temporal constraints that every feasible schedule within the bound already satisfies, which raises the lower bound ESn+1ES_{n+1}ESn+1​ and prunes the enumeration.

Formalizing it. All statements are proved in the book (Bartusch et al.'s criterion is quoted from their 1988 paper with the necessity argument sketched). None of them has a machine-checked proof; the Prove2Me catalog contains precedence-only scheduling models (Brucker–Knust) and acyclic event networks (Kelley–Walker) but no model with time windows and forbidden sets. The mission produces a reusable library of forbidden sets, delaying alternatives and longest-path distances in networks with maximum time lags.

Difficulty

The obvious idea — pick any two overlapping activities and delay one — does not give a minimal delaying alternative with a single delaying activity iii common to all of BBB. The proof has to pass from the pairwise separations that resource-feasibility guarantees in each minimal forbidden subset to a set BBB that is simultaneously minimal as a delaying alternative and ordered behind one activity outside BBB. This needs the correspondence between delaying alternatives and hitting sets of the minimal forbidden subsets (Lemma 2.5.5) and the positivity of real durations to keep iii outside BBB. For the preprocessing results, the delicate part is relating longest paths in N+N^+N+, including the backward arc carrying −UB-UB−UB, to the start-time differences of every feasible schedule within the bound.

Formalization scope

Activities are Fin (n + 2), with n+1n+1n+1 as Fin.last (n + 1). Start times are real; durations, capacities, requirements and time lags are integers (natural numbers where the book says so). The standing assumptions of the book (at least one real activity, zero-duration dummies, positive durations of real activities, no loops, r0k=rn+1,k=0r_{0k}=r_{n+1,k}=0r0k​=rn+1,k​=0, rik≤Rkr_{ik}\le R_krik​≤Rk​, and paths in NNN from 000 to every node and from every node to n+1n+1n+1) are one hypothesis P.StandingAssumptions of every theorem.

Resource constraints are imposed for every t≥0t\ge0t≥0, not only for 0≤t≤dˉ0\le t\le\bar d0≤t≤dˉ as (2.1.4) literally writes. The book's proofs and Remark 2.3.11 use the t≥0t\ge0t≥0 reading; with the literal cut-off, schedules running past dˉ\bar ddˉ could violate capacities after dˉ\bar ddˉ, and Bartusch et al.'s criterion would fail.

Longest path lengths are maxima over simple paths, with values in WithBot ℝ (⊥ for −∞-\infty−∞). If N+N^+N+ has a cycle of positive length, no schedule satisfies the temporal constraints with Sn+1≤UBS_{n+1}\le UBSn+1​≤UB, and the statements using dijd_{ij}dij​ are vacuous, as in the book. The arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩ of N+N^+N+ has weight −UB-UB−UB, or max⁡(δn+1,0,−UB)\max(\delta_{n+1,0},-UB)max(δn+1,0​,−UB) if NNN already has such an arc. UBUBUB is an integer.

The goal is not trivial: it quantifies over minimal delaying modes only. A variant without the minimality of BBB, or allowing i∈Bi\in Bi∈B, would be nearly empty (take B=F∖{i}B=F\setminus\{i\}B=F∖{i}), and the statement here rules both out. Maximality in milestone 1 is taken among subsets of FFF.

Welcome contributions: the hitting-set correspondence between delaying alternatives and minimal forbidden subsets, the telescoping bound Sj−Si≥dijS_j-S_i\ge d_{ij}Sj​−Si​≥dij​ for feasible schedules, and proofs of any milestone. The definitions restate the setup of the series' earlier missions (II: order polyhedra) locally, because those are still drafts.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003, §2.5. https://doi.org/10.1007/978-3-540-24800-2
  • M. Bartusch, R. H. Möhring, F. J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16 (1988) 201–240. https://doi.org/10.1007/BF02283745
  • B. De Reyck, W. Herroelen, A branch-and-bound procedure for the resource-constrained project scheduling problem with generalized precedence relations, European Journal of Operational Research 111 (1998) 152–174. https://doi.org/10.1016/S0377-2217(97)00305-6
8 thms3 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources V: A Schedule Is Inventory-Feasible iff It Resolves Every Minimal Surplus and Shortage SetTextbook

Motivation

In make-to-order production, chemical process industries and other manufacturing settings modelled as projects, activities do not only occupy machines for a while: they also consume intermediate products at their start and deposit products into storage facilities at their completion. Storage is bounded above by a tank or warehouse capacity and below by a safety stock. Resources of this kind are called cumulative resources (or inventory resources, reservoirs in the constraint-programming literature). They were introduced into resource-constrained project scheduling by Neumann and Schwindt (2002), and Chapter 2 of Neumann, Schwindt and Zimmermann, Project Scheduling with Time Windows and Scarce Resources (2nd ed., Springer 2003), develops their theory in §2.12.

A scheduler handling cumulative resources needs a finite combinatorial description of which schedules respect the inventory bounds at every instant, because the time axis is continuous and cannot be checked point by point in a search procedure. Theorem 2.12.4 of the book gives such a description, and it is the basis of the branch-and-bound procedure of Neumann and Schwindt for the problem PSc∣temp∣Cmax⁡PSc|temp|C_{\max}PSc∣temp∣Cmax​.

Setting

A project consists of activities V={0,1,…,n+1}V=\{0,1,\dots,n+1\}V={0,1,…,n+1} with n≥1n\ge 1n≥1, where 000 is the project beginning and n+1n+1n+1 the project completion. Activity iii has an integer duration pi≥0p_i\ge 0pi​≥0, with p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0 and pi>0p_i>0pi​>0 for the real activities.

For each cumulative resource kkk in a set Rγ\mathcal R^\gammaRγ, every activity iii has an integer demand rikr_{ik}rik​. If rik<0r_{ik}<0rik​<0, activity iii withdraws −rik-r_{ik}−rik​ units of kkk at its start; if rik>0r_{ik}>0rik​>0, it deposits rikr_{ik}rik​ units at its completion; rik=0r_{ik}=0rik​=0 means kkk is not used. The demand r0kr_{0k}r0k​ of the project beginning is the initial stock. Write Vk−={i∣rik<0}V_k^-=\{i\mid r_{ik}<0\}Vk−​={i∣rik​<0} and Vk+={i∣rik>0}V_k^+=\{i\mid r_{ik}>0\}Vk+​={i∣rik​>0}. Each resource has a safety stock R‾k∈Z\underline R_k\in\mathbb ZR​k​∈Z and a storage capacity R‾k∈Z\overline R_k\in\mathbb ZRk​∈Z.

A schedule is a vector S=(Si)i∈VS=(S_i)_{i\in V}S=(Si​)i∈V​ of real start times with S0=0S_0=0S0​=0 and Si≥0S_i\ge 0Si​≥0. The active set and the inventory of kkk at time t≥0t\ge 0t≥0 are

Ak(S,t)={i∈Vk−∣Si≤t}∪{i∈Vk+∣Si+pi≤t},rk(S,t)=∑i∈Ak(S,t)rik.\mathcal A_k(S,t)=\{i\in V_k^-\mid S_i\le t\}\cup\{i\in V_k^+\mid S_i+p_i\le t\},\qquad r_k(S,t)=\sum_{i\in\mathcal A_k(S,t)} r_{ik}.Ak​(S,t)={i∈Vk−​∣Si​≤t}∪{i∈Vk+​∣Si​+pi​≤t},rk​(S,t)=i∈Ak​(S,t)∑​rik​.

The schedule is inventory-feasible if R‾k≤rk(S,t)≤R‾k\underline R_k\le r_k(S,t)\le\overline R_kR​k​≤rk​(S,t)≤Rk​ for all kkk and all t≥0t\ge 0t≥0.

Two standing assumptions of the section are used throughout: (2.12.1) R‾k≤∑i∈Vrik≤R‾k\underline R_k\le\sum_{i\in V}r_{ik}\le\overline R_kR​k​≤∑i∈V​rik​≤Rk​, so the final inventory is admissible; and Remark 2.12.2, R‾k≤0≤R‾k\underline R_k\le 0\le\overline R_kR​k​≤0≤Rk​.

A nonempty F⊆VF\subseteq VF⊆V is a kkk-surplus set if ∑i∈Frik>R‾k\sum_{i\in F}r_{ik}>\overline R_k∑i∈F​rik​>Rk​, and a kkk-shortage set if ∑i∈Frik<R‾k\sum_{i\in F}r_{ik}<\underline R_k∑i∈F​rik​<R​k​. A kkk-surplus set FFF is minimal if no kkk-surplus set arises from FFF by removing a nonempty set of replenishing activities, and none arises by adding a nonempty set of depleting activities. Minimal kkk-shortage sets are defined with the roles of replenishing and depleting activities exchanged. Fk+\mathcal F_k^+Fk+​ and Fk−\mathcal F_k^-Fk−​ denote the minimal kkk-surplus and kkk-shortage sets.

Formalization targets

Goal: Theorem 2.12.4

A schedule SSS is inventory-feasible if and only if

∀k, ∀F∈Fk+ ∃j∈F, i∉F: rjk>0, rik<0, Sj+pj≥Si,\forall k,\ \forall F\in\mathcal F_k^+\ \exists j\in F,\ i\notin F:\ r_{jk}>0,\ r_{ik}<0,\ S_j+p_j\ge S_i,∀k, ∀F∈Fk+​ ∃j∈F, i∈/F: rjk​>0, rik​<0, Sj​+pj​≥Si​, ∀k, ∀F∈Fk− ∃j∈F, i∉F: rjk<0, rik>0, Sj≥Si+pi.\forall k,\ \forall F\in\mathcal F_k^-\ \exists j\in F,\ i\notin F:\ r_{jk}<0,\ r_{ik}>0,\ S_j\ge S_i+p_i.∀k, ∀F∈Fk−​ ∃j∈F, i∈/F: rjk​<0, rik​>0, Sj​≥Si​+pi​.

Milestones

  1. The invariance claim after Remark 2.12.2 (p. 131): adding the same integer aka_kak​ to r0kr_{0k}r0k​, R‾k\underline R_kR​k​ and R‾k\overline R_kRk​ does not change the set of inventory-feasible schedules.
  2. Lemma 2.12.3 (a): for every kkk-surplus set FFF there is a minimal kkk-surplus set F′F'F′ with ∅≠F′∩Vk+⊆F∩Vk+\emptyset\ne F'\cap V_k^+\subseteq F\cap V_k^+∅=F′∩Vk+​⊆F∩Vk+​ and F′∩Vk−⊇F∩Vk−F'\cap V_k^-\supseteq F\cap V_k^-F′∩Vk−​⊇F∩Vk−​.
  3. Lemma 2.12.3 (b): the shortage counterpart.
  4. Theorem 2.12.4 (a) on its own: the upper constraints rk(S,t)≤R‾kr_k(S,t)\le\overline R_krk​(S,t)≤Rk​ hold for all t≥0t\ge 0t≥0 iff condition (a) holds.
  5. Theorem 2.12.4 (b) on its own: the lower constraints hold for all t≥0t\ge 0t≥0 iff condition (b) holds.

Significance

The theorem turns a constraint over a continuum of time points into finitely many disjunctions, each a choice among precedence relations. An inventory excess caused by a minimal surplus set is removed by a start-to-completion relation Sj+pj≥SiS_j+p_j\ge S_iSj​+pj​≥Si​ (a replenishment is postponed until after a withdrawal starts, equivalently a maximum time lag), and a shortage by a completion-to-start relation Sj≥Si+piS_j\ge S_i+p_iSj​≥Si​+pi​. Consequences stated in the book: the feasible region of PSc∣temp∣Cmax⁡PSc|temp|C_{\max}PSc∣temp∣Cmax​ is a finite union of polyhedra; branching on these relations, organized as pairs of strict orders and reflexive relations, is a complete search scheme; and minimal delaying alternatives for surplus and shortage sets can be enumerated. Because every problem with renewable resources can be rewritten as one with cumulative resources (p. 130), the book also concludes that this union of polyhedra is in general disconnected.

The result is proved in the book (and in Neumann and Schwindt, 2002). To our knowledge it has no machine-checked proof. This mission produces a Lean formalization of the model, of the one-sided minimality notion, and of the two-sided characterization with its supporting lemma.

Difficulty

The combinatorial core is simple to state but easy to state wrongly. The natural first idea, to use inclusion-minimal surplus sets as for renewable resources, gives a different family Fk+\mathcal F_k^+Fk+​ and a false theorem: the book's minimality allows removing only replenishing activities and adding only depleting ones. The existence lemma needs Remark 2.12.2 to keep at least one replenishing activity in the minimal set, and the sufficiency direction needs (2.12.1) to guarantee a depleting activity outside the minimal set. Both membership conditions of the active set are closed at ttt, so activities that deplete or replenish exactly at the critical instant must be counted on the correct side; a half-open reading changes which schedules are feasible. The initial stock r0kr_{0k}r0k​ is handled by the same active-set rule as any other demand, which matters for the invariance claim.

Formalization scope

  • Activities are Fin (n + 2), activity n+1n+1n+1 is Fin.last (n + 1); resources are an arbitrary type K. Demands, safety stocks and capacities are integers (ℤ); start times are reals (ℝ); durations are natural numbers cast to ℝ.
  • The inventory constraints are required for every t≥0t\ge 0t≥0. The book prints (2.12.2) for 0≤t≤dˉ0\le t\le\bar d0≤t≤dˉ, but its proof of Theorem 2.12.4 works with an arbitrary t≥0t\ge 0t≥0 (the necessity half uses the last completion time of a replenishing activity, which need not be at most dˉ\bar ddˉ). The two readings coincide for schedules with Sn+1≤dˉS_{n+1}\le\bar dSn+1​≤dˉ whose activities all finish by Sn+1S_{n+1}Sn+1​.
  • A schedule satisfies S0=0S_0=0S0​=0 and Si≥0S_i\ge 0Si​≥0 and is not required to be time-feasible; time lags play no role in this section's results and are not part of the model.
  • (2.12.1) and Remark 2.12.2 are explicit hypotheses (TotalDemandWithinBounds, BoundsStraddleZero) wherever the book's proofs use them. Surplus and shortage sets are nonempty by definition, and minimality uses proper inclusions.
  • A formalization in which Fk+\mathcal F_k^+Fk+​ is empty or trivial (for instance, minimality with non-strict inclusions, which no set satisfies) makes condition (a) vacuous; the definitions here follow p. 131 exactly, and a concrete instance with a nonempty Fk+\mathcal F_k^+Fk+​ has been checked locally.

Reusable parts: the cumulative-resource model and inventory profile, which later missions on continuous cumulative resources (§2.12.2) or on the NP-completeness of PSc∣temp∣Cmax⁡PSc|temp|C_{\max}PSc∣temp∣Cmax​ (Theorem 2.12.1) can build on. Contributions welcome: proofs of the lemmas, of either half of the theorem, and finite-sum lemmas about Finset.filter that the proofs need.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003, §2.12.1, pp. 128–135. https://doi.org/10.1007/978-3-540-24800-2
  • K. Neumann, C. Schwindt, Project scheduling with inventory constraints, Mathematical Methods of Operations Research 56 (2003) 513–533 (cited in the book as 2002). https://doi.org/10.1007/s001860200251
7 thms2 active usersReviewed
Graph TheoryLinear OptimizationOperations Research+1·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources VI: Stable, Semistable, Pseudostable and Quasistable Schedules Are Extreme Points of the Feasible RegionTextbook

Motivation

Resource-constrained project scheduling with minimum and maximum time lags is the model behind make-to-order production, process-industry batch planning and large engineering projects. When the objective is the project duration or another regular function (nondecreasing in every start time), an optimum can be found among schedules that cannot be shifted to the left. Many objectives in practice are nonregular: net present value, earliness–tardiness costs, resource levelling and resource investment. For these, delaying an activity can pay, and "shift as far left as possible" no longer identifies a finite set of candidate schedules.

Neumann, Nübel and Schwindt (Math. Methods Oper. Res. 52, 2000) answered this with classes of schedules defined by the absence of pairs of opposite shifts: stable, semistable, pseudostable and quasistable schedules, the mirror image of active, semiactive, pseudoactive and quasiactive schedules. Section 3.2 of Neumann, Schwindt and Zimmermann, Project Scheduling with Time Windows and Scarce Resources (Springer 2003), shows that these classes are exactly the extreme points of the feasible region and of its natural convex pieces. The classification of objective functions in §3.3, and every enumeration scheme of the later chapter, rests on that correspondence.

Setting

A project has activities V={0,1,…,n+1}V=\{0,1,\dots,n+1\}V={0,1,…,n+1} with n≥1n\ge1n≥1. Activity 000 is the project beginning and n+1n+1n+1 the project completion. Activity iii has an integer duration pip_ipi​, with p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0 and pi>0p_i>0pi​>0 otherwise. The project network NNN has node set VVV and arcs ⟨i,j⟩∈E\langle i,j\rangle\in E⟨i,j⟩∈E with integer weights δij\delta_{ij}δij​, each encoding a temporal constraint Sj−Si≥δijS_j-S_i\ge\delta_{ij}Sj​−Si​≥δij​. A prescribed deadline dˉ∈N\bar d\in\mathbb Ndˉ∈N is included as the backward arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩ of weight −dˉ-\bar d−dˉ. Renewable resources kkk have capacities RkR_kRk​, and activity iii uses rik≤Rkr_{ik}\le R_krik​≤Rk​ units while it runs.

A schedule is a vector S∈Rn+2S\in\mathbb R^{n+2}S∈Rn+2 of start times. The time-feasible region ST\mathcal S_TST​ collects the schedules with S0=0S_0=0S0​=0, S≥0S\ge0S≥0 and Sj−Si≥δijS_j-S_i\ge\delta_{ij}Sj​−Si​≥δij​ on every arc; it is a polyhedron, and a polytope when every activity precedes n+1n+1n+1 as in Remarks 1.1.2. A schedule is resource-feasible if at every time t≥0t\ge0t≥0 the running activities A(S,t)={i∣Si≤t<Si+pi}\mathcal A(S,t)=\{i\mid S_i\le t<S_i+p_i\}A(S,t)={i∣Si​≤t<Si​+pi​} use at most RkR_kRk​ units of every resource. The feasible region is S=ST∩SR\mathcal S=\mathcal S_T\cap\mathcal S_RS=ST​∩SR​. It is in general neither convex nor connected.

A schedule induces the strict order O(S)={(i,j)∣i≠j, Sj≥Si+pi}O(S)=\{(i,j)\mid i\ne j,\ S_j\ge S_i+p_i\}O(S)={(i,j)∣i=j, Sj​≥Si​+pi​}. For a strict order OOO, the order polytope is ST(O)={S∈ST∣Sj≥Si+pi ((i,j)∈O)}\mathcal S_T(O)=\{S\in\mathcal S_T\mid S_j\ge S_i+p_i\ ((i,j)\in O)\}ST​(O)={S∈ST​∣Sj​≥Si​+pi​ ((i,j)∈O)}. The order OOO is feasible if ∅≠ST(O)⊆S\emptyset\ne\mathcal S_T(O)\subseteq\mathcal S∅=ST​(O)⊆S. The schedule polytope of SSS is ST(O(S))\mathcal S_T(O(S))ST​(O(S)).

A shift moves a schedule SSS to S′≠SS'\neq SS′=S. It is global if both are feasible, local if in addition a continuous path inside S\mathcal SS joins them, order-preserving if O(S)⊆O(S′)O(S)\subseteq O(S')O(S)⊆O(S′), and order-monotone if O(S)O(S)O(S) and O(S′)O(S')O(S′) are comparable. Two shifts from SSS to S′S'S′ and S′′S''S′′ are opposite if S′′−S=λ(S′−S)S''-S=\lambda(S'-S)S′′−S=λ(S′−S) with λ<0\lambda<0λ<0. A feasible schedule is stable, semistable, pseudostable or quasistable if no pair of opposite global, local, order-monotone or order-preserving shifts, respectively, starts at it. It is antiactive if no global right-shift starts at it.

Formalization targets

Goal: Theorem 3.2.10

For every feasible schedule SSS:

(a) S antiactive  ⟺  S maximal in S,(b) S stable  ⟺  S∈ext⁡S,(c) S semistable  ⟺  S∈ext⁡CS, CS the component of S containing S,(d) S pseudostable  ⟺  S∈ext⁡ST(O) for all feasible O⊆O(S),(e) S quasistable  ⟺  S∈ext⁡ST(O(S)).\begin{aligned} &\text{(a) } S\text{ antiactive}\iff S\text{ maximal in }\mathcal S, \qquad \text{(b) } S\text{ stable}\iff S\in\operatorname{ext}\mathcal S,\\ &\text{(c) } S\text{ semistable}\iff S\in\operatorname{ext}C_S,\ C_S\text{ the component of }\mathcal S\text{ containing }S,\\ &\text{(d) } S\text{ pseudostable}\iff S\in\operatorname{ext}\mathcal S_T(O)\ \text{for all feasible }O\subseteq O(S),\\ &\text{(e) } S\text{ quasistable}\iff S\in\operatorname{ext}\mathcal S_T(O(S)). \end{aligned}​(a) S antiactive⟺S maximal in S,(b) S stable⟺S∈extS,(c) S semistable⟺S∈extCS​, CS​ the component of S containing S,(d) S pseudostable⟺S∈extST​(O) for all feasible O⊆O(S),(e) S quasistable⟺S∈extST​(O(S)).​

Milestones

  • Lemma 3.2.4: opposite order-preserving or order-monotone shifts can be taken uniform (all moved activities move by one common amount).
  • Lemma 3.2.8: pseudostable schedules are the local extreme points of S\mathcal SS, the points on no segment that lies entirely in S\mathcal SS.
  • Lemma 3.2.9: when SSS is not pseudostable, a segment through SSS can be found inside one order polytope ST(O)\mathcal S_T(O)ST​(O) with O⊆O(S)O\subseteq O(S)O⊆O(S) feasible.
  • Proposition 3.2.13: the quasistable schedules, and every class below them in Fig. 3.2.6, form finite sets.
  • Proposition 3.2.16: every vertex of ST\mathcal S_TST​ is the unique solution of S0=0S_0=0S0​=0, Sj−Si=δijS_j-S_i=\delta_{ij}Sj​−Si​=δij​ on the arcs of a spanning tree of NNN; for the minimal point, an outtree rooted at 000.
  • Theorem 3.2.18: SSS is quasistable iff it is the unique solution of such a tree system in the schedule network N(O(S))N(O(S))N(O(S)).
  • Remark 3.2.7: every activity of a quasistable schedule is tied to another one by a tight duration or time lag, so quasistable schedules are integer-valued.

Significance

The theorem makes four shift-defined classes computable objects: extreme points of explicit polytopes, or of a finite union of them. Together with Proposition 3.2.13, it gives each class of nonregular objective functions in §3.3 a finite candidate set of schedules among which an optimum can be sought (§3.2, p. 207). Theorem 3.2.18 gives the certificate for quasistable schedules: a spanning tree of the schedule network, which the later sections use to enumerate vertices.

The results are proved in the book, except Lemma 3.2.9, whose proof is cited to Neumann, Nübel and Schwindt (2000). As far as a search of the platform shows, none of them has been formalized. A formalization supplies the missing details, among them that connected and path components of S\mathcal SS coincide and the degenerate vertices behind the tree description. It also produces a reusable library of schedule classes on real-valued start times.

Difficulty

Part (b) is close to the definition, since a pair of opposite global shifts is a segment through SSS with feasible endpoints. The content is elsewhere. In (c) the definition speaks of continuous trajectories and the right-hand side of connected components, so the proof needs local path-connectedness of a finite union of polytopes. In (d) the feasible region is not convex: an order-monotone shift keeps SSS and S′S'S′ in a common order polytope, but S′S'S′ and S′′S''S′′ may lie in different ones. The segment through SSS has to be moved into a single order polytope ST(O)\mathcal S_T(O)ST​(O) with O⊆O(S)O\subseteq O(S)O⊆O(S), and that is Lemma 3.2.9. Proposition 3.2.16 and Theorem 3.2.18 need the passage from n+2n+2n+2 linearly independent tight constraints to a spanning tree. They must allow degenerate vertices, where several trees describe the same point, and must represent the nonnegativity constraints Si≥0S_i\ge0Si​≥0 by arcs of the network.

Formalization scope

Activities are Fin (n + 2); start times are real vectors Fin (n + 2) → ℝ with the pointwise order. Durations, capacities and requirements are natural numbers, and time lags integers. The deadline is the arc ⟨n+1,0⟩\langle n+1,0\rangle⟨n+1,0⟩ of weight −dˉ-\bar d−dˉ, which is always present, as §3.1 prescribes. Resource constraints are imposed for every t≥0t\ge0t≥0, not only for 0≤t≤dˉ0\le t\le\bar d0≤t≤dˉ as (3.1.2) writes; the proofs use the first reading. Extreme points are Mathlib's Set.extremePoints ℝ, maximal points are Maximal for the pointwise order, and components are connectedComponentIn. A local shift carries an explicit continuous map from unitInterval into S\mathcal SS. Strict orders are asymmetric, transitive relations on VVV. A spanning tree is an arc set of size n+1n+1n+1 whose underlying simple graph is connected. Its arcs must be arcs of NNN, resp. of N(O(S))N(O(S))N(O(S)), with their network weights, so an arbitrary equation system does not count.

The schedule classes are defined through shifts and nothing else. Defining "stable" as "extreme point", or "pseudostable" as "local extreme point", would make the goal and Lemma 3.2.8 tautologies, and such encodings are ruled out. Proposition 3.2.16 carries the book's standing convention (§1.2, p. 8) that every node is reached from 000 by a walk of nonnegative length. Without it the statement is false.

The definitions duplicate, under this mission's namespace, the model of the book's Chapter 2 missions (order polytopes, shifts, active classes). They are written to be merged with those once published. Contributions on the geometry of finite unions of polytopes, and on spanning-tree bases of difference constraint systems, are reusable beyond this mission.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003, §3.1–3.2. https://doi.org/10.1007/978-3-540-24800-2
  • K. Neumann, H. Nübel, C. Schwindt, Active and stable project scheduling, Mathematical Methods of Operations Research 52 (2000), 441–465. https://doi.org/10.1007/s001860000092
  • M. Bartusch, R. H. Möhring, F. J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16 (1988), 199–240. https://doi.org/10.1007/BF02283745
12 thms1 active userReviewed
Complexity TheoryOperations ResearchOptimization+1·Captain: mikedeng1

Project Scheduling with Time Windows and Scarce Resources IX: Deciding Feasibility with Cumulative Resources Is NP-Complete Even for Acyclic Project NetworksTextbook

Motivation

Project scheduling with cumulative resources models production and logistics projects in which activities fill and empty storage: an activity withdraws material from an inventory when it starts and deposits its output when it completes, and every inventory must stay between a safety stock and a storage capacity. Neumann, Schwindt and Zimmermann treat this model in §2.12 of Project Scheduling with Time Windows and Scarce Resources (2nd ed., Springer 2003, doi:10.1007/978-3-540-24800-2) and use it in their process-industry applications.

Before any optimization, a scheduler must know whether a feasible schedule exists at all. Theorem 2.12.1 of the book answers the complexity of this question: it is NP-complete, and it stays NP-complete when the project network has no cycles. The contrast with renewable resources (machines, workers) is the point of the theorem: with renewable resources, the feasibility problem is NP-complete as well (Theorem 2.3.13, after Bartusch, Möhring and Radermacher, 1988), but an acyclic network always admits a feasible schedule when every requirement is within capacity.

The mission also collects the two other reductions the book proves in full: Proposition 2.5.4 (recognizing whether an activity lies in some minimal delaying alternative, the branching object of the book's branch-and-bound procedures, is NP-complete) and Proposition 3.4.2 (maximizing weighted start-time deviations, a resource-levelling objective, is NP-hard without any resource constraints).

Setting

A project has activities V={0,1,…,n+1}V=\{0,1,\dots,n+1\}V={0,1,…,n+1} with n≥1n\ge1n≥1; activity 000 is the project beginning and n+1n+1n+1 the project completion. Activity iii has a duration pi∈Np_i\in\mathbb Npi​∈N, with p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0. The project network NNN has arc set EEE; an arc ⟨i,j⟩\langle i,j\rangle⟨i,j⟩ with integer weight δij\delta_{ij}δij​ imposes the temporal constraint Sj−Si≥δijS_j-S_i\ge\delta_{ij}Sj​−Si​≥δij​ on the start times. A schedule is a real vector S=(Si)i∈VS=(S_i)_{i\in V}S=(Si​)i∈V​ with S0=0S_0=0S0​=0 and Si≥0S_i\ge0Si​≥0; it is time-feasible if it meets every temporal constraint.

Cumulative resources k∈Rγk\in\mathcal R^\gammak∈Rγ carry integer demands rikr_{ik}rik​: rik<0r_{ik}<0rik​<0 depletes −rik-r_{ik}−rik​ units at the start SiS_iSi​, rik>0r_{ik}>0rik​>0 replenishes rikr_{ik}rik​ units at the completion Si+piS_i+p_iSi​+pi​, and r0kr_{0k}r0k​ is the initial stock. The inventory at time ttt is

rk(S,t)=∑i: rik<0, Si≤trik+∑i: rik>0, Si+pi≤trik.r_k(S,t)=\sum_{i:\ r_{ik}<0,\ S_i\le t} r_{ik}+\sum_{i:\ r_{ik}>0,\ S_i+p_i\le t} r_{ik}.rk​(S,t)=i: rik​<0, Si​≤t∑​rik​+i: rik​>0, Si​+pi​≤t∑​rik​.

With safety stock R‾k\underline R_kR​k​ and storage capacity R‾k\overline R_kRk​ (integers, R‾k≤∑i∈Vrik≤R‾k\underline R_k\le\sum_{i\in V}r_{ik}\le\overline R_kR​k​≤∑i∈V​rik​≤Rk​ by (2.12.1)), SSS is feasible if it is time-feasible and R‾k≤rk(S,t)≤R‾k\underline R_k\le r_k(S,t)\le\overline R_kR​k​≤rk​(S,t)≤Rk​ for every kkk and every t≥0t\ge0t≥0. The decision problem of PSc∣temp∣Cmax⁡PSc|temp|C_{\max}PSc∣temp∣Cmax​ asks whether a feasible schedule exists.

For renewable resources k∈Rk\in\mathcal Rk∈R with capacities RkR_kRk​ and requirements rik∈Nr_{ik}\in\mathbb Nrik​∈N, a set F⊆VF\subseteq VF⊆V is forbidden if ∑i∈Frik>Rk\sum_{i\in F}r_{ik}>R_k∑i∈F​rik​>Rk​ for some kkk. A delaying alternative for FFF is a set B⊆FB\subseteq FB⊆F such that F∖BF\setminus BF∖B is not forbidden; it is minimal if no proper subset of BBB is one.

In PS∞∣temp,dˉ∣fPS\infty|temp,\bar d|fPS∞∣temp,dˉ∣f there are no resources, schedules must also satisfy Sn+1≤dˉS_{n+1}\le\bar dSn+1​≤dˉ, and the objective here is f(S)=−∑i∈V∑j>iwij∣Sj−Si∣f(S)=-\sum_{i\in V}\sum_{j>i}w_{ij}|S_j-S_i|f(S)=−∑i∈V​∑j>i​wij​∣Sj​−Si​∣ with weights wij≥0w_{ij}\ge0wij​≥0.

NP and NP-completeness are taken in the sense of Cook's Turing-machine formulation, with instances written in binary.

Formalization targets

Goal: Theorem 2.12.1

Assuming PARTITION is NP-complete,

L={codes of instances of PSc∣temp∣Cmax⁡ with a feasible schedule}  and  Lacyc=L∩{N acyclic}L=\{\text{codes of instances of }PSc|temp|C_{\max}\text{ with a feasible schedule}\}\ \text{ and }\ L_{\mathrm{acyc}}=L\cap\{N\text{ acyclic}\}L={codes of instances of PSc∣temp∣Cmax​ with a feasible schedule}  and  Lacyc​=L∩{N acyclic}

are both NP-complete.

Milestones

  1. Membership (proof of Theorem 2.12.1): L∈NPL\in\mathrm{NP}L∈NP and Lacyc∈NPL_{\mathrm{acyc}}\in\mathrm{NP}Lacyc​∈NP.
  2. Reduction correctness (proof of Theorem 2.12.1): for sizes s(1),…,s(ν)s(1),\dots,s(\nu)s(1),…,s(ν) with even sum, the project with r0=rn+1=−∑s(i)/2r_0=r_{n+1}=-\sum s(i)/2r0​=rn+1​=−∑s(i)/2, ri=s(i)r_i=s(i)ri​=s(i), R‾=R‾=0\underline R=\overline R=0R​=R=0, d0,n+1min⁡=1d^{\min}_{0,n+1}=1d0,n+1min​=1 has an acyclic network, and it has a feasible schedule iff the sizes split into two parts of equal sum.
  3. Polynomial transformation: PARTITION≤pLacyc\mathrm{PARTITION}\le_p L_{\mathrm{acyc}}PARTITION≤p​Lacyc​.
  4. Proof of Proposition 2.5.4, one resource: for j∗∈B⊆Fj^*\in B\subseteq Fj∗∈B⊆F, BBB is a minimal delaying alternative iff R−min⁡j∈Brj<∑i∈F∖Bri≤RR-\min_{j\in B}r_j<\sum_{i\in F\setminus B}r_i\le RR−minj∈B​rj​<∑i∈F∖B​ri​≤R.
  5. Proof of Proposition 2.5.4, with rj∗=1r_{j^*}=1rj∗​=1: a minimal delaying alternative contains j∗j^*j∗ iff some A⊆F∖{j∗}A\subseteq F\setminus\{j^*\}A⊆F∖{j∗} has ∑i∈Ari=R\sum_{i\in A}r_i=R∑i∈A​ri​=R.
  6. Proposition 2.5.4: assuming SUBSET SUM is NP-complete, deciding whether some minimal delaying alternative for a forbidden set FFF contains j∗∈Fj^*\in Fj∗∈F is NP-complete.
  7. Proof of Proposition 3.4.2: a graph has a cut of at least MMM edges iff the constructed instance has a schedule with Si∈{0,1}S_i\in\{0,1\}Si​∈{0,1} and ∑i<jwij∣Sj−Si∣≥M\sum_{i<j}w_{ij}|S_j-S_i|\ge M∑i<j​wij​∣Sj​−Si​∣≥M.
  8. Proposition 3.4.2: assuming SIMPLE MAX CUT is NP-complete, the decision version of PS∞∣temp,dˉ∣−∑∑wij∣Sj−Si∣PS\infty|temp,\bar d|-\sum\sum w_{ij}|S_j-S_i|PS∞∣temp,dˉ∣−∑∑wij​∣Sj​−Si​∣ is NP-hard.

The goal follows from milestones 1 and 3 together with the transfer of NP-completeness along ≤p\le_p≤p​ (on the platform as CookPvsNP.npComplete_of_polyReducible).

Significance

The result. Theorem 2.12.1 explains why the book's methods for cumulative resources enumerate precedence relations between depleting and replenishing activities (minimal surplus and shortage sets, Theorem 2.12.4) instead of relying on a constructive feasibility test: unless P = NP, no polynomial algorithm decides feasibility, even for acyclic networks, where the renewable-resource case is trivial. Proposition 2.5.4 does the same for the branching scheme of §2.5, and Proposition 3.4.2 places the resource-levelling objectives of Chapter 3 among the hard ones.

Formalizing it. The three results are proved in the book, as short reductions whose delicate steps are left implicit: the polynomial size of a certificate for real-valued schedules, the handling of instances outside the construction (odd sums, empty index sets, oversized items), and the passage from an optimization problem to its decision version. None of the three reductions is machine-checked anywhere known. The mission states them against a single Turing-machine model and a single binary encoding, reusing the published definitions CookPvsNP_defs, so that the reductions compose with the Cook–Levin development already on the platform.

Difficulty

The mathematical content of the reductions is short; the difficulty is in the complexity-theoretic layer. Two steps resist the obvious argument.

First, NP membership. The book's certificate is a schedule, and a schedule is a real vector: it is not a string. A verifier needs a finite certificate of polynomial length, and it is not immediate that a feasible instance has a feasible schedule with small rational (or integer) start times, since the inventory constraints involve strict orderings between event times.

Second, polynomial-time computability in a concrete Turing-machine model. The transformation must compute, on a one-tape machine, binary codes of sums and halves of the input sizes, an arc list of quadratic length, and must map malformed strings to fixed no-instances. Informal "clearly polynomial" arguments have to become explicit machine constructions or a reusable library of closure properties.

Formalization scope

The Lean development fixes the following conventions.

  • Activities are Fin (n + 2), with the completion Fin.last (n + 1); resources are Fin m. Start times are real.
  • The inventory constraints hold for every t≥0t\ge0t≥0, not only for 0≤t≤dˉ0\le t\le\bar d0≤t≤dˉ as (2.12.2) is printed; the book's proofs use this reading.
  • Real activities may have duration 000 in PSc∣temp∣Cmax⁡PSc|temp|C_{\max}PSc∣temp∣Cmax​: the reduction of Theorem 2.12.1 uses only such activities.
  • Instances are coded as lists of integers written in binary over the alphabet {0,1,−,#}\{0,1,-,\#\}{0,1,−,#}; arc weights are listed for every ordered pair of activities together with an arc indicator. Well-formedness (standing assumptions such as n≥1n\ge1n≥1, p0=pn+1=0p_0=p_{n+1}=0p0​=pn+1​=0, no loops, (2.12.1), rik≤Rkr_{ik}\le R_krik​≤Rk​) is part of each language.
  • "Acyclic" means the nodes admit a numbering increasing along every arc.
  • The NP-completeness of PARTITION, SUBSET SUM and SIMPLE MAX CUT (Karp, 1972) enters as a hypothesis of the corresponding theorem; these are not results of the book.
  • Proposition 3.4.2 is stated for the decision version of the optimization problem, with natural-number weights and threshold.

A trivializing formalization is ruled out: the languages contain only codes of well-formed instances, the encoding is injective, and the hypotheses on the source problems are true theorems, so the goal cannot hold vacuously or by a degenerate encoding.

A complete development needs closure properties of polynomial-time computable functions in Cook's model (composition, binary arithmetic, list manipulation), transitivity of ≤p\le_p≤p​, and a small-certificate lemma for systems of difference constraints with strict and non-strict inequalities. These are reusable for every NP-hardness proof stated in the same framework. Contributions to any of them, to the instance-level milestones 2, 4, 5 and 7, or to the NP-completeness of PARTITION, SUBSET SUM and SIMPLE MAX CUT in this model, are welcome.

Selected references

  • K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003. doi:10.1007/978-3-540-24800-2
  • M. Bartusch, R. H. Möhring, F. J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16, 1988.
  • M. R. Garey, D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979.
  • R. M. Karp, Reducibility among combinatorial problems, in Complexity of Computer Computations, Plenum, 1972. doi:10.1007/978-1-4684-2001-2_9
  • S. Cook, The P versus NP Problem, Clay Mathematics Institute problem description. claymath.org
14 thms3 active usersReviewed
PreviousNext

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