186.112 Heuristic Optimization Techniques
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2021W, VU, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • Format: Online

Learning outcomes

After successful completion of the course, students are able to understand diverse heuristic algorithms for solving hard optimization problems, to apply them in practice, and to adapt them to new problems.

Subject of course

This lecture deals with heuristic methods to solve optimization problems. The presented approaches are especially suitable for problems arising in practice. On the one hand such problems are often too complex to be solved in an exact way because of the increasing amount of computation time needed by conventional exact techniques. On the other hand it is often sufficient or even required to come up with a good solution in reasonable time.

In this course we primarily focus on discrete appilcation problems and application in areas such as transport optimization, scheduling, network design, cutting and packing.

The methods considered in the course include:

  • Construction Heuristics
  • Local Search
  • Simulated Annealing
  • Tabu-Search
  • Guided Local Search
  • Variable Neighborhood Search
  • Very Large Neighborhood Search
  • Greedy Randomized Adaptive Search Procedure
  • Genetic Algorithms
  • Evolutionary Strategies
  • Ant Colony Optimization
  • Hybridization of different approaches, parallelization
  • Analysis and Tuning of metaheuristics

Beside the theoretical basics this lecture focuses on practical applications and the connection of metaheuristics with problem-specific heuristics as well as some examples of suitable combinations with exact methods.

Also we will discuss how to properly tune heuristics and to evaluate and compare them by means of experiments and appropriate statistical methods.

Teaching methods

Introduction and explanation of general methods, discussion of examples, theoretical exercises, hands-on programming exercises, presentation and discussion of solutions.

Mode of examination


Additional information


20h Lectures
33h Exercises and recap of the lecture contents
20h Programming exercises
  2h Exercise interviews / Examination

Hotline for any questions concerning this course: heuopt (at) ac.tuwien.ac.at



Course dates

Tue11:00 - 13:0005.10.2021 - 25.01.2022 Zoom (LIVE)Lecture
Wed11:00 - 13:0027.10.2021 - 03.11.2021 Zoom (LIVE)Lecture
Heuristic Optimization Techniques - Single appointments
Tue05.10.202111:00 - 13:00 ZoomLecture
Tue12.10.202111:00 - 13:00 ZoomLecture
Tue19.10.202111:00 - 13:00 ZoomLecture
Wed27.10.202111:00 - 13:00 ZoomLecture
Wed03.11.202111:00 - 13:00 ZoomLecture
Tue09.11.202111:00 - 13:00 ZoomLecture
Tue16.11.202111:00 - 13:00 ZoomLecture
Tue23.11.202111:00 - 13:00 ZoomLecture
Tue30.11.202111:00 - 13:00 ZoomLecture
Tue07.12.202111:00 - 13:00 ZoomLecture
Tue14.12.202111:00 - 13:00 ZoomLecture
Tue11.01.202211:00 - 13:00 ZoomLecture
Tue18.01.202211:00 - 13:00 ZoomLecture
Tue25.01.202211:00 - 13:00 ZoomLecture

Examination modalities

Assignments / Oral Exam / Grading

During the course five assignments are given out:

  • Three pen & paper exercise sheets with theoretical tasks and
  • two programming exercises where you solve an optimization problem by implementing optimization algorithms.

The pen & paper exercises should be solved alone while the programming exercises are meant to be solved in teams of two students. For all five assignments concise reports should be prepared and handed in.

The five assignments are discussed in three online interview sessions:

  • First interview session in the week beginning with 8th of November: pen & paper sheet 1
  • Second interview session in the week beginning with 6th of December: pen & paper sheet 2 + programming exercise 1
  • Third interview session in the week beginning with 17th of January: pen & paper sheet 3 + programming exercise 2

In each of the interview sessions, the assignments are discussed - based on the uploaded reports. Additionally, in the course of the discussion of the pen & paper sheets, questions about the corresponding course topics are asked. Each of the five assignments contributes 20% to the final grade. To pass the cource you need to achieve at least 50% of the points of the 3 pen & paper sheets and at least 50% of the points of the 2 programming exercises.

Course registration

Begin End Deregistration end
14.09.2021 00:00 19.10.2021 23:55 19.10.2021 23:55


Study CodeObligationSemesterPrecon.Info
066 504 Master programme Embedded Systems Not specified
066 645 Data Science Not specified
066 646 Computational Science and Engineering Not specified
066 931 Logic and Computation Mandatory elective
066 932 Visual Computing Mandatory elective
066 937 Software Engineering & Internet Computing Mandatory elective
066 938 Computer Engineering Mandatory elective
066 950 Didactic for Informatics Mandatory elective


  • F. Glover, G. A. Kochenberger: Handbook of Metaheuristics, Kluwer Academic Publishers, 2003
    (comprehensive, recent standard work on metaheuristics)
  • M. Gendreau, J.-Y. Potvin: Handbook of Metaheuristics, 2nd edition, Springer, 2010
    (describes various methods in addition to the first version)
  • E. Talbi: Metaheuristics: From Design to Implementation, J. Wiley and Sons, 2009
    (new and detailed work about metaheuristics)

Previous knowledge

Basic knowledge in algorithms and data structures, programming skills

Preceding courses

Accompanying courses

Continuative courses