Linear Programming and Combinatorial Optimization
This is a basic course for undergraduate students.Organization
During the Summer Semester 2023-2024 the lectures are scheduled on Wednesdays at 09:00 in S3 in Mala Strana. Tutorials are held on Thursdays at 15:40 in S11.Course Requirements (Exam etc.)
The final grade for the course will be based on an exam at the end of the semester. You must obtain a "pass" in the tutorial to be able to take the exam for this course. .Syllabus
This course covers the following topics:- Linear and Integer Programming.
- LP Duality
- Simplex Algorithm
- Ellipsoid Algorithm
- Matroids
Understanding and Using Linear Programming (UULP) | by Jiří Matoušek and Bernd Gaertner |
Lectures on Polytopes (LoP) | by Guenter M. Ziegler |
Combinatorial Optimization (CO) | by Cook, Cunningham, Pulleyblank and Schrijver |
Combinatorial Optimization: Polyhedra and Efficiency (COPE) | Alexander Schrijver |
A First Course in Combinatorial Optimization (AFCCO) | Jon Lee |
Notes on LP duality and Applications | Link |
Notes on Maximum matching problem | Link |
Material Covered in the Lectures
February 28: Example of a Linear Program; General form; basic terminology: objective function, constraints, feasible solution, optimal solution, feasible/infeasible, bounded/unbounded; Modeling problems as LP; Example: Network flow; Integer Programming; LP relaxation; Applications of LP relaxations: (Serendipitous Integrality) Perfect Matchings in bipartite graphs, (Approximation by rounding) \(2\)-approximation by rounding LP optimum for Vertex Cover.
Recommended reading: Chapters 1,2,3 of UULP.
March 06: Equational form of an LP; Basic feasible solutions; For LPs in equational form feasibility and boundedness imply existence of optimal basic feasible solutions.
Recommended reading: Chapters 4 of UULP
March 13: Combinations and Hulls: Convex, Conic, Affine; Basics of Polyhedral theory: halfspaces, polyhedron, polytope, valid inequality, face, proper face, vertex, extreme point; vertex = extreme point; Minkowski-Weyl theorem (without proof); Correspondence between basic feasible solutions and vertices; Simplex method: Geometric version; Basic problems: Finding an initial vertex, choosing an edge to follow, stopping criteria.
Recommended reading: Chapters 0, 1 of LoP; Chapter 4 of UULP <>
March 20: The Simplex Method; Examples including for exceptional cases: degeneracy, unboundedness, infeasibility; Simplex Tableu; Pivot rules: the problem of cycling; Bland's rule; Bland's rule avoids cycling (without proof); Simplex method is not known to terminate in polynomial time (without proof); LP Duality; Conic combinations of valid inequalities yield valid inequalities that may provide upper bound on objective value; Dual LP;
Recommended reading: Chapter 5,6 of UULP.
March 27: LP Duality; Weak Duality; Strong duality (proof using simplex method).
Recommended reading: Chapter 6 of UULP.
April 03: Applications of LP Duality; Max flow min cut theorem from LP duality (using Path formulation for flows); Matching LP for bipartite graphs; Vertex Cover LP as dual; Total Unimodular Matrices; TU Matrices define integral polyhedra (for integral vectors \(b\)); Incidence matrix of bipartite graph is TU; Corollary: Matching LP and the (dual) VC LP are integral for bipartite graphs; Koenig's theorem from LP duality.
Recommended reading: Section 8.2 of UULP; Section 6.2.1 from here.
April 10: Two vertices of a polytope define an edge iff their midpoint cannot be written as convex combination of vertices other than these; Two matchings form an edge of the matching polytope iff their symmetric difference is a single path or a single (even) cycle.
Recommended reading: Section 2,3 from here, Theorem 25.3 from COPE.
April 17: Algorithm for maximum matching problem viewed as the Simplex method with a special pivot rule; \(M\)-alternating path; \(M\)-augmenting path; \(M\triangle P\) is a larger matching if \(P\) is an \(M\)-augmenting path; (Berge) A matching \(M\) is maximum iff there is no \(M\)-augmenting path; Finding \(M\)-augmenting paths in bipartite graph amounts to finding \(st\)-path in a directed graph; Perfect Matching/Matching polytopes for arbitrary graphs (without proof of correctness of the formulation); Ellipsoid Algorithm; Ellipsoids; input size; basic assumptions: boundedness, full-dimensionality; upper bound on the volume of initial ellipsoid; volume reduction in each iteration; lower bound on volume of polyhedron if full-dimensional; Separation and Optimization
Recommended reading: Section 2,3 from here, Section 7.1 of UULP.
April 24: Edmond's blossom algorithm for finding maximum matching in a graph; Matching polytope; Perfect Matching polytope; Spanning Tree polytope; comments about polytopes with exponetially many inequalities over which one can efficiently optimize a linear function; Greedy Algorithm; Matroids: definition using Matroid Axioms; Independent set, Independence system; Example: Graphic Matroid: The set of all forests of a graph defines a matroid.
Recommended reading: Section 6 from here, Chapter 1 of AFFCO.
May 22: Cutting planes; Cutting plane proofs; Edmond's inequalities for the matching polytope as an example of cutting planes; Cutting plane method in Integer Programming; Example: Travelling Salesman Problem; IP formulation using Subtour Elimination inequalities; Separation over Subtour Elimination Inequalities using MinCut.
Recommended reading: Chapter 6 of AFCCO.
End of lectures.