Title: Reactive Tabu Search
1Reactive Tabu Search
- Contents
- A brief review of search techniques
- Tabu Search
- Reactive Tabu Search
2Search 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
3Go 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
4Tabu Search
5Tabu 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
6Basic Idea of TS
An iteration in a tabu search
7Basic TS Algorithm
8Tabu Search Components
Tabu Search Main Components
Short Term Memory ( Prevent Cycling )
9Tabu Search
- Aspiration function works closely with tabu list,
the use of aspiration can be crucial to Tabu
search. - Aspiration criteria
- 1. 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.
10Aspiration Criterion
Simplest tabu list
Mini TSP problem
Initial solution
C1 C2 C3 C4 C5
f 100
(accepted)
f 90
C2 C3 C4 C5
?
C1
3
f 80
(accepted)
C2
C3
2
C4
11Types 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.
12The Size of the Tabu List
Prohibition period (the size of tabu list)
determines how long a move will remain
prohibited.
- Strict Tabu
- No fixed prohibition period
- Fixed Tabu
- Use fixed prohibition period
13The Size of the Tabu List
Once a move is made, revisiting this solution is
prohibited for a number of iterations (called
prohibition period).
- Finding the tabu list size that works well on
ones problem is not a trivial task. - Too Small Not be able to prevent cycling
- Too Long Create too many restrictions.
?
What is the proper size of the tabu list
14The Size of the Tabu List
Once a move is made, revisiting this solution is
prohibited for a number of iterations (called
prohibition period).
- A good size of tabu list
- Subject to the problems
- Subject to the moves in the solution space .
?
Can we change tabu list dynamically
15The Size of the Tabu List
Once a move is made, revisiting this solution is
prohibited for a number of iterations T (called
prohibition period).
Basic TS is not capable of avoiding chaotic
trapping!
?
Can we avoid it
16Reactive Tabu Search
- Characteristics of RTS
- Parameters Tabu Size
- How does it work
- Pseudo code
- Summary
17The Reactive Tabu Search
- History
- Proposed in 1994
- By Robert Battiti and Giampietro Tecchiolli
18Characteristics 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
19Characteristics 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.
20Characteristics 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.
21RTS 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
22Changing Tabu List Size
- If a possible move is found in the tabu list (a
repetition occurs)
This 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.
23Changing Tabu List Size
- If a possible move is found in the tabu list (a
repetition occurs)
- Increase Tabu list size (immediate reaction)
- 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. gt 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.
24Escape 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.
25How does it work ?
No
Yes
No
Yes
No
Yes
Yes
No
26How does it work ?
No
Yes
No
Yes
No
Yes
27Basic Tabu Functions for the QAP Problem
QAP problem
28initialization
29main
30Check_for_repetition
31Increase/decrease tabu size
Decreasing 1
Decreasing 2
Increasing
32Increase/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
33Changing Tabu List Size
34Changing Tabu List Size
35Applications
- Quadratic Assignment Problem (QAP)
- 0-1 Knapsack
- Multi-Knapsack with multiple constraints
- Max-Clique
- Biquadratic Assignment Problem (Bi-QAP)
-
36Summary 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
37Thank You
Thank You
38A Classification of TS
Based on discrete dynamical systems.
39A Classification of TS
- Stochastic methods
- Can be obtained by substituting the prohibition
rules with probabilistic generation-acceptance
rules for the related deterministic TS methods
40Types of Tabu List
- Strict Tabu
- Forbid all previous solutions.
41Types of Tabu List
- Fixed Tabu
- The size of Tabu list is fixed.
- The possibility of cycles remain.
42Types of Tabu List
- Reactive Tabu
- Adapt list size to properties of a problem
dynamically.
43Aspiration Criterion