TABU Search (TS)

advertisement
Nuno Abreu, Zafeiris Kokkinogenis, Behdad Bozorg, Muhammad Ajmal
1
OUTLINE















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
Search Process – 2
Flowchart of a Standard TS Algorithm
Example
Pros and Cons
2
INTRODUCTION TO TS





TS is an iterative procedure designed for the solution of
optimization problems
Invented by Glover (1986)
Uses a neighborhood search procedure to iteratively move
from a solution x to a solution x* in the neighborhood of x
Uses memory structures so that the algorithm does not visit a
given solution repeatedly
Tabu Search Benefits


Cycle avoidance which also saves time
Guide search to promising regions of the search space
3
PARAMETERS OF TABU SEARCH

Space search procedure

Neighborhood structure

Short-term memory: Tabu list

Types of moves

Addition of a Tabu move

Maximum size of Tabu list

Aspiration conditions

Stopping rule
4
BASIC CONCEPTS OF TABU SEARCH








Saves information according to the exploration process
It will be used to limit the moves through the neighborhood
Structure of the neighborhood of the solutions varies from
iteration to iteration
Infeasible 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 moves
A tabu move can be accepted using aspiration criteria.
Allows exploitation of good solution and exploration of
unvisited region of the search space
5
TS VS OTHER META-HEURISTICS

Traditional 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.
6
MEMORY IN TS

TS uses mainly two types of memory:

Short-term memory




Recent solutions
Structure were tabu moves are stored
Avoids cycling
Long-term memory (frequency-based)

Number of iterations that “solution components” have been
present in the current solution
7
USE OF MEMORY IN TS

Use of memory leads to learning

Prevent the search from repeating moves

Explore the unvisited area of the solution space

By using memory to avoid certain moves, TS can be seen
as global optimizer rather than local.
8
TABUS

Tabus 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
9
ASPIRATION

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
10
BASIC TABU SEARCH ALGORITHM

Step 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.
11
STOPPING CONDITIONS

N(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
12
SEARCH PROCESS - 1

Intensification:





searches solutions similar to the current solution
wants to intensively explore known promising areas of the search
space
creates solutions using the more attractive components of the best
solutions in memory (recency memory)
Another technique consists in changing the neighborhood’s structure
by allowing different moves
Diversification:


Examines unvisited regions of the search space
Generates different solutions



Using rarely components present in the current solution
Biasing 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
13
SEARCH PROCESS - 2

Allowing infeasible solution






Surrogate objective


Constraints defining the search space can lead the process to
mediocre solutions
Induces diversification
By dropping some constraints (relaxation) a larger space can be
explored
Penalize objective for the violation
A well known technique: Strategic oscillation
Evaluates neighbors using a simpler function than the objective in
order to spot promising candidates. (Intensification)
Auxiliary objective


Objective function can’t drive the search to more interesting areas
Orient the search by measuring desirable attributes of solutions
14
FLOWCHART OF A STANDARD TABU SEARCH ALGORITHM
Heuristic
procedure
Tabu restrictions
Candidate lists
Aspiration criteria
Elite solutions
Generate initial
solution and initialize
memory structures
Stop
No
Construct modified
neighborhood
Yes
More iteration?
Short and
long term
memory
Modified choice
rules for
diversification or
intensification
Select best
neighbor
Update memory
structures
Restarting
Strategic oscillation
Execute specializes
procedures
Update best
solution
15
EXAMPLE
•
Minimum spanning tree problem with constraints.
•
Objective: Connects all nodes with minimum costs
Costs
B
B
20
A
30
10
C
5
20
E
A
30
10
25
15
C
5
E
25
D
40
15
D
40
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.)
16
EXAMPLE
Iteration 1
Cost=50+200 (constraint penalties)
Add
Delete
Cost
New cost = 75 (iteration 2)
( local optimum)
BE
BE
BE
CE
AC
AB
75+200=275
70+200=270
60+100=160
CD
CD
AD
AC
60+100=160
65+300=365
DE
DE
DE
CE
AC
AD
85+100=185
80+100=180
75+0=75


B
20
A
30
10
C
5
E
25
Delete 15
D
40 Add
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.)
17
EXAMPLE
Tabu list: DE
Iteration 2 Cost=75


* 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
Delete
Add
Delete
Cost
B
Add
AD
DE*
Tabu move
20
30
AD
CE
85+100=185
AD
AC
80+100=180
10
A
C 5
E
25
15
D
40
Tabu
BE
BE
BE
CE
AC
AB
100+0=100
95+0=95
85+0=85
CD
CD
DE*
CE
60+100=160
95+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.)
18
EXAMPLE
Tabu list: DE & BE
Iteration 3 Cost=85


* 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
Add
Delete
Cost
B
Tabu
20
A
30
10
25
15
C
5
E
Add
D
40
Tabu
Delete
AB
AB
AB
BE*
CE
AC
Tabu move
100+0=100
95+0=95
AD
AD
AD
DE*
CE
AC
60+100=160
95+0=95
90+0=90
CD
CD
DE*
CE
70+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.)
19
EXAMPLE


Optimal Solution
Cost = 70


Additional iterations only find
inferior solutions
B
20
A
30
10
C
5
E
25
15
D
40
20
PROS AND CONS

Pros:




Allows non-improving solution to be accepted in order to
escape from a local optimum
The use of Tabu list
For larger and more difficult problems tabu search can beat
other approaches
Cons:




Too many parameters to be determined
Number of iterations could be very large
Global optimum may not be found, depends on parameter
settings
Too complex
21
REFERENCES

Glover, 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. Journal of Heuristics.
Vol. 7, pp. 47 – 58.

Hertz, A., Taillard, E. and Werra, D. A Tutorial on Tabu Search. Accessed on
April 14, 2005: http://www.cs.colostate.edu/~whitley/CS640/hertz92tutorial.pdf

Gendreau, M. 2002. An Introduction To Tabu Search, Centre de Recherche
sur les Transports et Département d´informatique et de Recherche
opérationnelle, Université de Montréal.

Hillier, F.S. and Lieberman, G.J. 2005. Introduction to Operations Research.
New York, NY: McGraw-Hill. 8th Ed.
22
23
OUTLINE










Introduction
Tabu Search
Basic Approach – 1
Basic Approach – 2
The TS framework for multi-dimensional bin packing
Search methods
Computational test - Dataset
Computational test
Sample of results
Conclusions
24
INTRODUCTION
The paper deals with multi-dimensional cutting and packing
algorithms

Assumes that the item will be packed with fixed orientation
(no rotation)

Lodi, Martello and Vigo present an effective BP Tabu Search
framework

The main characteristic is the adoption of a search scheme
and a neighborhood independent of the packing problem to be
solved

25
TABU SEARCH

The goal is empty a specified target bin
Given a current solution, the moves modify it by changing the
packing of a set S of items



The target bin is the one minimizing a filling function φ(.)
φ(.) measures the easiness of emptying the bin
The idea is to favor target bins packing a small area and a
relatively large number of items

26
BASIC APPROACH - 1

Select target bin
Include one item, j, from the target bin, and contents of k
other bins in a set S


Execute an greedy-type heuristic A on S

The size of the neighborhood k is automatically updated
If the items of S are packed into k (or less) bins, item j is
removed from the target bin. Otherwise, S is changed by
selecting a different set of k bins, or a different item from the
target bin

Then, a new item is selected, a new set S is defined and a
new move is performed

The execution is halted as soon as a proven optimal solution
is found, or a time limit is reached

27
BASIC APPROACH - 2


If the algorithm gets stuck
The target bin is not emptied, the neighborhood is enlarged by
increasing the value of up to a prefixed upper limit

Tabu list stores,for each forbidden move, the sum of the filling
function values of the k+1 involved bins

Variable Neighborhood Search strategy



Small values of k = Small neighborhoods, fast to explore
Accepting moves dealing with increased k = Enlarged neighborhood,
more chances to improve solution
By changing the size of the neighborhood, the algorithm plays
“Intensification” and “Diversification”
The execution is halted as soon as a proven optimal solution is
found, or a time limit is reached

28
THE TS FRAMEWORK FOR MULTI-DIMENSIONAL BIN PACKING
29
SEARCH METHODS
Intensification procedure explores the neighborhood of the
current solution (Inner loop)


Two types of diversification are defined:
“soft” diversification - select as target bin the one having the
second smallest filling function value

“hard” diversification - re-pack into separate bins the items
currently packed in the z/2 bins ( z being the number of bins in the
current solution) with smallest filling function value


The tabu list stores, for each forbidden move:

the sum of the filling function values

the last moves
30
COMPUTATIONAL TESTS - DATASET

The benchmark consists of 500 random instances with n =
{20,40,60,80,100}

Ten different classes of instances were used

wi (width), hi (height) generated from uniform distribution of varying
intervals
31
COMPUTATIONAL TESTS
Measures the improvement brought by TS when comparing
to three greedy-type heuristics:




Hybrid Best-Fit algorithm (HBP)
Knapsack Packing (KP)
Alternate Directions (AD)
Results show that the TS allows a good improvement in the
quality of the solution obtained by the greedy-type heuristics

32
SAMPLE OF RESULTS
33
CONCLUSIONS

The main idea of the framework:


Isolate the information concerning the problem
Let a greedy-type heuristic take care of the structure and construct
feasible solutions
Tabu Search is then used to drive the search through the
solution space by:



re-combining the packed items,
exploring a neighborhood by alternating between “intensification”
and “diversification”
This results in a very general algorithm for multidimensional
bin packing

34
Download