Course detail

Optimization methods

FEKT-MPC-OMMAcad. year: 2026/2027

The course introduces students to modern optimization methods, their mathematical foundations, implementation and testing. Attention is paid to linear and nonlinear optimization, gradient methods, evolutionary and nature-inspired algorithms, Bayesian optimization and reinforced learning methods. The course also includes the basics of quantum computing and quantum optimization. Emphasis is placed on practical applications in the field of biomedicine and medicine. 

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

Bachelor's level knowledge is required, we assume knowledge of the basics of numerical mathematics. In laboratory teaching, knowledge of the Matlab and Python programming environments is assumed. 

Rules for evaluation and completion of the course

The condition for awarding credit is
- to obtain at least 15 points from computer exercises,
- to have a maximum of two excused absences from computer exercises.
The condition for successfully completing the course is
- to obtain credit,
- to obtain a total of at least 50 points for computer exercises and the final exam.
Course evaluation points:
- Computer exercises: an independent project and its oral defense in computer exercises, max. 30 points.
- Final exam: max. 70 points.

The rules and the method of their implementation are determined by the annually updated announcement of the course guarantor.
In principle:
- mandatory computer exercises (missed laboratory exercises must be duly excused and can be replaced after agreement with the teacher)
- optional lectures

Aims

The aim of the course is to provide students with an overview of modern optimization methods and their practical application. The student will gain the ability to formulate optimization problems, choose an appropriate solution method and evaluate its properties and results. They will learn to implement and test selected algorithms including heuristic, Bayesian and reinforcement learning methods. They will understand the basics of quantum computing and the possibilities of its use in optimization. The emphasis is placed on applications in biomedical and medical problems. 

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

1. Nocedal, J., Wright, S.J.: Numerical Optimization, Springer, 2006 (EN)
2. Boyd, S., Vandenberghe, L.: Convex Optimization, Cambridge University Press, 2004 (EN)
3. Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing, Springer, 2015 (EN)
4. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction, MIT Press, 2018 (EN)

Recommended reading

5. Deb, K.: Multi-Objective Optimization using Evolutionary Algorithms, Wiley, 2001 (EN)
6. Goodfellow, I., et al.: Deep Learning, MIT Press, 2016 (EN)
7. Nielsen, et al.: Quantum Computation and Quantum Information, Cambridge Uni. Press, 2010 (EN)

Classification of course in study plans

  • Programme MPCN-BTB Master's 2 year of study, winter semester, compulsory-optional

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

During the lectures, students will be introduced to selected current methods for optimization, their implementation and testing options. Emphasis is placed on demonstrating the practical use of individual methods in the field of biomedicine and medicine.


1. Introduction and basics of optimization - problem formulation, problem classification, convexity.
2. Linear programming - problem formulation, geometric interpretation, simplex method, duality.
3. Nonlinear optimization - quadratic programming, Lagrange function, KKT conditions, penalty methods.
4. Gradient descent and variants - principle of the method, variants according to the dose, advanced methods.
5. Evolutionary techniques 1 - heuristics, simulated annealing, evolutionary algorithms, genetic algorithms.
6. Evolutionary techniques 2 - GA with binary coding, selection, crossover, mutation, parameters.
7. Evolutionary techniques 3 - GA with continuous coding, permutational GA, multi-criteria optimization, applications.
8. Nature-inspired algorithms 1 - ant colonies, particle swarms, migration algorithm, medical applications.
9. Nature-inspired algorithms 2 - fireflies, bats, wolves, bees, cuckoos, comparison of swarm algorithms.
10. Bayesian optimization - Gaussian process, acquisition function, exploration vs. exploitation.
11. Reinforcement Learning - basics, strategy optimization, Q-learning, graph methods, applications in biomedicine.
12. Quantum computing - basic concepts, gates and circuits, noise, simulation, Qiskit and Cirq.


13. Quantum optimization - problem formulation, quantum algorithms, applications, present and future.

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer

Syllabus

During the computer exercises, students will become familiar with individual optimization methods, try their implementation and testing in the Python and MATLAB programming environments. They will have ready-made source codes and assignments for individual tasks at their disposal.


1. Python settings and basics - introduction to CVXPY, visualization of 2D problems, simple examples.
2. Linear programming - formulation in CVXPY, SciPy simplex method, visualization of domain and optima.
3. Nonlinear optimization - quadratic programming, Lagrange multipliers, verification of KKT conditions.
4. Gradient descent - implementation from the ground up and in PyTorch, visualization of convergence, network training.
5. Simulated annealing and GA - implementation of annealing, TSP, GA principle, DEAP library.
6. Binary GA and GA with continuous coding - selection, crossover, mutation, visualization of evolution.
7. Permutational GA for TSP problem - crossover methods, testing on the traveling salesman task.
8. Swarm algorithms - PSO in Python, swarm visualization, ACO for graph problems.
9. Nature-inspired algorithms - swarm algorithms, testing on functions, comparison, medical applications.
10. Bayesian optimization - Optuna, parameter tuning, visualization, comparison with random search.
11. Reinforcement Learning basics - OpenAI Gym, Q-learning, DQN in PyTorch.
12. Quantum optimization - Qiskit, QAOA problem, simulation.
13. Project defenses. 

Project

10 hours, compulsory

Teacher / Lecturer

Syllabus

Students enrolled in the course must develop and submit a project. The goal will be to implement the selected optimization method to solve the assigned problem. 

Individual preparation for excercises

26 hours, optionally

Teacher / Lecturer

Syllabus

In preparation for the exercise, students will study the topics presented in the lectures and become familiar with the individual tasks for the exercise. 

Individual preparation for a final exam

34 hours, optionally

Teacher / Lecturer

Syllabus

As part of individual preparation for the final exam, students will study individual topics presented in lectures and computer labs, including particular practical tasks.