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
5h Recap lecture contents
40h Exercises
8h Exam preparation
2h Exercise interviews / Examination
----
75h
Hotline for any questions concerning this course: heuopt (at) ac.tuwien.ac.at
Assignments / final oral exam
During the course two assignments have to be solved and handed in. Each assignment consists of a theoretical exercise part and a programming exercise for which concise reports have to be prepared. The assignments are meant to be solved in teams of two students. Each team will present their solution in two interviews.
To complete the course it is mandatory to solve and hand in the solutions of the assignments. The second interview is in connection with an oral examination about the course topics. The assignments and the oral exam each contribute one half to the final grade and each of them has to be positive to successfully complete the lecture.