Algorithmics
Many of the important problems in society are combinatorial (NP-hard) optimisation problems. For example, health treatment planning, optimizing logistic operations, automated production, efficient planning for the energy transition, and scheduling of train operations are immensely important since this may directly result in lower costs, increased productivity, and/or higher quality. Although such problems may seem very different, the same approaches may be applied. In this theme, students learn how to formally specify deterministic problems in an unambiguous and rigorous way, apply advanced algorithms to solve these problems, and reason about the trustworthiness of the solutions.
Year 1 |
|||
Quarter 1 |
Quarter 2 |
Quarter 3 |
Quarter 4 |
Software Architecture | Core course | Responsible Computer Science | Research course |
Core course | Theme 1 | Theme 1 | Theme 1 |
Core course | Theme 2 | Theme 2 | Theme 2 |
Credits: each course in a theme is 5EC, so each theme is 15EC.
Students choose 2 themes, each of which has 3 courses in the 2nd, 3rd and 4th quarters of the 1st year. For this theme, you will take the following courses:
Q2 - Modelling and Problem Solving
This course covers major (combinatorial) solving approaches and their core algorithms, namely constraint programming, integer programming, SAT, and local search and first-order logic, and classical planning. The course focuses on modelling practical problems, expressing them in the survey paradigms; algorithms for solving such problems are covered in the follow-up "Constraint Solving" course. Furthermore, the course explores how data can be used to improve and accompany such models. Lastly, the course focuses on conducting proper empirical evaluations.
Q3 - Constraint Solving
This course covers state-of-the-art algorithms for solving combinatorial optimisation problems, focusing on SAT, constraint programming, and mixed-integer linear programming. It provides an in-depth treatment of the algorithms, including advanced techniques such as propagator design, column generation and decomposition approaches, as well as techniques that can confirm beyond doubt the correctness of the output of the algorithms. After the course, students will have a general understanding of these algorithms and will be able to apply this knowledge to designing tailored approaches for solving combinatorial optimisation problems.
Q4 - Evolutionary Algorithms
Evolutionary Algorithms (EAs), drawing inspiration from natural evolution, aim to improve solutions iteratively, reflecting the survival of the fittest individuals in a population. Since their inception in the 1960s and 1970s, EAs have made significant strides, finding applications in diverse fields such as optimizing wind farm layouts, creating radiation therapy plans, and refining deep neural network architectures. This course explores a wide array of EA topics, spanning from foundational principles to cutting-edge research and real-world implementations, including genetic algorithms, evolution strategies, genetic programming, estimation-of-distribution algorithms, optimal mixing evolutionary algorithms, multi-objective optimization, and real-world applications.