Download A user's guide to tabu search

Transcript
6
F. Glover et al., A user's guide to tabu search
To circumvent such an outcome, a guidance procedure must be able to accept
a move from s to s' (in V*) even iff(s') >f(s). But when a solution s" worse than
s may be accepted, cycling may occur, causing the process again to be trapped by
returning repeatedly to the same solution (perhaps after some interval of intermediate
solutions). Simulated annealing attempts to provide guidance by accepting a
disimproving s' (if it happens to be the one currently sampled) with a certain
probability that depends uponf(s), f(s') and a parameter identified with temperature.
The tabu search approach, by contrast, seeks to counter the danger of entrapment
by incorporating a memory structure that forbids or penalizes certain moves that
would retum to a recently visited solution. The variant called probabilistic tabu
search creates probabilities for accepting moves as a monotonic function of evaluations
created by a penalty of the method.
The notion of using memory to forbid certain moves (i.e. to render them tabu)
can be formalized in general by saying that the solution neighborhood depends on
the time stream, hence on the iteration number k. That is, instead of N(s) we may
refer to a neighborhood denoted N(s, k). (More precise notation would indicate that
N(s,k) depends on solutions and neighborhoods encountered on iterations prior
to k.) For instance, suppose memory is employed that recalls solution transitions
over some time horizon, and creates N(s,k) by deleting from N(s) each solution that
was an immediate predecessor of s in one of these transitions. We may express the
form of the procedure that uses the modified (tabu) neighborhoods as follows.
(a)
(b)
Choose an initial solution s in X
s*:=s and k:= 1
While the stopping condition is not met do
k:=k+ l
Generate V* ~ N(s, k)
Choose the best s' in V*
S :=S
p
i f f ( s ' ) <f(s*), then s* := s'
end while
(2.2)
There may be several possible stopping conditions, but simplest is some logical
combination of the following:
•
•
•
•
An optimal solution is found.
N(s,k+l)=O.
k is greater than the maximum number of iterations allowed.
The number of iterations performed since s • last changed is greater than a
specified maximum number of iterations.
It is to be emphasized again that a nontrivial, strategically generated sample
of the solution neighborhood is examined at each step, and a best element from the