Title: 1/35 PAREO
1PAREO 2002 Guadeloupe, May 20-24, 2002
A Parallel GRASP with Path-Relinking Heuristic
for the 2-Path Network Design Problem
Celso C.
RIBEIRO
Isabel ROSSETI Catholic
University of Rio de Janeiro
Brazil
Gosier, Guadeloupe
2Summary
- Problem formulation
- GRASP with path-relinking heuristic
- Construction phase
- Local search phase
- Path-relinking
- Parallel implementation
- Independent strategy
- Cooperative strategy
- Computational results
- Concluding remarks
32-path network design problem
- Graph G (V,E)
- V node set
- E edge set
- weights we associated with each edge e ? E
- k-path between nodes s,t ? V sequence of at most
k edges connecting s and t - D set of demands (origin-destination pairs)
42-path network design problem
- 2-path network design problem (2PNDP)
- Find a minimum weighted subset of edges E ? E
containing a 2-path in G between the extremities
of every origin-destination pair in D - Applications design of communication networks,
in which paths with few edges are sought to
enforce high reliability and small delays
52-path network design problem
- Dahl Johannessen (2000)
- Decision version of 2PNDP is NP-complete.
- Approximate algorithm
- Exact cutting plane algorithm
- Balakrishnan Altinkemer (1992)
- Integer programming formulation for kPNDP
- See also LeBlanc, Chifflet Mahey (1999).
- Generalizations k-hop minimum spanning tree,
k-hop minimum Steiner tree
6GRASP with path-relinking
- GRASP
- Multistart metaheuristic Feo Resende (1989)
- Path-relinking
- Intensification strategy Glover (1996)
- 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
7GRASP with path-relinking
- GRASP
- Construction phase
- Set the modified weights equal to the original
weights. - Randomly select an origin-destination pair (a,b)
? D. - Compute a shortest 2-path between a and b using
the modified weights. - Set to 0 the modified weights of the edges in
this path. - Remove (a,b) from D.
- If D is empty stop, otherwise go back to step 2.
8GRASP with path-relinking
- GRASP
- Local search phase
- Generate a circular random permutation of the
pairs in D. - Select the next origin-destination pair (a,b) ?
D. - Tentatively replace the shortest 2-path between a
and b - Weights of edges used by other 2-paths are
temporarilly set to 0. - Compute a new shortest 2-path between a and b.
- Update the current solution if it is improved by
the new 2-path. - Restore all original edge weights.
- If D paths have been investigated without
improvement stop, otherwise go back to step 2.
9GRASP with path-relinking
- Path-relinking introduced in the context of tabu
search by Glover (1996) - Intensification strategy using set of elite
solutions - Consists in exploring trajectories that connect
high quality solutions.
guiding solution
path in neighborhood of solutions
initial solution
10GRASP with 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 taken
guiding solution
Initial solution
11GRASP with 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)
12GRASP with path-relinking
- Maintain an elite set of solutions found during
GRASP iterations. - After each GRASP iteration (construction and
local search) - Select an elite solution at random guiding
solution. - Use GRASP solution as initial solution.
- Perform path-relinking between these two
solutions.
13GRASP with path-relinking
- Successful applications
- Prize-collecting Steiner tree problem
Canuto, Resende Ribeiro (2001) - Minimum Steiner tree problem
Ribeiro, Uchoa Werneck (2002)
(e.g., best known results for open problems in
series dv640 of the SteinLib) - Three-index assignment problem Aiex et al.
(2000) - Capacitated minimum spanning treeSouza, Duhamel
Ribeiro (2002) (e.g., best known results for
largest problems with 160 nodes)
14GRASP with path-relinking
- P is a set 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.
15(No Transcript)
16Parallel implementation
- Main interest of parallel implementations of
metaheuristics robustnessCung, Martins, Ribeiro
Roucairol (2001) - Multiple-walk independent-thread strategy
- p processors available
- Iterations evenly distributed over the p
processors - Each processor keeps a copy of the algorithm and
data - One processor acts as the master (data, seeds,
iterations), but also performs GRASP iterations - Each processor performs Max_Iterations/p
iterations
17Parallel implementation independent
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)
18Parallel implementation
- Main interest of parallel implementations of
metaheuristics robustnessCung, Martins, Ribeiro
Roucairol (2001) - Multiple-walk cooperative-thread strategy
- p processors available
- Iterations evenly distributed over p-1 processors
- Each processor keeps a copy of the algorithm and
data - One processor acts as the master (data, seeds,
iterations) and controls the pool of elite
solutions - Each slave processor performs Max_Iterations/(p-1)
iterations
19Parallel implementation cooperative
Master
Elite solutions are stored in a centralized pool
Elite
1
p
2
3
Slave
Slave
Slave
20Computational results
- Parallel GRASP heuristic
- Implementation in C
- MPI LAM 6.3.2 for communication
- Linux cluster with 32 Pentium II-400 processors
- Largest instances solved
- Larger instances solved with the GRASP heuristic
V 400, E 79800, D 4000(previously
V 120, E 7140, D 60)
21Computational results
- Effectiveness
- 100 small instances with 70 nodes generated as in
Dahl and Johannessen (2000) for comparison
purposes. - Statistical test t for unpaired observations
- Parallel GRASP finds better solutions with 40 of
confidence.
Parallel GRASP Sample A DJ (2000) Sample B
Size 100 30
Mean 443.7 (-2.2) 453.7
Std. dev. 40.6 61.6
22Variants of GRASP with path-relinking
- Variants of GRASP with path-relinking
- GRASP pure GRASP
- GPR(B) GRASP with backward PR
- GPR(F) GRASP with forward PR
- GPR(BF) GRASP with two-way PRT elite solution
S local search - Other strategies
- Truncated path-relinking
- Do not apply PR at every iteration (frequency)
23Variants of GRASP with path-relinking
- Select an instance and a target value.
- For each variant of GRASP with path-relinking
- Perform 200 runs using different seeds.
- Stop when a solution value at least as good as
the target is found. - For each run, measure the time-to-target-value.
- Plot the probabilities of finding a solution at
least as good as the target value within some
computation time.
24Variants of GRASP with path-relinking
Each variant 200 runs for one instance of 2PNDP
25Variants of GRASP with path-relinking
- Same computation time probability of finding a
solution at least as good as the target value
increases from GRASP ? GPR(F) ? GPR(B) ?
GPR(BF) - P(h,t) probability that variant h finds a
solution as good as the target value in time no
greater than t - P(GRASP,10s) 2 P(GPR(F),10s)
56P(GPR(B),10s) 75 P(GPR(BF),10s) 84 - Effectiveness of path-relinking to improve and
speedup the pure GRASP
26Independent strategy speedups
- Linear speedups V 400, 3200 iterations,
GPR(BF)
27Cooperative vs. independent strategy
Independent
Cooperative
- Solution quality
- Same instance 15 runs with different
seeds, 3200 iterations - The pool is poorer when fewer GRASP iterations
are performed
Procs. best avg. best avg.
1 520 525.4 - -
2 519 524.5 519 526.4
4 524 527.8 521 526.3
8 524 529.5 521 526.5
16 533 535.1 515 525.0
32 538 541.2 521 526.3
28Cooperative vs. independent strategy
Procs. Indep. Coop.
1 1358.5 -
2 682.2 2192.1
4 333.0 740.4
8 165.0 312.4
16 81.6 197.9
32 41.2 182.7
29Cooperative vs. independent strategy
- Select an instance and a target value.
- For each strategy
- Perform 100 runs using different seeds (not all
runs already performed). - Stop when a solution value at least as good as
the target is found. - For each run, measure the time-to-target-value.
- Plot the probabilities of finding a solution at
least as good as the target value within some
computation time.
30Cooperative vs. independent strategy
31Cooperative vs. independent strategy
32Cooperative vs. independent strategy
33Cooperative vs. independent strategy
- Recall that when p processors are used
- All of them perform GRASP iterations in the
independent strategy - Only p-1 processors perform GRASP iterations in
the cooperative strategy - Cooperative strategy improves w.r.t. the
independent strategy when the number of
processors increases. - Cooperative strategy is already faster for p ? 4
processors.
34Concluding remarks
- New heuristic for the 2-path network design
problem. - Effectiveness of the new heuristic
- Larger problems solved.
- New heuristic finds better solutions.
- Domination is stronger for harder or larger
instances. - Path-relinking adds memory and intensification
mechanisms to GRASP, systematically contributing
to improve solution quality (some implementation
strategies appear to be more effective than
others). - Linear speedups with the parallel implementation.
- Cooperative strategy is faster and better.
35Slides and publications
- Slides of this talk can be downloaded from
http//www.inf.puc-rio/celso/talks - Paper about the parallel GRASP heuristic for the
2-path network design problem available at - http//www.inf.puc-rio.br/celso/publicacoes
Isabel Rosseti