Simulated annealing

The reheated simulated is a Métaheuristique inspired of a process used in Métallurgie. This alternate process of the cycles of slow cooling and reheating ( reheated ) which tend to minimize the energy of material. It is used today in optimization to find the extrema of a function.

It was developed by three researchers of the IBM company, S. Kirkpatrick, C.D. Gelatt and M.P. Vecchi in 1983, and independently by V. Cerny in 1985.

Real annealing

See also: Reheated

The description of the physical and quantum phenomena related to the process of Recuit rests on the statistical of Boltzmann.

Course of the process

Simulated annealing is pressed on the algorithm of Metropolis, which makes it possible to describe the evolution of a system Thermodynamique. By analogy with the physical process, the function to be minimized will become energy E system. One also introduces a fictitious parameter, the temperature T of the system.

On the basis of a given solution, by modifying it, one in one second obtains. Either this one improves the criterion which one seeks with to optimize, one says whereas one cause a drop in the energy of the system, that is to say this one degrades it. If one accepts a solution improving the criterion, one tends thus to seek the optimum in the vicinity of the starting solution. The acceptance of “a bad” solution then makes it possible to explore most of the space of solution and tends to avoid being locked up too much quickly in the search for a local optimum.

Initial state of the algorithm

The initial solution can be taken randomly in the space of the possible solutions. To this solution corresponds an initial energy E = E_0. This energy is calculated according to the criterion that one seeks to optimize. An initial temperature T = T_0 high is also selected. This choice is then completely arbitrary and will depend on the law of decrease used.

Iterations of the algorithm

With each iteration of the algorithm an elementary modification of the solution is carried out. This modification involve a variation \ Delta_E of the energy of the system (always calculated starting from the criterion that one seeks to optimize). If this variation is negative (i.e. it cause a drop in the energy of the system), it is applied to the current solution. If not, it is accepted with a probability e^ {- \ frac {\ Delta_E} {T}} .

One reiterates then according to this process by keeping the constant temperature.

Program of annealing

Two approaches are possible as for the variation in the temperature:
  1. For the first, one reiterates by keeping the constant temperature. When the system reached a thermodynamic balance (at the end of a certain number of changes), the temperature of the system is decreased. One speaks then about stages of temperature.
  2. the second approach cause a drop in the temperature continuously. One can then imagine any kind of law of decrease. Most current being T_ {i+1} = X * T_i with X<1 (enough usually X=0.99).

In the 2 cases, if the temperature reached a threshold rather low fixed as a preliminary or that the system becomes fixed, the algorithm stops.

The temperature plays a big role. At high temperature, the system is free to move in the space of the solutions (e^ {- \ frac {\ Delta_E} {T}} near to 1) by choosing solutions not minimizing inevitably the energy of the system. At low temperature, the modifications lowering the energy of the system are chosen, but others can be accepted, thus preventing the algorithm from falling into a local minimum.

Pseudo code

The Pseudo-code according to met of work reheats it simulated as described above, while starting with the state s0 and continuing until a maximum of kmax stages or until a state having for energy emax or less is found. The close call ( S ) generates a random neighboring state of a state S . The random call () returns a random value in the interval 1. The call temp (R) returns the temperature to be used according to the fraction R total time already spent.

S: = s0 E: = E (S) K: = 0 as long as K < kmax and E > emax Sn: = close (S) in: = E (Sn) if in < E or random () < P (in - E, temp (k/kmax)) then S: = Sn; E: = in K: = K + 1 turns over S

Disadvantages

Principal disadvantages of annealing simulated resident in the choice of the many parameters, such as the initial temperature, the law of decrease of the temperature, criteria of stop or the length of the stages of temperature. These parameters are often selected in an empirical way.

Theoretical study

Theoretical studies of simulated annealing could show that under certain conditions, the algorithm of annealing converged towards a total optimum. This result is important because it ensures us, contrary to others Métaheuristique S, that simulated annealing can find the best solution, if one lets it seek indefinitely.

Applications

As for all Métaheuristique, the method finds its application in many fields in which one has to solve problems of difficult Optimization S. One can quote inter alia the design of the electronic circuits (Placement-routing) or the organization of data-processing networks.

See too

Random links:Charles Nelson Pogue | Robert Giffen | List episodes of a guy, a girl (French version) | Arthur Sewall | Jean de Vignay | Van_Wert_County,_Ohio