Reactive Tabu Search Contents 1.A brief review of search techniques 2.Tabu Search 3.Reactive Tabu...
-
Upload
joel-brooks -
Category
Documents
-
view
239 -
download
0
Transcript of Reactive Tabu Search Contents 1.A brief review of search techniques 2.Tabu Search 3.Reactive Tabu...
Reactive Tabu Search
Contents
1. A brief review of search techniques
2. Tabu Search
3. Reactive Tabu Search
Search Techniques
Local search techniques– Iterative Improvement
Select an improving neighbor in the neighborhood
– Steepest Descent
Select the best solution in the neighborhood
Advanced search techniques– GRASP, Tabu Search, Simulated Annealing,
Genetic Algorithm
Go Beyond Local Optimums
Repetition of local search with different starting points.– GRASP
Acceptance of back tracking or bad moves.– Tabu Search, Simulated Annealing
Combination and selection of suboptimal solutions.– Genetic Algorithm
Tabu Search
Tabu List- Memory techniques that help identify cycling
Tabu Search
Fred Glover (1986): “The overall approach is to avoid entrapment in cycles
by forbidding or penalizing moves which take the solution, in the next iteration, to points in the solution space previously visited.”
Components of Tabu search Steepest Descent
Prohibition - based
Memory - based
Basic Idea of TS
Currentsolution
Defineneighborhood
Evaluateneighborhood
Pick bestNon-Tabuneighbor
An iteration in a tabu search
Basic TS Algorithm
s'Return
met iscondition stopping Until
1 k k
memoryTabu Update
(update) s s'
)(
V ssolution best theFind
) ( k) N(s, Vset candidate a Generate
Repeat
memoryTabu Initialize
iteration) ofnumber the-(k 0k
far sosolution best thebe s'Let
S ssolution initialan Choose
e functiono objectivioration tast deter or the lemprovementthe most i
u list N(s)- TabN(s, k)
Tabu SearchMain Components
Tabu Search Components
Short Term Memory( Prevent Cycling ) Long Term Memory
( Global Diversification )Medium Term Memory
( Regional Intensification )Aspiration
( Increase flexibility )
Tabu Search
Aspiration function works closely with tabu list, the use of aspiration can be crucial to Tabu search.
Aspiration criteria1. If the cost associated with a tabu solution is less than
the aspiration value associated with the cost of current solution, then the tabu solution is temporarily ignored.
2. If a tabu move yields a solution better than the best one obtained so far.
Aspiration Criterion
C2 C3 C4 C5
C1
C3
C4
C2
2
C2 C3 C4 C5
C1
C3
C4
C2
3
3
Simplest tabu list Mini TSP problem
C1 C2 C4 C3 C5
C2 C1 C4 C3 C5
C1 C2 C3 C4 C5
?
Initial solutionf = 100
f = 90
f = 80
(accepted)
(accepted)
Types of Tabu List
Strict Tabu Forbid all previous solutions.
Fixed Tabu The size of Tabu list is fixed.
The possibility of cycles remain.
Reactive Tabu Adapt list size to properties of a problem dynamically.
The Size of the Tabu List
Strict Tabu No fixed prohibition period
Fixed Tabu Use fixed prohibition period
Prohibition period (the size of tabu list) determines how long a move will remain prohibited.
The Size of the Tabu List
Finding the tabu list size that works well on one’s problem is not a trivial task.• Too Small: Not be able to prevent cycling;• Too Long: Create too many restrictions.
Once a move is made, revisiting this solution is prohibited for a number of iterations (called prohibition period).
What is the proper size of the tabu list
The Size of the Tabu List
A “good” size of tabu list:
• Subject to the problems;• Subject to the ‘moves’ in the solution space .
Once a move is made, revisiting this solution is prohibited for a number of iterations (called prohibition period).
Can we change tabu list dynamically
The Size of the Tabu List
Basic TS is not capable of avoiding chaotic trapping!
Once a move is made, revisiting this solution is prohibited for a number of iterations T (called prohibition period).
Can we avoid it
Reactive Tabu Search
Characteristics of RTSParameters & Tabu SizeHow does it workPseudo codeSummary
The Reactive Tabu Search
History:
Proposed in 1994 By Robert Battiti and Giampietro Tecchiolli
Characteristics of RTS
RTS maintains the basic ideas of tabu search;
And adds more, A fully automated way of adapting the size to
the problem and to the current evolution of the search;
An escape strategy for diversifying the search when the first mechanism is not sufficient.
Learn while searching
Characteristics of RTS
Self-adjusted tabu list size dynamically Tabu list size increases when there is
evidence that diversification is needed, it decreases when this evidence disappears.
Escape mechanism The escape phase is triggered when too many
solutions are repeated too often. It avoids long cycles and chaotic trapping.
Fast algorithm for using the search history The storage and access of the past events is
executed through a hashing scheme.
Characteristics of RTS
Terminology:
Chaotic attractors are characterized by: a contraction of the areas, so that trajectories starting with
different initial solutions will be compressed in a limited area in the solution space;
a sensitive dependence upon the initial conditions, so that different trajectories will diverge.
RTS: Required Parameters
list_size - tabu list size repetition - the number of repetitions length - cycle length (number of moves) chaotic - the number of often-repeated moves moving_average
an average of the detected cycle length steps_since_last_size_change
the number of iterations executed after the last change of list size
Changing Tabu List Size
If a possible move is found in the tabu list (a repetition occurs):
• Increase Tabu list sizeThis is a basic “immediate reaction”. After some reactions of repetitions, the size is increased and becomes large enough to break any limit cycle and explore new regions.
However, this mechanism may not be sufficient to avoid the “chaotic trapping” of the trajectory in limited area of the solution space. Also, the increased size could be larger than necessary in the later search phases.
Changing Tabu List Size
If a possible move is found in the tabu list (a repetition occurs):
• Decrease Tabu list size– If the number of “chaotic” ( the repetition of a solution is more than
a specific times) is greater than the threshold. => Reset the tabu (escape )
– If a number of iterations is greater than moving_average.– When the list grows too much that all movements become tabu
and none satisfies the aspiration criterion.
• Increase Tabu list size (immediate reaction)
Escape Strategy: Diversification
Escape: execution of a series of random moves.
How far it should escape to?
------Since the long average cycles are evidence of a larger basin, more escape steps are required. Therefore, this number of random moves is proportional to the move_average.
How does it work ?
No
No
No
No
Yes
Yes
Yes
Yes
How does it work ?
No
No
No
Yes
Yes
Yes
Basic Tabu Functions for the QAP Problem
QAP problem
initialization
main
default
escape
Check_for_repetition
Increase/decrease tabu size
Increasing
Decreasing #1
Decreasing #2
Increase/decrease tabu size
Decreasing #3
Decreasing #1
Clean the tabu; Randomly move some steps, the #steps is
proportional to moving_average; update the tabu list
Changing Tabu List Size
Changing Tabu List Size
Applications
Quadratic Assignment Problem (QAP) 0-1 Knapsack Multi-Knapsack with multiple constraints Max-Clique Biquadratic Assignment Problem (Bi-QAP) … …
Summary for Reactive TS
Advantages– Take advantage of history intensively– Avoid chaotic trappings– Explore and exploit the solution space
effectively– Adapt a wide spectrum of problems
Disadvantages– Many parameter tunings– Provides little insight into the solution space
Currentsolution
Defineneighborhood
Evaluateneighborhood
Pick bestNon-Tabuneighbor
Thank You
Thank You
A Classification of TS
Based on discrete dynamical systems.
A Classification of TS
Stochastic methods: Can be obtained by substituting the prohibition rules
with probabilistic generation-acceptance rules for the related deterministic TS methods… …
Types of Tabu List
Strict Tabu Forbid all previous solutions.
Types of Tabu List
Fixed Tabu The size of Tabu list is fixed.
The possibility of cycles remain.
Types of Tabu List
Reactive Tabu Adapt list size to properties of a problem dynamically.
Aspiration Criterion