Simulated Annealing

Simulated annealing is a well-studied local search metaheuristic used to address discrete and, to a lesser extent, continuous optimization problems. The key feature of simulated annealing is that it provides a mechanism to escape local optima by allowing hill-climbing moves (i.e., moves which worsen the objective function value) in hopes of finding a global optimum. A brief history of simulated annealing is presented, including a review of its application to discrete, continuous, and multiobjective optimization problems. Asymptotic convergence and finite-time performance theory for simulated annealing are reviewed. Other local search algorithms are discussed in terms of their relationship to simulated annealing. The chapter also presents practical guidelines for the implementation of simulated annealing in terms of cooling schedules, neighborhood functions, and appropriate applications. 1.1 Background Survey Simulated annealing is a local search algorithm (metaheuristic) capable of escaping from local optima. Its ease of implementation and convergence properties and its use of hill-climbing moves to escape local optima have made it a popular technique over the past two decades. It is typically used to address discrete and, to a lesser extent, continuous optimization problems. Survey articles that provide a good overview of simulated annealing’s theoretical development and domains of application include [46, 55, 75, 90, 120, 144]. Aarts and Korst [1] and van Laarhoven Alexander G. Nikolaev Industrial and Systems Engineering, University at Buffalo, Buffalo, NY 14260-2050 e-mail: anikolae@buffalo.edu Sheldon H. Jacobson Department of Computer Science, University of Illinois, Urbana, IL, USA 61801-2302 e-mail: shj@illinois.edu M. Gendreau, J.-Y. Potvin (eds.), Handbook of Metaheuristics, 1 International Series in Operations Research & Management Science 146, DOI 10.1007/978-1-4419-1665-5 1, c © Springer Science+Business Media, LLC 2010 2 Alexander G. Nikolaev and Sheldon H. Jacobson and Aarts [155] devote entire books to the subject. Aarts and Lenstra [2] dedicate a chapter to simulated annealing in their book on local search algorithms for discrete optimization problems. 1.1.1 History and Motivation Simulated annealing is so named because of its analogy to the process of physical annealing with solids, in which a crystalline solid is heated and then allowed to cool very slowly until it achieves its most regular possible crystal lattice configuration (i.e., its minimum lattice energy state), and thus is free of crystal defects. If the cooling schedule is sufficiently slow, the final configuration results in a solid with such superior structural integrity. Simulated annealing establishes the connection between this type of thermodynamic behavior and the search for global minima for a discrete optimization problem. Furthermore, it provides an algorithmic means for exploiting such a connection. At each iteration of a simulated annealing algorithm applied to a discrete optimization problem, the values for two solutions (the current solution and a newly selected solution) are compared. Improving solutions are always accepted, while a fraction of non-improving (inferior) solutions are accepted in the hope of escaping local optima in search of global optima. The probability of accepting non-improving solutions depends on a temperature parameter, which is typically non-increasing with each iteration of the algorithm. The key algorithmic feature of simulated annealing is that it provides a means to escape local optima by allowing hill-climbing moves (i.e., moves which worsen the objective function value). As the temperature parameter is decreased to zero, hillclimbing moves occur less frequently, and the solution distribution associated with the inhomogeneous Markov chain that models the behavior of the algorithm converges to a form in which all the probability is concentrated on the set of globally optimal solutions (provided that the algorithm is convergent; otherwise the algorithm will converge to a local optimum, which may or may not be globally optimal). 1.1.2 Definition of Terms To describe the specific features of a simulated annealing algorithm for discrete optimization problems, several definitions are needed. Let Ω be the solution space (i.e., the set of all possible solutions). Let f : Ω→R be an objective function defined on the solution space. The goal is to find a global minimum, ω∗ (i.e., ω∗ ∈ Ω such that f (ω∗)≤ (ω) for all ω ∈ Ω). The objective function must be bounded to ensure that ω∗ exists. Define N(ω) to be the neighborhood function for ω ∈ Ω. Therefore, associated with every solution, ω ∈ Ω, are neighboring solutions, N(ω), that can be reached in a single iteration of a local search algorithm. 1 Simulated Annealing 3 Simulated annealing starts with an initial solution ω ∈ Ω. A neighboring solution ω ′ ∈N(ω) is then generated (either randomly or using some pre-specified rule). Simulated annealing is based on the Metropolis acceptance criterion [101], which models how a thermodynamic system moves from the current solution (state) ω ∈Ω to a candidate solution ω ′ ∈ N(ω), in which the energy content is being minimized. The candidate solution, ω ′, is accepted as the current solution based on the acceptance probability P{Accept ω ′ as next solution}= { exp[−( f (ω ′)− f (ω))/tk] if f (ω ′)− f (ω) > 0 1 if f (ω ′)− f (ω)≤ 0.