Simulated annealing, see Figure 5, has been widely used for tackling different combinatorial optimization problems [17]. The results obtained depend heavily on the cooling schedule as well as on the initial configuration of the problem.
A comprehensive discussion of the theoretical and practical details of
SA is given in [14,20]. The elementary operation in the
Metropolis method for a combinatorial problem such as scheduling is
the generation of some new candidate configuration, which is then
automatically accepted if it lowers the cost (C), or
accepted with probability , where T is the
temperature, if it would increase the cost by
. Thus the
technique is essentially a generalization of the local optimization
strategy, where, at non-zero temperatures, thermal excitations can
facilitate escape from local minima. Table 1 shows a few
high level relationships between some of the main components of the
physical annealing systems and optimization problems.
Table 1: The analogy between physical systems and optimization problems.
The SA algorithm has some advantages as well as some disadvantages. Among its advantages are the relative ease of implementation, the applicability to almost any combinatorial optimization problem, depending on the cooling schedule(s) used it usually provides reasonable solutions, and it can easily be combined with other heuristics, forming quite useful hybrid methods for tackling a range of complex problems. Its major drawback is the requirement for long run times.
In summary, SA appears competitive with many of the best local optimization methods. However, the inherently serial nature of the approach in general precludes any obvious parallel implementation, though several attempts have been made to overcome this problem such as the recent work by Frost [13], Boissin and Lutton [18], and Verhoeven and Aarts [19]. The most promising approach to parallelizing SA is to distribute the execution of the various parts of the algorithm over a number of communicating parallel processors which may contribute to a significant speedup in the overall runtime of the method.
Figure 5: The Simulated Annealing Algorithm