### Solving Optimization Problems Using Evolutionary Computation Algorithms in Java

#### Course Description

In everyday life we encounter different types of NP-hard optimization problems, whose approximate resolution enables efficient and cost-effective management of various processes. Within this skill, students will learn concepts of single- and multi-objective optimization, continuous and combinatorial optimization problems and with a subset of evolutionary computation algorithms that will be used to obtain satisfactory solutions. As part of this skill, students will learn about the genetic algorithms, ant colony optimization algorithm, particle swarm optimization algorithm, artificial immune algorithms and the algorithm of differential evolution, with examples of single- and multi-objective optimization of continuous and combinatorial problems. Parallelization of selected algorithms will be discussed and implemented, and examples will be given in the Java programming language.

#### 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

1. define the concept of optimization problem
2. identify evolutionary computation algorithms
3. apply evolutionary computation algorithms on single-criterion optimization problems
4. apply evolutionary computation algorithms on multi-criterion optimization problems
5. construct parallel evolutionary computation algorithms
6. assess the applicability of different evolutionary computation algorithms on some optimization problems

#### Forms of Teaching

Lectures

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 Work

In 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

1. Introduction
2. Types of optimization problems.
3. Genetic algorithm applied to the optimization problem of continuous functions.
4. Genetic algorithm applied to the problem of combinatorial optimization.
6. Ant colony optimization algorithm
7. Particle swarm optimization algorithm
8. Immune optimization algorithms
9. Multiobjective optimization
10. Genetic algorithms for multiobjective optimization
11. Immune Algorithms for multiobjective optimization
12. Parallelization of evolutionary algorithms (1)
13. Parallelization of evolutionary algorithms (2)

#### Study Programmes

Computer Engineering (module)
Skills (5. semester)
Computer Science (module)
Skills (5. semester)
Computing (study)
Skills (3. semester)
Electrical Engineering and Information Technology (study)
Skills (3. semester)
Information Processing (module)
Skills (5. semester)
Software Engineering and Information Systems (module)
Skills (5. semester)
Telecommunication and Informatics (module)
Skills (5. semester)
Computer Engineering (profile)
Skills (1. semester) (3. semester)
Computer Science (profile)
Skills (1. semester) (3. semester)
Control Engineering and Automation (profile)
Skills (1. semester) (3. semester)
Electrical Engineering Systems and Technologies (profile)
Skills (1. semester) (3. semester)
Electrical Power Engineering (profile)
Skills (1. semester) (3. semester)
Electronic and Computer Engineering (profile)
Skills (1. semester) (3. semester)
Electronics (profile)
Skills (1. semester) (3. semester)
Information Processing (profile)
Skills (1. semester) (3. semester)
Software Engineering and Information Systems (profile)
Skills (1. semester) (3. semester)
Telecommunication and Informatics (profile)
Skills (1. semester) (3. semester)
Wireless Technologies (profile)
Skills (1. semester) (3. semester)

#### Literature

Marko Čupić (2012.), Prirodom inspirirani optimizacijski algoritmi. Metaheuristike.,
Michael Affenzeller, Stefan Wagner, Stephan Winkler, Andreas Beham (2009.), Genetic Algorithms and Genetic Programming. Modern Concepts and Practical Applications, CRC Press
Kenneth V.Price, Rainer M. Storn, Jouni A. Lampinen (2005.), Differential Evolution. A Practical Approach to Global Optimization, Springer
Kalyanmoy Deb (2009.), Multi-Objective Optimization using Evolutionary Algorithms, Wiley
Marco Dorigo, Thomas Stützle (2004.), Ant Colony Optimization, MIT Press

#### Lecturers in Charge

ID 79087
Winter semester
4 ECTS
L0 English Level
L1 e-Learning
30 Lecturers
0 Exercises
0 Laboratory exercises

Excellent
Very Good
Good
Acceptable