Skip to main content
Skip header
Terminated in academic year 2022/2023

Combinatorial Optimization

Type of study Follow-up Master
Language of instruction Czech
Code 460-4091/01
Abbreviation KO
Course title Combinatorial Optimization
Credits 4
Coordinating department Department of Computer Science
Course coordinator doc. Ing. Zdeněk Sawa, Ph.D.

Subject syllabus

1. Course overview. General definitions of (discrete) optimization problems.
Examples of typical combinatorial optimization tasks modelled by using the
notions of graph theory. Examples of problems solvable by greedy approaches
(as, e.g., the minimum spanning tree problem). A general proof of correctness
by using notions from matroid theory.

2. Further concrete problems solvable by quick (polynomial) algorithms.
Recalling of problems of shortest paths, maximal network flows, maximal
bipartite matchings; the ideas of respective algorithms. Polynomial
reducibility among problems.

3. NP-hard problems (problems SAT and MAX-SAT, Travelling Salesman Problem
[TSP], scheduling problems, etc.). The idea of Cook's theorem (NP-completeness
of the problem SAT), and proofs of NP-hardness by polynomial reducibility.

4. Integer linear programming (ILP). Formulations of combinatorial
optimization problems as instances of ILP. NP-hardness of ILP.

5. Linear programming (i.e. "relaxed" ILP). Formulations of linear programming
tasks. The duality principle.

6. Solving of linear programming tasks; the simplex method. Discussion of
polynomial complexity of linear programming.

7. Solving of ILP tasks. Totally unimodular matrices. The branch and bound method.

8. Further methods of solving ILP tasks. The method of cutting planes.

9. Pseudopolynomial algorithms and approximation algorithms illustrated on the
knapsack problem. Remarks on heuristic approaches to solving NP-hard problems.

10. Further approximation algorithms and approaches (approximation of TSP, the
simulated annealing method).

11. Problems that are hard to approximate. Probabilistically Checkable Proofs;
PCP-theorem, and its application to the maximum clique problem.

12. and 13. Several variants of planning and scheduling problems, and their
solutions. (Task scheduling for one processor, and for parallel processors.)

14. Summary of the main notions and ideas.


Tutorials:
----------
Exercises will also comprise problem solving by software tools (e.g., for
linear programming tasks). A significant part will be devoted to solving the
problems at the board. The content will correspond to lectures.

Literature

Jon Lee: A first course in combinatorial optimization, Cambridge
University Press, 2004

Advised literature

- Bernhard Korte, Jens Vygen: Combinatorial Optimization (Theory and Algorithms), Springer (5th edition 2012)

- Christos H. Papadimitriou, Kenneth Steiglitz: Combinatorial Optimization:
Algorithms and Complexity, Dover Publications, 1998.

- Malik Ghallab, Dana Nau, Paolo Traverso: Automated Planning: Theory & Practice, Morgan Kaufmann, 2004.

- Alexander Schrijver: Combinatorial Optimization (3 volume, A,B, & C),
Springer, 2003.