Panos M' Pardalos - PowerPoint PPT Presentation

1 / 122
About This Presentation
Title:

Panos M' Pardalos

Description:

... where bi,j is the distance between locations li and lj ... Construct a greedy randomized solution. Use local search to improve the constructed solution. ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 123
Provided by: Clau296
Category:

less

Transcript and Presenter's Notes

Title: Panos M' Pardalos


1
Workshop 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
2
Outline
  • 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)

3
Metaheuristics
  • 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.

4
Quadratic 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

5
Quadratic 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

6
Quadratic 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

7
Quadratic 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
8
Quadratic 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
9
Quadratic 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
10
Quadratic 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
11
Quadratic 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
12
Quadratic 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
13
GRASP 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

14
GRASP 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

15
GRASP for QAP
  • repeat
  • x GreedyRandomizedConstruction(?)
  • x LocalSearch(x)
  • save x as x if best so far
  • return x

16
Construction
  • 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

17
Construction
  • 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

18
Stage 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)

19
Stage 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)

20
Stage 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)

21
Stage 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)

22
Stage 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

23
Stage 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

24
Stage 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.
25
Swap 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)

26
Swap 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
27
Path-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

28
Path-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

29
Path-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

30
Path-relinking
  • Exploration of trajectories that connect high
    quality (elite) solutions

31
Path-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
32
Path-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
33
Path-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
34
GRASP 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.

35
GRASP 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.

36
GRASP 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.

37
GRASP 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.

38
P-R for QAP (permutation vectors)
39
Path-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.
40
Path-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.
41
Path-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
42
PR 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)

43
PR 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)

44
PR 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)

45
PR 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)

46
PR 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
47
Experimental 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

48
Experimental 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

49
Experimental 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

50
Experimental 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

51
Experimental 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

52
Experimental 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

53
Experimental 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

54
Experimental 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

55
Experimental 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

56
Experimental 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

57
Time-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).
58
Time-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.
59
Time-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
60
C.E. Nugent, T.E. Vollmann and J. Ruml 1968
nug12
nug20
nug25
nug30
61
E.D. Taillard 1991, 1994
tai17a
tai15a
tai20a
tai25a
62
Y. Li and P.M. Pardalos 1992
lipa30a
lipa20a
lipa40a
63
U.W. Thonemann and A. Bölte 1994
tho30
tho40
64
L. Steinberg 1961
ste36a
ste36b
ste36c
65
M. Scriabin and R.C. Vergin 1975
scr12
scr15
scr20
66
S.W. Hadley, F. Rendl and H. Wolkowicz 1992
had14
had16
had20
had18
67
R.E. Burkard and J. Offermann 1977
bur26a
bur26b
bur26c
bur26d
68
N. Christofides and E. Benavent 1989
chr18a
chr20a
chr22a
chr25a
69
C. Roucairol 1987
rou12
rou15
rou20
70
J. Krarup and P.M. Pruzan 1978
kra30a
kra30b
71
B. Eschermann and H.J. Wunderlich 1990
esc32a
esc32b
esc32h
esc32d
72
B. Eschermann and H.J. Wunderlich 1990
esc32e
esc32c
esc32f
esc32g
73
Remarks
  • 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

74
Remarks
  • 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

75
Remarks
  • 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

76
Classical 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)

77
Simulated 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

78
Genetic 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

79
Memetic 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

80
Tabu 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

81
GRASP
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

82
VNS (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

83
GRASP 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.

84
Construction 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

85
Construction 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.

86
Construction 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

87
Illustrative results RCL parameter
weighted MAX-SAT instance
greedy
random
RCL parameter a
SGI Challenge 196 MHz
88
Illustrative 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
89
Path-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

90
Path-relinking
  • Exploration of trajectories that connect high
    quality (elite) solutions

91
Path-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
92
Path-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)

93
GRASP 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
94
3-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)

95
3-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 )

96
GRASP 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.

97
GRASP 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.

98
GRASP 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.

99
GRASP 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)

100
GRASP 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)

101
GRASP 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)

102
GRASP 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)
104
Parallelization 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)

105
Parallel 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.

106
Parallel 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)
107
Parallel 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.

108
Parallel cooperative implementation
Master
Elite solutions are stored in a centralized pool.
p
2
3
Slave
Slave
Slave
109
Cooperative 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

110
3-index assignment (AP3)
Speedup on 3-index assignment bs24
SGI Challenge 196 MHz
111
Evaluation of Heuristics
  • Experimental design
  • - problem instances
  • - problem characteristics of interest
    (e.g.,
  • instance size, density, etc.)
  • - upper/lower/optimal values

112
Evaluation 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)

113
Evaluation 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)

114
Evaluation 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.

115
Evaluation of Heuristics (cont.)
  • - Random generated instances (quickest and
    easiest way to obtain supply of test
  • instances)

116
Evaluation of Heuristics (cont.)
  • Performance measurement
  • - Time (most used, but difficult to assess
  • due to differences among computers)
  • - Solution Quality

117
Evaluation 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

118
Evaluation of Heuristics (cont.)
  • Space covering techniques

119
Success 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

120
Concluding 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

121
References
  • 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
  • THANK YOU ALL.
Write a Comment
User Comments (0)
About PowerShow.com