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.
Areas of application:
- Combinatorial or logistical problems such as scheduling, timetable creation, cutting and packing, network design, routing
- Parameter optimization of non-linear or numerical functions
- Optimization of non-linear problems (e.g. neural networks, rules for classification systems, electronic circuits)
- Optimization of time dependent or noisy problems
The methods presented 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
- Genetic Programming
- Ant Colony Optimization
- Genetic Programming
- Hybridization of different approaches, Parallelization
- Analysis, Tuning, and Racing 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.
ECTS-Breakdown
20h Lectures
5h Recap lecture contents
40h Programming exercises
9h Exam preparation
1h Exercise interviews / Examination
----
75h
Hotline for any questions concerning this course: heuopt (at) ac.tuwien.ac.at
ACO Simulation: http://web.eecs.utk.edu/~mclennan/Classes/420-594-F04/experiments/ResnickAnts.html
Programming assignments / final oral exam
During the course two programming exercises and short reports have to be solved and handed in. The exercises 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 programming excercises and short reports. The second interview is in connection with an oral examination about the course topics. The programming excercises 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.