400 likes | 667 Views
Nuno Abreu , Zafeiris Kokkinogenis , Behdad Bozorg , Muhammad Ajmal. TABU SEARCH. Introduction to TS Parameters of TS Basic concepts of TS TS vs. other Meta-heuristics Memory in TS Use of Memory in TS Tabus Aspiration criteria Stop condition TS basic algorithm Search Process – 1
E N D
NunoAbreu, ZafeirisKokkinogenis, BehdadBozorg, Muhammad Ajmal TABU SEARCH
Introduction to TS Parameters of TS Basic concepts of TS TS vs. other Meta-heuristics Memory in TS Use of Memory in TS Tabus Aspiration criteria Stop condition TS basic algorithm Search Process – 1 Search Process – 2 Flowchart of a Standard TS Algorithm Example Pros and Cons Outline
TS is an iterative procedure designed for the solution of optimization problems • Invented by Glover (1986) • Uses a neighborhood search procedure to iteratively move from a solution x to a solution x* in the neighborhood of x • Uses memory structures so that the algorithm does not visit a given solution repeatedly • Tabu Search Benefits • Cycle avoidance which also saves time • Guide search to promising regions of the search space Introduction TO TS
Space search procedure • Neighborhood structure • Short-term memory: Tabu list • Types of moves • Addition of a Tabumove • Maximum size of Tabulist • Aspiration conditions • Stopping rule Parameters of Tabu Search
Saves information according to the exploration process It will be used to limit the moves through the neighborhood Structure of the neighborhood of the solutions varies from iteration to iteration Infeasible solutions can be accepted and evaluated to escape local minimum. To prevent from cycling, recent moves are forbidden. A tabu list records forbidden moves, which are referred to as tabu moves A tabu move can be accepted using aspiration criteria. Allows exploitation of good solution and exploration of unvisited region of the search space Basic Concepts of Tabu Search
Traditional descent methods cannot allow non-improving moves, TS can. SA and GA does not have memory, TS has. SA uses randomness to escape local minimum, TS uses forbidden moves. TS claims that a bad strategic choice can yield more information than a random choice. TS vs Other Meta-heuristics
TS uses mainly two types of memory: • Short-term memory • Recent solutions • Structure were tabu moves are stored • Avoids cycling • Long-term memory (frequency-based) • Number of iterations that “solution components” have been present in the current solution Memory in TS
Use of memory leads to learning Prevent the search from repeating moves Explore the unvisited area of the solution space By using memory to avoid certain moves, TS can be seen as global optimizer rather than local. Use of memory in TS
Tabus are one of the distinctive elements of TS when compared to LS Prevent cycling when moving away from local minimum through non-improving moves Stored in the short-term memory – Tabu list Tabu tenure is the number of iteration the move is tabu Tabu list can be of fixed-length or dynamically varying Tabus
If a move which is tabucan lead to better solution, the tabu status should be overruled This will be performed using aspiration level conditions Aspiration criteria: accepting an improving solution even if generated by a tabu move A tabu move becomes admissible if it yields a solution that is better than an aspiration value A tabu move becomes admissible if the direction of the search (improving or non-improving) does not change Aspiration
Step 1: Choose an initial solution i in S. Set i*=iand k=0. Step 2: Set k=k+1 and generate a subset V of solutions in N(i,k) such that the Tabu conditions are not violated or the aspiration conditions hold. Step 3: Choose a best j in V and set i=j. Step 4: If f(i) < f(i*) then set i* = i. Step 5: Update Tabu and aspiration conditions. Step 6: If a stopping condition is met then stop. Else go to Step 2. Basic Tabu Search Algorithm
N(i, K+1) = 0 (no feasible solution in the neighborhood of solution i) K is larger than the maximum number of iterations allowed The number of iterations since the last improvement of i* is larger than a specified number Evidence can be given than an optimum solution has been obtained Stopping Conditions
Intensification: • searches solutions similar to the current solution • wants to intensively explore known promising areas of the search space • creates solutions using the more attractivecomponents of the best solutions in memory (recency memory) • Another technique consists in changing the neighborhood’s structure by allowing different moves • Diversification: • Examines unvisited regions of the search space • Generates different solutions • Using rarely components present in the current solution • Biasing the evaluation of a move by modifying the objective function adding a term related to component frequencies • Intensification and diversification phases alternate during the search Search Process - 1
Allowing infeasible solution • Constraints defining the search space can lead the process to mediocre solutions • Induces diversification • By dropping someconstraints(relaxation) a larger space can be explored • Penalize objective for the violation • A well known technique: Strategic oscillation • Surrogate objective • Evaluates neighbors using a simpler function than the objective in order to spot promising candidates. (Intensification) • Auxiliary objective • Objective function can’t drive the search to more interesting areas • Orient the search by measuring desirable attributes of solutions Search Process - 2
Flowchart of a Standard Tabu Search Algorithm Heuristic procedure Generate initial solution and initialize memory structures Stop Tabu restrictions Candidate lists Aspiration criteria Elite solutions No Construct modified neighborhood Yes More iteration? Short and long term memory Modified choice rules for diversification or intensification Select best neighbor Update memory structures Restarting Strategic oscillation Execute specializes procedures Update best solution
Minimum spanning tree problem with constraints. • Objective: Connects all nodes with minimum costs Example Costs B B 20 30 20 30 10 10 5 5 A C E A C E 25 25 15 40 15 40 D D An optimal solution without considering constraints Constraints 1: Link AD can be included only if link DE also is included. (penalty:100) Constraints 2: At most one of the three links – AD, CD, and AB – can be included. (Penalty of 100 if selected two of the three, 200 if all three are selected.)
Add Delete Cost BE BE BE CE AC AB 75+200=275 70+200=270 60+100=160 CD CD AD AC 60+100=160 65+300=365 DE DE DE CE AC AD 85+100=185 80+100=180 75+0=75 New cost = 75 (iteration 2) ( local optimum) Example Iteration 1 Cost=50+200 (constraint penalties) B 20 30 10 5 A C E 25 15 40 Delete Add D Constraints 1: Link AD can be included only if link DE also is included. (penalty:100) Constraints 2: At most one of the three links – AD, CD, and AB – can be included. (Penalty of 100 if selected two of the three, 200 if all three are selected.)
Add Delete Cost AD AD AD DE* CE AC Tabu move 85+100=185 80+100=180 BE BE BE CE AC AB 100+0=100 95+0=95 85+0=85 CD CD DE* CE 60+100=160 95+100=195 * A tabu move will be considered only if it would result in a better solution than the best trial solution found previously (Aspiration Condition) Iteration 3 new cost = 85 Escape local optimum Example Tabu list: DE Iteration 2 Cost=75 Delete B Add 20 30 10 5 A C E 25 Tabu 15 40 D Constraints 1: Link AD can be included only if link DE also is included. (penalty:100) Constraints 2: At most one of the three links – AD, CD, and AB – can be included. (Penalty of 100 if selected two of the three, 200 if all three are selected.)
Add Delete Cost AB AB AB BE* CE AC Tabu move 100+0=100 95+0=95 AD AD AD DE* CE AC 60+100=160 95+0=95 90+0=90 CD CD DE* CE 70+0=70 105+0=105 * A tabu move will be considered only if it would result in a better solution than the best trial solution found previously (Aspiration Condition) Iteration 4 new cost = 70 Override tabu status Example Tabu list: DE & BE Iteration 3 Cost=85 B Tabu 20 30 10 5 A C E Add 25 Tabu 15 40 D Delete Constraints 1: Link AD can be included only if link DE also is included. (penalty:100) Constraints 2: At most one of the three links – AD, CD, and AB – can be included. (Penalty of 100 if selected two of the three, 200 if all three are selected.)
Optimal Solution • Cost = 70 • Additional iterations only find • inferior solutions Example B 20 30 10 5 A C E 25 15 40 D
Pros: • Allows non-improving solution to be accepted in order to escape from a local optimum • The use of Tabulist • For larger and more difficult problems tabu search can beat other approaches • Cons: • Too many parameters to be determined • Number of iterations could be very large • Global optimum may not be found, depends on parameter settings • Too complex Pros and Cons
Glover, F., Kelly, J. P., and Laguna, M. 1995. Genetic Algorithms and Tabu Search: Hybrids for Optimization. Computers and Operations Research. Vol. 22, No. 1, pp. 111 – 134. Glover, F. and Laguna, M. 1997. Tabu Search. Norwell, MA: Kluwer Academic Publishers. Hanafi, S. 2001. On the Convergence of Tabu Search. Journal of Heuristics. Vol. 7, pp. 47 – 58. Hertz, A., Taillard, E. and Werra, D. A Tutorial on Tabu Search. Accessed on April 14, 2005: http://www.cs.colostate.edu/~whitley/CS640/hertz92tutorial.pdf Gendreau, M. 2002. AnIntroduction To Tabu Search, Centre de Recherche sur les Transports et Département d´informatique et de Recherche opérationnelle, Université de Montréal. Hillier, F.S. and Lieberman, G.J. 2005. Introduction to Operations Research. New York, NY: McGraw-Hill. 8th Ed. References
Multi-Dimensional Packing by Tabu Searchwritten by Andrea Lodi
Introduction Tabu Search Basic Approach – 1 Basic Approach – 2 The TS framework for multi-dimensional bin packing Search methods Computational test - Dataset Computational test Sample of results Conclusions outline
The paper deals with multi-dimensional cutting and packing algorithms Assumes that the item will be packed with fixed orientation (no rotation) Lodi, Martello and Vigo present an effective BP Tabu Search framework The main characteristic is the adoption of a search scheme and a neighborhood independent of the packing problem to be solved Introduction
The goal is empty a specified target bin • Given a current solution, the moves modify it by changing the packing of a set S of items • The target bin is the one minimizing a filling function φ(.) • φ(.) measures the easiness of emptying the bin • The idea is to favor target bins packing a small area and a relatively large number of items Tabu Search
Select target bin Include one item, j, from the target bin, and contents of k other bins in a set S Execute an greedy-type heuristic A on S The size of the neighborhood kis automatically updated If the items of S are packed into k (or less) bins, item j is removed from the target bin. Otherwise, S is changed by selecting a different set of k bins, or a different item from the target bin Then, a new item is selected, a new set S is defined and a new move is performed The execution is halted as soon as a proven optimal solution is found, or a time limit is reached Basic Approach - 1
If the algorithm gets stuck • The target bin is not emptied, the neighborhood is enlarged by increasing the value of up to a prefixed upper limit • Tabulist stores,for each forbidden move, the sum of the filling function values of the k+1 involved bins • Variable Neighborhood Search strategy • Small values of k = Small neighborhoods, fast to explore • Accepting moves dealing with increased k = Enlarged neighborhood, more chances to improve solution • By changing the size of the neighborhood, the algorithm plays “Intensification” and “Diversification” • The execution is haltedas soon as a proven optimal solution is found, or a time limit is reached Basic Approach - 2
Intensification procedure explores the neighborhood of the current solution (Inner loop) • Two types of diversification are defined: • “soft” diversification - select as target bin the one having the second smallest filling function value • “hard” diversification - re-pack into separate bins the items currently packed in the z/2 bins ( z being the number of bins in the current solution) with smallest filling function value • The tabu list stores, for each forbidden move: • the sum of the filling function values • the last moves Search METHODS
The benchmark consists of 500 random instances with n = {20,40,60,80,100} • Ten different classes of instances were used • wi (width), hi (height) generated from uniform distribution of varying intervals Computational tests - Dataset
Measures the improvement brought by TS when comparing to three greedy-type heuristics: • Hybrid Best-Fit algorithm (HBP) • Knapsack Packing (KP) • Alternate Directions (AD) • Results show that the TS allows a good improvement in the quality of the solution obtained by the greedy-type heuristics Computational tests
The main idea of the framework: • Isolate the information concerning the problem • Let a greedy-type heuristic take care of the structure and construct feasible solutions • TabuSearch is then used to drive the search through the solution space by: • re-combiningthe packed items, • exploring a neighborhood by alternating between “intensification” and “diversification” • This results in a very general algorithm for multidimensional bin packing Conclusions