Summer 2025
Approximation Algorithms
Master Course in Summer 2025
03-IMAT-APX, 6 CP (+ 3 CP possible)
A large number of problems arising in practical scenarios like communication, transportation, planning, logistics etc. can be modeled as combinatorial optimization problems. In most cases, these problems are computationally intractable and one often resorts to heuristics that provide sufficiently good solutions in reasonable amount of runtime. However, in most cases, such heuristics do not provide a worst case guarantee on the performance in comparison to the optimum solution. In this course, we shall study algorithms for combinatorial optimization problems which can provide strong mathematical guarantees on performance. The course aims at developing a toolkit for solving such problems. The lectures will consist of designing polynomial-time algorithms and proving rigorous bounds on their worst case performances.
We review many classical results in the field of approximation algorithms, highlighting different techniques commonly used for the design of such algorithms. Among others, we will treat the following topics:
- Greedy algorithms and Local Search
- Rounding Data and Dynamic Programming
- Deterministic Rounding of Linear Programs (LPs)
- Random Sampling and Randomized Rounding of LPs
- Primal-Dual Methods
- Hardness of Approximation
Lecturer: Nicole Megow, Alexander Lindermayr
Time & Format:
We will teach the course with 4 hours per week, where roughly every other week one class will be an interactive exercise session. The course takes place:
- Tue 10-12 MZH 1470 and Thu 14-16 MZH 1450
- The Course starts on Thursday, April 10, at 14:15. Further information on StudIP.
There is the possibility to further extend the content of the course as well as the credits (+3 CP) by participating in a seminar. This participation consists of individually studying a recent research article and presenting the main results to the rest of the class.
Examination:
The examination will be by individual oral exam.
Literature: The course is based on parts of the literature below and recent research articles that will be provided later.
- [WS] The Design of Approximation Algorithms, David P. Williamson and David B. Shmoys online version
- [V] Approximation Algorithms, Vijay V. Vazirani
- [GM] Approximation Algorithms and Semidefinite Programming, Bernd G?rtner and Ji?í Matou?ek, Springer, 2012
Algorithmische Diskrete Mathematik
Sommersemester 2025, 9CP
03-M-FTH-8, StudIP
Die algorithmische diskrete Mathematik ist ein recht junges Gebiet mit Wurzeln in der Algebra, Graphentheorie, Kombinatorik, Informatik (Algorithmik) und Optimierung. Sie behandelt diskrete Strukturen wie Mengen, Graphen, Permutationen, Partitionen und diskrete Optimierungsprobleme.
Diese Veranstaltung gibt eine Einführung in die algorithmische diskrete Mathematik. Es werden strukturelle und algorithmische Grundlagen der Graphentheorie und kombinatorischen Optimierung vermittelt. Im Vordergrund steht die Entwicklung und mathematische Analyse von Algorithmen zum exakten L?sen von kombinatorischen Optimierungsproblemen. Es werden u.a. folgende Themen behandelt:
- Einführung in Graphentheorie, kombinatorische und lineare Optimierung
- Graphentheorie: Grundbegriffe, Wege in Graphen, Euler- und Hamiltonkreise, B?ume
- Algorithmische Grundlagen (Kodierungsl?nge, Laufzeit, Polynomialzeitalgorithmen)
- Spannb?ume, Matchings, Netzwerkflüsse und -schnitte (kombinatorische Algorithmen)
- Matroide
- Einblick in lineare Optimierung: Modellierung, Polyedertheorie, Optimalit?tskriterien, Dualit?t
- Elemente der Komplexit?tstheorie
Die Veranstaltung richtet sich vorrangig an fortgeschrittene Bachelorstudierende, ist aber auch für Masterstudierende geeignet.
Zeit & Raum:
- Do 08-10 Uhr (ab dem 10.4.2025), MZH 1100 (Vorlesung)
- Fr 10-12 Uhr (ab dem 11.4.2025), MZH 5410 (Vorlesung)
- Do 12-14 Uhr (ab dem 10.4.2025), MZH 1100 (?bung)
Dozentin: Prof. Dr. Nicole Megow
Optimization Bootcamp (engl./dt.)
Block Course, July 14-18, 2025, MZH 5500
03-IBFW-HTO, 3 CP
A large number of problems arising in practical scenarios like communication, transportation, planning, logistics etc. can be formulated as discrete linear optimization problems. This course briefly introduces the theory of such problems. We develop a toolkit to model real-world problems as (discrete) linear programs. We also explore several ways to find integer solutions such as cutting planes, branch & bound, and column generation.
Throughout the course, we learn these skills by modeling and solving, for example, scheduling, packing, matching, routing, and network-design problems. We focus on translating practical examples into mixed-integer linear programs. We learn how to use solvers (such as CPLEX, XPress, Gurobi and others) via python and tailor the solution process to certain properties of the problem.
We plan to have special guests from industry with a talk about solving optimization problems in practice.
Lecturers: Prof. Dr. Nicole Megow and group
This course consists of two phases:
- One week of lectures and practical labs: MZH 5500, July 14-18, 2025, Mon-Fri (9 am till 5 pm with breaks inbetween)
- An individual project period: One project has to be modeled, implemented, and solved individually or in a group of at most two students. The topic will be either developed with or provided by the lecturers. The project including the implementation has to be presented in the beginning of the winter semester.
There are no prerequisites needed except some basic programming skills.
Please register via StudIP.
Advanced Algorithms
Advanced Bachelor Course in Summer 2025
03-IBAT-ALG, 6 CP
Algorithms are a fundamental part of computer science. An algorithm is an abstract description of a procedure for solving a problem. Understanding how to design efficient algorithms is an essential skill for developing complex programs, models, and applications.
This course assumes basic knowledge of algorithm design principles and algorithm analysis. Building on these foundatinos, we explore faster and more sophisticated algorithms for well-known problems such as
- network flows, and
- maximum matchings in bipartite graphs.
Beyond these, we study more general problems and develop algorithms to solve them, including:
- minimum-cost flows,
- maximum matchings in general graphs, and
- stable matchings.
Additionally, we introduce new concepts that model a broad class of fundamental problems and explore fast meta-algorithms for them. These topics include:
- linear programming and the ellipsoid method, and
- matroids, the Greedy algorithm, and matroid intersection.
The goals of this course are to provide a broad overview of fundamental problems in algorithmics and combinatorial optimization. Moreover, participants will develop a strong toolkit for designing and analyzing efficient algorithms, well beyond the standard undergraduate level in algorithm theory.
Lecturer: Nicole Megow, Felix Hommelsheim, Alexander Lindermayr
Time & Format:
- Lecture: Mon 12-14 MZH 1470
- Exercise: Wed 8-10 MZH 1100
- The Course starts on Monday, April 7, at 10:15. Further information on StudIP.
Prerequisites: This course builds on the foundational algorithms course "Algorithmentheorie" (03-IBGT-THI1-AT).