next up previous
Next: The Choice of Moves Up: Simulated Annealing Previous: Timetabling Using the Annealing

The Annealing Schedule

The effectiveness of simulated annealing depends greatly upon the rate at which the temperature is changed, which is known as the annealing (or cooling) schedule. Three annealing schedules have been used in our experiments to update the temperature of the SA algorithm: geometric cooling, adaptive cooling, and reheating as a function of cost.

The first annealing schedule we used is geometric cooling, where the new temperature tex2html_wrap_inline2351 of the SA algorithm is computed using

  equation1543

where tex2html_wrap_inline2353 ( tex2html_wrap_inline2355 ) denotes the cooling factor. Typically the value of tex2html_wrap_inline2353 is chosen in the range 0.90 to 0.99. This cooling schedule has the advantage of being well understood, having a solid theoretical foundation, and being the most widely used annealing schedule. The results obtained from using this standard cooling schedule can be used as a baseline for comparison with those using the other two schedules, which allow the rate of cooling to be varied.

The second annealing schedule is the method of reheating as a function of cost (RFC), which was used for timetabling by Abramson et al. [3], but the ideas behind it are due to Kirkpatrick et al. [31, 32] and White [49]. Before introducing this schedule we first summarize a few relevant points on the concept of specific heat ( tex2html_wrap_inline2363 ), which are taken from the principles of statistical mechanics that are the foundation of the simulated annealing technique. Specific heat is a measure of the variance of the energy (or cost) values of states at a given temperature. The higher the variance, the longer it presumably takes to reach equilibrium, and so the longer one should spend at the temperature, or alternatively, the slower one should lower the temperature.

Generally, in combinatorial optimization problems, phase transitions [25, 39] can be observed as sub-parts of the problem are resolved. In some of the work dealing with the traveling salesman problem using annealing [35], the authors observe that the resolution of the overall structure of the solution occurs at high temperatures, and at low temperatures the fine details of the solution are resolved. Applying a reheating type procedure, depending on the phase, should allow the algorithm to spend more time in the low temperature phases, thus reducing the total amount of time required to solve a given problem [3].

In order to calculate the temperature at which a phase transition occurs, it is necessary to compute the specific heat of the system. A phase transition occurs at a temperature tex2html_wrap_inline2365 when the specific heat is maximal ( tex2html_wrap_inline2367 ), and this triggers the change in the state ordering. If the best solution found to date has a high energy or cost then the super-structure may require re-arrangement. This can be done by raising the temperature to a level which is higher than the phase transition temperature tex2html_wrap_inline2365 . Generally, the higher the current best cost, the higher the temperature which is required to escape the local minimum. To compute the maximum specific heat, we employ the following steps [3, 47, 40].

At each temperature T, the annealing algorithm generates a set of configurations tex2html_wrap_inline2373 . Let tex2html_wrap_inline2339 denote the cost of configuration i, C(T) be the average cost at temperature T, and tex2html_wrap_inline2383 be the standard deviation of the cost at T. The average cost is just:

  equation1546

where tex2html_wrap_inline2387 is the probability of obtaining configuration i at temperature T, and the sum is over all possible configurations. The Metropolis Monte Carlo update used in SA generates configurations with a Boltzmann probability distribution [4, 39, 40, 1, 49]:

  equation1549

A particular run of the annealing program will generate (with probability tex2html_wrap_inline2387 ) a set tex2html_wrap_inline2373 of tex2html_wrap_inline2397 configurations i at temperature T, from which an estimate ;SPMlt;C(T);SPMgt; of the average cost can be computed using:

  equation1552

Similarly, the average square cost can be computed as:

  equation1555

The variance of the cost is:

  equation1558

Now, the specific heat is defined as:

  equation1561

The temperature tex2html_wrap_inline2365 at which the maximum specific heat occurs, or at which the system undergoes a phase transition, can thus be found.

Reheating sets the new temperature to be

  equation1564

where K is a tunable parameter and tex2html_wrap_inline2409 is the current best cost. Reheating is done when the temperature drops below the phase transition (the point of maximum specific heat) and there has been no decrease in cost for a specified number of iterations, i.e. the system gets stuck in a local minimum. Reheating increases the temperature above the phase transition (see equation 12), in order to produce enough of a change in the configuration to allow it to explore other minima when the temperature is reduced again.

The third cooling schedule we have tried is adaptive cooling. In this case, a new temperature is computed based on the standard deviation of all costs obtained at the current temperature, i.e. the specific heat. The idea here is to keep the system close to equilibrium, by cooling slower close to the phase transition, where the specific heat is large. There are many different ways of implementing this idea, we have chosen the approach taken by Huang et al. [27], which was shown to yield an efficient cooling schedule. Let tex2html_wrap_inline2411 denote the current temperature, at step j of the annealing schedule. After calculating tex2html_wrap_inline2415 from equation 10, the new temperature tex2html_wrap_inline2417 is computed using:

  equation1567

where a is a tunable parameter. Following suggestions by Otten and van Ginneken [40] and Diekmann et al. [11], tex2html_wrap_inline2415 is smoothed out in order to avoid any dependencies of the temperature decrement on statistical fluctuations in the measurement of the standard deviation tex2html_wrap_inline2423 . The smoothed standard deviation tex2html_wrap_inline2425 is given by

  equation1570

where we have set tex2html_wrap_inline2427 to 0.95. This smoothing function is used because it follows (from the form of the Boltzmann distribution) that it preserves the key relationship

  equation1573

Note that reheating can in principle be used in conjunction with any cooling schedule. We have used it with adaptive cooling.


next up previous
Next: The Choice of Moves Up: Simulated Annealing Previous: Timetabling Using the Annealing

Saleh Elmohamed
Thu Sep 4 11:43:55 EDT 1997