# Reactive Tabu Search Contents 1.A brief review of search techniques 2.Tabu Search 3.Reactive Tabu Search.

Post on 17-Jan-2016

220 views

TRANSCRIPT

Reactive Tabu SearchContentsA brief review of search techniquesTabu SearchReactive Tabu Search

Search TechniquesLocal search techniquesIterative ImprovementSelect an improving neighbor in the neighborhoodSteepest Descent Select the best solution in the neighborhood

Advanced search techniquesGRASP, Tabu Search, Simulated Annealing, Genetic Algorithm

Go Beyond Local OptimumsRepetition of local search with different starting points.GRASPAcceptance of back tracking or bad moves.Tabu Search, Simulated Annealing Combination and selection of suboptimal solutions.Genetic Algorithm

Tabu Search

Tabu SearchFred Glover (1986):The overall approach is to avoid entrapment in cycles by forbidding or penalizing moves which take the solution, in the next iteration, to points in the solution space previously visited. Components of Tabu searchSteepest DescentProhibition - basedMemory - based

Basic Idea of TS An iteration in a tabu search

Basic TS Algorithm

Tabu Search ComponentsTabu SearchMain ComponentsShort Term Memory

( Prevent Cycling )

Tabu SearchAspiration function works closely with tabu list, the use of aspiration can be crucial to Tabu search.

Aspiration criteria1. If the cost associated with a tabu solution is less than the aspiration value associated with the cost of current solution, then the tabu solution is temporarily ignored.2. If a tabu move yields a solution better than the best one obtained so far.

Aspiration CriterionC2 C3 C4 C5C1C3C4C223Simplest tabu listMini TSP problem C1 C2 C3 C4 C5 ?Initial solutionf = 100f = 90f = 80(accepted) (accepted)

Types of Tabu List

Strict TabuForbid all previous solutions.Fixed TabuThe size of Tabu list is fixed.The possibility of cycles remain.Reactive TabuAdapt list size to properties of a problem dynamically.

The Size of the Tabu ListStrict TabuNo fixed prohibition periodFixed TabuUse fixed prohibition periodProhibition period (the size of tabu list) determines how long a move will remain prohibited.

The Size of the Tabu ListFinding the tabu list size that works well on ones problem is not a trivial task.

Too Small: Not be able to prevent cycling; Too Long: Create too many restrictions.Once a move is made, revisiting this solution is prohibited for a number of iterations (called prohibition period).What is the proper size of the tabu list

The Size of the Tabu ListA good size of tabu list:

Subject to the problems; Subject to the moves in the solution space .Once a move is made, revisiting this solution is prohibited for a number of iterations (called prohibition period).Can we change tabu list dynamically

The Size of the Tabu ListBasic TS is not capable of avoiding chaotic trapping!Once a move is made, revisiting this solution is prohibited for a number of iterations T (called prohibition period).Can we avoid it

Reactive Tabu SearchCharacteristics of RTSParameters & Tabu SizeHow does it workPseudo codeSummary

The Reactive Tabu SearchHistory:

Proposed in 1994By Robert Battiti and Giampietro Tecchiolli

Characteristics of RTSRTS maintains the basic ideas of tabu search;

And adds more,A fully automated way of adapting the size to the problem and to the current evolution of the search;An escape strategy for diversifying the search when the first mechanism is not sufficient.Learn while searching

Characteristics of RTSSelf-adjusted tabu list size dynamicallyTabu list size increases when there is evidence that diversification is needed, it decreases when this evidence disappears. Escape mechanismThe escape phase is triggered when too many solutions are repeated too often. It avoids long cycles and chaotic trapping.Fast algorithm for using the search historyThe storage and access of the past events is executed through a hashing scheme.

Characteristics of RTSTerminology:

Chaotic attractors are characterized by: a contraction of the areas, so that trajectories starting with different initial solutions will be compressed in a limited area in the solution space; a sensitive dependence upon the initial conditions, so that different trajectories will diverge.

RTS: Required Parameterslist_size - tabu list sizerepetition - the number of repetitionslength - cycle length (number of moves)chaotic - the number of often-repeated movesmoving_average an average of the detected cycle lengthsteps_since_last_size_change the number of iterations executed after the last change of list size

Changing Tabu List SizeIf a possible move is found in the tabu list (a repetition occurs):

Increase Tabu list sizeThis is a basic immediate reaction. After some reactions of repetitions, the size is increased and becomes large enough to break any limit cycle and explore new regions.However, this mechanism may not be sufficient to avoid the chaotic trapping of the trajectory in limited area of the solution space. Also, the increased size could be larger than necessary in the later search phases.

Changing Tabu List SizeIf a possible move is found in the tabu list (a repetition occurs):

Decrease Tabu list sizeIf the number of chaotic ( the repetition of a solution is more than a specific times) is greater than the threshold. => Reset the tabu (escape )If a number of iterations is greater than moving_average.When the list grows too much that all movements become tabu and none satisfies the aspiration criterion. Increase Tabu list size (immediate reaction)

Escape Strategy: DiversificationEscape: execution of a series of random moves.

How far it should escape to? ------Since the long average cycles are evidence of a larger basin, more escape steps are required. Therefore, this number of random moves is proportional to the move_average.

How does it work ?NoNoNoNoYesYesYesYes

How does it work ?NoNoNoYesYesYes

Basic Tabu Functions for the QAP ProblemQAP problem

initialization

main

Check_for_repetition

Increase/decrease tabu sizeIncreasingDecreasing #1Decreasing #2

Increase/decrease tabu sizeDecreasing #3Decreasing #1Clean the tabu; Randomly move some steps, the #steps is proportional to moving_average; update the tabu list

Changing Tabu List Size

Changing Tabu List Size

Applications

Quadratic Assignment Problem (QAP)0-1 KnapsackMulti-Knapsack with multiple constraintsMax-CliqueBiquadratic Assignment Problem (Bi-QAP)

Summary for Reactive TSAdvantagesTake advantage of history intensivelyAvoid chaotic trappingsExplore and exploit the solution space effectivelyAdapt a wide spectrum of problemsDisadvantagesMany parameter tuningsProvides little insight into the solution space

Thank YouThank You

A Classification of TSBased on discrete dynamical systems.

A Classification of TSStochastic methods:Can be obtained by substituting the prohibition rules with probabilistic generation-acceptance rules for the related deterministic TS methods

Types of Tabu ListStrict TabuForbid all previous solutions.

Types of Tabu ListFixed TabuThe size of Tabu list is fixed.The possibility of cycles remain.

Types of Tabu ListReactive TabuAdapt list size to properties of a problem dynamically.

Aspiration Criterion

TS is a local search method.Tabu search uses a tabu list which stores a fixed number of moves on a FIFO queue.Each time local search makes a move the reverse move is placed on the queue thereby, displacing the last move on the queue.the local search algorithm then prohibits any reverse moves on the tabu list from being made.We viewed the tabu list as a temporarily acquired set of constraints on searchSelecting neighborhoods may be done by using a fixed schedule or dynamically selectingNeighborhoods.TS does not visit all possible elements of a neighborhood.The explicit neighborhood is reduced if any element of it is on the tabu list.The algorithm is not allowed to reverse a move which is on the tabu listTabu search limits the available neighborhood to avoid cyclingLocal search augmented with Tabu lists may escape local minima

Tabu Search principal elements are the followings:1) Tabu lists T.The tabu list encloses the most recent moves. Its function is to prohibit certainmove in a period of time to prevent cycling and avoid local optimum.Heuristic Evaluation Function OPTIMUM(s(x):sS(x) - T).This function is used to generate the new solution state s(x) from the currentsolution state x, which is assumed to be a best "move". If the new solution stateimprove the objective function value, it would be accepted as the new currentsolution state.2) Aspiration Level.The use of an aspiration level function A(s,y), which depends on move s and/orvector y, is one of the tabu search important features. If the objective value c(s(y))of a move s(y) is less than a prespecified aspiration level A(s,y), then the tabustatus of the move may be overridden. The move is now defined as a solution specificmove, depending on both s and y. Each solution-specific move ischaracterized by a set of attributes. The aspiration level might be defined either fora collection of these or for a specific objective. Once a move passes the criterionthen its tabu status is overridden.3) Strategic oscillation.The strategic oscillation is also an important element tabu search, referring to thesearch stage where the moves are allowed to enter the infeasible region. The searchoscillates back and forth between the feasible and infeasible solution space. Thus itprovides the opportunities to select paths which otherwise might not be allowed.Strategic oscillation might also be useful for sensitivity analysis by providing arange of solutions.4) Intermediate and long term memory.The intermediate term memory function records features that are common to a setof best trial solutions during a particular period of the search. The search thencontinues, using these common features as a heuristics to identify the newsolutions. The long term memory function diversifies the search from the currentsearch stage by using a heuristic which is usually generated from the search. Itgenerally works in a manner opposite to the intermediate memory by penalizinggood moves rather than rewarding them. This step might achieve an escape from alocal optimal solution. Both functions are used for a short number of iterations andthen the search continues with the original heuristics or evaluation criteria.

Tabu SearchHere we briefly review some notations of tabu search [4, 8] and outline the basic steps of thetabu search procedure for solving optimization problems.Tabu search is a meta-heuristic that guides a local heuristic search procedure to explore thesolution space beyond local optimum. It is dierent from the well-known hill-climbing localsearch techniques because Tabu Search allows moves out of a current solution that makes theobjective function worse in the hope that it eventually will achieve a better solution. It isalso dierent from Genetic Algorithm because the Tabu Search includes a memory mechanism.According to Glovers idea, in order to solve a optimization problem using tabu search, thefollowing components must be defined.Configuration: Configuration is a solution or an assignment of values of variables.Move: A move characterizes the process of generating a feasible solution to the problem thatis related to the current solution (i.e. a move is a procedure by which a new solution isgenerated from the current one).Neighborhood: A neighborhood of the solution is the collection set of all possible moves outof a current configuration. Note that the actual definitions of the neighborhood dependon the particular implementation and the nature of problem.Tabu Conditions: In order to avoid a blind search, tabu search technique uses a prescribedproblem-specific set of constraints, known as tabu conditions. They are certain conditions7imposed on moves which make some of them forbidden. These forbidden moves are knownas tabu . It is done by forming a list of certain size that records these forbidden moves.This is known as tabu list.Aspiration Condition: These are rules that override tabu restrictions, that is, if a certainmove is forbidden by tabu restriction, then the aspiration criterion, when satisfied, canmake this move allowable.With the above basic components, the Tabu Search algorithm can be described as follows.(i) Start with a certain (current) configuration and evaluate the criterion function for thatconfiguration.(ii) Follow a neighbor of the current configuration, that is, a set of candidate moves. If thebest of these moves is not tabu or if the best is tabu, but satisfies the aspiration criterion,then pick that move and consider it to be the new current configuration; otherwise pickthe best move that is not tabu and consider it to be the new current configuration.(iii) Repeat (i) and (ii) until some termination criteria are satisfied.The best solution in the final loop is the solution obtained by the algorithm. Note that the movepicked at a certain iteration is put in the tabu list so that it is not allowed to be reversed in thenext iterations. The tabu list has a certain size, and when the length of the tabu reaches thatsize and a new move enters that list, then the first move on the tabu list is freed from beingtabu and the process continues (i.e. the tabu list is circular).

Tabu Search (TS) is also called Steepest Descent-Mildest Ascent . Fixed TS implements the Local Search technique with two major modifications:1. it does not terminate a run when the local minimum is found and2. once a move is made, revisiting this solution is prohibited for a given number of iterations T (called prohibition period).

Problem of basic TS: ????????????

On the other hand, reactive schemes aim at obtaining algorithms with an internal feedback (learning) loop,so that the tuning is automated. Reactive schemes are therefore based on memory: information about past eventsis collected and used in the future part of the search algorithm. The RTS adopts a reactive strategy that is appropriate for the neighborhood structure of the problem: the feedback acts on a single parameter (the prohibition period) that regulates the search diversification and an explicit memory influenced restart is activated periodically. RTS has been successfully applied to a growing number of problems,from Maximum Clique [3] to Graph Partitioning, and RTS is adapted for the ADM minimization problem in WDM traffic grooming.

Tabu Search (TS) is also called Steepest Descent-Mildest Ascent . Fixed TS implements the Local Search technique with two major modifications:1. it does not terminate a run when the local minimum is found and2. once a move is made, revisiting this solution is prohibited for a given number of iterations T (called prohibition period).

Problem of basic TS: ????????????

On the other hand, reactive schemes aim at obtaining algorithms with an internal feedback (learning) loop,so that the tuning is automated. Reactive schemes are therefore based on memory: information about past eventsis collected and used in the future part of the search algorithm. The TS-based Reactive Local Search (RLS)adopts a reactive strategy that is appropriate for the neighborhood structure of the problem: the feedback actson a single parameter (the prohibition period) that regulates the search diversification and an explicit memory influencedrestart is activated periodically. RLS has been successfully applied to a growing number of problems,from Maximum Clique [3] to Graph Partitioning, and RLS is adapted for the ADM minimization problem in WDM traffic grooming.

Tabu Search (TS) is also called Steepest Descent-Mildest Ascent . Fixed TS implements the Local Search technique with two major modifications:1. it does not terminate a run when the local minimum is found and2. once a move is made, revisiting this solution is prohibited for a given number of iterations T (called prohibition period).

Problem of basic TS: ????????????

On the other hand, reactive schemes aim at obtaining algorithms with an internal feedback (learning) loop,so that the tuning is automated. Reactive schemes are therefore based on memory: information about past eventsis collected and used in the future part of the search algorithm. The TS-based Reactive Local Search (RLS)adopts a reactive strategy that is appropriate for the neighborhood structure of the problem: the feedback actson a single parameter (the prohibition period) that regulates the search diversification and an explicit memory influencedrestart is activated periodically. RLS has been successfully applied to a growing number of problems,from Maximum Clique [3] to Graph Partitioning, and RLS is adapted for the ADM minimization problem in WDM traffic grooming.

RTS strives to avoid both smaller-scale cycling and larger-scale chaotic attractors, relying on having a solutionhistory. (Often this solution history is implemented using a hashing scheme)Battiti and Tecchiolli 1994RTS implementations, on the other hand, which strive to avoid both smaller-scalecycling and larger-scale chaotic attractors, typically rely on having a complete solutionhistory available. Often this solution history is implemented using a hashing scheme[Battiti and Tecchiolli 1994; Battiti 1995; Barnes and Carlton 1995; Carlton 1995; Nanry1998], although Battiti and Tecchiolli [1994] also consider other techniques, e.g. the use ofdigital trees (as a binary-string-keyed binary tree).

As I mentioned before, RTS tries to avoid both smaller-scale cycling and larger-scale chaotic attractors. So what are chaotic attractors?

Chaotic attractors are characterized by: a contraction of the areas, so that trajectories starting with different initial solutions will be compressed in a limited area in the solution space; a sensitive dependence upon the initial conditions, so that different trajectories will diverge.

Reactive mechanismOur reactive search procedure is patterned after that of Battiti and Tecchiolli[1994]. The pseudocode for the metalevel search is presented in Appendix 2.In our previous TS approach, short term memory length (i.e., tabu list length) wasallowed to vary adaptively and dynamically by unit increments between preset bounds.In RS, we start with a length of 1 and adaptively adjust upward (downward) by afractional amount INCREASE (DECREASE) preset as 1.1 (0.9).Each solution is inserted in the solution history binary tree, keyed by the solutionchecksum; a visit count is associated with each solution. If a solution has beenencountered previously (is already in the tree) and has a visit count > REP (preset to 3), aflag, Chaotic, is incremented. If Chaotic > CHAOS (preset to 3), the assumption is madethat the search is in the region of an attractor basin, and an escape mechanism istriggered. A moving average cycle length, based on the number of moves since thesolution was last seen, is also updated, and is used to help gauge when the short termmemory length should be adjusted.An escape which forbids certain moves as having been visited previously (historytree) or recently (tabu list) may well fail for lack of available moves. Therefore, at thestart of an escape, we clear all tabu information, disallow the use of oldest-tabu moves,and relax the Suh swap neighborhood to permit the exchange of any critical pathoperation pair. The short term memory length is then set to the current average cyclelength and an equal number of moves are performed (hence no solution on the escapepath can be revisited). If no escaping move can be found, short term memory length isdecreased (to a minimum of 1) and the escape attempt proceeds.The search continues until an optimal solution is detected, a preset limit on CPUtime is exceeded, or a no-moves condition cannot be resolved. (In our tests, the lastsituation was not observed.)

Recommended