Solving Optimization Problems Using Evolutionary Computation Algorithms in Java
Lecturers
Course Description
Study Programmes
University undergraduate
University graduate
General Competencies
As part of laboratory exercises students will implement each of before-mentioned algorithms. Based on these implementations they will gain deeper understanding about how algorithms work and how they behave (execution speed, the influence of basic parameters, etc.). Student will learn some of appropriate way for solution encoding for these algorithms, which will allow them to apply these and similar encoding to similar problems. Students will understand the difference between single- and multi-objective optimization. They will write a parallel version of the selected algorithm, which will enable them to gain additional experience.
Learning Outcomes
- define the concept of optimization problem
- identify evolutionary computation algorithms
- apply evolutionary computation algorithms on single-criterion optimization problems
- apply evolutionary computation algorithms on multi-criterion optimization problems
- construct parallel evolutionary computation algorithms
- assess the applicability of different evolutionary computation algorithms on some optimization problems
Forms of Teaching
Teaching will be conducted in lecture room. A PowerPoint presentation will be used, as well as the board for detailed explanations of algorithms and for solving examples. Additionally, a series of prepared educational computer programs will be used for the illustration of algorithms applied on several problems.
Laboratory WorkIn the laboratory, students implementation of algorithms will be reviewed and advices for improvement will be provided. Laboratory problems are solved at home; in lab term solutions are presented to lecturer.
Week by Week Schedule
- Introduction
- Types of optimization problems.
- Genetic algorithm applied to the optimization problem of continuous functions.
- Genetic algorithm applied to the problem of combinatorial optimization.
- More advanced genetic algorithms
- Ant colony optimization algorithm
- Particle swarm optimization algorithm
- Immune optimization algorithms
- Multiobjective optimization
- Genetic algorithms for multiobjective optimization
- Immune Algorithms for multiobjective optimization
- Parallelization of evolutionary algorithms (1)
- Parallelization of evolutionary algorithms (2)