Tabu Search: A brief introduction - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Tabu Search: A brief introduction

Description:

Tabu Search: A brief ... means of overruling tabu status of some solutions ... overrule tabu status when tabu solutions look attractive. Tabu search ... – PowerPoint PPT presentation

Number of Views:1033
Avg rating:3.0/5.0
Slides: 28
Provided by: me6172
Category:

less

Transcript and Presenter's Notes

Title: Tabu Search: A brief introduction


1
Tabu Search A brief introduction
  • Partha Sarathi Dasgupta

2
Solving Combinatorial Optimization Problems
  • constructive methods
  • iterative methods
  • specially applicable when no procedure is
  • known to directly get an optimal solution

3
A 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?
4
Improvements 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

5
Improved 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 ?
6
Further 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

7
Improved 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)

8
Stopping 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

9
Forbidden 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

10
Relaxing 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

11
Tabu 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)

12
Applying 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
13
Applying 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
14
Applying Tabu search N-queens problem
  • Defining a move

1
7
4
5
3
6
7
1
2
Swapping queens 2 and 6
15
Applying Tabu search N-queens problem
  • Tabu list

2
3
4
5
6
7
1
Remaining tabu tenure for pair (2,6)
3
2
3
4
5
6
16
Applying Tabu search 7-queens problem
Q
Q
Q
Q
Q
Q
Q
collisions 4
4
5
3
6
7
1
2
17
Applying Tabu search N-queens problem
  • Iteration 0

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
18
Applying Tabu search N-queens problem
  • Iteration 1

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
19
Applying Tabu search N-queens problem
  • Iteration 5

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
20
Applying 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
21
Applying 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

22
Applying 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

23
Applying 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

24
Applying 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.
25
Applying 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
26
Applications of Tabu search
  • Traveling salesman
  • Vehicle Routing
  • Graph partitioning / coloring
  • Layout planning
  • DNA sequencing

Not an exhaustive list
27
References
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com