0% found this document useful (0 votes)
112 views38 pages

Simulated Annealing Insights

Simulated annealing is an optimization algorithm that can escape from local optima. It accepts non-improving moves probabilistically based on temperature. The probability decreases exponentially with temperature. The temperature is gradually decreased in a cooling schedule from an initial high value to allow exploration to a final low value for exploitation. Common stopping criteria include reaching a final temperature or number of non-improving iterations. Constraints are handled with penalty functions. An example application is the knapsack problem of selecting items for maximum value within a weight limit.

Uploaded by

Javier Arango
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views38 pages

Simulated Annealing Insights

Simulated annealing is an optimization algorithm that can escape from local optima. It accepts non-improving moves probabilistically based on temperature. The probability decreases exponentially with temperature. The temperature is gradually decreased in a cooling schedule from an initial high value to allow exploration to a final low value for exploitation. Common stopping criteria include reaching a final temperature or number of non-improving iterations. Constraints are handled with penalty functions. An example application is the knapsack problem of selecting items for maximum value within a weight limit.

Uploaded by

Javier Arango
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

5.

Simulated Annealing
5.2 Advanced Concepts

Fall 2010
Instructor: Dr. Masoud Yaghini
Simulated Annealing: Part 2
Outline
 Acceptance Function
 Initial Temperature
 Equilibrium State
 Cooling Schedule
 Stopping Condition
 Handling Constraints
 An Exercise
 References
Acceptance Function
Simulated Annealing: Part 2
Acceptance Function

 SA can escape from local optima due to the


probabilistic acceptance of a nonimproving
neighbor.
 The probability of accepting is dependent of:
– The temperature T
– The change of the objective function DE
Simulated Annealing: Part 2
Acceptance Function

 The acceptance probability of a nonimproving move


is:
− ∆E
T
P(∆E , T ) = e >R
– where E is the change in the evaluation function,
– T is the current temperature, and
– R is a uniform random number between 0 and 1.
Simulated Annealing: Part 2
To accept or not to accept?

Change Temperature DE/T)


exp(-D
0.2 0.95 0.8101
0.4 0.95 0.6563
0.6 0.95 0.5317
0.8 0.95 0.4308
0.2 0.10 0.1353
0.4 0.10 0.0183
0.6 0.10 0.0024
0.8 0.10 0.0003
Simulated Annealing: Part 2
Acceptance Function

 At high temperatures,
– the probability of accepting worse moves is high.
– If T = ∞, all moves are accepted
– It corresponds to a random local walk in the landscape.
 At low temperatures,
– The probability of accepting worse moves decreases.
– If T = 0, no worse moves are accepted
– The search is equivalent to local search.
 Moreover, the probability of accepting a large
deterioration in solution quality decreases
exponentially toward 0.
Initial Temperature
Simulated Annealing: Part 2
Initial Temperature

 If the starting temperature is very high,


– the search will be a random local search for a period of
time
– accepting all neighbors during the initial phase of the
algorithm.
– The main drawback of this strategy is its high
computational cost.
 If the initial temperature is very low,
– the search will be a local search algorithm.
 Temperature must be high enough to allow moves
to almost neighborhood state.
 Problem is finding a suitable starting temperature
Simulated Annealing: Part 2
Initial Temperature

 Finding a suitable starting temperature


methods:
– Acceptance deviation method
– Tuning for initial temperature method
Simulated Annealing: Part 2
Initial Temperature

 Acceptance deviation method


– The starting temperature is computed using preliminary
experimentations by: kσ
– where
 σ represents the standard deviation of difference between values
of objective functions and
 k = −3/ln(p) with the acceptance probability of p, which is
greater than 3σ
Simulated Annealing: Part 2
Initial Temperature

 Tuning for initial temperature method:


– Start high, reduce quickly until about 60% of worse
moves are accepted.
– Use this as the starting temperature
Equilibrium State
Simulated Annealing: Part 2
Equilibrium State

 Once an equilibrium state is reached, the


temperature is decreased.
 To reach an equilibrium state at each temperature, a
number of sufficient transitions (moves) must be
applied.
 The number of iterations must be set according to:
– The size of the problem instance and
– Particularly proportional to the neighborhood size |N(s)|
Simulated Annealing: Part 2
Equilibrium State

 The strategies that can be used to determine the


number of transitions visited:
– Static strategy
– Adaptive strategy
Simulated Annealing: Part 2
Equilibrium State

 Static strategy
– The number of transitions is determined before the search
starts.
– For instance, a given proportion y of the neighborhood
N(s) is explored.
– Hence, the number of generated neighbors from a
solution s is y · |N(s)|.
– The more significant the ratio y, the higher the
computational cost and the better the results.
Simulated Annealing: Part 2
Equilibrium State

 Adaptive strategy
– The number of generated neighbors will depend on the
characteristics of the search.
– One adaptive approach is an improving neighbor solution
is generated.
– This feature may result in the reduction of the
computational time without compromising the quality of
the obtained solutions
– Another approach is achieving a predetermined number
of iterations without improvement of the best found
solution in the inner loop with the same temperature
Cooling Schedule
Simulated Annealing: Part 2
Cooling Schedule

 In the SA algorithm, the temperature is decreased


gradually such that Ti > 0, ∀i
 There is always a compromise between the quality
of the obtained solutions and the speed of the
cooling schedule.
 If the temperature is decreased slowly, better
solutions are obtained but with a more significant
computation time.
Simulated Annealing: Part 2
Cooling Schedule

 The temperature can be updated in different ways:


– Static Strategy
 Linear
– Dynamic Strategy
 Geometric
 Logarithmic
– Adaptive Strategy
Simulated Annealing: Part 2
Cooling Schedule

 Linear
– In the trivial linear schedule, the temperature T is updated
as T = T − β, where β is a specified constant value.
– Hence, we have
Ti = T0 − i × β
– where Ti represents the temperature at iteration i.
– β is a specified constant value
– T0 is the initial temperature
Simulated Annealing: Part 2
Cooling Schedule

 Geometric
– In the geometric schedule, the temperature is updated
using the formula
Ti+1 = α.Ti
– where α ∈]0, 1[.
– It is the most popular cooling function.
– Experience has shown that α should be between 0.5 and
0.99.
Simulated Annealing: Part 2
Cooling Schedule

 Logarithmic
– The following formula is used:

T0
Ti =
log(i + 10)
– This schedule is too slow to be applied in practice but has
the property of the convergence proof to a global
optimum.
Simulated Annealing: Part 2
Cooling Schedule

 Adaptive Strategy
– Most of the cooling schedules are static or dynamic in the
sense that the cooling schedule is defined completely a
priori.
– In this case, the cooling schedule is “blind” to the
characteristics of the search landscape.
– In an adaptive cooling schedule, the decreasing rate is
depends on some information obtained during the search.
Stopping Condition
Simulated Annealing: Part 2
Stopping Condition

 Concerning the stopping condition, theory suggests


a final temperature equal to 0.
 In practice, one can stop the search when the
probability of accepting a move is negligible.
Simulated Annealing: Part 2
Stopping Condition

 The following stopping criteria may be used:


1. Reaching a final temperature TF is the most popular
stopping criteria.
o This temperature must be low (e.g., Tmin = 0.01).
2. Achieving a predetermined number for successive
temperature values no improvement in solution quality
3. After a fixed amount of CPU time
4. When the objective reaches a pre-specified threshold
value
Handling Constraints
Simulated Annealing: Part 2
Handling Constraints

 Constraints cannot handled implicitly


– Penalty function approach should be used

 Constraints
– Hard Constraints: these constraints cannot be violated
in a feasible solution
– Soft Constraints: these constraints should, ideally, not
be violated but, if they are, the solution is still feasible
Simulated Annealing: Part 2
Handling Constraints

 Hard constraints are given a large weighting.


– The solutions which violate those constraints have a high
cost function
 Soft constraints are weighted depending on their
importance
 Weightings can be dynamically changed as the
algorithm progresses.
– This allows hard constraints to be accepted at the start of
the algorithm but rejected later
An Exercise
Simulated Annealing: Part 2
The Knapsack problem
 There are n items:
– Each item i has a weight wi
– Each item i has a value vi
 The knapsack has a limited
capacity of W units.
 We can take one of each
item at most

max ∑v *x
i
i i i = 1,2,..., n

subject to ∑ wi * xi ≤ W
i
x ∈ {0,1}
i
Simulated Annealing: Part 2
The Knapsack problem
 Example:
– Item: 1 2 3 4 5 6 7
– Benefit: 5 8 3 2 7 9 4
– Weight: 7 8 4 10 4 6 4
 Knapsack holds a maximum of 22 pounds
 Fill it to get the maximum benefit
 The problem description:

– Maximize ∑v i
i

– While
∑w
i
i ≤W
Simulated Annealing: Part 2
Solution 1

Item 1 2 3 4 5 6 7

Solution 1 1 0 0 1 0 0
Benefit 5 8 3 2 7 9 4
Weight 7 8 4 10 4 6 4

 Objective: 5 + 8 + 7 = 20
 Weight: 7 + 8 + 4 = 19 <= 22
Simulated Annealing: Part 2
Solution 2 overweighted

Item 1 2 3 4 5 6 7
Solution 0 1 0 1 0 1 0

Benefit 5 8 3 2 7 9 4

Weight 7 8 4 10 4 6 4

 Weight: 8 + 10 + 6 = 24 > 22
References
Simulated Annealing: Part 2
References

 El-Ghazali Talbi, Metaheuristics : From Design to


Implementation, John Wiley & Sons, 2009.
 J. Dreo A. Petrowski, P. Siarry E. Taillard, Metaheuristics
for Hard Optimization, Springer-Verlag, 2006.
The End

You might also like