18.433 Combinatorial Optimization TR 11-12:30 in 2-338.

Lecturer: Santosh Vempala.

The course will present a thorough introduction to the fundamental algorithmic techniques of Discrete Mathematics - Linear and Convex Programming, Flow & Matching Theory, Randomization, and Approximation. We will tackle a variety of optimization problems by applying these techniques to find efficient algorithms.

Topics include:
How fast can a maximum matching be found in a graph? Why is the maximum flow equal to the minimum cut? What is duality and how to make use of it? Is optimization reducible to random sampling? Is there a strongly polynomial-time algorithm for linear programming? How to find a short traveling salesman tour? How to find disjoint flow paths?

Format:
In addition to 3 hours of lectures each week, students will have regular assignments, and two in-class exams. There will also be a course project which can be either theoretical (e.g. write a report, solve an open problem) or practical (e.g. evaluate an algorithm).

References, grading

Tentative schedule and lecture notes

Santosh Vempala