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: The following is a list of Books and other material relevant to the lectures. The list will be updated as needed.


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.