nl en

Evolutionary Algorithms


Admission requirements

Assumed prior knowledge

The prerequisites of the course include real analysis, linear algebra, probability theory, stochastic processes, basic knowledge on manifold, and some selected topics from mathematical statistics (e.g., parametric estimation and information geometry).


Evolutionary Computation is a field of computer science dealing with algorithms gleaned from the model of organic evolution – so-called evolutionary algorithms. The idea is to let the computer evolve solutions to problems rather than trying to “calculate” them.

Evolutionary algorithms do this by using the fundamental principles of evolution such as, for example, selection, mutation and recombination among a population of simulated individuals. The evolutionary approach is used today in a variety of application areas for solving problems that require intelligent behaviour, adaptive learning and optimization. These fields include e.g. engineering optimization, artificial life, automatic programming, autonomous agents, and machine learning, since optimization algorithms are a core component of many machine learning approaches.

The course focuses on the fundamentals of biological evolution as the underlying motivation, the main variants of evolutionary algorithms (genetic algorithms and evolution strategies), application examples, and some outlook into related aspects of evolutionary computation.

Table of Contents:

  1. Introduction
  2. Biological Evolution
  3. Mathematical and stochastic optimization
  4. Evolutionary Algorithms
  5. Genetic Algorithms
  6. Evolution Strategies
  7. Genetic Programming
  8. Covariance Matrix Adaptation Evolution Strategy and Natural Evolution Strategy
  9. Neural Evolution

Course objectives

The course gives a comprehensive overview of the field through a series of lectures and exercises. In addition, a practical application exercise of evolutionary computation is given to the students, who are expected to run experiments and write a report about the experiment and the results obtained. This report will be written in scientific paper format, to gain some experience in scientific writing.
Provided that the quality of results is good, we will encourage and help the authors of the best paper to submit it to a scientific conference.

  • Learn the main algorithms in the field, in particular genetic algorithms and evolutionary strategies.

  • Understand the underlying principles of evolutionary computation.

  • Learn the theoretical foundations of evolutionary computation.

  • Apply the algorithms to some application area and obtain some practical experience.

  • Learn about applications in science and industry.

  • Learn how to write a short scientific paper in evolutionary computation.


The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

Lectures and practical assignment sessions.

Course load

Hours of Study: 168 (= 6 EC)
Lectures: 26
Practical assignment sessions: 10
Practical work: 48
Report: 48
Exam and preparation: 36

Assessment method

The final grade is a combination of grades for (1) the written exam (60%) and (2) the report about the practical assignment (40%).

The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.

Reading list

The following literature is recommended but not mandatory for the course:

  • Bäck, Thomas, Christophe Foussette, and Peter Krause. Contemporary evolution strategies. Vol. 86. Berlin: Springer, 2013.

  • Emmerich, Michael, Ofer M. Shir, and Hao Wang. "Evolution Strategies." (2018): 89-119.

  • A.E. Eiben, J.E. Smith: Introduction to Evolutionary Computing, Springer, Berlin, 2015. ISBN 978-3-662-44874-8


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Lecturers: dr. Hao Wang
Website: See course page on Brightspace.