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.
  5. More advanced genetic algorithms
  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

Control Engineering and Automation -> Electrical Engineering and Information Technology (Profile)

Control Engineering and Automation -> Electrical Engineering and Information Technology (Profile)

Electrical Engineering and Information Technology -> Electrical Engineering and Information Technology and Computing (Study)

Electrical Engineering Systems and Technologies -> Electrical Engineering and Information Technology (Profile)

Electrical Engineering Systems and Technologies -> Electrical Engineering and Information Technology (Profile)

Computing -> Electrical Engineering and Information Technology and Computing (Study)

Electrical Power Engineering -> Electrical Engineering and Information Technology (Profile)

Electrical Power Engineering -> Electrical Engineering and Information Technology (Profile)

Electronic and Computer Engineering -> Electrical Engineering and Information Technology (Profile)

Electronic and Computer Engineering -> Electrical Engineering and Information Technology (Profile)

Electronics -> Electrical Engineering and Information Technology (Profile)

Electronics -> Electrical Engineering and Information Technology (Profile)

Information Processing -> Information and Communication Technology (Profile)

Information Processing -> Information and Communication Technology (Profile)

Telecommunication and Informatics -> Information and Communication Technology (Profile)

Telecommunication and Informatics -> Information and Communication Technology (Profile)

Wireless Technologies -> Information and Communication Technology (Profile)

Wireless Technologies -> Information and Communication Technology (Profile)

Information Processing -> Computing (Module)

Software Engineering and Information Systems -> Computing (Profile)

Software Engineering and Information Systems -> Computing (Profile)

Computer Engineering -> Computing (Profile)

Computer Engineering -> Computing (Profile)

Software Engineering and Information Systems -> Computing (Module)

Computer Engineering -> Computing (Module)

Computer Science -> Computing (Profile)

Computer Science -> Computing (Profile)

Computer Science -> Computing (Module)

Telecommunication and Informatics -> Computing (Module)

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

Grading System

4 ECTS
L0 English Level
L1 e-Learning
30 Lecturers
0 Exercises
0 Laboratory exercises

Grading

Excellent
Very Good
Good
Acceptable