Prof. Dr. Tobias Friedrich

Approximation Algorithms

MSc Lecture - Summer 2022

It is important that all participants subscribe to our course moodle. There we will announce all organizational details. Note that the moodle subscription is additionally required to the official course subscription via the Studienreferat.


Interesting discrete optimization problems are everywhere, from classic operations research problems, such as scheduling, facility location, and traveling salesman problems, to computer science problems in internet routing, data mining, social network analysis and advertising. Yet most interesting discrete optimization problems are NP-hard. Thus unless P = NP, there are no efficient algorithms to find optimal solutions to such problems. This course shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions.

The course is organized around central techniques for designing approximation algorithms. Every couple of weeks, a new technique will be introduced and illustrated through several applications, covering greedy, local search, linear and semidefinite programming relaxations, (randomized) rounding, metric embedding and sampling.


There are no formal requirements, but we expect the students to have the ability to understand/write mathematical proofs and have basic familiarity with algortihms.


The course will be held in person and will consist of lectures and problem solving sessions. Lecture and exercise dates will be decided as needed.

Students are required to hand in homework every couple of weeks. At the end of the course there will be a written final examination. At least 50% points are required in homework assignments for admission to the final examination. Final grade will be decided on the basis of performance in the final exam (60%) and homework assignment (40%).

Books and Lectures

The Design of Approximation Algorithms by David Williamson and David Shmoys.

Approximation Algorithms by Vijay V. Vazirani.

Class Timing

We meet weekly on Tuesday and Thursday from 11 am -12:30 pm in room A2.2.