Iterated local search

ID: iterated-local-search

Iterated local search is a metaheuristic that alternates perturbation, local search and acceptance decisions. The local search improves candidates within a declared optimization neighborhood; perturbation helps reach other locally optimal solutions.[ref]
For minimization, start with and generate , where performs local search and perturbs its input. Accepting only or accepting every candidate are two possible rules.[ref]
For an original complete example, let feasible solutions be the integers through , with neighbors differing by one and objective values
Strictly improving local search starting at moves to and stops: its two neighbors have costs and , both worse than . Perturb the solution from to , allowing a temporary rise to cost . Local improvement then follows , reaching cost , which is the global minimum by inspection of the complete list. The perturbation escaped the first local minimum without requiring the local improvement rule itself to cross an uphill edge.
Perturbation and acceptance must work together: weak changes can return to the same local minimum. The authors’ travelling salesman problem comparison used ten runs of 120 seconds on a Pentium 266 MHz PC, illustrating why evaluation must specify the embedded search and computational budget.[ref]
Iterated Local Search (ILS) is a metaheuristic optimization algorithm used for solving combinatorial and continuous optimization problems. It is particularly effective for NP-hard problems. The method combines local search with a mechanism to escape local optima through perturbation, followed by a re-optimization of the solution. ### Key Components of Iterated Local Search: 1. **Initial Solution**: The algorithm starts with an initial feasible solution, which can be generated randomly or through some heuristics.

New to topics? Read the docs here!