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

The Annealing Schedules

Three annealing schedules have been used in our experiments to update the temperature of the SA algorithm in Figure 2: geometric cooling, adaptive cooling, and adaptive reheating as a function of cost.

The first schedule we have used is geometric cooling, where the new temperature ( tex2html_wrap_inline963 ) of the SA algorithm is computed using

  equation435

where tex2html_wrap_inline965 ( tex2html_wrap_inline967 ) denotes the cooling factor. Typically the value of tex2html_wrap_inline965 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. Our results obtained from using this standard cooling schedule will 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 we used 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. [20, 21] and White [31]. Before introducing this schedule we first summarize a few relevant points on the concept of specific heat ( tex2html_wrap_inline975 ). Specific heat is a measure of the variance of the cost (or energy) 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 [14, 24] can be observed as sub-parts of the problem are resolved. In some of the work dealing with the traveling salesman problem using annealing [22], the authors often 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. As reported in [3], applying a reheating type procedure, depending on the phase, would 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.

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_inline977 when the specific heat is maximal ( tex2html_wrap_inline979 ), 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_inline977 . Generally, the higher the current best cost, the higher the temperature which is required to escape the local minimum. To compute the aforementioned maximum specific heat, we employ the following steps [3, 30, 25].

At each temperature T, the annealing algorithm generates a set of configurations tex2html_wrap_inline985 . Let tex2html_wrap_inline987 denote the cost of configuration i, C(T) is the average cost at temperature T, and tex2html_wrap_inline995 is the standard deviation of the cost at T.

At temperature T, the probability distribution for configurations is:

  equation438

The average cost is computed as:

  equation441

Therefore, the average square cost is:

  equation444

The variance of the cost is:

  equation447

Now, the specific heat is defined as:

  equation450

The temperature tex2html_wrap_inline977 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

  equation453

where K is a tunable parameter and tex2html_wrap_inline1005 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 specific heat, i.e. the standard deviation of all costs obtained at the current T. 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. [16], which was shown to yield an efficient cooling schedule. Let tex2html_wrap_inline1009 denote the current temperature, at step j of the annealing schedule. After calculating tex2html_wrap_inline1013 from equation 10, the new temperature tex2html_wrap_inline1015 is computed as follows:

  equation456

where a is a tunable parameter. Following suggestions by Otten and van Ginneken [25] and Diekmann et al. [6], tex2html_wrap_inline1013 is smoothed out in order to avoid any dependencies of the temperature decrement on large changes in the standard deviation tex2html_wrap_inline1021 . We used the following standard method to provide a smoothed standard deviation tex2html_wrap_inline1023 :

  equation459

and set tex2html_wrap_inline1025 to 0.95. This smoothing function is used because it follows (from the form of the Boltzmann distribution, see [31]) that it preserves the key relationship:

  equation462

Note that reheating can 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
Tue Apr 29 19:08:49 EDT 1997