480 likes | 652 Views
A GRASP with path-relinking heuristic for PVC routing. Celso C. Ribeiro Computer Science Department Catholic University of Rio de Janeiro j oint work with M.G.C. Resende. Summary . PVC routing Integer multicommodity flow formulation Cost function
E N D
A GRASP with path-relinking heuristic for PVC routing Celso C. Ribeiro Computer Science Department Catholic University of Rio de Janeiro joint work with M.G.C. Resende GRASP with path-relinking for PVC routing
Summary • PVC routing • Integer multicommodity flow formulation • Cost function • Solution method: GRASP with path-relinking • Numerical results • Conclusions GRASP with path-relinking for PVC routing
PVC routing: application • Virtual private networks: permanent virtualcircuits (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 GRASP with path-relinking for PVC routing
PVC routing: example GRASP with path-relinking for PVC routing
PVC routing: example GRASP with path-relinking for PVC routing
PVC routing: example GRASP with path-relinking for PVC routing
PVC routing: example GRASP with path-relinking for PVC routing
PVC routing: example max capacity = 3 GRASP with path-relinking for PVC routing
PVC routing: example very long path! max capacity = 3 GRASP with path-relinking for PVC routing
PVC routing: example very long path! max capacity = 3 reroute GRASP with path-relinking for PVC routing
PVC routing: example max capacity = 3 GRASP with path-relinking for PVC routing
PVC routing: example max capacity = 3 feasible and optimal! GRASP with path-relinking for PVC routing
PVC routing: application • Other algorithms simply handle the number of hops (e.g. routing algorithmin Cisco switches) • Handling delays is particularly important in international networks,where distances between backbone nodes vary considerably GRASP with path-relinking for PVC routing
PVC routing: application • Reorder PVCs and apply algorithm on switch to reroute: • taking advantage of factors not considered by switch algorithm may lead to greater network efficiency • FR switch algorithm is typically fast since it is also used to reroute in case of switch or trunk failures • this can be traded off for improved network resource utilization when routing off-line GRASP with path-relinking for PVC routing
PVC routing: application • Load balancing is important for providing flexibility to handle: • overbooking: typically used by network designers to account fornon-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 GRASP with path-relinking for PVC routing
Problem formulation • 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 GRASP with path-relinking for PVC routing
Problem formulation • DemandsK = {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 GRASP with path-relinking for PVC routing
Problem formulation • 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) GRASP with path-relinking for PVC routing
= 1, iff trunk (i,j ) is used to route PVC k. Problem formulation GRASP with path-relinking for PVC routing
Cost function • Linear combination of • delay component - weighted by (1-) • load balancing component - weighted by • Delay component: GRASP with path-relinking for PVC routing
Cost function • Load balancing component: measure of Fortz & Thorup (2000) to compute congestion: = 1(L1) + 2(L2) + … + |E|(L|E|) where Leis the load on link e E, e(Le) is piecewise linear and convex, e(0) = 0, for all e E. GRASP with path-relinking for PVC routing
slope = 5000 slope = 500 slope = 3 slope = 10 slope = 1 slope = 70 Piecewise linear and convex e(Le) link congestion measure (Lece) GRASP with path-relinking for PVC routing
Some recent applications • Laguna & Glover (1993): tabu search, different cost function, no constraints on PVCs routed on the same trunk (assign calls to paths) • Sung & Park (1995): Lagrangean heuristic, very small graphs • Amiri et al. (1999): Lagrangean heuristic, min delay • Dahl et al. (1999): cutting planes (traffic assignment) • Barnhart et al (2000): branch-and-price, different cost function, no constraints on PVCs routed on same trunk • Shyur & Wen (2000): tabu search, min hubs GRASP with path-relinking for PVC routing
Solution method: GRASP with path-relinking • GRASP: Multistart metaheuristic, Feo & Resende 1989 • Path-relinking: intensification, 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 this solution • Update the pool of elite solutions • Update the best solution found GRASP with path-relinking for PVC routing
Solution method: GRASP • GRASP • Construction: • RCL: nc unrouted PVCs with largest demands • choose unrouted pair kbiasing in favor of high bandwidth requirements, with probablity k = rk / (pRCLrp ) • capacity constraints relaxed and handled via the penalty function introduced by the load-balancing component • length of each edge (i,j) is the incremental cost of routing rk additional units of demand on it • route pair k using shortest route between its endpoints GRASP with path-relinking for PVC routing
Solution method: GRASP • GRASP • Local search: • for each PVC kK , remove rk units of flow from each edge in its current route • recompute incremental weights of routing rk additional units of flow for all edges • reroute PVC k using new shortest path GRASP with path-relinking for PVC routing
Solution method: 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 GRASP with path-relinking for PVC routing
Solution method: 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 GRASP with path-relinking for PVC routing
Solution method: path-relinking Elite solutions x and y (x,y): symmetric difference between x and y while ( |(x,y)| > 0 ) { evaluate moves corresponding in(x,y)make best move update (x,y) } GRASP with path-relinking for PVC routing
Path-relinking in GRASP • Maintain an elite set of solutions found during GRASP iterations. • After each GRASP iteration (construction & local search): • Select an elite solution at random: guiding solution. • Use GRASP solution as initial solution. • Perform path-relinking between these two solutions. GRASP with path-relinking for PVC routing
Path-relinking in GRASP • Successful applications: • Prize-collecting Steiner tree problem Canuto, Resende, & Ribeiro (2000) • Steiner tree problem Ribeiro, Uchoa, & Werneck (2000) (e.g., best known results for open problems in series dv640 of the SteinLib) • Three-index assignment problem Aiex, Pardalos, Resende, & Toraldo (2000) GRASP with path-relinking for PVC routing
Path-relinking: elite set • P is 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 . GRASP with path-relinking for PVC routing
Experiment • 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 GRASP with path-relinking for PVC routing
Experiment • Test problems: GRASP with path-relinking for PVC routing
T S T S S T S T Variants of GRASP and path-relinking • Variants of path-relinking: • G: pure GRASP • GPRb: GRASP with backward PR • GPRf: GRASP with forward PR • GPRbf: GRASP with two-way PR • Other strategies: • Truncated path-relinking • Do not apply PR at every iteration (frequency) GRASP with path-relinking for PVC routing
Variants of GRASP and path-relinking Each variant: 200 runs for one instance of PVC routing problem Probability Time (s) GRASP with path-relinking for PVC routing
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: • GPRb:129s G:10933s GPRf:1727s GPRfb:172s GRASP with path-relinking for PVC routing
cost max util. Comparisons 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 > H3 > H2 > H1 (cost, max utilization, distribution) GRASP with path-relinking for PVC routing
Parameter of the objective function • Objective function (solution) =Delay x (1-) + Load imbalance cost x • if = 1: consider only trunk utilization rates • if = 0: consider only delays (capacities relaxed) • increasing : 0 1 minimization of maximum utilization rate dominatesreduction of flows in edges with higher loadsincrease of flows in underloaded edges until the next breakpointflows concentrate around breakpoint levelsuseful strategy for setting appropriate value of to achieve some level of quality of service (max util.) GRASP with path-relinking for PVC routing
Parameter of the objective function GRASP with path-relinking for PVC routing
Concluding remarks (1/3) • New formulation with flexible objective function • Family of heuristics (greedy, greedy+LS, GRASP, GRASP+PR) • Simple greedy heuristic improves algorithm in traffic engineering by network planners • Objective function provides effective strategy for setting the weight parameter to achieve some quality of service level GRASP with path-relinking for PVC routing
Concluding remarks (2/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). GRASP with path-relinking for PVC routing
Concluding remarks (3/3) • NETROUTER – Tool for optimallyloading 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 AT&T's next generation frame-relay and MPLS core architecture, to assess if thecurrent and forecasted demands can be handled by the proposed trunkingplan. GRASP with path-relinking for PVC routing
Slides and publications • Slides of this talk can be downloaded from: http://www.inf.puc-rio/~celso/talks • Paper about PVC routing available at: http://www.inf.puc-rio.br/~celso/publicacoes GRASP with path-relinking for PVC routing