Semester: 3
ECTS: 5
Lectures: 15
Practice sessions: 30
Independent work: 105
Module Code: 24-132-0485
Semester: 3
ECTS: 5
Lectures: 15
Practice sessions: 30
Independent work: 105
Module Code: 24-132-0485
Module title:
Optimization algorithms based on evolutionary computation
Module overview:
This module introduces students to optimization domain, P and NP complexity, and provide insight into algorithms inspired by evolution (genes, evolutionary strategies), animal behaviour (ant colony, swarms, bees), and other biological or evolutionary systems (immune system, harmony).
This module is intended for students who want to connect real-world problems (routing problems, scheduling problems, etc.) with evolutionary and soft computation solutions.
This module encourages students to apply the theory, especially NP-hard or complete problems, taught in the rest of the program in a practical situation. Moreover, this module prepares students for jobs where optimization is the core of a business model, and where a student should be able to recognize a problem type and the most appropriate algorithmic solution. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting fields.
Students will learn:
• About different approaches to solving optimization problems.
• About different evolutionary computational algorithms.
• How to create a software solution that uses evolutionary computation algorithms.
• How to analyse optimization problem solutions using statistical methods.
The module is taught in Java and Python programming languages. The module assessment is based on solving a series of smaller practical tasks in the defined programming language and software development tool and on paper.
Literature:
Essential reading:
1. Affenzeller, M. et al (2009) Genetic Algorithms and Genetic Programming: Modern Concepts and Practical Applications. London: Chapman and Hall.
2. Dorigo, M. and Stutzle, T. (2004) Ant Colony Optimization. Cambridge: A Bradford Book.
Recommended reading:
1. Price, K., Storn, R.M. and Lampinen, J.A. (2014) Differential Evolution: A Practical Approach to Global Optimization. New York City: Springer.
2. Deb, K. (2009) Multi-Objective Optimization Using Evolutionary Algorithms. Hoboken: Wiley.
1. Hands-On Genetic Algorithms with Python: Applying genetic algorithms to solve real-world deep learning and artificial intelligence problems