This course provides an in-depth introduction to practical optimization with algorithms from the domain of evolutionary computation.
Evolutionary Algorithms are randomized search and optimization heuristics inspired by principles of biological evolution. The field aims to exploit the principle of the "survival of the fittest" for the solution of technical problems. The resulting optimization algorithms are conceptually simple, widely applicable, and easy to implement. Evolutionary search has applications in science and engineering for the approximate solution of difficult "black box" problems.
The course starts with a general overview of the wide field of optimization, including problem modeling. It then introduces different flavors of evolutionary computation, in particular genetic algorithms, genetic programming, and evolution strategies including covariance matrix adaptation. The lecture develops the basic evolutionary optimization model. Various aspects of evolutionary search in discrete and continuous search spaces are discussed in detail, resulting in a systematic taxonomy of largely modular building blocks.
The second part of the course considers a range of typical challenges, like handling constraints, highly multi-modal problems, noisy objective functions, and multiple objectives. It closes with neuroevolution, a method for training neural network controllers, as a modern application domain.
- Course type
- 6 CP
- Winter Term 2023/2024
every week on Thursday from 10:00 to 14:00 in room IA 0/158-79 (PC-Pool 1).
First appointment is on 12.10.2023
Last appointment is on 01.02.2024
Takes place on
from 10:00 to 14:00 in room ID 03/139 (CIP-Pool 1).
The course is designed for Master students of technical subjects in computer science, mathematics, engineering, and natural sciences. It assumes solid knowledge of math basics, in particular linear algebra (e.g., eigen decomposition) and probability, as well as some Python programming.