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