# tabu search

Post on 24-Feb-2016

52 views

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT PresentationTRANSCRIPT

Slide 1

1Nuno Abreu, Zafeiris Kokkinogenis, Behdad Bozorg, Muhammad AjmalTABU SEARCHOutlineIntroduction to TSParameters of TSBasic concepts of TSTS vs. other Meta-heuristicsMemory in TSUse of Memory in TSTabusAspiration criteriaStop conditionTS basic algorithmSearch Process 1Search Process 2Flowchart of a Standard TS AlgorithmExamplePros and Cons

2Introduction TO TSTS is an iterative procedure designed for the solution of optimization problemsInvented by Glover (1986)Uses a neighborhood search procedure to iteratively move from a solution x to a solution x* in the neighborhood of xUses memory structures so that the algorithm does not visit a given solution repeatedlyTabu Search BenefitsCycle avoidance which also saves timeGuide search to promising regions of the search space3Parameters of Tabu SearchSpace search procedureNeighborhood structureShort-term memory: Tabu listTypes of movesAddition of a Tabu moveMaximum size of Tabu listAspiration conditionsStopping rule

4Basic Concepts of Tabu SearchSaves information according to the exploration processIt will be used to limit the moves through the neighborhoodStructure of the neighborhood of the solutions varies from iteration to iterationInfeasible 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 movesA tabu move can be accepted using aspiration criteria.Allows exploitation of good solution and exploration of unvisited region of the search space5TS vs Other Meta-heuristicsTraditional 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.

6Memory in TSTS uses mainly two types of memory:

Short-term memoryRecent solutionsStructure were tabu moves are storedAvoids cycling

Long-term memory (frequency-based)Number of iterations that solution components have been present in the current solution

7Use of memory in TSUse of memory leads to learningPrevent the search from repeating movesExplore the unvisited area of the solution spaceBy using memory to avoid certain moves, TS can be seen as global optimizer rather than local.

8TabusTabus 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

9Aspiration

If a move which is tabu can 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

10Basic Tabu Search AlgorithmStep 1: Choose an initial solution i in S. Set i*=i and 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.11Stopping ConditionsN(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

12Search Process - 1

Intensification:searches solutions similar to the current solutionwants to intensively explore known promising areas of the search spacecreates solutions using the more attractive components of the best solutions in memory (recency memory)Another technique consists in changing the neighborhoods structure by allowing different moves

Diversification:Examines unvisited regions of the search spaceGenerates differentsolutionsUsing rarely components present in the current solutionBiasing 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

13algorithmic mechanisms.

intensification is based on some intermediate-term memory, such as a recency memory, in which one records the number of consecutive iterations that various solution components have been present in the current solution without interruption.

Diversification is usually based on some form of long-term memory of the search, such as a frequency memory, in which one records the total number of iterations (since the beginning of the search) that various solution components have been present in the current solution or have been involved in the selected moves

13Search Process - 2

Allowing infeasible solutionConstraints defining the search space can lead the process to mediocre solutionsInduces diversification By dropping some constraints (relaxation) a larger space can be exploredPenalize objective for the violationA well known technique: Strategic oscillationSurrogate objectiveEvaluates neighbors using a simpler function than the objective in order to spot promising candidates. (Intensification)Auxiliary objectiveObjective function cant drive the search to more interesting areasOrient the search by measuring desirable attributes of solutions

14algorithmic mechanisms

true objective function is quite costly to evaluate=> use surrogate.14Generate initial solution and initialize memory structures Construct modified neighborhoodSelect best neighborExecute specializes proceduresUpdate best solutionUpdate memory structuresMore iteration?StopNoYesHeuristic procedureTabu restrictions Candidate lists Aspiration criteriaElite solutionsModified choice rules for diversification or intensificationRestarting Strategic oscillationShort and long term memoryFlowchart of a Standard Tabu Search Algorithm15

Example Minimum spanning tree problem with constraints.Objective: Connects all nodes with minimum costs

A

B

D

C

E

2030154010525

A

B

D

C

E

2030154010525

Costs

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.)16ExampleNew cost = 75 (iteration 2)( local optimum)

A

B

D

C

E

2030154010525Delete

Add

Iteration 1Cost=50+200 (constraint penalties)AddDeleteCostBEBEBECEACAB75+200=27570+200=27060+100=160CDCDADAC60+100=16065+300=365DEDEDECEACAD85+100=18580+100=18075+0=75

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.)1717Example* 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

A

B

D

C

E

2030154010525

Tabu

DeleteAddTabu list: DEIteration 2 Cost=75AddDeleteCostADADADDE*CEACTabu move85+100=18580+100=180BEBEBECEACAB100+0=10095+0=9585+0=85CDCDDE*CE60+100=16095+100=195

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.)18Add25Example* 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

A

B

D

C

E

20301540105

Tabu

TabuDelete

Tabu list: DE & BEIteration 3 Cost=85AddDeleteCostABABABBE*CEACTabu move100+0=10095+0=95ADADADDE*CEAC60+100=16095+0=9590+0=90 CDCDDE*CE70+0=70 105+0=105

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.)19ExampleOptimal SolutionCost = 70Additional iterations only find inferior solutions

A

B

D

C

E

203015401052520Pros and ConsPros:Allows non-improving solution to be accepted in order to escape from a local optimumThe use of Tabu listFor larger and more difficult problems tabu search can beat other approaches

Cons:Too many parameters to be determinedNumber of iterations could be very largeGlobal optimum may not be found, depends on parameter settingsToo complex21ReferencesGlover, 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. J