Course overview
History of evolutionary computation; major areas: genetic algorithms, evolution strategies, evolution programming, genetic programming, classifier systems; constraint handling; multi-objective cases; dynamic environments; parallel implementations; coevolutionary systems; parameter control; hybrid approaches; commercial applications.
Course learning outcomes
- Understand evolutionary approaches to solving optimisation problems.
- Identify and develop application-specific problem representations and fitness metrics.
- Design and implement evolutionary algorithms to solve single-objective problems.
- Design and implement evolutionary algorithms to solve multi-objective problems.
- Analyse results and solutions to verify their correctness and identify sources of error.
- Experimentally evaluate heuristic search methods.