Slide 1/59 (EHESS) - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Slide 1/59 (EHESS)

Description:

Title: PVC routing algorithms Author: AT&T Last modified by: Celso Ribeiro Created Date: 2/21/2001 2:31:34 AM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 60
Provided by: AT163
Category:

less

Transcript and Presenter's Notes

Title: Slide 1/59 (EHESS)


1
Recent 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
2
Summary
  • 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

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

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

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

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

7
PVC routing example
8
PVC routing example
9
PVC routing example
10
PVC routing example
11
PVC routing example
max capacity 3
12
PVC routing example
max capacity 3
reroute
very long path!
13
PVC routing example
max capacity 3
14
PVC routing example
max capacity 3
feasible and optimal!
15
PVC 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
16
PVC 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

17
PVC 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

18
PVC 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

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

20
Cost function
  • Linear combination of
  • delay component - weighted by (1-?)
  • load balancing component - weighted by ?
  • Delay component

21
Cost 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.

22
Piecewise linear and convex ?e(Le) link
congestion measure
(Le?ce)
23
GRASP 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

24
Greedy 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

25
Greedy 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

26
GRASP
  • 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

27
GRASP
  • 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

28
GRASP
  • 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

29
GRASP
  • 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

30
GRASP
  • Technique déchantillonage
    de lespace de
    recherche

31
GRASP
  • 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

32
GRASP 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).

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

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

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

36
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
37
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
38
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)

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

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

41
Path-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)
43
Parallel 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

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

45
Computational 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.

Parallel GRASP Sample A DJ (2000) Sample B
Size 100 30
Mean 443.7 (-2.2) 453.7
Std. dev. 40.6 61.6
46
Variants 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)

47
Variants 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.

48
Variants of GRASP with path-relinking
Each variant 200 runs for one instance of 2PNDP
49
Variants 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

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

51
Computational results PVC routing
  • Test problems

52
Variants of GRASP and path-relinking
Each variant 200 runs for one instance of PVC
routing problem
Probability
Time (s)
53
Variants 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

54
Comparisons
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)
55
Parallel implementation speedups
  • Linear speedups 2PNDP, V 400, 3200 iterations

56
Concluding 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.

57
Concluding 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.

58
Concluding 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.

59
Slides 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
Write a Comment
User Comments (0)
About PowerShow.com