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.
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.
Introduction and explanation of general methods, discussion of examples, theoretical exercises, hands-on programming exercises, presentation and discussion of solutions.
ECTS-Breakdown
20h Lectures
33h Exercises and recap of the lecture contents
20h Programming exercises
2h Exercise interviews / Examination
----
75h
Hotline for any questions concerning this course: heuopt (at) ac.tuwien.ac.at
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.