Maximum Matching and a Polyhedron With 0,1-Vertices: The Vertices of the Matching Polyhedron Are Exactly the Matching VectorsResearch Paper
Motivation
A matching in a graph is a set of edges no two of which share a node. Given a real weight on every edge, the maximum-weight matching problem asks for a matching of largest total weight. It is one of the basic problems of combinatorial optimization: assignment, pairing and scheduling problems reduce to it, and it is the standard example of a combinatorial problem that is solvable in polynomial time although it is not obviously a linear program.
For bipartite graphs the problem is a linear program in disguise: the polytope cut out by nonnegativity and the node-degree inequalities has only 0–1 vertices (the Birkhoff–von Neumann theorem in the square case; Mathlib has it as extremePoints_doublyStochastic). For general graphs this fails already on a triangle, where the vector with every coordinate satisfies all degree inequalities but is not a combination of matchings. Edmonds' 1965 paper (DOI 10.6028/jres.069b.013) adds one family of inequalities, one for each odd set of nodes, and proves that the resulting polyhedron has exactly the matching vectors as its vertices. The companion paper Paths, trees, and flowers gives the cardinality algorithm on which the weighted algorithm of §7 is built.
Timeline:
- 1931: König and Egerváry prove the min–max theorems for bipartite matching; 1946: Birkhoff shows that the doubly stochastic matrices are the convex hull of the permutation matrices (the bipartite perfect-matching polytope).
- 1947: Tutte characterizes graphs with a perfect matching.
- 1965: Edmonds, Paths, trees, and flowers: the blossom algorithm for maximum-cardinality matching.
- 1965: Edmonds, this paper: Theorem (P) (the matching polyhedron) and Theorem (M) (blossom-shrinking optimality certificates), with a weighted matching algorithm.
Setting
Let be a finite graph with node set and edge set ; each edge meets two different nodes, its ends. Real variables correspond to the edges . The polyhedron is the set of vectors satisfying
- for every edge ;
- for every node ;
- for every set of nodes, a strictly positive integer.
The matching vectors are the vectors with every component or that satisfy (2); they are the incidence vectors of matchings. For edge weights , the linear form (4) is .
The dual program has a variable for each node and for each odd set (, ). Its objective is (5) , subject to (6) and (7) for every edge with ends . For a matching , conditions (8)–(10) are the complementary slackness conditions: at nodes not covered by , equality in (7) on , and every odd set with contains exactly edges of .
A blossom sequence (Theorem (M)) starts from with matching and repeatedly shrinks an odd circuit (a blossom, edges of which are matched) to a single node, carrying node weights and edge weights that obey conditions (a)–(k) of p. 127.
In the Lean development these are Graph, IsMatching, incidence, matchingPolyhedron (), matchingVectors (), W, U, DualFeasible ((6)–(7)), CompSlack ((8)–(10)) and BlossomSequence, all in the namespace EdmondsMatching65.Polyhedron.
Formalization targets
Goal: Theorem (P)
The vertices (extreme points) of are exactly the matching vectors of . Hence the maximum weight of a matching equals for every .
Milestones
- (§2, p. 126).
- If for every some 0–1 point of maximizes over , then (§2, p. 126).
- Weak duality: for and satisfying (6)–(7) (§3, p. 126).
- If is a matching and satisfies (6)–(10), then (§3, p. 127).
- A blossom sequence for yields satisfying (6)–(10) (§5, pp. 127–128).
- For every some maximum matching has a blossom sequence (§6, p. 128).
- Theorem (M): a matching is maximum if and only if a blossom sequence for it exists (§4, p. 127).
- For every there are a matching and satisfying (6)–(10) (§3, p. 127).
Significance
The result. Theorem (P) turns maximum-weight matching in general graphs into a linear program over an explicitly described polyhedron, and Theorem (M) with the §5 translation gives a short certificate of optimality for every maximum matching. Together they established the template of polyhedral combinatorics: describe the convex hull of the combinatorial objects by inequalities, and prove the description through linear programming duality and an algorithm. The matching polytope underlies the analysis of the weighted blossom algorithm, separation over odd-set inequalities (Padberg–Rao), and many later integrality results; Edmonds' own §8 states the extension to degree-constrained subgraphs.
Formalizing it. The theorem has been proved since 1965 and appears in every text on combinatorial optimization; this mission asks for a machine-checked proof of the polytope statement for general finite graphs, including parallel edges, together with the duality certificate and the blossom-sequence characterization. The prove2me platform has a proved form of Edmonds' perfect matching polytope theorem on complete graphs in convex-decomposition form (MetricTSP.pm_polytope_decomposition), a different polytope with a different conclusion; nothing states Theorem (P) or Theorem (M).
Difficulty
The inclusion and weak duality are routine. The difficulty is the reverse inclusion: showing that no fractional point of is a vertex. The bipartite argument (a fractional point has a cycle of fractional edges along which it can be perturbed both ways) breaks on odd cycles: perturbing along an odd circuit violates a degree inequality, and the odd-set inequalities that cut off the half-integral points are exponentially many and overlap. The paper's route needs, for every weight vector, an optimal matching together with a dual solution satisfying (6)–(10), and the existence of that certificate is the substance of the weighted matching algorithm: the blossom sequence of Theorem (M) must be constructed, and the translation (11)–(16) from node and edge weights of the contracted graphs to must be verified through the whole shrinking history.
Formalization scope
- The graph is a finite node type
V, a finite edge typeEand an end mapends : E → Sym2 Vwith no loops. Parallel edges are allowed: the contracted graphs of Theorem (M) have them, and Theorem (P) holds for multigraphs; simple graphs are the case of an injective end map. - Vectors are
E → ℝ, one coordinate per edge. Vertices are Mathlib'sSet.extremePoints ℝ. Odd sets carry an explicitr : ℕwith1 ≤ rand|S| = 2r + 1; even sets and singletons carry no inequality. - Edge weights are arbitrary reals; matchings need not be perfect and may be empty. No connectivity, no parity of
|V|. - The dual variable
zis a function on all node sets of which only odd sets are read. - A contracted graph
Gᵢis a partition ofVinto blocks; an edge ofGis an edge ofGᵢwhen its ends lie in different blocks. EachMᵢmust be a matching ofGᵢ, and all of (a)–(k) appear as fields ofBlossomSequence; a sequence missing any of them would make milestone 6 trivial or milestone 5 false. - A trivializing formalization is ruled out: coordinates indexed by node pairs (
Sym2 V → ℝ) leave non-edge coordinates free and give a polyhedron with no extreme points, and the goal is stated as equality of extreme points, not as a convex-hull identity or as the existence of a dual certificate. - Needed infrastructure: extreme points of polyhedra as unique maximizers of linear forms, finite LP weak duality over these index sets, and the weighted blossom algorithm (or another proof of milestone 8). The polyhedral lemmas are reusable for other integrality results; contributions on any milestone are welcome.
Selected references
- J. Edmonds, Maximum Matching and a Polyhedron With 0,1-Vertices, J. Res. Nat. Bur. Standards Sect. B 69B (1965), 125–130. https://doi.org/10.6028/jres.069b.013
- J. Edmonds, Paths, Trees, and Flowers, Canad. J. Math. 17 (1965), 449–467. https://doi.org/10.4153/CJM-1965-045-4
- W. T. Tutte, The Factorization of Linear Graphs, J. London Math. Soc. 22 (1947), 107–111. https://doi.org/10.1112/jlms/s1-22.2.107
- M. W. Padberg, M. R. Rao, Odd Minimum Cut-Sets and b-Matchings, Math. Oper. Res. 7 (1982), 67–80. https://doi.org/10.1287/moor.7.1.67
- A. Schrijver, Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003, Chapter 25.