space
can
be
Boltzmann probability distribution where e is a systemdependent constant, T is th temperature, and is the energy
difference between xnew and X:
Annealing schedule An annealing schedule regulates how
rapidly the temperature T goes from high to low values, as a
function of time or iteration counts. The exact interpretation of
high and low and the specification of a good
annealing schedule require certain problem-specific physical
insights and/or trial-and-error.
Having presented this brief guide to clearer understanding of
the SA terminology, we now describe the basic steps involved
in a general SA method.
Step 1: Choose a start point x and set a high starting
temperature T. Set the iteration count k to i.
Step 2: Evaluate the objective function:
E=f(x).
Step 3: Select x with probability determined by the generating
function g(x, T).
Set the new point xnew equal to x + Ax. Step 4: Calculate the
new value of the objective function: Enew = f(xnew).
Step 5: Set x to xnew and E to Enew with probability
determined by the acceptance function h(LE, T), where LE =
Enew - E.
Step 6: Reduce the temperature T according to the annealing
schedule (usually by simply setting T equal to ijT, where ij is a
constant between O and 1).
Step 7: Increment iteration count k. If k reaches the maximum
iteration count,
stop the iterating. Otherwise, go back to step 3.
In conventional SA, also known as Boltzmann machines [5, 6],
the generating function is a Gaussian probability density
function:
Traveling salesperson problem
In a typical traveling salesperson problem (TSP), we are given
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 represents the distance (or cost) of traveling from city
i to city j. The problem is to find a a closed tour in which each
city, except for the starting one, is visited exactly once, such
that the total length (cost) is minimized. The traveling
salesperson problem is a well-known problem in combinatorial
optimization; it belongs to a class of problems known as NPcomplete1 [16], in which the computation time required to
find an optimal solution increases exponentially
with n. For a TSP with n cities, the number of possible tours is
(n - 1) !/2, which becomes prohibitively large even for a
moderate n. For instance, finding the best tour of the state
capitals of the United States (n 50) would require many billions
of years even
Three operations for generating move sets in the traveling
salesperson problem. with the fastest modern computers. For
a common traveling salesperson problem, we can define at
least three move sets for SA: Inversion Remove two edges
from the tour and replace them to make it another legal tour.
This is equivalent to removing a section (6-7-8-9) of the tour
and then replacing with the same cities running in the
opposite order Switching Randomly select two cities (3 and
11)
and
switch
them in a
tour.
Generally
speaking,
the
switching
move set
tends to
rupture
the
original
tour and
results in
a
tour
that has a
total
length (or
cost) significantly different from that of the original tour.
Comparisons between the inversion and switching.
We apply the SA technique with the inversion move set to a
TSP
workstation. Variants of Boltzmann machines include the
Cauchy machine or fast simulated annealing where the
generating function is the Cauchy distribution:
RANDOM SEARCH
we shall start with the most primitive version proposed by
Matyas
Following
some
heuristic
guidelines, we shall
also
present
a
modified
version
that
is
more
efficient.
Let 1(x) be the
objective
function
to be minimized
and x be the point
currently
under
consideration. The
original
random
search method [11]
tries to find the optimal x by iterating the following four steps:
Step 1: Choose a start point x as the current point.
Step 2: Add a random vector dx to the current point x in the
parameter space
and evaluate the objective function at the new point at x + dx.
Step 3: If f(x + dx) <1(x), set the current point x equal to x +
dx.
Step 4: Stop if the maximum number of function evaluations is
reached. Otherwise, go back to step 2 to find a new point.
This is a truly random method in the sense that search
directions are purely guided by a random number generator.
There are several ways to improve this primitive version;
these are based on the following observations:
Observation 1: If search in a direction results in a higher
objective function, the opposite direction can often lead to a
lower objective function.
Observation 2: Successive successful searches in a certain
direction should bias subsequent searching toward this
direction. On the other hand, successive failures in a certain
direction should discourage subsequent searching along this
direction.
The first observation leads to a reverse step in the original
method. The second observation motivates the use of a bias
term as the center for the random vector. After including these
two guidelines, the modified random search method involves
the following six steps:
Step 1: Choose a start point x as the current point. Set initial
bias b equal to a zero vector.
Step 2: Add a bias term b and a random vector dx to the
current point x in the input space and evaluate the objective
function at the new point at x +b + dx.
Flow chart for the random search method.
Step 3: If f(x + b + dx) <1(x), set the current point x equal to
x + b + dx and the bias b equal to O.2b + O.4dx; go to step 6.
Otherwise, go to the next step.
Step 4: If f(x + b - dx) <f(x), set the current point x equal to x
+ b - dx and
the bias b equal to b - O.4dx; go to step 6. Otherwise, go to
the next step.