Title: Tabu Search: A brief introduction
1Tabu Search A brief introduction
2Solving Combinatorial Optimization Problems
- constructive methods
- iterative methods
- specially applicable when no procedure is
- known to directly get an optimal solution
3A simple and inefficient way
- S solution space
- N(i) neighborhood of solution i
- f(i) cost of solution i
- (1) start with an initial solution i in S
- (2) find a best j in N(i)
- best j f(j) lt f(k) for all k in N(i)
- (3) if f(j) gt f(i) then stop. Else set i j go
to (2)
Why inefficient?
4Improvements to the simple method
- keep track of the route of most recent search
steps - restrict choice of j to a subset of N(i)
- have a dynamic neighborhood structure
- caveat no guarantee of hitting the best solution
5Improved method - I
- (1) start with an initial solution i in S
- (2) generate a subset V of solution in N(i)
- (3) find a best j in V and set i j
- best j f(j) lt f(k) for all k in N(i)
- (4) if f(j) gt f(i) then stop. Else set i j go
to (2)
V 1 ?
6Further improvements .. and Problems
- Move generating new solution(s) from an
existing one -
- non-improving moves to be considered (why?)
- guided choice in neighborhood
- Variable V
- risk of accepting non-improving moves
- cycling of solutions
- store last p solutions in memory
7Improved method - II
- i_best index of the best solution
- k iteration count
- N(i,k) neighborhood of solution i at iteration
k - V subset of N(i,k)
- (1) start with an initial solution i in S
i_bestik0 - (2) set k k 1 and generate a subset V of
N(i,k) - (3) find a best j in V set i j
- (4) if f(i) lt f(i_best) then set i_best i
- (5) if stopping condition is met then stop. Else
go to (2)
8Stopping conditions
- N(i,k1) empty
- k gt maximum number of iterations allowed
- number of iterations gt a specified number
- evidence available that optimum solution obtained
9Forbidden solutions - Tabu
- N(i,k1) N(i) - tabu solutions (tabu list)
- Advantages
- partially prevent cycles
- tabu list of last T solutions gt avoid cycles of
length lt T - Alternative way maintain tabu of last k moves
- tabu setting
- recency-based
- frequency-based
10Relaxing Tabu status Aspiration criteria
- Drawback of tabu status
- some regions of search space may remain unvisited
- Aspiration criteria
- means of overruling tabu status of some solutions
- useful for exploring potential regions of search
space - Example
- overrule tabu status when tabu solutions look
attractive
11Tabu search
- (1) start with an initial solution i in S
i_bestik0 - (2) set k k 1 and generate a subset V of
N(i,k) - for each solution in V
- either one of the tabu conditions is violated
- or at least an aspiration criteria is met
- (3) find a best j in V set i j
- (4) if f(i) lt f(i_best) then set i_best i
- (5) update tabu conditions / tabu list
- (6) if stopping condition is met then stop. Else
go to (2)
12Applying Tabu search N-queens problem
- Placing N-queens on a N x N chessboard s.t. no
two queens are in same row / same column / same
diagonal
Q
Q
Q
Q
collisions 2
13Applying Tabu search N-queens problem
- N 7
- Modeling as a permutation of column numbers
1
7
Row numbers
4
5
3
6
7
1
2
Column numbers
14Applying Tabu search N-queens problem
1
7
4
5
3
6
7
1
2
Swapping queens 2 and 6
15Applying Tabu search N-queens problem
2
3
4
5
6
7
1
Remaining tabu tenure for pair (2,6)
3
2
3
4
5
6
16Applying Tabu search 7-queens problem
Q
Q
Q
Q
Q
Q
Q
collisions 4
4
5
3
6
7
1
2
17Applying Tabu search N-queens problem
Top 5 candidates
2
3
4
5
6
7
swap
value
1
1
7
-2
2
2
4
-2
3
4
5
3
6
7
1
2
2
6
-2
4
5
6
-2
5
1
5
-1
6
18Applying Tabu search N-queens problem
Top 5 candidates
2
3
4
5
6
7
swap
value
3
1
2
4
-1
2
1
6
0
3
4
5
3
6
1
7
2
2
5
0
4
1
2
1
5
1
3
1
6
19Applying Tabu search N-queens problem
Top 5 candidates
2
3
4
5
6
7
swap
value
1
1
1
3
-1
T
2
5
6
-1
3
3
6
2
7
4
1
5
5
7
0
T
4
3
1
6
0
2
5
1
7
2
6
20Applying Tabu search use of frequency counts
1
3
6
2
7
5
4
Top 5 candidates
1
7
swap
value
1
3
1
6
0
T
1
3
1
2
5
1
5
1
1
3
4
2
2
7
1
1
2
3
7
1
4
3
1
7
21Applying Tabu search Steiner Problem in graphs
- Given
- Connected undirected graph G(V, E)
- A set X of terminals (X subset of V)
- Non-negative weight function on the edges E
22Applying Tabu search Steiner Problem in graphs
- Neighborhood structure
- S subset of V \ X
- T(S) steiner tree using S MST on S U X
- Finding optimum steiner tree finding a subset
(S) of steiner - nodes (V\X) such that the cost of MST is
minimum - Neighbors of T(S) all possible MSTs obtained
by - inserting new steiner nodes
- deleting existing steiner nodes
- swapping steiner nodes
23Applying Tabu search Steiner Problem in graphs
- Defining Moves
- inserting a new non-terminal node (insertion
move) - deleting a non-terminal node from steiner tree
(elimination move) - concurrent insertion and deletion of nodes
24Applying Tabu search Steiner Problem in graphs
Procedure Tabu_steiner compute initial solution
/ S set of steiner nodes / Best set of
steiner nodes S S While (iterations_without_imp
rovement lt max_iterations_without_improvement)
s lt- local_search / return best node for move
/ if s is member of S, then S S - s if s
is not a member of S, then S S s insert s
into tabulist L for tabu_tenure iterations
Contd.
25Applying Tabu search Steiner Problem in graphs
Procedure Tabu_steiner (contd.) if (cost(T(S)
lt cost(T(S)) then S lt- S
iterations_without_improvement 0
interations_for_diversification 0 else
iterations_without_improvement
interations_for_diversification endif if
(interations_for_diversification lt
max_interations_for_diversification) then S
S else start with new initial solution
iterations_for_diversification 0
endif endwhile
26Applications of Tabu search
- Traveling salesman
- Vehicle Routing
- Graph partitioning / coloring
- Layout planning
- DNA sequencing
Not an exhaustive list
27References
- Glover, F Tabu search Part I, ORSA journal
of computing, 1, 1989, 190-206. - Glover, F Tabu search Part II, ORSA
journal of computing, 2, 1990, 4-32.