Evolutionary Optimization Algorithms

B232 - Summer 23/24
This course is not present in Moodle. You can visit its homepage by clicking the "Course page (outside Moodle)" button on the right (if available).

Evolutionary Optimization Algorithms - A0M33EOA

Credits 6
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
Evolutionary algorithms are stochastic optimization techniques based on analogies with natural evolution. The goal of this course is to introduce this class of algorithms, their features, issues that may arise when applying them, and present methods how to solve them. Individual algorithms will be introduced during the lectures, including their application areas. During computer labs, students will implement an evolutionary algorithm to solve a non-trivial optimization problem.
Study targets
The main goal of this course is to introduce several forms of evolutionary optimization algorithms in detail along with suitable application areas. The emphasis is given to problems encountered when applying the evolutionary algorithms, and on the methods usable to overcome them.
Course outlines
1. Standard evolutionary algorithms (EAs). A relation of EAs to the classical optimization techniques.
2. No-Free-Lunch theorem. Evaluation EAs performance.
3. Working with constraints -- special representation, penalization, decoders and repairing algorithms, multiobjective approach.
4. EA's control parameters -- tuning and adaptation.
5. Statistical dependence of solution components. Perturbation methods.
6. Estimation of distribution algorithms (EDA).
7. Evolutionary strategy with covariance matrix adaptation.
8. Parallel EAs.
9. Genetic programming (GP) -- representation, initialization, genetic operators, typed GP, automatically defined functions.
10. Grammatical evolution, gene expression programming.
11. Linear genetic programming, graph-based genetic programming.
12. GP issues -- 'bloat', diversity preservation.
13. Coevolution.
14.
Exercises outlines
1. Implementation of simple genetic algorithm (SGA). Influence of individual parameter values.
2. Analysis of the topics for the seminar project.
3. Seminar project elaboration. Part I - local optimization algorithm.
4. Seminar project elaboration. Part I - local optimization algorithm.
5. Hand-in of the seminar project I.
6. Seminar project elaboration. Part II - a simple EA vs. specialized EA or memetic algorithm.
7. Seminar project elaboration. Part II - a simple EA vs. specialized EA or memetic algorithm.
8. Seminar project elaboration. Part II - a simple EA vs. specialized EA or memetic algorithm.
9. Successful applications of EAs.
10. Seminar project elaboration. Part II - a simple EA vs. specialized EA or memetic algorithm.
11. Hand-in of the seminar project and presentations of the results.
12. Test.
13. Hand-in of the seminar project and presentations of the results.
14.
Literature
- Luke, S.: Essentials of Metaheuristics, 2009
http://cs.gmu.edu/~sean/book/metaheuristics/
- Poli, R., Langdon, W., McPhee, N.F.: A Field Guide to Genetic Programming, 2008
http://www.gp-field-guide.org.uk/
Requirements
Basic understanding of optimization and optimization methods.
Course info:
https://cw.fel.cvut.cz/wiki/courses/a0m33eoa/start