Winter 2023/2024

Algorithms and Uncertainty

Wintersemester 2023/24, 6 or 9CP
03-IMAT-AU (03-ME-602.99c), StudIP

A key assumption of many powerful optimization methods is that all the data is fully accessible from the beginning.

However, from the point of view of many real-world applications (e.g., in logistics, production or project planning, cloud computing, etc.) this assumption is simply not true. Large data centers allocate resources to tasks without knowledge of exact execution times or energy requirements; transit times in networks are often uncertain; or, parameters such as bandwidth, demands or energy consumption are highly fluctuating. The current trend of data collection and data-driven applications often amplifies this phenomenon. As the amount of available data is increasing tremendously due to internet technology, cloud systems and sharing markets, modern algorithms are expected to be highly adaptive and learn and benefit from the dynamically changing mass of data. 

In the above examples, our knowledge of the current data is only partial or based on historical estimates. The class Algorithms and Uncertainty will teach students about the most common models of such uncertain data and how to design and analyze efficient algorithms in these models.

Specifically, we will cover the theory of online optimization, where the input arrives without any prior information (such as network packets arriving to a router) and also needs to be processed immediately, before the next piece of input arrives. This model is best suited for analyzing critical networking and scheduling systems where devices and algorithms must perform well even in the worst-case scenario.

In the cases where previous history can be used to model the upcoming data, we often employ robust optimization or stochastic optimization. In robust optimization, the aim is to optimize the worst-case of all possible realizations of the input data. Hence, this model is rather conservative. In stochastic optimization however, the algorithms work with the assumption that data is drawn from some probability distribution known ahead of time and typically the goal is to optimize the expected value.

Nowadays, another source of information is often available: machine learning algorithms can generate predictions which are accurate most of the time. However, there is no guarantee on the quality of the prediction, as the current instance may not be covered by the training set. This statement motivated a very recent research domain that will be covered in this course: how to use error-prone predictions in order to improve guaranteed algorithms.

Lecturers: Prof. Dr. Nicole MegowDr. Felix Hommelsheim

Format: lectures twice a week with integrated, interactive exercise sessions (6 CP), additional seminar style course work (9 CP):

  • Mon 10:00 - 12:00 (starting from the 23.10.2023), MZH 1090
  • Thurs 14:00 - 16:00 (starting from the 19.10.2023), MZH 1470

Examination: individual oral exam; as admission to the oral exam it is mandatory to present solutions in the exercise session at least twice during the term.

Algorithmische Diskrete Mathematik

Wintersemester 2023/24, 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)
  • 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:

  • Mo 08-10 Uhr (ab dem 23.10.2023), MZH 5600 (Vorlesung)
  • Do 10-12 Uhr (ab dem 19.10.2023), MZH 1450 (Vorlesung)
  • Do 14-16 Uhr (ab dem 19.10.2023), MZH 1450  (Übung)

Dozentin:  Prof. Dr. Nicole Megow
Assistent:  Alexander Lindermayr


  • [KV] Korte, Vygen: Kombinatorische Optimierung: Theorie und Algorithmen, Springer, 2012.
  • [KN] Krumke, Noltemeier: Graphentheoretische Konzepte und Algorithmen, Springer-Vieweg, 2012.
  • [CLRS] Corman, Leiserson, Rivest, Stein: Introduction to Algorithms, 3rd edition, MIT Press, 2009.
  • [KT] Kleinberg, Tardos: Algorithm Design, Pearson, 2006.
  • [AMO] Ahuja, Magnanti, Orlin: Network Flows: Theory, Algorithms, and Applications, Prentice-Hall, 1993.
  • [BT] Bertsimas, Tsitsiklis: Introduction to Linear Optimization, Athena Scientific, 1997.
  • [GKT] Guenin, Könemann, Tuncel: A Gentle Introduction to Optimization, Cambridge University Press, 2014.

Hands-on Tutorial on Optimization (engl./dt.)

Block course October 9-13, 2023, 3CP
03-IBFW-HTO (03-BE-699.12), StudIP

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 and Gurobi) and tailor the solution process to certain properties of the problem.

Lecturers: Prof. Dr. Nicole Megow and group

This course consists of two phases:

  • One week Mon-Fri (9 am till 5 pm) of lectures and practical labs: October 9-13, 2023, in MZH 5500.
  • 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 except some basic programming skills to participate.

Important: please register for this course by September 15, 2023 via StudIP  and by Email to Felix Hommelsheim (e-mail address on StudIP).