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: 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

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.