Linear Programming and Combinatorial Optimization
This is a basic course for undergraduate students.Organization
During the Summer Semester 2024-2025 the lectures are scheduled on Mondays at 14:00 in S5 in Mala Strana. Tutorials are held on Wednesdays at 10:40 in S6.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 (local copy) |
Material Covered in the Lectures
February 17: 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.
Recommended reading: Sections 1.1,2.1-2.2,3.1 of UULP.
February 24: 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 3: (continued) For LPs in equational form, feasibility and boundedness imply existence of optimal basic feasible solutions; Combinations and Hulls: Convex, Conic, Affine, Linear; 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.
Recommended reading: Chapters 0, 1 of LoP; Chapter 4 of UULP
March 10: Basic problems: Finding an initial vertex, choosing an edge to follow, stopping criteria.The Simplex Method; Examples including ones 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 17: LP Duality; Weak Duality; Strong duality (proof using simplex method); Applications of LP Duality: Koenig's theorem.
Recommended reading: Chapter 6, 8.2 of UULP.
March 24: 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.
March 31: 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; 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); Edmond's blossom algorithm for finding maximum matching in a graph.
Recommended reading: Section 2,3 from here, Theorem 25.3 from COPE.