Information Technology Reference
In-Depth Information
Simulated Annealing Algorithm
Set Nb accepted =1.
While Nb accepted is non-zero
Nb tested = Nb accepted =0
While Nb tested <Nb maxtest
/* Metropolis algorithm */
Increment Nb tested .
Pick at random a valid transition.
Calculate the energy variation ∆ E .
If ∆ E< 0 then /* Accepted transition */
Perform the transition.
Update the energy E : E := E +∆ E .
Increment Nb accepted .
Compare the new state with the best state found from the
beginning of the search, and store it in memory if it is
better.
Otherwise
Pick at random a real number rand in [0 , 1].
If rand < exp(
E/T ) then /* Accepted transition */
Perform the transition.
Update the energy E : E := E +∆ E .
Increment Nb accepted .
Decrease the temperature: T := dec T /* Annealing */
Return the best state encountered during the search.
8.5.3.3 Rescaled Simulated Annealing
Initialisation of the Algorithm
Define the minimal percentage p of accepted transitions on the first step.
Determine the initial temperature T = T 0 such that p % of the tested
transitions are accepted.
Initialize α , for instance with a value close to E/T 0 ,where E is the mean
energy of the solutions.
Generate randomly a valid solution and calculate its energy E .
Select the maximal number of tested transitions on each step: Nb maxtest .
Select the parameter for the temperature decrease between two steps: dec .
Search WWH ::




Custom Search