Unformatted text preview: T abu Search Outline Outline Background Short Term Memory Long Term Memory Related Tabu Search Methods Background Background Tabu search is a metaheuristic that guides a local search procedure to explore the solution space beyond local optimality Memorybased strategies are the hallmark of tabu search approaches Basic Concepts Basic Concepts Solution Initial Current Best Neighborhood Original Modified (Reduced or Expanded) Status Activation rules Move Tabu Attributes Value History History A very simple memory mechanism is described in Glover (1977) to implement the oscillating assignment heuristic Glover, F. (1977) “Heuristics for Integer Programming Using Surrogate Constraints,” Decision Sciences, vol. 8, no. 1, pp. 156166. History History Glover (1986) introduces tabu search as a “metaheuristic” superimposed on another heuristic Glover, F. (1986) “Future Paths for Integer Programming and Links to Artificial Intelligence,” Computer and Operations Research, vol. 13, no. 5, pp. 533549. History History Glover (1989a) and (1989b) provide a full description of the method Glover, F. (1989a) “Tabu Search – Part I,” INFORMS Journal on Computing, vol. 1, no. 3, pp. 190206. Glover, F. (1989b) “Tabu Search – Part II,” INFORMS Journal on Computing, vol. 2, no. 1, pp. 432. Tabu Search Framework Tabu Search Framework
Heuristic procedure Tabu restrictions Candidate lists Aspiration criteria Elite solutions Modified choice rules for diversification or intensification Restarting Strategic oscillation Path relinking Generate initial solution and initialize memory structures Yes More iterations? Short and long term memory Stop No Construct modified neighborhood Select best neighbor Update memory structures Execute specialized procedures Update best solution ShortTerm Memory ShortTerm Memory The main goal of the STM is to avoid reversal of moves and cycling The most common implementation of the STM is based on move attributes and the recency of the moves Example 1 Example 1 After a move that changes the value of xi from 0 to 1, we would like to prevent xi from taking the value of 0 in the next TabuTenure iterations
Attribute to record: i Tabu activation rule: move (x ← 0) is tabu if i is i tabuactive Example 2 Example 2 After a move that exchanges the positions of element i and j in a sequence, we would like to prevent elements i and j from exchanging positions in the next TabuTenure iterations Attributes to record: i and j Tabu activation rule: move (i ↔ j) is tabu if both i and j are tabuactive Example 3 Example 3 After a move that drops element i from and adds element j to the current solution, we would like to prevent element i from being added to the solution in the next TabuAddTenure iterations and prevent element j from being dropped from the solution in the next TabuDropTenure iterations Attributes to record: i and j Tabu activation rules: move (Add i) is tabu if i is tabuactive move (Drop j) is tabu if j is tabuactive Tabu or not Tabu Tabu or not Tabu Only moves can be tabu. Attributes are never tabu, they can only be tabuactive A move may be tabu if it contains one or more tabu active attributes The classification of a move (as tabu or not tabu) is determined by the tabuactivation rules TabuEnd Memory Structure TabuEnd This memory structure records the time (iteration number) when the tabuactive status of an attribute ends Update after a move Attribute is active if
TabuEnd(Attribute) = Iter + TabuTenure Iter ≤ TabuEnd(Attribute) Tabu Decision Tree Tabu Decision Tree
Move Does the move contain tabuactive attributes?
Yes Is the move tabu?
No Yes No Does the move satisfy the aspiration criteria?
Yes No Move is admissible Move is not admissible Search Flexibility Search Flexibility The number of admissible moves in the neighborhood of the current solution depends on the …
Move type Tabu activation rules Tabu tenure Aspiration criteria Example 4 Example 4
Elements Positions A
1 B
2 C
3 D
4 E
5 Tabu activation rule: move (B ↔ *) is tabu B A B C D C D E Tabu move Example 5 Example 5
Elements Positions A
1 B
2 C
3 D
4 E
5 Tabu activation rule: move (B ↔ *) is tabu if B moves to 2 or earlier B A B C D C D E Tabu move Example 6 Example 6
Elements Positions A
1 B
2 C
3 D
4 E
5 Tabu activation rule: move (B ↔ D) is tabu B A B C D C D E Tabu move Tabu Tenure Management Tabu Tenure Management Static Memory The value of TabuTenure is fixed and remains fixed during the entire search All attributes remain tabuactive for the same number of iterations Dynamic Memory The value of TabuTenure is not constant during the search The length of the tabuactive status of attributes varies during the search Simple Dynamic Tabu Tenure Simple Dynamic Tabu Tenure Update after a move TabuEnd(Attribute) = Iter + U(MinTenure, MaxTenure) The values of MinTenure and MaxTenure are search parameters Aspiration Criteria Aspiration Criteria By Objective A tabu move becomes admissible if it yields a solution that is better than an aspiration value By Search Direction A tabu move becomes admissible if the direction of the search (improving or nonimproving) does not change Candidate List Strategies Candidate List Strategies Candidate lists are used to reduce the number of solutions examined on a given iterations They isolate regions of the neighborhood containing moves with desirable features First Improving First Improving Choose the first improving move during the exploration of the current neighborhood This is a special case of the Aspiration Plus Candidate List Strategy Threshold = Current Solution Value Plus = 0 Min = 0 Max = Size of the neighborhood Example 7 Example 7
Move 1 2 3 4 5 6 7 8 9 10 Iteration 1 NI(1) NI(2) NI(3) I Iteration 2 Iteration 3 NI(2) NI(3) NI(4) NI(5) NI(6) I Iteration 4 NI(5) NI(6) NI(7) NI(8) NI(9) NI(10) NI(1) NI(2) NI(3) NI(4) NI(1) NI(2) NI(3) NI(4) I NI(1) Chosen move Long Term Memory Long Term Memory Frequencybased memory Strategic oscillation Path relinking Effect of Long Term Memory Effect of Long Term Memory
TS for Bandwidth Packing
4900 4700 4500 Profit 4300 4100 3900 3700 3500 1 20 39 58 77 96 115 134 153 172 191 210 229 248 267 286 Iteration Current Best Frequencybased Memory Frequencybased Memory Transition Measure Residence Measure Number of iterations where an attribute has been changed (e.g., added or deleted from a solution) Number of iterations where an attribute has stayed in a particular position (e.g., belonging to the current solution) Example 8 Example 8 Transition Measure Number of times that element i has been moved to an earlier position in the sequence sequence Number of times that element i has occupied position k Residence Measure Modifying Choice Rules Modifying Choice Rules Frequencybased memory is typically used to modify rules for …
choosing the best move to make on a given iteration choosing the next element to add to a restarting solution The modification is based on penalty functions Modifying Move Values for Modifying Move Values for Diversification
Modified move value = Move value – Diversification parameter * F(frequency measure) Rule Choose the move with the best move value if at least one admissible improving move exists Otherwise, choose the admissible move with the best modified move value Example 9 Example 9 The frequency of elements occupying certain positions can be used to bias a construction procedure and generate new restarting points For instance, due dates can be modified with frequency information (of jobs finishing on time) before reapplying the EDD rule Strategic Oscillation Strategic Oscillation Strategic oscillation operates by orienting moves in relation to a boundary Such an oscillation boundary often represents a point where the method would normally stop or turn around Example 10 Example 10 In the knapsack problem, a TS may be designed to allow variables to be set to 1 even after reaching the feasibility boundary After a selected number of steps, the direction is reversed by choosing moves that change variables from 1 to 0 Example 11 Example 11 In the Min kTree problem, edges can be added beyond the critical level defined by k Then a rule is applied to delete edges Different rules would be typically used to add and delete edges Path Relinking Path Relinking This approach generates new solutions by exploring trajectories that connect elite solutions The exploration starts from an initiating solution and generates a path in the neighborhood space that leads to a guiding solution Choice rules are designed to incorporate attributes contained in the guiding solution Relinking Solutions Relinking Solutions Initiating solution Guiding solution Original path Relinked path Multiple Guiding Solutions Multiple Guiding Solutions Guiding solution Initiating solution Original path Relinked path Linking Solutions Linking Solutions Initiating solution Guiding solution Original path Relinked path GRASP with Path Relinking GRASP with Path Relinking Originally suggested in the context of Graph Drawing by Laguna and Martí (1999) Extensions and a comprehensive review are due to Resende and Riberio (2003) “GRASP with Path Relinking: Recent Advances and Applications” http:// www.research.att.com/~mgcr/doc/sgrasppr.pdf Relinking Strategies Relinking Strategies Periodical relinking not systematically applied to all solutions Forward relinking worst solution is the initiating solution Backward relinking best solution is the initiating solution Backward and forward relinking both directions are explored Mixed relinking relinking starts at both ends Randomized relinking stochastic selection of moves Related TS Methods Related TS Methods Probabilistic Tabu Search Tabu Thresholding Reactive Tabu Search Probabilistic Tabu Search Probabilistic Tabu Search Create move evaluations that include reference to tabu strategies, using penalties or inducements to modify a standard choice rule Map these evaluations to positive weights to obtain probabilities Chose the next move according to the probability values Simple Tabu Thresholding Simple Tabu Thresholding Improving Phase Mixed Phase Construct S*, the set of improving moves in the current neighborhood If S* is empty, execute the Mixed Phase. Otherwise select the probabilistic best move in S* Select a value for the TabuTiming parameter Select the probabilistic best move from the current neighborhood (full or reduced) Continue for TabuTiming iterations and then return to Improving Phase Some Tabu Thresholding Related Some Tabu Thresholding Related Applications Bennell J. A. and K.A. Dowsland (1999) “A Tabu Thresholding Implementation for the Irregular Stock Cutting Problem,” International Journal of Production Research, vol. 37, no. 18, pp. 42594275 Kelly, J. P., M. Laguna and F. Glover (1994) “A Study of Diversification Strategies for the Quadratic Assignment Problem,” Computers and Operations Research, vol. 21, no. 8, pp. 885 893. Valls, V., M. A. Perez and M. S. Quintanilla (1996) “Modified Tabu Thresholding Approach for the Generalized Restricted Vertex Coloring Problem,” in Metaheuristics: Theory and Applications, I. H. Osman and J. P. Kelly (eds.), Kluwer Academic Publishers, pp. 537554 Vigo, D. and V. Maniezzo (1997) “A Genetic/Tabu Thresholding Hybrid Algorithm for the Process Allocation Problem,” Journal of Heuristics, vol. 3, no. 2, pp. 91110 Reactive Tabu Search Reactive Tabu Search Proposed by Battiti and Tecchiolli (1994) Based on keeping a record of all the solutions visited during the search Tabu tenure starts at 1 and is increased when repetitions are encountered and decreased when repetitions disappear Hashing and binary trees are used to identify repetitions RTS Mechanisms RTS Mechanisms Reaction Mechanism (Selfadjusting tabu tenure) CycleMax (to trigger increases of the tabu tenure) α (to calculate a moving average of the cycle length and control decreases of the tabu tenure) Increase (a value greater than 1) Decrease (a value less than 1) Escape Mechanism (Random moves) Rep (repetition threshold) Chaos (threshold to determine chaotic behavior) ...
View
Full
Document
This note was uploaded on 05/07/2011 for the course INDUSTRIAL IE 208 taught by Professor Serolbulkan during the Fall '11 term at Marmara Üniversitesi.
 Fall '11
 serolbulkan
 Optimization

Click to edit the document details