Session 5
Biological meta-heuristics:
Genetic algorithm, ant colony algorithms.
Session 6
Linear programming for discrete optimisation:
The formulation of linear programming problem. Simplex algorithm (local search on the vertices of a polyhedron). Peculiarities of integer linear programming.
Session 7 - 8
Rounding:
Rounding solutions of linear programs to get solutions of combinatorial problems. Simple rounding for vertex cover problem. Randomized rounding. Balancing trade-offs in knapsack via rounding.
Session 9
Duality:
Duality in linear programming. Max flow and shortes path as dual problems. Using duality to obtain an LP-free algorithm for weighted vertex cover.
Session 10
Reoptimisation:
Reoptimisation illustrated on the travelling salesman problem.
Session 11
Discrete linear subset (DLS) problem:
TSP and MST as special cases of DLS. Matroids as data structures with efficient greedy solution of DLS problems.
Session 12
Branch-and-bound techniques:
A* search. Branch-and-bound for TSP; the Held–Karp bound.
Session 13
Online optimisation:
Online optimisation illustrated on bin packing and scheduling.
COURSE OUTLINESession 3
Tree problems:
Recap of minimum spanning tree (MST) problem. Steiner tree problem; application of metric closure.
Session 4
Heuristics directly based on local search:
Simulated annealing and tabu search.
Session 2
Local search algorithms:
Pros and cons. Kernigan–Lin modification of local search (KL-heuristic).
Session 1
Classical problems in discrete optimisation:
Problems on graphs and networks, cover problems, bin packing, knapsack, scheduling. Quality metrics for approximate algorithms.
Session 14
Flow problems:
Recap of maximal flow algorithms. Min-cost flow algorithms.
Session 15
Final recap