Tabu Search Basic Idea • Tabu search – Tabu search is a metaheuristic algorithm that can be used for solving combinatorial optimization problems, such as the traveling salesman problem – Tabu search uses a local or neighborhood search procedure to iteratively move from a solution x to a solution x' in the neighborhood of x, until some stopping criterion has been satisfied. – To explore regions of the search space that would be left unexplored by the local search procedure (see local optimality), tabu search modifies the neighborhood structure of each solution as the search progresses. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 2 Tabu Search • Tabu Search: – The solutions admitted to N * (x), the new neighborhood, are determined through the use of memory structures. – The search then progresses by iteratively moving from a solution x to a solution x' in N * (x). – Perhaps the most important type of memory structure used to determine the solutions admitted to N * (x) is the tabu list. – In its simplest form, a tabu list is a short-term memory which contains the solutions that have been visited in the recent past (less than n iterations ago, where n is the number of previous solutions to be stored (n is also called the tabu tenure)). Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 3 Tabu Search • Tabu Search: – Tabu search excludes solutions in the tabu list from N * (x). – A variation of a tabu list prohibits solutions that have certain attributes (e.g., solutions to the traveling salesman problem (TSP) which include undesirable arcs) or prevent certain moves – Selected attributes in solutions recently visited are labeled "tabu-active." – Solutions that contain tabu-active elements are “tabu”. This type of short-term memory is also called "recency-based" memory. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 4 Tabu Search • Tabu Search: – Tabu lists containing attributes can be more effective for some domains, although they raise a new problem. – When a single attribute is marked as tabu, this typically results in more than one solution being tabu. – Some of these solutions that must now be avoided could be of excellent quality and might not have been visited. – To mitigate this problem, "aspiration criteria" are introduced: these override a solution's tabu state, thereby including the otherwise-excluded solution in the allowed set. A commonly used aspiration criterion is to allow solutions which are better than the currently-known best solution. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 5 Tabu Search • Tabu Search: – Local search employs the idea that a given solution S may be improved by making small changes. Those solutions obtained by modifying solution S are called neighbors of S. – The local search algorithm starts with some initial solution and moves from neighbor to neighbor as long as possible while decreasing the objective function value. – The main problem with this strategy is to escape from local minima where the search cannot find any further neighborhood solution that decreases the objective function value. – Different strategies have been proposed to solve this problem. One of the most efficient strategies is tabu search. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 6 Tabu Search • Tabu Search: – Tabu search allows the search to explore solutions that do not decrease the objective function value only in those cases where these solutions are not forbidden. – This is usually obtained by keeping track of the last solutions in term of the action used to transform one solution to the next. – When an action is performed it is considered tabu for the next T iterations, where T is the tabu status length. – A solution is forbidden if it is obtained by applying a tabu action to the current solution. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 7 • Basic Tabu Search Algorithm k := 1. generate initial solution WHILE the stopping condition is not met DO Identify N(s). (Neighbourhood set) Identify T(s,k). (Tabu set) Identify A(s,k). (Aspirant set) Choose the best s’ ε N(s,k) = {N(s) - T(s,k)}+A(s,k). Memorize s’ if it improves the previous best known solution s := s’. k := k+1. END WHILE Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 8 Tabu Search • Applications: – – – – – – – – – – – – – – – – – – – – Scheduling, Quadratic assignment, Frequency assignment, Car pooling, Capacitated p-median, Resource constrained project scheduling (RCPSP), Vehicle routing problems, Graph coloring, Retrieval Layout Problem, Maximum Clique Problem, Traveling Salesman Problems, Database systems, Nurse Rostering Problem, Neural Nets, Grammatical inference, Knapsack problems, SAT, Constraint Satisfaction Problems Telecomunication Network, Network design, Global Optimization. Summer 2010: Dr. M. Ameer Ali Slide Set 2: State-Space Search 9