Solving Optimization Problems Using Evolutionary Computation Algorithms in Java

Data is displayed for academic year: 2023./2024.

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.

Study Programmes

University undergraduate
[FER2-HR] Computer Engineering - module
Skills (5. semester)
[FER2-HR] Computer Science - module
Skills (5. semester)
[FER2-HR] Computing - study
Skills (3. semester)
[FER2-HR] Electrical Engineering and Information Technology - study
Skills (3. semester)
[FER2-HR] Information Processing - module
Skills (5. semester)
[FER2-HR] Software Engineering and Information Systems - module
Skills (5. semester)
[FER2-HR] Telecommunication and Informatics - module
Skills (5. semester)
University graduate
[FER3-HR] Computing - study
Skills (1. semester) (3. semester)
[FER3-HR] Electrical Engineering and Information Technology - study
Skills (1. semester) (3. semester)
[FER3-HR] Information and Communication Technology - study
Skills (1. semester) (3. semester)
[FER2-HR] Computer Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Computer Science - profile
Skills (1. semester) (3. semester)
[FER2-HR] Control Engineering and Automation - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electrical Engineering Systems and Technologies - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electrical Power Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electronic and Computer Engineering - profile
Skills (1. semester) (3. semester)
[FER2-HR] Electronics - profile
Skills (1. semester) (3. semester)
[FER2-HR] Information Processing - profile
Skills (1. semester) (3. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Skills (1. semester) (3. semester)
[FER2-HR] Telecommunication and Informatics - profile
Skills (1. semester) (3. semester)
[FER2-HR] Wireless Technologies - profile
Skills (1. semester) (3. semester)

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)

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

For students

General

ID 79087
  Winter semester
4 ECTS
L0 English Level
L1 e-Learning
30 Lectures
0 Seminar
0 Exercises
0 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

Excellent
Very Good
Good
Sufficient