MAE 552 – Heuristic Optimization Lecture 23 March 18, 2002 Topic: Tabu Search.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

CS6800 Advanced Theory of Computation
Tabu Search Strategy Hachemi Bennaceur 5/1/ iroboapp project, 2013.
Branch & Bound Algorithms
Planning under Uncertainty
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
MAE 552 – Heuristic Optimization Lecture 24 March 20, 2002 Topic: Tabu Search.
MAE 552 – Heuristic Optimization Lecture 8 February 8, 2002.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Constraint Satisfaction Problems
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
MAE 552 – Heuristic Optimization
EAs for Combinatorial Optimization Problems BLG 602E.
16.5 Introduction to Cost- based plan selection Amith KC Student Id: 109.
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
MAE 552 – Heuristic Optimization Lecture 25 March 22, 2002 Topic: Tabu Search.
G5BAIM Artificial Intelligence Methods Tabu Search.
Tabu Search Manuel Laguna. Outline Background Short Term Memory Long Term Memory Related Tabu Search Methods.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Elements of the Heuristic Approach
T ABU S EARCH Ta-Chun Lien. R EFERENCE Fred G., Manuel L., Tabu Search, Kluwer Academic Publishers, USA(1997)
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Heuristic Optimization Methods
Tabu Search Glover and Laguna, Tabu search in Pardalos and Resende (eds.), Handbook of Applied Optimization, Oxford Academic Press, 2002 Glover and Laguna,
Tabu Search UW Spring 2005 INDE 516 Project 2 Lei Li, HongRui Liu, Roberto Lu.
Algorithms and their Applications CS2004 ( )
Search Methods An Annotated Overview Edward Tsang.
Heuristic Optimization Methods
Design & Analysis of Algorithms Combinatory optimization SCHOOL OF COMPUTING Pasi Fränti
Heuristic Optimization Methods Tabu Search: Advanced Topics.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
1 Combinatorial Problem. 2 Graph Partition Undirected graph G=(V,E) V=V1  V2, V1  V2=  minimize the number of edges connect V1 and V2.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
FORS 8450 Advanced Forest Planning Lecture 11 Tabu Search.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
G5BAIM Artificial Intelligence Methods
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Reactive Tabu Search Contents A brief review of search techniques
December 14, 2015 Design and Analysis of Computer Algorithm Pradondet Nilagupta Department of Computer Engineering.
Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa
Heuristic Methods for the Single- Machine Problem Chapter 4 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R2.
METAHEURISTIC Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal
Preliminary Background Tabu Search Genetic Algorithm.
1 Combinatorial Problem. 2 Graph Partition Undirected graph G=(V,E) V=V1  V2, V1  V2=  minimize the number of edges connect V1 and V2.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Tabu Search Subset of Slides from Lei Li, HongRui Liu, Roberto Lu Edited by J. Wiebe.
Conceptual Foundations © 2008 Pearson Education Australia Lecture slides for this course are based on teaching materials provided/referred by: (1) Statistics.
Tabu Search for Solving Personnel Scheduling Problem
Heuristic Optimization Methods
Local Search Algorithms
Tabu Search Review: Branch and bound has a “rigid” memory structure (i.e. all branches are completed or fathomed). Simulated Annealing has no memory structure.
Computer Science cpsc322, Lecture 14
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Comparing Genetic Algorithm and Guided Local Search Methods
metaheuristic methods and their applications
Study Guide for ES205 Yu-Chi Ho Jonathan T. Lee Nov. 7, 2000
Chap 3. The simplex method
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
School of Computer Science & Engineering
Applied Combinatorics, 4th Ed. Alan Tucker
Subset of Slides from Lei Li, HongRui Liu, Roberto Lu
Design & Analysis of Algorithms Combinatorial optimization
Artificial Intelligence
MOEA Local Search and Coevolution
Local Search Algorithms
Presentation transcript:

MAE 552 – Heuristic Optimization Lecture 23 March 18, 2002 Topic: Tabu Search

Tabu Search The Tabu search begins by marching to a local minima.To avoid retracing the steps used, the method records recent moves in one or more Tabu lists. The role of the memory can change as the algorithm proceeds. –At initialization the goal is make a coarse examination of the solution space, known as 'diversification’. –As candidate locations are identified the search is more focused to produce local optimal solutions in a process of 'intensification'.

Tabu Search In many cases the differences between the various implementations of the Tabu method have to do with the size, variability, and adaptability of the Tabu memory to a particular problem domain. The Tabu search has traditionally been used on combinatorial optimization problems. The technique is straightforwardly applied to continuous functions by choosing a discrete encoding of the problem. Many of the applications in the literature involve integer programming problems, scheduling, routing, traveling salesman and related problems.

Tabu Search –Basic Ingredients Many solution approaches are characterized by identifying a neighborhood of a given solution which contains other so-called transformed solutions that can be reached in a single iteration. A transition from a feasible solution to a transformed feasible solution is referred to as a move. A starting point for Tabu search is to note that such a move may be described by a set of one or more attributes (or elements). These attributes (properly chosen) can become the foundation for creating an attribute based memory.

Tabu Search Following a steepest descent / mildest ascent approach, a move may either result in a best possible improvement or a least possible deterioration of the objective function value. Without additional control, however, such a process can cause a locally optimal solution to be re-visited immediately after moving to a neighbor, or in a future stage of the search process, respectively. To prevent the search from endlessly cycling between the same solutions, a tabu list is created which operates like a short term memory.

Tabu Search – Attributes of all explored moves are stored in a list named a running list representing the trajectory of solutions encountered. Then, related to a sublist of the running list a so- called tabu list may be introduced. The tabu list implicitly keeps track of moves (or more precisely, salient features of these moves) by recording attributes complementary to those of the running list.

Tabu Search – These attributes will be forbidden from being embodied in moves selected in at least one subsequent iteration because their inclusion might lead back to a previously visited solution. Thus, the tabu list restricts the search to a subset of admissible moves (consisting of admissible attributes or combinations of attributes). The goal is to permit "good" moves in each iteration without re-visiting solutions already encountered.

Tabu Search – Pseudo-Code Given a feasible solution x* with objective function value z*: Let x := x* with z(x) = z*. Iteration: while stopping criterion is not fulfilled do begin (1) select best admissible move that transforms x into x' with objective function value z(x') and add its attributes to the running list (2) perform tabu list management: compute moves (or attributes) to be set tabu, i.e., update the tabu list (3) perform exchanges: x = x', z(x) = z(x'); if z(x) < z* then z* = z(x), x* = x endif endwhile Result: x* is the best of all determined solutions, with objective function value z*.

Tabu Search – Example 1: SAT Problem Suppose we are solving an SAT problem with n=8 variables. For a given logical formula F we are looking for the a truth assignment for all 8 variables such that F is TRUE. The initial truth assignment for x=(x1…….x8) x=(0,1,1,1,0,0,0,1) The evaluation function is to maximize a weighted sum of the number of satisfied clauses. F(x initial )=27

Tabu Search – Example 1: SAT Problem Step 1: Examine the neighborhood of x initial The neighborhood consists of all the solutions made by flipping a single bit of x. x initial =(0,1,1,1,0,0,0,1) N 1 = (1,1,1,1,0,0,0,1) N 5 = (0,1,1,1,1,0,0,1) N 2 = (0,0,1,1,0,0,0,1) N 6 = (0,1,1,1,0,1,0,1) N 3 = (0,1,0,1,0,0,0,1) N 7 = (0,1,1,1,0,0,1,1) N 4 = (0,1,1,0,0,0,0,1) N 8 = (0,1,1,1,0,0,0,0) Evaluate all of N(x) and choose the best solution. At this stage it is very similar to the hill-climbing procedure.

Tabu Search – Example 1: SAT Problem Suppose that N 3 provides the best solution, F=31 so this is the new best solution. Now we introduce the idea of memory. Step 2: Create a memory structure for bookkeeping. M= One element of an array for each design variable

Tabu Search – Example 1: SAT Problem The design specifies how long an element should remain in memory For this problem we decide that a move should remain ‘Tabu’ for 5 iterations. Then the memory after one iterations would be: M2=M2= This implies that bit 3 is unavailable for flipping for 5 iterations After each iteration the elements in the memory are decreased by 1 During the second iteration bit 7 is flipped M1=M1= 0 0

Tabu Search – Example 1: SAT Problem Let us say that after 3 additional iterations of selecting the best neighbor - which is not necessarily better than the current point- the memory looks like: M5=M5= 0 F=33 Bits 2,5, and 8 are available to be flipped any time. Bit 1 is not available for the next 3 iterations Bit 3 is not available for the next iteration Bit 4 is not available for the next 5 Bit 6 is not available for the next 4 Bit 7 is not available for the next 2.

Tabu Search – Example 1: SAT Problem Exercise: Based on the current Tabu list what were the last moves made and what does the current solution look like? Known initial solution: x initial =(0,1,1,1,0,0,0,1) M5=M5= 0 x1x1 x2x2 x3x3 x4x4 x5x5

Tabu Search – Example 1: SAT Problem Since our current memory looks like M5=M5= 0 We can choose from which remaining solutions? What is M 6 ??????? M 6 =

Tabu Search – Modifications What happens if we come upon a very good solution and pass it by because it is Tabu? Perhaps we should incorporate more flexibility into the search. Maybe one of the Tabu neighbors, x 6 for instance provides an excellent evaluation score, much better than any of the solutions previously visited. In order to make the search more flexible, Tabu search evaluates the ‘whole’ neighborhood, and under normal circumstances selects a non-tabu move. But if circumstances are not normal i.e. one of the tabu solutions is outstanding, then take the tabu point as the solution.

Tabu Search – Overriding the Tabu classification occurs when the ‘aspiration criteria’ is met. There are other possibilities for increasing the flexibility of the Tabu Search. 1.Use a probabilistic strategy for selecting from the candidate solutions. Better solutions have a higher probability of being chosen. 2.The memory horizon could change during the search process. 3. The memory could be connected to the size of the problem (e.g. remembering the last n 1/2 moves) where n is the number of design variables in the problem.

Tabu Search – 4. Incorporate a ‘long-term’ memory in addition to the short term memory that we have already introduced. The memory that we are using can be called a recency-based memory because it records some actions of the last few iterations. We might introduce a frequency-based memory that operation on a much longer horizon. For example a vector H might be introduced as a long term memory structure.

Tabu Search – Example 1: SAT Problem cont. The vector H is initialized to zero and at each stage of the search the entry H(i)=j is interpreted as ‘during the last h iterations of the algorithm the i-th bit was flipped j times.’ Usually the value of h is set quite high in comparison to the length of the short-term memory. For example after 100 iterations with h =50 the long term memory H might have the following values displayed. H:

Tabu Search – H shows the distribution of moves during the last 50 iterations.How can we use this information? This could be used to diversify the search. For example H provides information as to which flips have been underrepresented or not represented at all, and we can diversify the search by exploring these possibilities. The use of long term memory is usually reserved for special cases. For example we could encounter a situation where are non-tabu solutions lead to worse solutions. To make a meaningful decision, the contents of the long term memory can be considered.

Tabu Search – The most common way to incorporate long term memory into the Tabu search is to make moves that have occurred frequently less attractive. Thus a penalty is added based on the frequency that a move has occurred. F(x) = Eval(x)+P(Frequency of Move)

Tabu Search –Long Term Memory To illustrate the use of the long term memory assume that the value of the current solution x for the SAT problem is 35. All non-tabu flips, say of bits 2,3, and 7 provide values of 30, 3, and 31. None of the tabu moves provides a value greater than 37 (the highest value so far), so we cannot apply the aspiration criteria. In this case we look to the long term memory to help us decide which move to take. A penalty is subtracted from F(x) based on the frequency information in the long term memory. Penalty=0.7 * H(i) is a possible penalty function.

Tabu Search – Long Term Memory The new scores for the three possible solutions are: H= Solution 1 (bit 2) = *7=25.1 Solution 2 (bit 3) = *11 =25.3 Solution 3 (bit 7) = *1 =30.3 The 3rd solution is selected

Tabu Search –Other Ways of Diversifying the Search Diversifying the search by penalizing the high frequency moves is only one possibility. Other possibilities if we have to select a Tabu move: oSelect the oldest. oSelect the move that previously resulted in the greatest improvement. oSelect the move that had the greatest influence on the solution – resulted in the greatest change in F(x)

Tabu Search –TSP Example Consider a TSP with eight cities: Recall that a solution can be represented by a vector indicating the order the cities are visited Example: (2, 4, 7, 5, 1, 8, 3, 6) Let us consider moves that swap any two cities : (2, 4, 7, 5, 1, 8, 3, 6)  (4, 2, 7, 5, 1, 8, 3, 6)---swap cities 1 and 2 Each solution has 28 neighbors that can be swapped.

Tabu Search –TSP Example The main memory component (short term memory) can be stored in a matrix where the swap of cities i and j is recorded in the i-th row and j-th column

Tabu Search –TSP Example We will maintain in the Tabu list the number of remaining iterations that given swap stays on the Tabu list (5 is the Max). We will also maintain a long term memory component H containing the frequency information for the last 50 swaps. After 500 iterations the current solution is: (7,3,5,6,1,2,4,8) and F(x)=173 The current best solution encountered in the 500 iterations is 171

Tabu Search – TSP Example Short Term Memory (M) after 500 iterations Most Recent Swap

Tabu Search – TSP Example Long Term Memory (H) last 50 iterations

Tabu Search –TSP Example The neighborhood of this tour was selected to be a swap operation of two cities on the tour. This is not the best choice for Tabu Search. Many researchers have selected larger neighborhoods which work better. A two interchange move for the TSP is defined by changing 2 non-adjacent edges.

Tabu Search –TSP Example 2-Interchange Move For a 2-interchange move a tour is Tabu if both added edges are on the Tabu list.

Tabu Search –Summary Tabu Search works by redirecting the search towards unexplored regions of the design space. There are a number of parameters whose values are decided by the designer: 1.What characteristics of the solution to store in the Tabu list 2.The aspiration criteria – what criteria will be used to override the Tabu restrictions. 3.How long to keep a move on the Tabu list. 4.Whether to use long-term memory (H) and what to base it on (frequency, search direction, etc.).