Simulated Annealing

advertisement
Simulated Annealing
G.Anuradha
What is it?
• Simulated Annealing is a stochastic
optimization method that derives its name
from the annealing process used to recrystallize metals
• Comes under the category of evolutionary
techniques of optimization
What is annealing?
• Annealing is a heat process whereby a metal is
heated to a specific temperature and then
allowed to cool slowly. This softens the metal
which means it can be cut and shaped more
easily
What happens during annealing?
• Initially when the metal is heated to high
temperatures, the atoms have lots of space to
move about
• Slowly when the temperature is reduced the
movement of free atoms are slowly reduced
and finally the metals crystallize themselves
Relation between annealing and
simulated annealing
• Simulated annealing is analogous to this
annealing process.
• Initially the search area is more, there input
parameters are searched in more random
space and slow with each iteration this space
reduces.
• This helps in achieving global optimized value,
although it takes much more time for
optimizing
Analogy between annealing and
simulated annealing
• Annealing
– Energy in thermodynamic
system
– high-mobility atoms are
trying to orient themselves
with other nonlocal atoms
and the energy state can
occasionally go up.
– low-mobility atoms can
only orient themselves
with local atoms and the
energy state is not likely to
go up again.
• Simulated Annealing
– Value of objective function
– At high temperatures, SA
allows fn. evaluations at
faraway points and it is
likely to accept a new
point.
– At low temperatures, SA
evaluates the objective
function only at local
points and the likelihood of
it accepting a new point
with higher energy is much
lower.
Cooling Schedule
• how rapidly the temperature is lowered from
high to low values.
• This is usually application specific and requires
some experimentation by trial-and-error.
Fundamental terminologies in SA
•
•
•
•
Objective function
Generating function
Acceptance function
Annealing schedule
Objective function
• E = f(x), where each x is viewed as a point in
an input space.
• The task of SA is to sample the input space
effectively to find an x that minimizes E.
Generating function
• A generating function specifies the probability
density function of the difference between
the current point and the next point to be
visited.
• ∆𝑥 = (𝑥𝑛𝑒𝑤 − 𝑥)
• is a random variable with probability density
function g(∆x, T), where T is the temperature.
Acceptance function
• Decides whether to accept/reject a new value
of xnew
• Where c – system dependent constant, T is
temperature,
∆E is –ve SA accepts
new point
∆E is +ve SA accepts
with higher energy
state
Initially SA goes uphill
and downhill
Annealing schedule
• decrease the temperature T by a certain
percentage at each iteration.
Steps involved in general SA method
Steps involved in general SA method
Gaussian probability density function-Boltzmann machine is used
in conventional GA
Travelling Salesman Problem
• In a typical TSP problem there are ‘n’ cities, and
the distance (or cost) between all pairs of these
cities is an n x n distance (or cost) matrix D,
where the element dij represents the distance
(cost) of traveling from city i to city j.
• The problem is to find a closed tour in which
each city, except for starting one, is visited exactly
once, such that the total length (cost) is
minimized.
• combinatorial optimization; it belongs to a class
of problems known as NP-complete
TSP
• Inversion: Remove two edges from the tour
and replace them to make it another legal
tour.
TSP
• Translation Remove a section (8-7) of the tour
and then replace it in between two randomly
selected consecutive cities 4 and 5).
TSP
• Switching: Randomly select two cities and
switch them in the tour
Put together
SA(Extracts from Sivanandem)
Step 1:Initialize the vector x to a random point in
the set φ
Step 2:Select an annealing schedule for the
parameter T, and initialize T
Step 3:Compute xp=x+Δx where x is the
proposed change in the system’s state
Step 4:Compute the change in the cool
Δf=f(xp)-f(x)
Algo contd….
• Step 5: by using metropolis algorithm, decide if xp
should be used as the new state of the system or the
new state of the system or keep the current state x.
1 𝑓𝑜𝑟 ∆𝑓 < 0
𝑝𝑟 𝑥 → 𝑥𝑝 =
∆𝑓
− 𝑇 𝑓𝑜𝑟 ∆𝑓≥0
𝑒
Where T replaces kbT. When Δf>=0 a random number is
selected from a uniform distribution in the range of [0 1].
If 𝑝𝑟(x xp) > n the state xp is used as the new state
otherwise the state remains at x.
Algo contd….
• Step 6: Repeat steps 3-5 n number of times
• Step 7: If an improvement has been made
after the n number of iterations, set the
centre point of be the best point
• Step 8:Reduce the temperature
• Step 9: Repeat Steps 3-8 for t number of
temperatures
Random Search
• Explores the parameter space of an objective
function sequentially in a random fashion to
find the optimal point that maximizes or
minimizes objective function
• Simple
• Optimization process takes a longer time
Primitive version (Matyas)
Observations in the primitive version
Leads to reverse step in the original method
Uses bias term as the center for random vector
Modified random search
• Initial bias is chosen as a zero vector
• Each component of dx should be a random
variable having zero mean and variance
proportional to the range of the
corresponding parameter
• This method is primarily used for continuous
optimization problems
Download