  This is a survey of "Iterated Local Search", a general purpose metaheuristic
for finding good solutions of combinatorial optimization problems. It is based
on building a sequence of (locally optimal) solutions by: (1) perturbing the
current solution; (2) applying local search to that modified solution. At a
high level, the method is simple, yet it allows for a detailed use of
problem-specific properties. After giving a general framework, we cover the
uses of Iterated Local Search on a number of well studied problems.
