Linear Programming and Combinatorial Optimization
This is a basic course for undergraduate students.Organization
During the Summer Semester 2025-2026 the lectures are scheduled on Wednesdays at 09:00 in S4 in Mala Strana. Tutorials are held on Mondays at 17:20 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 (local copy) |
Material Covered in the Lectures
February 18: 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 25: Applications of LP relaxations: (Serendipitous Integrality) Perfect Matchings in bipartite graphs, (Approximation by rounding) \(2\)-approximation by rounding LP optimum for Vertex Cover, (no useful guarantee) Maximum Independent Set.
Recommended reading: Chapter 3 of UULP
March 04: Various forms of Linear Program; Equational form of an LP; Basic feasible solutions; 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, vertex, extreme point; vertex = extreme point.
Recommended reading: Chapters 0, 1 of LoP; Chapter 4 of UULP
March 11: 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; Example including ones for exceptional cases: degeneracy, unboundedness, infeasibility.
Recommended reading: Chapter 5 of UULP.
March 18: Simplex method: Simplex Tableau, pivoting, stopping criteria, finding and initial basic feasible solution; pivot rules: examples, discussion about number of pivot steps/cycling (without proof), comments on diameter of polytopes and the Hirsch conjecture; LP Duality; Weak Duality.
Recommended reading: Sections 5.6-5.9, 6.1 of UULP.
March 25: Strong duality (proof using Farkas Lemma); Applications of LP duality: Koenig's theorem.
Recommended reading: Chapter 6, Section 8.2 of UULP.
April 01: Applications of LP Duality: Koenig's theorem, Totally Unimodular Matrices, Max-flow min-cut theorem.
Recommended reading: Section 8.2 of UULP, Section 6.2.1 from here.