Course detail

Heuristics in Logistics Problems

FSI-SHE-A Acad. year: 2024/2025 Winter semester

The course is focused on heuristic optimization methods as a tool for solving complex problems in situations where classic exact methods cannot be used. Emphasis is placed not only on understanding the differences between exact algorithms, approximation methods and heuristic algorithms, but also on the way of specific programming implementation of heuristic algorithms. Here, attention is paid not only to the procedural side, but also to the design of suitable data structures.

Language of instruction

English

Number of ECTS credits

4

Entry knowledge

The course expects basic knowledge of algorithms and computer literacy.

Rules for evaluation and completion of the course

The course-unit credit award requirements are both active participation in seminars and individual elaboration of two software projects in the C++ language. Students select their projects assignments, which are approved by the teacher. The examination is oral and consists of discussion on the created projects with possible complementary questions. The evaluation is fully in competence of a tutor according to the valid directives of BUT.


The attendance at lectures is recommended; the attendance at seminars is obligatory. Education runs according to week schedules. The form of compensation for missed seminars is fully in the competence of the tutor.

Aims

The main goal of the course is to understand the principle and philosophy of heuristic algorithms and their application in solving logistical problems. In addition, the ability to efficiently implement object-oriented heuristic algorithms in object-oriented programming languages like C++ or C# is emphasized.


After completing the course, students will understand the differences between exact, approximation and heuristic algorithms and will be able to assess the possibility of their use in specific situations. They will know the basic classification of metaheuristics and typical algorithms representing individual categories. Graduates will be able to implement practical heuristic algorithms in object-oriented languages (C++, C#).

The study programmes with the given course

Programme N-LAN-A: Logistics Analytics, Master's, compulsory

Programme C-AKR-P: , Lifelong learning
specialization CZS: , elective

Type of course unit

 

Lecture

13 hours, optionally

Syllabus

1. Introduction, exact algorithms, approximation algorithms, heuristic algorithms. Heuristics, metaheuristics.
2. The complexity of the tasks, the time required to find a solution.
3. Global and local optimum.
4. Classification of metaheuristics – deterministic/stochastic, based on a single solution/based on a population of solutions, iterative/hungry, ...
5. State space search – random search, uninformed and informed methods.
6. Application of heuristics to combinatorial problems.
7., 8. Local search based heuristics (simulated annealing, tabu search)
9., 10. Population based heuristics (genetic algorithms, scatter search)
11. Ant colonies, swarm algorithms
12., 13.: Effective implementation of heuristic algorithms

Exercise

26 hours, compulsory

Syllabus

1. – 13.: Demonstration of theoretical topics from lectures on real examples, implementation of selected algorithms using Object Oriented Programming in C++ and/or C# languages.