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