Discrete Optimization addresses structural and algorithmic questions for finding the “best” among a set of feasible solutions. Often, this set of feasible solutions is finite, such as the set of maximal matchings in a finite graph, the set of vertices of a polytope, etc. Only since around the 1960s, starting with groundbreaking work of Jack Edmonds, researchers started to realize that the quality of procedures to solve such problems should be measured in terms of the algebraic dependence of computation time on problems size. Discrete Optimization has since then evolved into a rich mathematical area that connects to many other areas in mathematics but also computer science. Throughout the course, we consider several fundamental problems from this area and develop efficient algorithms to solve them.|
This course is part of the Mastermath Program and is given at Universiteit Utrecht. Information about the course (description, organization, examination and prerequisites) can be found at the Mastermath website.