Title: Slide 159 EHESS
1Recent Developments in Metaheuristics
and Applications to Network Design Problems
Celso C. RIBEIRO
Catholic University of Rio de
Janeiro, Brazil Department of Computer Science
Joint work with Maurício Resende and Isabel
Rosseti
2Summary
- 2-path network design problem
- PVC routing problem
- GRASP with path-relinking
- Construction phase
- Local search phase
- Extended local search
- Path-relinking
- Parallel implementation
- Numerical results
- Variants of path-relinking
- Effectiveness of the new heuristics
- Parallelization
- 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
6PVC routing
- Virtual private networks permanent virtual
circuits (PVCs) between customer endpoints on a
backbone network - Routing either automatically by switch or by
network designer without any knowledge of future
requests - Inefficiencies and occasional need for off-line
rerouting of the PVCs
7PVC routing example
8PVC routing example
9PVC routing example
10PVC routing example
11PVC routing example
max capacity 3
12PVC routing example
max capacity 3
reroute
very long path!
13PVC routing example
max capacity 3
14PVC routing example
max capacity 3
feasible and optimal!
15PVC routing
- Other algorithms simply handle
the number of hops (e.g. routing
algorithm in Cisco switches) - Handling delays is particularly important in
international networks, where distances between
backbone nodes vary considerably
Cisco Catalystic 5505 switch
16PVC routing
- Load balancing is important for providing
flexibility to handle - overbooking typically used by network designers
to account for non-coincidence of traffic - PVC rerouting due to failures
- bursting above the committed rate not only
allowed, but also sold to customers as one of the
attractive features of frame relay - Integer multicommodity network flow problem
17PVC routing
- Given undirected FR network G (V, E), where
- V denotes n backbone nodes (FR switches)
- E denotes m trunks connecting backbone nodes
- for each trunk e (i,j )
- b (e ) maximum bandwidth (max kbits/sec rate)
- c (e ) maximum number of PVCs that can be routed
on it - d (e ) propagation and hopping delay
18PVC routing
- Demands K 1,,p defined by
- Origin-destination pairs (o,d )
- r (p) effective bandwidth requirement (forward,
backward, overbooking) for PVC p - Objective is to minimize
- delays
- network load unbalance
- subject to
- technological constraints
19PVC routing
- route for PVC (o,d ) is a sequence of adjacent
trunks from node o to node d - set of routing assignments is feasible if for all
trunks e - total bandwidth requirements routed on e does
exceed b (e) - number of PVCs routed on e not greater than c(e)
20Cost function
- Linear combination of
- delay component - weighted by (1-?)
- load balancing component - weighted by ?
- Delay component
21Cost function
- Load balancing component measure of Fortz
Thorup (2000) to compute congestion - ? ?1(L1) ?2(L2)
?E(LE) - where Le is the load on link e ? E,
- ?e(Le) is piecewise linear and
convex, - ?e(0) 0, for all e ? E.
22Piecewise linear and convex ?e(Le) link
congestion measure
(Le?ce)
23GRASP with path-relinking
- GRASP
- Multistart metaheuristic, Feo Resende (1989)
- Path-relinking
- Intensification strategy, Glover (1996)
- Repeat for MaxIterations
- Construct greedy randomized solution
- Use local search to improve constructed solution
- Apply path-relinking to further improve solution
- Update pool of elite solutions
- Update best solution found
24Greedy Randomized Adaptive Search Procedures
(GRASP)
- Combinaison dune méthode constructive avec une
approche par recherche locale, dans une procédure
itérative (multi-départ) où les itérations sont
totalement indépendantes les unes des autres - (a) construction dune solution
- (b) recherche locale
25Greedy Randomized Adaptive Search Procedures
(GRASP)
- f(s) ? ?
- for i 1,,MaxIterations do
- Construire une solution s en utilisant un
algorithme glouton randomisé - Appliquer une procédure de recherche locale
à partir de s, pour obtenir la solution s - if f(s) lt f(s) then s ? s
- end-for
26GRASP
- Phase de construction construire une solution
réalisable, un élément à la fois - Chaque itération
- évaluer le bénéfice de chaque élément en
utilisant une fonction gloutonne - créer une liste restricte de candidats, formée
par les éléments avec les meilleures évaluations - sélectionner de façon probabiliste un élément de
la liste restricte de candidats - adapter la fonction gloutonne après lutilisation
de lélément choisi
27GRASP
- Restriction des éléments dans la liste de
candidats - nombre maximum déléments dans la liste
- qualité des éléments dans la liste (par rapport
au choix exclusivement glouton)cmin bénefice
minimum parmi tous les élémentscmax bénefice
maximum parmi tous les éléments - Paramètre a permet de controler la qualité des
éléments dans la liste de candidats Liste
éléments j cj cmin a . (cmax - cmin) a
0 choix glouton a 1 choix probabiliste
28GRASP
- Choix probabiliste entre les meilleurs éléments
de la liste de candidats (pas forcément le
meilleur, comme cest le cas du choix
exclusivement glouton) - la qualité moyenne de la solution dépend de la
qualité des éléments dans la liste - la diversité des solutions construites dépend du
nombre déléments dans la liste - Diversification basée sur la randomisation
controlée différentes solutions construites lors
de différentes iterations GRASP
29GRASP
- Construction gloutonne bonnes solutions (près
des optima locaux), permettant daccélérer la
recherche locale - Recherche locale amélioration des solutions
construites lors de la première phase - choix du voisinage
- structures de données efficaces pour accélérer la
recherche locale - bonnes solutions de départ permettent daccélérer
la recherche locale
30GRASP
- Technique déchantillonage
de lespace de
recherche
31GRASP
- Implémentation simple
algorithme glouton recherche locale - Peu de paramètres à régler
- restrictivité de la liste de candidats
- nombre ditérations
- Desavantage nutilise pas de mémoire
- Parallélisation simple et directe
- N itérations, p processeurs chaque processeur
fait N/p itérations et à la fin informe au maître
la meilleure solution quil a trouvée
32GRASP with extended local search
- Basic GRASP procedure puts too much effort in the
construction phase, but stops in the first local
optimum. - Strategy to increase the effort in the local
search phase and to add memory to GRASP. - Improved local search by using a very short-term
memory (tabu search).
33GRASP with extended local search
- Keep a tabu list with the last TabuTenure (small
value, typically 5-10) solutions visited. - Move to the best neighbor solution (be it an
improving solution or not) which is not in the
tabu list. - Stop after TabuTenure iterations without
improvement in the best global solution. - Best results for capacitated minimum spanning
tree Souza, Duhamel Ribeiro (2002)
34GRASP for 2-path network design
- 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.
35GRASP for 2-path network design
- 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.
36Path-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
37Path-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
38Path-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)
39GRASP 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. - PR allows introducing memory into GRASP.
40GRASP 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.
41Path-relinking with GRASP
- Successful applications
- Prize-collecting Steiner tree problem
Canuto, Resende Ribeiro (2001) - 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, Pardalos, Resende Toraldo (2000) - Capacitated minimum spanning treeSouza, Duhamel
Ribeiro (2002) (e.g., best known results for
largest problems with 160 nodes)
42(No Transcript)
43Parallel implementation
- Main interest of parallel implementations
of metaheuristics robustnessCung,
Martins, Ribeiro Roucairol (2001) - Parallelization strategy
- Multiple-walk independent-thread strategy
- Iterations evenly distributed over p processors
- Each processor keeps a copy of the algorithm and
data - One processor acts as the master (data, seeds,
iterations) - Each processor performs Max_Iterations/p
iterations
44Computational results2-path network design
- 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)
45Computational results2-path network design
- 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.
46Variants 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 PR
- Other strategies
- Truncated path-relinking
- Do not apply PR at every iteration (frequency)
47Variants 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.
48Variants of GRASP with path-relinking
Each variant 200 runs for one instance of 2PNDP
49Variants 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
50Computational results PVC routing
- Heuristics
- H1 sorts demands in decreasing order and routes
them using minimum hops paths - H2 sorts demands in decreasing order and routes
using same cost function as GRASP - H3 adds the same local search to H2
- GPRb GRASP with backwards path-relinking
- SGI Challenge 196 MHz
51Computational results PVC routing
52Variants of GRASP and path-relinking
Each variant 200 runs for one instance of PVC
routing problem
Probability
Time (s)
53Variants of GRASP and path-relinking
- Same computation time probability of finding a
solution at least as good as the target value
increases from G ? GPRf ? GPRfb ? GPRb - P(h,t) probability variant h finds solution as
good as target value in time no greater than t - P(GPRfb,100s)9.25 P(GPRb,100s)28.75
- P(G,2000s)8.33 P(GPRf,2000s)65.25
- P(h,time)50 Times for each variant
- GPRb129s G10933s GPRf1727s GPRfb172s
54Comparisons
cost
max util.
Distribution 86/60/2 86 edges with utilization
in 0,1/3), 60 in 1/3,2/3),
and two in 2/3,9/10)
In general GPRB gt H3 gt H2 gt H1 (cost, max
utilization, distribution)
55Parallel implementation speedups
- Linear speedups 2PNDP, V 400, 3200 iterations
56Concluding remarks (1/3)
- Effectiveness of the new heuristic for the 2-path
network design problem - Larger problems solved.
- New heuristic finds better solutions.
- Domination is stronger for harder or
larger instances. - Heuristic for PVC routing improves algorithm used
in traffic engineering by network planners.
57Concluding remarks (2/3)
- NETROUTER Tool for optimally loading demands on
single-path routes on a capacitated network. It
uses the GPRb variant of the combination of GRASP
and path-relinking, minimizing delays while
balancing network load. - Application - Netrouter is currently being used
for the design of ATT's next generation
frame-relay and MPLS core architecture, to assess
if the current and forecasted demands can be
handled by the proposed trunking plan.
58Concluding remarks (3/3)
- 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 (e.g., backwards from
better, elite solution to current locally optimal
solution). - Extended local search also adds memory and
improves the solutions obtained by basic local
search. - Linear speedups with the parallel mplementation.
59Slides and publications
- Slides of this talk can be downloaded from
http//www.inf.puc-rio/celso/talks - Papers about
- recent developments and state-of-the-art on
GRASP - GRASP with path-relinking heuristic for PVC
routing - parallel GRASP heuristic for the 2-path network
design problem and - applications of GRASP and path-relinking
- on which this talk was based are available at
- http//www.inf.puc-rio.br/celso/publicacoes