Title: Panos M' Pardalos
1Workshop on the European Chapter on
Metaheuristics and Large Scale Optimization Vilni
us, Lithuania May 19-21, 2005
Metaheuristics in
Optimization
Panos M. Pardalos University of Florida ISE
Dept., Florida, USA
a
2Outline
- Quadratic Assignment GRASP
- Classical Metaheuristics
- Parallelization of Metaheuristcs
- Evaluation of Metaheuristics
- Success Stories
- Concluding Remarks
- Quadratic Assignment GRASP
- Classical Metaheuristics
- Parallelization of Metaheuristcs
- Evaluation of Metaheuristics
- Success Stories
- Concluding Remarks
- (joint work with Mauricio Resende and Claudio
Meneses)
3Metaheuristics
- Metaheuristics are high level procedures that
coordinate simple heuristics, such as local
search, to find solutions that are of better
quality than those found by the simple heuristics
alone. - Examples simulated annealing, genetic
algorithms, tabu search, scatter search, variable
neighborhood search, and GRASP.
- Metaheuristics are high level procedures that
coordinate simple heuristics, such as local
search, to find solutions that are of better
quality than those found by the simple heuristics
alone. - Examples simulated annealing, genetic
algorithms, tabu search, scatter search, variable
neighborhood search, and GRASP.
4Quadratic assignment problem (QAP)
- Given N facilities f1,f2,,fN and N locations
l1,l2,,lN - Let ANN (ai,j) be a positive real matrix where
ai,j is the flow between facilities fi and fj - Let BNN (bi,j) be a positive real matrix where
bi,j is the distance between locations li and lj
5Quadratic assignment problem (QAP)
- Given N facilities f1,f2,,fN and N locations
l1,l2,,lN - Let ANN (ai,j) be a positive real matrix where
ai,j is the flow between facilities fi and fj - Let BNN (bi,j) be a positive real matrix where
bi,j is the distance between locations li and lj
6Quadratic assignment problem (QAP)
- Given N facilities f1,f2,,fN and N locations
l1,l2,,lN - Let ANN (ai,j) be a positive real matrix where
ai,j is the flow between facilities fi and fj - Let BNN (bi,j) be a positive real matrix where
bi,j is the distance between locations li and lj
7Quadratic assignment problem (QAP)
- Let p 1,2,,N ?1,2,,N be an assignment of
the N facilities to the N locations - Define the cost of assignment p to be
- QAP Find a permutation vector p ? ?N that
minimizes the assignment cost
min c(p) subject to p ? ?N
8Quadratic assignment problem (QAP)
- Let p 1,2,,N ?1,2,,N be an assignment of
the N facilities to the N locations - Define the cost of assignment p to be
- QAP Find a permutation vector p ? ?N that
minimizes the assignment cost
min c(p) subject to p ? ?N
9Quadratic assignment problem (QAP)
- Let p 1,2,,N ?1,2,,N be an assignment of
the N facilities to the N locations - Define the cost of assignment p to be
- QAP Find a permutation vector p ? ?N that
minimizes the assignment cost
min c(p) subject to p ? ?N
10Quadratic assignment problem (QAP)
10
l1
l2
cost of assignment 101 3010 405 510
1
30
f1
f2
40
10
5
l3
f3
facilities and flows
locations and distances
11Quadratic assignment problem (QAP)
1
swap locations of facilities f2 and f3
10
l1
l2
f1
f2
cost of assignment 1010 301 405 330
cost of assignment 101 3010 405 510
30
40
10
5
l3
f3
12Quadratic assignment problem (QAP)
10
10
l1
l2
f1
f3
swap locations of facilities f1 and f3
cost of assignment 1010 305 401
290 Optimal!
30
1
40
5
l3
f2
13GRASP for QAP
- GRASP ? multi-start metaheuristic greedy
randomized construction, followed by local search
(Feo Resende, 1989, 1995 Festa Resende,
2002 Resende Ribeiro, 2003) - GRASP for QAP
- Li, Pardalos, Resende (1994) GRASP for QAP
- Resende, Pardalos, Li (1996) Fortran
subroutines for dense QAPs - Pardalos, Pitsoulis, Resende (1997) Fortran
subroutines for sparse QAPs - Fleurent Glover (1999) memory mechanism in
construction
14GRASP for QAP
- GRASP ? multi-start metaheuristic greedy
randomized construction, followed by local search
(Feo Resende, 1989, 1995 Festa Resende,
2002 Resende Ribeiro, 2003) - GRASP for QAP
- Li, Pardalos, Resende (1994) GRASP for QAP
- Resende, Pardalos, Li (1996) Fortran
subroutines for dense QAPs - Pardalos, Pitsoulis, Resende (1997) Fortran
subroutines for sparse QAPs - Fleurent Glover (1999) memory mechanism in
construction
15GRASP for QAP
- repeat
- x GreedyRandomizedConstruction(?)
- x LocalSearch(x)
- save x as x if best so far
-
- return x
16Construction
- Stage 1 make two assignments fi?lk fj?ll
- Stage 2 make remaining N2 assignments of
facilities to locations, one facility/location
pair at a time
17Construction
- Stage 1 make two assignments fi?lk fj?ll
- Stage 2 make remaining N2 assignments of
facilities to locations, one facility/location
pair at a time
18Stage 1 construction
- sort distances bi,j in increasing order
bi(1),j(1)bi(2),j(2) ? ? ?
bi(N),j(N) . - sort flows ak,l in decreasing order
ak(1),l(1)?ak(2),l(2) ? ? ? ? ?
ak(N),l(N) . - sort products
ak(1),l(1) ? bi(1),j(1), ak(2),l(2) ?
bi(2),j(2), , ak(N),l(N) ? bi(N),j(N) - among smallest products, select ak(q),l(q) ?
bi(q),j(q) at random corresponding to
assignments fk(q)?li(q) fl(q)?lj(q)
19Stage 1 construction
- sort distances bi,j in increasing order
bi(1),j(1)bi(2),j(2) ? ? ?
bi(N),j(N) . - sort flows ak,l in decreasing order
ak(1),l(1)?ak(2),l(2) ? ? ? ? ?
ak(N),l(N) . - sort products
ak(1),l(1) ? bi(1),j(1), ak(2),l(2) ?
bi(2),j(2), , ak(N),l(N) ? bi(N),j(N) - among smallest products, select ak(q),l(q) ?
bi(q),j(q) at random corresponding to
assignments fk(q)?li(q) fl(q)?lj(q)
20Stage 1 construction
- sort distances bi,j in increasing order
bi(1),j(1)bi(2),j(2) ? ? ?
bi(N),j(N) . - sort flows ak,l in decreasing order
ak(1),l(1)?ak(2),l(2) ? ? ? ? ?
ak(N),l(N) . - sort products
ak(1),l(1) ? bi(1),j(1), ak(2),l(2) ?
bi(2),j(2), , ak(N),l(N) ? bi(N),j(N) - among smallest products, select ak(q),l(q) ?
bi(q),j(q) at random corresponding to
assignments fk(q)?li(q) fl(q)?lj(q)
21Stage 1 construction
- sort distances bi,j in increasing order
bi(1),j(1)bi(2),j(2) ? ? ?
bi(N),j(N) . - sort flows ak,l in decreasing order
ak(1),l(1)?ak(2),l(2) ? ? ? ? ?
ak(N),l(N) . - sort products
ak(1),l(1) ? bi(1),j(1), ak(2),l(2) ?
bi(2),j(2), , ak(N),l(N) ? bi(N),j(N) - among smallest products, select ak(q),l(q) ?
bi(q),j(q) at random corresponding to
assignments fk(q)?li(q) fl(q)?lj(q)
22Stage 2 construction
- If O (i1,k1),(i2,k2), , (iq,kq) are the q
assignments made so far, then - Cost of assigning fj?ll is
- Of all possible assignments, one is selected at
random from the assignments having smallest costs
and is added to O -
23Stage 2 construction
- If O (i1,k1),(i2,k2), , (iq,kq) are the q
assignments made so far, then - Cost of assigning fj?ll is
- Of all possible assignments, one is selected at
random from the assignments having smallest costs
and is added to O -
24Stage 2 construction
- If O (i1,k1),(i2,k2), , (iq,kq) are the q
assignments made so far, then - Cost of assigning fj?ll is
- Of all possible assignments, one is selected at
random from the assignments having smallest costs
and is added to O -
Sped up in Pardalos, Pitsoulis, Resende (1997)
for QAPs with sparse A or B matrices.
25Swap based local search
- For all pairs of assignments fi?lk fj?ll,
test if swapped assignment fi?ll fj?lk
improves solution. - If so, make swap and return to step (a)
26Swap based local search
- For all pairs of assignments fi?lk fj?ll,
test if swapped assignment fi?ll fj?lk
improves solution. - If so, make swap and return to step (a)
repeat (a)-(b) until no swap improves current
solution
27Path-relinking
- Path-relinking
- Intensification strategy exploring trajectories
connecting elite solutions Glover (1996) - Originally proposed in the context of tabu search
and scatter search. - Paths in the solution space leading to other
elite solutions are explored in the search for
better solutions - selection of moves that introduce attributes of
the guiding solution into the current solution
28Path-relinking
- Path-relinking
- Intensification strategy exploring trajectories
connecting elite solutions Glover (1996) - Originally proposed in the context of tabu search
and scatter search. - Paths in the solution space leading to other
elite solutions are explored in the search for
better solutions - selection of moves that introduce attributes of
the guiding solution into the current solution
29Path-relinking
- Path-relinking
- Intensification strategy exploring trajectories
connecting elite solutions Glover (1996) - Originally proposed in the context of tabu search
and scatter search. - Paths in the solution space leading to other
elite solutions are explored in the search for
better solutions - selection of moves that introduce attributes of
the guiding solution into the current solution
30Path-relinking
- Exploration of trajectories that connect high
quality (elite) solutions
31Path-relinking
- Path is generated by selecting moves that
introduce in the initial solution attributes of
the guiding solution. - At each step, all moves that incorporate
attributes of the guiding solution are evaluated
and the best move is selected
guiding solution
initial solution
32Path-relinking
- Path is generated by selecting moves that
introduce in the initial solution attributes of
the guiding solution. - At each step, all moves that incorporate
attributes of the guiding solution are evaluated
and the best move is selected
guiding solution
initial solution
33Path-relinking
- Combine solutions x and y
- ?(x,y) symmetric difference between x and y
- while ( ?(x,y) gt 0 )
- -evaluate moves corresponding in ?(x,y)
- -make best move
- -update ?(x,y)
y
x
34GRASP with path-relinking
- Originally used by Laguna and Martí (1999).
- Maintains a set of elite solutions found during
GRASP iterations. - After each GRASP iteration (construction and
local search) - Use GRASP solution as initial solution.
- Select an elite solution uniformly at random
guiding solution. - Perform path-relinking between these two
solutions.
35GRASP with path-relinking
- Originally used by Laguna and Martí (1999).
- Maintains a set of elite solutions found during
GRASP iterations. - After each GRASP iteration (construction and
local search) - Use GRASP solution as initial solution.
- Select an elite solution uniformly at random
guiding solution. - Perform path-relinking between these two
solutions.
36GRASP with path-relinking
- Originally used by Laguna and Martí (1999).
- Maintains a set of elite solutions found during
GRASP iterations. - After each GRASP iteration (construction and
local search) - Use GRASP solution as initial solution.
- Select an elite solution uniformly at random
guiding solution. - Perform path-relinking between these two
solutions.
37GRASP with path-relinking
- Repeat for Max_Iterations
- Construct a greedy randomized solution.
- Use local search to improve the constructed
solution. - Apply path-relinking to further improve the
solution. - Update the pool of elite solutions.
- Update the best solution found.
38P-R for QAP (permutation vectors)
39Path-relinking for QAP
- If swap improves solution local search is
applied
guiding solution
initial solution
local min
local min
If local min improves incumbent, it is saved.
40Path-relinking for QAP
- Results of path relinking S
T
S
SN
S0
S3
S1
S2
If c(S) lt min c(S), c(T), and c(S) c(Si),
for i1,,N, i.e. S is best solution in path,
then S is returned.
41Path-relinking for QAP
- Si is a local minimum w.r.t. PR
c(Si) lt c(Si1) and c(Si) lt c(Si1),
for all i1,,N. - If path-relinking does not improve (S,T), then if
Si is a best local min w.r.t. PR return S Si
guiding solution
initial solution
S
T
Si1
S
Si1
Si
SN
S0
If no local min exists, return SargminS,T
42PR pool management
- S is candidate for inclusion in pool of elite
solutions (P) - If c(S) lt c(Se), for all Se? P, then S is put
in P - Else, if c(S) lt maxc(Se), Se? P and
?(S,Se) ? 3, for all Se? P, then S is put in
P - If pool is full, remove
argmin ?(S,Se), ? Se? P s.t. c(Se)
? c(S)
43PR pool management
- S is candidate for inclusion in pool of elite
solutions (P) - If c(S) lt c(Se), for all Se? P, then S is put
in P - Else, if c(S) lt maxc(Se), Se? P and
?(S,Se) ? 3, for all Se? P, then S is put in
P - If pool is full, remove
argmin ?(S,Se), ? Se? P s.t. c(Se)
? c(S)
44PR pool management
- S is candidate for inclusion in pool of elite
solutions (P) - If c(S) lt c(Se), for all Se? P, then S is put
in P - Else, if c(S) lt maxc(Se), Se? P and
?(S,Se) ? 3, for all Se? P, then S is put in
P - If pool is full, remove
argmin ?(S,Se), ? Se? P s.t. c(Se)
? c(S)
45PR pool management
- S is candidate for inclusion in pool of elite
solutions (P) - If c(S) lt c(Se), for all Se? P, then S is put
in P - Else, if c(S) lt maxc(Se), Se? P and
?(S,Se) ? 3, for all Se? P, then S is put in
P - If pool is full, remove
argmin ?(S,Se), ? Se? P s.t. c(Se)
? c(S)
46PR pool management
- S is initial solution for path-relinking favor
choice of target solution T with large symmetric
difference with S.
This leads to longer paths in path-relinking.
Probability of choosing Se ? P
47Experimental results
- Compare GRASP with and without path-relinking.
- New GRASP code in C outperforms old Fortran
codes we use same code to compare algorithms - All QAPLIB (Burkhard, Karisch, Rendl, 1991)
instances of size N 40 - 100 independent runs of each algorithm, recording
CPU time to find the best known solution for
instance
48Experimental results
- Compare GRASP with and without path-relinking.
- New GRASP code in C outperforms old Fortran
codes we use same code to compare algorithms - All QAPLIB (Burkhard, Karisch, Rendl, 1991)
instances of size N 40 - 100 independent runs of each algorithm, recording
CPU time to find the best known solution for
instance
49Experimental results
- Compare GRASP with and without path-relinking.
- New GRASP code in C outperforms old Fortran
codes we use same code to compare algorithms - All QAPLIB (Burkhard, Karisch, Rendl, 1991)
instances of size N 40 - 100 independent runs of each algorithm, recording
CPU time to find the best known solution for
instance
50Experimental results
- Compare GRASP with and without path-relinking.
- New GRASP code in C outperforms old Fortran
codes we use same code to compare algorithms - All QAPLIB (Burkhard, Karisch, Rendl, 1991)
instances of size N 40 - 100 independent runs of each algorithm, recording
CPU time to find the best known solution for
instance
51Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
52Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
53Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
54Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
55Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
56Experimental results
- SGI Challenge computer (196 MHz R10000 processors
(28) and 7 Gb memory) - Single processor used for each run
- GRASP RCL parameter ? chosen at random in
interval 0,1 at each GRASP iteration. - Size of elite set 30
- Path-relinking done in both directions (S to T to
S) - Care taken to ensure that GRASP and GRASP with
path-relinking iterations are in sync
57Time-to-target-value plots
Sort times such that t1 t2 t100 and
plot ti,pi, for i1,,N, where pi (i.5)/100
Random variable time-to-target-solution value
fits a two-parameter exponential distribution
(Aiex, Resende, Ribeiro, 2002).
58Time-to-target-value plots
In 80 of trials target solution is found in less
than 1.4 s
Probability of finding target solution in less
than 1 s is about 70.
59Time-to-target-value plots
ALG 1
ALG 2
For a given time, compare probabilities of
finding target solution in at most that time.
For a given probability, compare times required
to find with given probability.
We say ALG 1 is faster than ALG 2
60C.E. Nugent, T.E. Vollmann and J. Ruml 1968
nug12
nug20
nug25
nug30
61E.D. Taillard 1991, 1994
tai17a
tai15a
tai20a
tai25a
62Y. Li and P.M. Pardalos 1992
lipa30a
lipa20a
lipa40a
63U.W. Thonemann and A. Bölte 1994
tho30
tho40
64L. Steinberg 1961
ste36a
ste36b
ste36c
65M. Scriabin and R.C. Vergin 1975
scr12
scr15
scr20
66S.W. Hadley, F. Rendl and H. Wolkowicz 1992
had14
had16
had20
had18
67R.E. Burkard and J. Offermann 1977
bur26a
bur26b
bur26c
bur26d
68N. Christofides and E. Benavent 1989
chr18a
chr20a
chr22a
chr25a
69C. Roucairol 1987
rou12
rou15
rou20
70J. Krarup and P.M. Pruzan 1978
kra30a
kra30b
71B. Eschermann and H.J. Wunderlich 1990
esc32a
esc32b
esc32h
esc32d
72B. Eschermann and H.J. Wunderlich 1990
esc32e
esc32c
esc32f
esc32g
73Remarks
- New heuristic for the QAP is described.
- Path-relinking shown to improve performance of
GRASP on almost all instances. - Experimental results and code are available at
http//www.research.att.com/mgcr/exp/gqapspr
74Remarks
- New heuristic for the QAP is described.
- Path-relinking shown to improve performance of
GRASP on almost all instances. - Experimental results and code are available at
http//www.research.att.com/mgcr/exp/gqapspr
75Remarks
- New heuristic for the QAP is described.
- Path-relinking shown to improve performance of
GRASP on almost all instances. - Experimental results and code are available at
http//www.research.att.com/mgcr/exp/gqapspr
76Classical Metaheuristics
- Simulated Annealing
- Genetic Algorithms
- Memetic Algorithms
- Tabu Search
- GRASP
- Variable Neighborhood Search
- etc
- (see Handbook of Applied Optimization, P. M.
Pardalos - and M. G. Resende, Oxford University Press, Inc.,
2002)
77Simulated Annealing
Input A problem instance Output A (sub-optimal)
solution 1. Generate an initial solution at
random and initialize the temperature T 2.
While (T gt 0) do (a) While (thermal
equilibrium not reached) do (i)
Generate a neighbor state at random and evaluate
the change in energy level
?E (ii) If ?E lt 0, update current
state with new state (iii) If ?E
lt 0, update current state with new state with
probability (b)
Decrease temperature T according to annealing
schedule 3. Output the solution having the
lowest energy
- Input A problem instance
- Output A (sub-optimal) solution
- 1. Generate an initial solution at random and
initialize the - temperature T
- 2. While (T gt 0) do
- (a) While (thermal equilibrium not
reached) do - (i) Generate a neighbor state at
random and evaluate - the change in energy level ?E
- (ii) If ?E lt 0, update current
state with new state - (iii) If ?E lt 0, update current
state with new state with -
- probability
-
- (b) Decrease temperature T according to
annealing schedule - 3. Output the solution having the lowest energy
78Genetic Algorithms
Input A problem instance Output A (sub-optimal)
solution 1. t0, Initialize P(t), evaluate the
fitness of the individuals in P(t) 2. While
(termination condition is not satisfied) do
(i) t t1 (ii) Select P(t), recombine
P(t) and evaluate P(t) 3. Output the best
solution among all the population as the
(sub-optimal) solution
- Input A problem instance
- Output A (sub-optimal) solution
- 1. t0, Initialize P(t), evaluate the fitness of
- the individuals in P(t)
- 2. While (termination condition is not satisfied)
do - (i) t t1
- (ii) Select P(t), recombine P(t) and
evaluate P(t) - 3. Output the best solution among all the
population as the (sub-optimal) solution
79Memetic Algorithms
Input A problem instance Output A (sub-optimal)
solution 1. t0, Initialize P(t), evaluate the
fitness of the individuals in P(t) 2. While
(termination condition is not satisfied) do
(i) t t1 (ii) Select P(t), recombine
P(t), perform local search on each
individual of P(t), evaluate P(t) 3.
Output the best solution among all the
population as the (sub-optimal) solution
- Input A problem instance
- Output A (sub-optimal) solution
- 1. t0, Initialize P(t), evaluate the fitness of
- the individuals in P(t)
- 2. While (termination condition is not satisfied)
do - (i) t t1
- (ii) Select P(t), recombine P(t), perform
local - search on each individual of P(t),
- evaluate P(t)
- 3. Output the best solution among all the
population as the (sub-optimal) solution
80Tabu Search
Input A problem instance Output A (sub-optimal)
solution 1. Initialization (i) Generate an
initial solution x and set xx (ii) Initialize
the tabu list TØ (ii) Set iteration cunters k0
and m0 2. While (N(x)\T ? Ø) do (i)
kk1 mm1 (ii) Select x as the best
solution from set N(x)\T (iii) If f(x) lt
f(x) then update xx and set m0 (iv) if
kkmax or mmmax go to step 3 3. Output the
best solution found x
- Input A problem instance
- Output A (sub-optimal) solution
- 1. Initialization
- (i) Generate an initial solution x and set xx
- (ii) Initialize the tabu list TØ
- (ii) Set iteration cunters k0 and m0
- 2. While (N(x)\T ? Ø) do
- (i) kk1 mm1
- (ii) Select x as the best solution from
set N(x)\T - (iii) If f(x) lt f(x) then update xx
and set m0 - (iv) if kkmax or mmmax go to step 3
- 3. Output the best solution found x
81GRASP
Input A problem instance Output A (sub-optimal)
solution 1. Repeat for Max_Iterations (i)
Construct a greedy randomized solution (ii) Use
local search to improve the constructed
solution (ii) Update the best solution found 2.
Output the best solution among all the
population as the (sub-optimal) solution
- Input A problem instance
- Output A (sub-optimal) solution
- 1. Repeat for Max_Iterations
- (i) Construct a greedy randomized solution
- (ii) Use local search to improve the constructed
- solution
- (ii) Update the best solution found
- 2. Output the best solution among all the
population as the (sub-optimal) solution
82VNS (Variable Neighborhood Search)
Input A problem instance Output A (sub-optimal)
solution 1. Initialization (i) Select the set
of neighborhood structures Nk, k1,,kmax, that
will be used in the search (ii) Find an
initial solution x (iii) Choose a stopping
condition 2. Repeat until stopping condition is
met (i) k1 (ii) While (k kmax)
do (a) Shaking Generate a point y
at random from Nk(x) (b) Local
Search Apply some local search method with y as
initial solution
Let z be the local optimum
(c) Move or not If z is better than the
incumbent, move there (x z), and set
k1 otherwise set
kk1 3. Output the incumbent solution
- Input A problem instance
- Output A (sub-optimal) solution
- 1. Initialization
- (i) Select the set of neighborhood structures Nk,
k1,,kmax, that will be used in the - search
- (ii) Find an initial solution x
- (iii) Choose a stopping condition
- 2. Repeat until stopping condition is met
- (i) k1
- (ii) While (k kmax) do
- (a) Shaking Generate a point y at
random from Nk(x) - (b) Local Search Apply some local
search method with y as initial solution - Let z be
the local optimum - (c) Move or not If z is better than
the incumbent, move there (x z), and set - k1
otherwise set kk1 - 3. Output the incumbent solution
83GRASP in more detaitls
- Construction phase greediness randomization
- Builds a feasible solution
- Use greediness to build restricted candidate list
and apply randomness to select an element from
the list. - Use randomness to build restricted candidate list
and apply greediness to select an element from
the list. - Local search search in the current neighborhood
until a local optimum is found - Solutions generated by the construction procedure
are not necessarily optimal - Effectiveness of local search depends on
neighborhood structure, search strategy, and fast
evaluation of neighbors, but also on the
construction procedure itself.
84Construction phase
- Greedy Randomized Construction
- Solution ? ?
- Evaluate incremental costs of candidate elements
- While Solution is not complete do
- Build restricted candidate list (RCL)
- Select an element s from RCL at random
- Solution ? Solution ? s
- Reevaluate the incremental costs.
- endwhile
85Construction phase
- Minimization problem
- Basic construction procedure
- Greedy function c(e) incremental cost associated
with the incorporation of element e into the
current partial solution under construction - cmin (resp. cmax) smallest (resp. largest)
incremental cost - RCL made up by the elements with the smallest
incremental costs.
86Construction phase
- Cardinality-based construction
- p elements with the smallest incremental costs
- Quality-based construction
- Parameter ? defines the quality of the elements
in RCL. - RCL contains elements with incremental cost
cmin ? c(e) ? cmin ? (cmax
cmin) - ? 0 pure greedy construction
- ? 1 pure randomized construction
- Select at random from RCL using uniform
probability distribution
87Illustrative results RCL parameter
weighted MAX-SAT instance
greedy
random
RCL parameter a
SGI Challenge 196 MHz
88Illustrative results RCL parameter
best solution
average solution
solution value
time (seconds) for 1000 iterations
time
weighted MAX-SAT instance 100 variables and 850
clauses
random
greedy
RCL parameter a
SGI Challenge 196 MHz
89Path-relinking
- Path-relinking
- Intensification strategy exploring trajectories
connecting elite solutions Glover (1996) - Originally proposed in the context of tabu search
and scatter search. - Paths in the solution space leading to other
elite solutions are explored in the search for
better solutions - selection of moves that introduce attributes of
the guiding solution into the current solution
90Path-relinking
- Exploration of trajectories that connect high
quality (elite) solutions
91Path-relinking
- Path is generated by selecting moves that
introduce in the initial solution attributes of
the guiding solution. - At each step, all moves that incorporate
attributes of the guiding solution are evaluated
and the best move is selected
guiding solution
initial solution
92Path-relinking
- Elite solutions x and y
- ?(x,y) symmetric difference between x and y
- while ( ?(x,y) gt 0 )
- evaluate moves corresponding in ?(x,y) make
best move - update ?(x,y)
93GRASP 3-index assignment (AP3)
Complete tripartite graph Each triangle made up
of three distinctly colored nodes has a cost.
AP3 Find a set of triangles such that each node
appears in exactly one triangle and the sum of
the costs of the triangles is minimized.
cost 10
943-index assignment (AP3)
- Construction Solution is built by selecting n
triplets, one at a time, biased by triplet costs. - Local search Explores O(n2) size neighborhood of
current solution, moving to better solution if
one is foundAiex, Pardalos, Resende, Toraldo
(2003)
953-index assignment (AP3)
- Path relinking is done between
- Initial solution
- S (1, j1S, k1S ), (2, j2S, k2S ),
, (n, jnS, knS ) - Guiding solution
- T (1, j1T, k1T ), (2, j2T, k2T ),
, (n, jnT, knT )
96GRASP with path-relinking
- Originally used by Laguna and Martí (1999).
- Maintains a set of elite solutions found during
GRASP iterations. - After each GRASP iteration (construction and
local search) - Use GRASP solution as initial solution.
- Select an elite solution uniformly at random
guiding solution (may also be selected with
probabilities proportional to the symmetric
difference w.r.t. the initial solution). - Perform path-relinking between these two
solutions.
97GRASP with path-relinking
- Repeat for Max_Iterations
- Construct a greedy randomized solution.
- Use local search to improve the constructed
solution. - Apply path-relinking to further improve the
solution. - Update the pool of elite solutions.
- Update the best solution found.
98GRASP with path-relinking
- Variants trade-offs between computation time and
solution quality - Explore different trajectories (e.g. backward,
forward) better start from the best,
neighborhood of the initial solution is fully
explored! - Explore both trajectories twice as much the
time, often with marginal improvements only! - Do not apply PR at every iteration, but instead
only periodically similar to filtering during
local search. - Truncate the search, do not follow the full
trajectory. - May also be applied as a post-optimization step
to all pairs of elite solutions.
99GRASP with path-relinking
- Successful applications
- Prize-collecting minimum Steiner tree problem
Canuto, Resende, Ribeiro (2001) (e.g.
improved all solutions found by approximation
algorithm of Goemans Williamson) - Minimum Steiner tree problem
Ribeiro, Uchoa, Werneck (2002)
(e.g., best known results for open problems in
series dv640 of the SteinLib) - p-median Resende Werneck (2002) (e.g., best
known solutions for problems in literature)
100GRASP with path-relinking
- Successful applications (contd)
- Capacitated minimum spanning treeSouza,
Duhamel, Ribeiro (2002) (e.g., best known
results for largest problems with 160 nodes) - 2-path network design Ribeiro Rosseti (2002)
(better solutions than greedy heuristic) - Max-Cut Festa, Pardalos, Resende, Ribeiro
(2002) (e.g., best known results for several
instances) - Quadratic assignment Oliveira, Pardalos,
Resende (2003)
101GRASP with path-relinking
- Successful applications (contd)
- Job-shop scheduling Aiex, Binato, Resende
(2003) - Three-index assignment problem Aiex, Resende,
Pardalos, Toraldo (2003) - PVC routing Resende Ribeiro (2003)
- Phylogenetic trees Ribeiro Vianna (2003)
102GRASP with path-relinking
- P is a set (pool) of elite solutions.
- Each iteration of first P GRASP iterations adds
one solution to P (if different from others). - After that solution x is promoted to P if
- x is better than best solution in P.
- x is not better than best solution in P, but is
better than worst and is sufficiently different
from all solutions in P.
103(No Transcript)
104Parallelization of GRASP
- GRASP is easy to implement in parallel
- parallelization by problem decomposition
- Feo, R., Smith (1994)
- iteration parallelization
- Pardalos, Pitsoulis, R. (1995) Pardalos,
Pitsoulis, R. (1996) - Alvim (1998) Martins Ribeiro (1998)
- Murphey, Pardalos, Pitsoulis (1998)
- R. (1998) Martins, R., Ribeiro (1999)
- Aiex, Pardalos, R., Toraldo (2000)
- GRASP is easy to implement in parallel
- parallelization by problem decomposition
- Feo, R., Smith (1994)
- iteration parallelization
- Pardalos, Pitsoulis, R. (1995) Pardalos,
Pitsoulis, R. (1996) - Alvim (1998) Martins Ribeiro (1998)
- Murphey, Pardalos, Pitsoulis (1998)
- R. (1998) Martins, R., Ribeiro (1999)
- Aiex, Pardalos, R., Toraldo (2000)
105Parallel independent implementation
- Parallelism in metaheuristics robustnessCung,
Martins, Ribeiro, Roucairo (2001) - Multiple-walk independent-thread strategy
- p processors available
- Iterations evenly distributed over p processors
- Each processor keeps a copy of data and
algorithms. - One processor acts as the master handling seeds,
data, and iteration counter, besides performing
GRASP iterations. - Each processor performs Max_Iterations/p
iterations.
106Parallel independent implementation
seed(1)
seed(2)
seed(3)
seed(4)
seed(p-1)
Elite
Elite
Elite
Elite
Elite
1
2
3
4
p-1
Best solution is sent to the master.
Elite
p
seed(p)
107Parallel cooperative implementation
- Multiple-walk cooperative-thread strategy
- p processors available
- Iterations evenly distributed over p-1 processors
- Each processor has a copy of data and algorithms.
- One processor acts as the master handling seeds,
data, and iteration counter and handles the pool
of elite solutions, but does not perform GRASP
iterations. - Each processor performs Max_Iterations/(p1)
iterations.
108Parallel cooperative implementation
Master
Elite solutions are stored in a centralized pool.
p
2
3
Slave
Slave
Slave
109Cooperative vs. independent strategies (for 3AP)
Independent
Cooperative
- Same instance 15 runs with different seeds, 3200
iterations - Pool is poorer when fewer GRASP iterations are
done and solution quality deteriorates
1103-index assignment (AP3)
Speedup on 3-index assignment bs24
SGI Challenge 196 MHz
111Evaluation of Heuristics
- Experimental design
- - problem instances
- - problem characteristics of interest
(e.g., - instance size, density, etc.)
- - upper/lower/optimal values
112Evaluation of Heuristics (cont.)
- Sources of test instances
- - Real data sets
- It is easy to obtain real data sets
- - Random variants of real data sets
- The structure of the instance is
preserved - (e.g., graph), but details are
changed (e.g., - distances, costs)
113Evaluation of Heuristics (cont.)
- - Test Problem Libraries
- - Test problem collections with best
known solution - - Test problem generators with known
optimal - solutions (e.g., QAP generators,
Maximum Clique, - Steiner Tree Problems, etc)
-
114Evaluation of Heuristics (cont.)
- Test problem generators with known optimal
solutions (cont.) - C.A. Floudas, P.M. Pardalos, C.S. Adjiman, W.R.
Esposito, Z. Gumus, S.T. Harding, J.L. Klepeis,
C.A. Meyer, and C.A. Schweiger, Handbook of Test
Problems for Local and Global Optimization,
Kluwer Academic Publishers, (1999). - C.A. Floudas and P.M. Pardalos, A Collection of
Test Problems for Constrained Global Optimization
Algorithms, Springer-Verlag, Lecture Notes in
Computer Science 455 (1990). - J. Hasselberg, P.M. Pardalos and G.
Vairaktarakis, Test case generators and
computational results for the maximum clique
problem, Journal of Global Optimization 3 (1993),
pp. 463-482. - B. Khoury, P.M. Pardalos and D.-Z. Du, A test
problem generator for the steiner problem in
graphs, ACM Transactions on Mathematical
Software, Vol. 19, No. 4 (1993), pp. 509-522. - Y. Li and P.M. Pardalos, Generating quadratic
assignment test problems with known optimal
permutations, Computational Optimization and
Applications Vol. 1, No. 2 (1992), pp. 163-184. - P. Pardalos, "Generation of Large-Scale Quadratic
Programs", ACM Transactions on Mathematical
Software, - Vol. 13, No. 2, p. 133.
- P.M. Pardalos, Construction of test problems in
quadratic bivalent programming, ACM Transactions
on Mathematical Software, Vol. 17, No. 1 (1991),
pp. 74-87. - P.M. Pardalos, Generation of large-scale
quadratic programs for use as global optimization
test problems, ACM Transactions on Mathematical
Software, Vol. 13, No. 2 (1987), pp. 133-137.
115Evaluation of Heuristics (cont.)
- - Random generated instances (quickest and
easiest way to obtain supply of test - instances)
116Evaluation of Heuristics (cont.)
- Performance measurement
- - Time (most used, but difficult to assess
- due to differences among computers)
- - Solution Quality
117Evaluation of Heuristics (cont.)
- Solution Quality
- - Exact solutions of small instances
- For small instances verify results
with - exact algorithms
- - Lower and upper bounds
- In many cases the problem of finding
good bounds - is as difficult as solving the
original problem
118Evaluation of Heuristics (cont.)
- Space covering techniques
119Success Stories
- The success of metaheuristics can be seen by the
numerous applications for which they have been
applied. - Examples
- Scheduling, routing, logic, partitioning
- location
- graph theoretic
- QAP other assignment problems
- miscellaneous problems
120Concluding Remarks
- Metaheuristics have been shown to perform well in
practice - Many times the globally optimal solution is found
but there is no certificate of optimality - Large problem instances can be solved
implementing metaheuristics in parallel - It seems it is the most practical way to deal
with massive data set
121References
- Handbook of Applied Optimization
- Edited by Panos M. Pardalos and Mauricio G. C.
Resende, Oxford University Press, Inc., 2002 - Handbook of Massive Data SetsSeries Massive
Computing, Vol. 4 Edited by J. Abello, P.M.
Pardalos, M.G. Resende, Kluwer Academic
Publishers, 2002.
122