# reactive tabu search contents 1.a brief review of search techniques 2.tabu search 3.reactive tabu...

Post on 17-Jan-2016

220 views

Embed Size (px)

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 sp

Recommended