Tabu Search Search Tabu Page 1
Part I Part I Tabu Search Principles Search Principles Tabu Page 2
Tabu Search Search Tabu � Principles � Memory types � Tabu classifications � Choice rules � Additional TS elements � Strategic oscillation � Tabu tenure strategies Page 3
(Very Very) Simple ) Simple ( Tabu Search Design Tabu Search Design � Construct an Initial Solution � Repeat until some termination criterion is satisfied: � Change something in the current solution (but do not change anything that is tabu- active). � Declare what you just changed tabu-active. � Tabu items are only remembered for a short period of time. Page 4
Memory Types Memory Types � Explicit Memory Explicit Memory � � A record of complete solutions � Avoiding visiting solutions more than once (limited use). � Elite solutions in tabu search may be used to expand local search. � Attributive Memory Attributive Memory � � A record of attributes that change when moving from one solution to another. Page 5
Illustrative Preview: Illustrative Preview: Attributive Memory Attributive Memory Add Optimal Tree Problem with Nonlinear Objective Optimal Tree Problem with Nonlinear Objective Delete 1 2 1 2 1 2 3 4 5 3 4 5 3 4 5 6 7 6 7 6 7 Iteration k Iteration k +1 Iteration k +2 (1,3) in (1,4) in (4,6) out (2,4) out Page 6
Recency- -Based Memory Based Memory Recency � Short term memory most commonly used in tabu search implementations. � It keeps track of solution attributes that have changed during the recent past. � Selected attributes that occur in solutions recently visited are labeled tabu-active. � Solutions that contain tabu-active elements, or particular combinations of these attributes, are those that become tabu. Page 7
Minimum k k - -Tree Problem Tree Problem Minimum 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Page 8
Greedy Construction Greedy Construction Step 1: Pick the arc with the minimum cost Pick the arc with the minimum cost Step 1: 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Page 9
Step 2: Pick a min Pick a min- -cost arc that cost arc that Step 2: connects node 1 or 2 connects node 1 or 2 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Page 10
Step 3: Pick a min Pick a min- -cost arc that cost arc that Step 3: connects node 2 or 4 connects node 2 or 4 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Page 11
Step 4: Pick a min Pick a min- -cost arc that cost arc that Step 4: connects node 2, 4 or 7 connects node 2, 4 or 7 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 40 Total Cost = 40 Page 12
Swap Move Types Swap Move Types 2 Greedy solution Total weight: 40 1 25 1 4 6 8 6 7 2 Best static swap 2 3 Best dynamic swap Total weight: 47 1 1 17 Total weight: 51 15 25 25 6 1 4 6 1 4 8 6 6 8 7 7 Page 13
Illustrative Tabu Classifications Illustrative Tabu Classifications Table 2.3 TS iterations. Iteration Tabu-active net tenure Add Drop Weight 1 2 1 (4,6) (4,7) 47 2 (4,6) (4,7) (6,8) (6,7) 57 3 (6,8), (4,7) (6,7) (8,9) (1,2) 63 Page 14
Iteration 1: Iteration 1: Add (4,6) and Drop (4,7) Add (4,6) and Drop (4,7) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 40 + (15 (15- -8) 8) = 47 = 47 Total Cost = 40 + Page 15
Iteration 2: Iteration 2: Add (6,8) and Drop (6,7) Add (6,8) and Drop (6,7) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 47 + (16 (16- -6) 6) = 57 = 57 Total Cost = 47 + Page 16
Iteration 3: Iteration 3: Add (8,9) and Drop (1,2) Add (8,9) and Drop (1,2) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 57 + (7 (7- -1) 1) = 63 = 63 Total Cost = 57 + Page 17
Iteration 4: Iteration 4: Add (4,7) and Drop (1,4) Add (4,7) and Drop (1,4) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 63 + (8 (8- -25) 25) = 46 = 46 Total Cost = 63 + Page 18
Iteration 5: Iteration 5: Add (6,7) and Drop (4,6) Add (6,7) and Drop (4,6) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 46 + (6 (6- -15) 15) = 37 = 37 Total Cost = 46 + Page 19
Iteration 6: Iteration 6: Add (6,9) and Drop (6,8) Add (6,9) and Drop (6,8) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 37 + (16 (16- -16) 16) = 37 = 37 Total Cost = 37 + Page 20
Iteration 7: Iteration 7: Add (8,10) and Drop (4,7) Add (8,10) and Drop (4,7) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 37 + (9 (9- -9) 9) = 38 = 38 Total Cost = 37 + Page 21
Iteration 8: Iteration 8: Add (9,12) and Drop (6,7) Add (9,12) and Drop (6,7) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 38 + (9 (9- -6) 6) = 41 = 41 Total Cost = 38 + Page 22
Iteration 9: Iteration 9: Add (10,11) and Drop (6,9) Add (10,11) and Drop (6,9) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 41 + (9 (9- -16) 16) = 34 = 34 Total Cost = 41 + Page 23
Iteration 10: Iteration 10: Add (5,9) and Drop (9,12) Add (5,9) and Drop (9,12) 26 6 23 2 3 5 12 16 9 20 16 1 17 18 25 15 16 24 1 4 6 9 11 16 6 7 9 8 20 9 7 8 10 Total Cost = 34 + (16 (16- -9) 9) = 41 = 41 Total Cost = 34 + Page 24
Search Trajectory Search Trajectory 65 60 Current Weight Best Weight 55 50 Weight 45 40 35 30 0 1 2 3 4 5 6 7 8 9 10 Iterations Page 25
Recency- -Based Memory for Based Memory for Recency Add/Drop Moves Add/Drop Moves � After a move ( Added, Dropped ) � TabuDropStart ( Added ) = Iter � TabuAddStart ( Dropped ) = Iter. � TestAdd is tabu-active when: � Iter ≤ TabuAddStart ( TestAdd ) + TabuAddTenure � TestDrop is tabu-active when: � Iter ≤ TabuDropStart ( TestDrop ) + TabuDropTenure Page 26
Streamlining Streamlining � After a move ( Added, Dropped ) � TabuEnd ( Added ) = Iter + TabuDropTenure � TabuEnd ( Dropped ) = Iter + TabuAddTenure . � TestAdd is tabu-active when: � Iter ≤ TabuEnd ( TestAdd ) � TestDrop is tabu-active when: � Iter ≤ TabuEnd ( TestDrop ). Page 27
TS Exercise: 0- -1 Knapsack 1 Knapsack TS Exercise: 0 Maximize 10 x 1 + 14 x 2 + 9 x 3 + 8 x 4 + 7 x 5 + 5 x 6 + 9 x 7 + 3 x 8 7 x 1 + 12 x 2 + 8 x 3 + 9 x 4 + 8 x 5 + 6 x 6 + 11 x 7 + 5 x 8 ≤ 38 Subject to x i ≥ 0 for i = 1, …, 8 Note: Variables are ordered in decreasing bang-for-buck value Page 28
Move Mechanism Move Mechanism � Set x i = 1 whenever a feasible assignment of this type exists and otherwise set some x i = 0 Page 29
Choice Rule Choice Rule 1. Choose the largest bang-for-buck value when setting x i = 1 and the smallest such value when setting x i = 0 2. Choose the largest profit value when setting x i = 1 and the smallest such value when setting x i = 0 Page 30
Tabu Tenure Tabu Tenure � Effective tabu tenures have been empirically shown to depend on the size of the problem instance. � Effective tabu tenures can usually be determined for a class of problems by some experimentation. � Varying the tabu tenure during the search provides one way to induce a balance between closely examining one region and moving to different parts of the solution space. Page 31
Dynamic Tabu Tenure Dynamic Tabu Tenure � Simple Strategies � Probabilistic � Systematic � Specialized Strategies � The Reverse Elimination Method � Moving Gaps � The Tabu Cycle Method � Conditional Probability Method Page 32
Probabilistic Tenure Values Probabilistic Tenure Values t min t max t min t max Page 33
Systematic Changes to the Systematic Changes to the Tabu Tenure Tenure Tabu � Start with a fairly small tabu tenure and increase it when there is evidence of cycling or when no new solutions have appeared for some time. � When an improvement occurs, let the tabu tenure drop back to allow a more flexible search of the region where the improvement occurred. Page 34
Part II Part II Tabu Search Advanced Search Advanced Tabu Strategies and Applications Strategies and Applications Page 35
Tabu Search Part II Search Part II Tabu � Aspiration Criteria � Candidate List Strategies � Aspiration Plus � Elite Candidate List � Strategic Oscillation � Longer Term Memory � Frequency-Based Approach � Applications Page 36
Recommend
More recommend