Linear Programming and Combinatorial Optimization

This is a basic course for undergraduate students.


During the Summer Semester 2019-2020 the lectures are scheduled on Mondays at 2:00pm in lecture room T6 at Troja. Tutorials are held at the same time in on Tuesdays in lecture room S11 at Mala Strana.

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. Details can be found here.


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 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; Examples: Diet optimization, Network flow; Integer Programming; Example: Knapsack problem.
Recommended reading: Chapters 1,2 of UULP.

February 24: Integer Program; \(0/1\)-Integer Program; 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, (Limits) Independent Set.
Recommended reading: Chapter 3 of UULP.

March 02: Combinations and Hulls: Convex, Conic, Affine; Basics of Polyhedral theory: halfspaces, polyhedron, polytope, valid inequality, face, vertex, extreme point; Minkowski-Weyl theorem for polyhedra (without proof); MW theorem for polytopes (partial proof); Proof (Sketch) that if \(P\) is a bounded polyhedron (polytope) then there exists a finite set \(S\) with \(P=\mathrm{conv}(S)\).
Recommended reading: Chapters 0, 1, 2 of LoP. Section 4.3 of UULP.

March 09: Pointed polyhedron; Non-empty pointed polyhedra have at least one vertex; For linear optimization over non-empty pointed polyhedra, if optimum exists, it is attained at a vertex; The feasible region of an LP in Equational form is pointed if non-empty; Basic feasible solutions; (feasible) Basis; Correspondence between basic feasible solutions and vertices; Multiple basis might correspond to a single basic feasible solution; Simplex method: Geometric version; Basic problems: Finding an initial vertex, choosing an edge to follow, stopping criteria.
Recommended reading: Chapter 4 of UULP.

Due to the emergency, future lectures will be in a self-study style. More details and weekly instructions are available on the Moodle page of the course.