The Annealing Schedules

Three annealing schedules have been used in our experiments to update the temperature of the SA algorithm in Figure~#SAalgorithm#429>: geometric cooling, adaptive reheating as a function of cost, and adaptive cooling. The second schedule was presented in Abramson et al. [#2##1#] but the ideas behind it are due to Kirkpatrick et al. [#52##1#, #53##1#] and White [#41##1#]. Let #tex2html_wrap_inline1770# (#tex2html_wrap_inline1772#) denote the cooling factor. The first schedule, geometric cooling, computes the new temperature (#tex2html_wrap_inline1774#) of the SA algorithm using:

#equation1525#

Typically the value of #tex2html_wrap_inline1776# 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 second and third schedules. The second annealing schedule we used is the method of reheating as a function of cost (RFC) [#2##1#]. Before introducing this schedule we first summarize a few relevant points on the concept of specific heat (#tex2html_wrap_inline1782#). 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 [#8##1#, #66##1#] can be observed as sub-parts of the problem are resolved. In some of the work dealing with the TSP using annealing, e.g. [#7##1#], 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 [#2##1#], 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_inline1784# when the specific heat is maximal (#tex2html_wrap_inline1786#), 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_inline1788#. Generally, the higher the current best cost, the higher the temperature which is required to escape the local minimum. Now, to compute the aforementioned maximum specific heat we employ the following steps which we refer to as the RFC schedule. The steps involved in this schedule are mostly adapted from the work of van Laarhoven and Aarts [#17##1#] and Abramson et al. [#2##1#]. At each temperature T, the annealing algorithm generates a set of configurations #tex2html_wrap_inline1792#. Let #tex2html_wrap_inline1794# denote the cost of configuration i, C(T) is the average cost at temperature T, and #tex2html_wrap_inline1802# is the standard deviation of the cost at T. At temperature T, the acceptance probability is:

#equation1528#

The average cost is computed as:

#equation1531#

Therefore, the average square cost is:

#equation1534#

The variance of the cost is:

#equation1537#

Now, the specific heat is defined as:

#equation1540#

The temperature #tex2html_wrap_inline1808# 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:

#equation1543#

where K is a constant and #tex2html_wrap_inline1812# is the current best cost. It is worth pointing out that 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 #T6#464>), 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 (adaptive) schedule used is to compute a new temperature based not on the best cost found so far but the standard deviation of all costs obtained at the current T. A similar approach was taken by Huang et al. [#59##1#] yielding an efficient cooling schedule. Let #tex2html_wrap_inline1816# denote the current temperature, at step j of the annealing schedule. After calculating #tex2html_wrap_inline1820# from equation #T4#466>, the new T which is denoted as #tex2html_wrap_inline1824# is as follows:

#equation1546#

where a is a parameter that we have set to 0.0005. Following suggestions by Otten and van Ginneken [#60##1#] and Diekmann et al. [#61##1#], #tex2html_wrap_inline1830# is smoothed out in order to avoid any dependencies of the temperature decrement on large changes in the standard deviation #tex2html_wrap_inline1832#. We used the following standard method to provide a smoothed standard deviation #tex2html_wrap_inline1834#:

#equation1549#

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

#equation1552#

We would like to point out that the ``smoothing'' approach of equation #T60#482> is similar to an approach used in iterative methods for sparse linear systems. Specifically, the parameter #tex2html_wrap_inline1840# is used to compute the successive over-relaxation (or SOR) phase steps in the Gauss-Seidel algorithm where the former is an extension of the later method [#65##1#].