Evolutionary Algorithms are randomized optimization methods. They are inspired by principles of biological evolution, however, applied in a technical context for the solution of mathematical or technical optimization problems.
These population-based methods apply the principles of inheritance, variation, and the "survival of the fittest" to candidate solutions. The resulting search heuristics are applicable to a wide variety of application problems. They are conceptually relatively simple and often easy to implement. Their analysis requires elaborate tools and quickly becomes intractable. Evolutionary search is often applied to the approximate solution of hard optimization tasks for which efficient problem-specific solvers are not available.
The course starts out with a basic model of an evolutionary algorithm. Departing from this model students will learn about various aspects of evolutionary optimization on discrete and continuous search spaces, from which a systematic taxonomy of modular components will be developed.
The course applies the flipped classroom format. Students work through the relevant lecture material at home; most of the material is provided in the form of videos. All lecture material is in English. The presence time is dedicated to a practical session. Most of the practical session is filled with exercises, many of which involve programming tasks. We will use the Python programming language. All exercises are distributed in the form of Jupyter notebooks.
The course is managed in Moodle. Lecture videos, slides, and exercises are made available there. The obligatory registration for the exam also works through Moodle.
- Course type
- 6 CP
- Winter Term 2019/2020
every week on Friday from 10:15 to 13:15 in room ND 6/99.
First appointment is on 11.10.2019
Last appointment is on 31.01.2020
The course is designed for Master students of the Angewandte Informatik and Medizinphysik programs, but all students with a mathematical or technical background, e.g., studying natural science or engineering topics, should have the necessary background.
Participants must be familiar with linear algebra and elementary probability theory. For example, students should be well acquainted with the following terms:
- vector, basis, linear function, linear map, matrix
- norm, inner product, orthogonal
- probability, distribution, density, quantile
- normal distribution, expectation, variance, covariance
More advanced mathematical material will be introduced as needed.
The course is taught in a flipped classroom format. Most of the presence time is dedicated to practical exercises, many of which involve programming. Please bring your own devices, i.e., laptops. More details are found in the corresponding Moodle course.