Machine Learning for Automated Algorithm Design

Course type: Lecture + Exercise
Time: Lecture: Monday 12:20 - 13:50; Lecture/Exercise: Wednesday 12:20 - 13:50
Location: Building 106 SR 00-007
Organizers: Frank Hutter, Marius Lindauer, André Biedenkapp
Web page: , ILIAS

Machine Learning for Automated Algorithm Design


  • The first session will be at the Oct 18th. We will not meet at the Oct 16th.
  • All news and exercise sheets will be online at ILAS


Automatic algorithm design gets more and more important because algorithms get more complex and a developer has to make calls about many aspects, e.g., which subroutine to use or how to set parameters (also known as magic constants). From the perspective of a user, there often exist more than one algorithm to solve a given problem. So, how to choose a well performing algorithm? In practice, it is even worse: There exist no single well-performing parameter setting or best algorithm for all kind of possible inputs. Therefore, we have to determine the best settings for new inputs again and again which can be (i) a really time-consuming and annoying task and (ii) a human is often biased by her own experience which is often not optimal. To automatically solve all these problems, automatic algorithm design can be used to determine well-performing algorithm parameter settings, to select the best algorithm for a given input, or even to help to develop and implement better algorithms. In our course "ML4AAD", we will discuss all these problems and how to solve them. To this end, we will use a lot machine learning and optimization techniques to solve them effectively. Furthermore, we will focus on hard combinatorial problems as an example class of algorithms to apply automatic algorithm design in the course. We strongly recommend that you know the foundations of (i) artificial intelligence (AI) and (ii) machine learning (ML) in order to attend the course. The participants should have attended at least in one other course for AI and ML in the past. In particular, the lectures are partitioned in 8 modules:
  • Introduction to NP-Hard problems
  • Methods for solving combinatorial problems
  • Empirical evaluation of algorithms
  • Statistical models of the empirical hardness of NP-hard problems
  • Algorithm selection
  • Algorithm configuration
  • Meta-learning
  • Hyperparameter optimization


__The course will be in English.__ We will meet weekly for a lecture and an exercise. Roughly every second week, there will be a new exercise sheet. Most exercises will be practical (teams of 2 students!) so that you learn how to apply automatic algorithm design in practice. You must get 50% points from the exercise to participate in the final exam (see below).
  • Building: 106; Room: SR 00 007
  • Lecture: Monday 12:20 - 13:50
  • Exercise: Wednesday 12:20 - 13:50


In the end, everyone (no team work!) has to implement a larger project which is the base of the final oral exam. In the first 15 minutes of the oral exam, you have to present your project and in the second 15 minutes, we will ask you to answer questions about further course material.