Download - Routing in communication networks
July 14, 2001 Routing in communication networks (MIC'2001)
Page 1/70
Routing in communication
networksCelso C. Ribeiro
Computer Science Department
Catholic University of Rio de Janeiro
joint work with M.G.C. Resende
July 14, 2001 Routing in communication networks (MIC'2001)
Page 2/70
Summary• PVC routing• Integer multicommodity flow formulation• Cost function• Solution method: GRASP with path-relinking• Numerical results and conclusions• Weight setting in OSPF routing• Genetic algorithm for OSPF routing• Population dynamics• Parallel GA for OSPF routing• Numerical results, extensions, and conclusions
July 14, 2001 Routing in communication networks (MIC'2001)
Page 3/70
• PVC routing• Integer multicommodity flow
formulation• Cost function• Solution method: GRASP with path-
relinking• Numerical results and conclusions
July 14, 2001 Routing in communication networks (MIC'2001)
Page 4/70
PVC routing: application
• Frame relay service offers virtual private networks: permanent (long-term) 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 5/70
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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 6/70
PVC routing: application
• 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 7/70
PVC routing: application• 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 8/70
PVC routing: example
July 14, 2001 Routing in communication networks (MIC'2001)
Page 9/70
PVC routing: example
July 14, 2001 Routing in communication networks (MIC'2001)
Page 10/70
PVC routing: example
July 14, 2001 Routing in communication networks (MIC'2001)
Page 11/70
PVC routing: example
July 14, 2001 Routing in communication networks (MIC'2001)
Page 12/70
PVC routing: examplemax capacity = 3
July 14, 2001 Routing in communication networks (MIC'2001)
Page 13/70
PVC routing: examplemax capacity = 3very long path!
July 14, 2001 Routing in communication networks (MIC'2001)
Page 14/70
PVC routing: examplemax capacity = 3very long path!
reroute
July 14, 2001 Routing in communication networks (MIC'2001)
Page 15/70
PVC routing: examplemax capacity = 3
July 14, 2001 Routing in communication networks (MIC'2001)
Page 16/70
PVC routing: examplemax capacity = 3feasible and
optimal!
July 14, 2001 Routing in communication networks (MIC'2001)
Page 17/70
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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 18/70
Problem formulation
• Demands K = {1,…,p } defined by– Origin-destination pairs– r (p): effective bandwidth requirement
(forward, backward, overbooking) for PVC p
• Objective is to minimize– delays– network load unbalance
• subject to– technological constraints
July 14, 2001 Routing in communication networks (MIC'2001)
Page 19/70
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)
July 14, 2001 Routing in communication networks (MIC'2001)
Page 20/70
Problem formulation
, ,( , ) ( , )
1
, , ,
1, , , , ,
,
, , ,
( ) ,
1,
min ( ) ( ,..., , ,..., )
subject
if is source for
1
to
( ) , (
, if
, ) ,
( ) , ( , ) ,k kk i j j i i j
k
k ki j j i i j
k K
k ki j
p ki j i j i j j i j i
i j E i j
j i
K
i j E i j E
x x x
r
i V k
x x b i j E
x x c i j E i j
x
j
x
i
x
K
x
,
is destination for
0, other
0,1 , ( , ) ,
wise
.ki jx i j
i K
E k K
V k
,ki jx= 1, iff trunk (i,j )
is used to route PVC k.
,ki jx
July 14, 2001 Routing in communication networks (MIC'2001)
Page 21/70
Cost function
• Linear combination of – delay component - weighted by (1-)– load balancing component - weighted
by
• Delay component: , , ,( )k ki j k i j j ik K
d x x
July 14, 2001 Routing in communication networks (MIC'2001)
Page 22/70
Cost function
• Load balancing component: measure of Fortz & Thorup (2000) to compute congestion:
= 1(L1) + 2(L2) + … + |E|(L|
E|)
where Le is the load on link e E,
e(Le) is piecewise linear and convex,
e(0) = 0, for all e E.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 23/70
Piecewise linear and convex e(Le) link
congestion measure
0
10
20
30
40
50
60
70
0 0.2 0.4 0.6 0.8 1 1.2
cost
per
unit
of ca
paci
ty
trunk utilization rate
slope = 1slope = 3 slope = 10
slope = 70
slope = 500
slope = 5000
(Lece)
July 14, 2001 Routing in communication networks (MIC'2001)
Page 24/70
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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 25/70
Solution method: GRASP with
path-relinking• GRASP: Multistart metaheuristic, Feo &
Resende 1989• Path-relinking: intensification, Glover (1996)• Repeat for Max_Iterations:
– 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 26/70
Solution method: GRASP
• GRASP– Construction:
• RCL: nc unrouted PVCs with largest demands• choose unrouted pair k biasing in favor of high
bandwidth requirements, with probablity k = rk / (pRCL rp)
• capacity constraints relaxed and handled via the penalty function introduced by the load-balance 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 27/70
Solution method: GRASP
• GRASP– Local search:
• for each PVC k K , 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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 28/70
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.
initialsolution
guidingsolution
path in neighborhood of solutions
July 14, 2001 Routing in communication networks (MIC'2001)
Page 29/70
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:
Initialsolution
guiding solution
July 14, 2001 Routing in communication networks (MIC'2001)
Page 30/70
Elite solutions x and y(x,y): symmetric difference
between S and T while ( |(x,y)| > 0 ) {
evaluate moves corresponding in (x,y) make best move
update (x,y)}
Solution method: path-relinking
July 14, 2001 Routing in communication networks (MIC'2001)
Page 31/70
Path-relinking in GRASP
• Introduced by Laguna & Martí (1999) • 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.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 32/70
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)
July 14, 2001 Routing in communication networks (MIC'2001)
Page 33/70
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 it is sufficiently different from all solutions in P .
July 14, 2001 Routing in communication networks (MIC'2001)
Page 34/70
July 14, 2001 Routing in communication networks (MIC'2001)
Page 35/70
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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 36/70
Experiment• Test problems:
The Cartesian product of a family of Theorem:algorithms by a family of test problems is
an unreadable table!
July 14, 2001 Routing in communication networks (MIC'2001)
Page 37/70
• 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)
Variants of GRASP and path-relinking
S T
TS
S T
S T
July 14, 2001 Routing in communication networks (MIC'2001)
Page 38/70
Variants of GRASP and path-relinking
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
10 100 1000 10000 100000 1e+06
GGPRfGPRb
GPRfb
Iterations
Pro
bab
ility
Each variant: 200 runs for one instance of PVC routing problem
July 14, 2001 Routing in communication networks (MIC'2001)
Page 39/70
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
July 14, 2001 Routing in communication networks (MIC'2001)
Page 40/70
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)
costmax util.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 41/70
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 dominates reduction of flows in edges with higher loads increase of flows in underloaded edges until the next breakpoint flows concentrate around breakpoint levels useful strategy for setting appropriate value of to achieve some level of quality of service (max util.)
July 14, 2001 Routing in communication networks (MIC'2001)
Page 42/70
Parameter of the objective function
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
1.1
0.0001 0.001 0.01 0.1 192000
94000
96000
98000
100000
102000
104000
maxim
um
utiliz
ation
dela
y
delta
delay
maximum utilization
July 14, 2001 Routing in communication networks (MIC'2001)
Page 43/70
Concluding remarks (1/3)
• New formulation with flexible objective function
• Family of heuristics (greedy, greedy+LS, GRASP, GRASP+PR)
• Simple greedy heuristic improves algorithm used in traffic engineering by network planners
• Objective function provides effective strategy for setting the weight parameter to achieve some quality of service level
July 14, 2001 Routing in communication networks (MIC'2001)
Page 44/70
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).
July 14, 2001 Routing in communication networks (MIC'2001)
Page 45/70
Concluding remarks (3/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 AT&T'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.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 46/70
• Weight setting in OSPF routing• Genetic algorithm for OSPF routing• Population dynamics• Parallel GA for OSPF routing• Numerical results, extensions, and
conclusions
July 14, 2001 Routing in communication networks (MIC'2001)
Page 47/70
Weight setting in OSPF routing• Internet traffic has been doubling each
year Coffman & Odlyzko (2001): in the 1995-96 period (introduction of web browsers), traffic doubled every three months!
• Increasingly heavy traffic (due to video, voice, etc.) is raising the requirements of the Internet of tomorrow.
• Objective of traffic engineering: make more efficient use of network resources
• Traffic routing can have a major impact on the efficiency of network resource utilization
July 14, 2001 Routing in communication networks (MIC'2001)
Page 48/70
Traffic routing• When packet arrives at router, router
must decide where to send it next.• Routing consists in finding a path from
source to destination. • To decrease the complexity of routing,
the Internet is divided into smaller domains, called Autonomous Systems (AS).
• Routing within an AS is done via Interior Gateway Protocols (IGP), while between AS’s Exterior Gateway Protocols (EGP) are used.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 49/70
OSPF (Open Shortest Path First)
• OSPF is the most commonly used intra-domain routing protocol (IGP).
• It requires routers to exchange routing information with all other routers in the AS.– Complete network topology knowledge
is available to all routers, i.e. state of all routers and links in the AS.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 50/70
Weight setting in OSPF routing
• Each link in the AS is assigned an integer weight [1,65535=2161]– Smaller weights may be used: MAX
• Each router computes tree of shortest weight paths to all other routers in the AS, with itself as the root, using Dijkstra’s algorithm.Bottom: Cisco 7000 router
Top: ForeRunner ASX-200 ATM switch
July 14, 2001 Routing in communication networks (MIC'2001)
Page 51/70
Weight setting in OSPF routing
321
351
2
4
D1
D2
D3
D4
R1
R1
R2
R3
root
First hop routers.
Routing table
Destination routers
Routing table is filledwith first hop routersfor each possible destination.In case of multiple shortest paths, flow is evenly split.
D5
D6
R1
R36
Cisco 12400 routers
July 14, 2001 Routing in communication networks (MIC'2001)
Page 52/70
Weight setting in OSPF routing
• OSPF weights are assigned by network operator– CISCO assigns, by default, a weight
proportional to the inverse of the available link bandwidth.
– If all weights are unit, the cost of a path is the number of hops in the path.
• Fortz & Thorup (2000): weight setting by using local search on large networks with up to 100 nodes and 503 links
• Ericsson, Pardalos, & Resende (2001): genetic algorithm
July 14, 2001 Routing in communication networks (MIC'2001)
Page 53/70
Minimization of congestion
• Directed capacitated network G = (N,A,c), where N are routers, A are links, and ca is the capacity of link a A.
• Same measure of Fortz & Thorup (2000) to compute congestion (also used for PVC routing):
= 1(L1) + 2(L2) + … + |A|(L|A|)
La is the load on link a A, a(La) is piecewise linear and convex, and a(0) = 0, for all a A.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 54/70
Weight setting in OSPF routing
• Given a directed network G = (N, A ) with link capacities ca A and demand matrix D = (ds,t ) specifying a demand to be sent from node s to node t :– Assign weights wa [1,65535] to each link
a A, such that the objective function is minimized when demand is routed according to the OSPF protocol.
• Weights are computed off-line and do not change often
July 14, 2001 Routing in communication networks (MIC'2001)
Page 55/70
Genetic algorithms
Initialize and evaluate P (0);
Set t = 1Test termination
Generate P (t ) from P (t1)
Alter P (t )
Evaluate P (t )t = t + 1
done
crossover
mutationP (t ) is population ofsolutions at generation t.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 56/70
GA for OSPF: solution encoding
• Ericsson, Pardalos, & Resende (2001)• A population consists of nPop integer
weight arrays: w = (w1, w2 ,…, w|A| ),
where wa [1,MAX]
• All possible weight arrays correspond to feasible solutions, i.e., every weight setting is feasible– nice problem feature for application of a
GA
July 14, 2001 Routing in communication networks (MIC'2001)
Page 57/70
GA for OSPF: fitness evaluation
• Route each demand pair (s,t ) using OSPF
• Compute loads Las,t
on each link a A• Add up loads on each link a A,
yielding total load La on link• Compute link congestion cost a(La) for
each link a A• Add up costs:
= 1(L1) + 2(L2) + … + |A|(L|A|)
July 14, 2001 Routing in communication networks (MIC'2001)
Page 58/70
Initial population• nPop 10 solutions with randomly
generated arc weights, uniformly in the interval [1,MAX]
• Weight settings of two other common heuristics:– OSPF (unit): all weights set to 1– OSPF (invCap): each arc weight is set inversely
proportional to its arc capacity– OSPF (fractions): all weights set to .MAX,
with = 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8, 1 all but invCap lead to the same routing decisions
(all weights are equal)• Population is sorted according to fitness
and classified into three categories
July 14, 2001 Routing in communication networks (MIC'2001)
Page 59/70
Population dynamics
Class A
Class C
Class B
generation t generation t + 1
Class AClass A is promoted unchanged
Class C is replaced by randomlygenerated solutions.
Class C
Class B is replaced by crossover of: one Class A parent and
one Class B or Cparent.
Class B
20%
most
fit
10%
least
fit
July 14, 2001 Routing in communication networks (MIC'2001)
Page 60/70
Crossover with random keys
Bean (1994): crossover combines elite parent p1 with non-elite parent p2 to produce child c :
for all genes i = 1,2,…,|A | do
if rrandom[0,1] < 0.01 then c [i ] = irandom[1,MAX] else if rrandom[0,1] < 0.7
then c [i ] = p1[i ]
else c [i ] = p2[i ]
end
With small probability childhas single gene mutation.
Child is more likely to inheritgene of elite parent.
July 14, 2001 Routing in communication networks (MIC'2001)
Page 61/70
Parallel GA: local search• Combine GA with local search• LS with cost recomputations from scratch:
– For each arc e with current weight we do: • Temporarily replace arc weight by (1+ we)/2• Evaluate fitness• If new improved solution, update weight and go to
next arc• Otherwise, temporarily replace arc weight by (MAX+
we)/2• Evaluate fitness• If new improved solution, update weight• Go to next arc
– Until no further improvement is possible
July 14, 2001 Routing in communication networks (MIC'2001)
Page 62/70
Parallel GA: local search
• Variants:– V1: at each processor, apply LS to the
best solution whenever it is improved– V2: at each processor, always apply
LS to the best non-locally optimal solution
July 14, 2001 Routing in communication networks (MIC'2001)
Page 63/70
Parallel GA: cooperation
• P processors• Whenever a processor improves its
incumbent, the latter is broadcasted to:– all other processors– all closest log P processors (logical
organization)• At the beginning of each generation,
every processor replaces its worst solutions by those sent by other processors
July 14, 2001 Routing in communication networks (MIC'2001)
Page 64/70
Numerical results• Work-in-progress, preliminary results: GA, LS
– Combine GA+LS? Cooperative // GA? Scatter search?
• One real world network: AT&T Worldnet backbone with 90 nodes, 274 links, and 272 pairs
• Compared with cost and maximum utilizations of the LB lower bound and several heuristics:– OSPF(invCap)– Local search of Fortz and Thorup (2000)– Original sequential GA of Ericsson et al.
(2001) – LP lower bound
July 14, 2001 Routing in communication networks (MIC'2001)
Page 65/70
2.35
2.4
2.45
2.5
2.55
2.6
2.65
2.7
2.75
2.8
2.85
0 2 4 6 8 10 12 14 16
co
st
processors
Collaborative vs. noncollaborative versions
collab_v1nocollab_v1
collab_v2nocollab_v2
F&TseqGA-500itr
LPLB
July 14, 2001 Routing in communication networks (MIC'2001)
Page 66/70
2.35
2.4
2.45
2.5
2.55
2.6
2.65
2.7
2.75
2.8
2.85
0 2 4 6 8 10 12 14 16
co
st
processors
Number of generations: 500 and 8000
collab_v1-500itrnocollab_v1-500itr
collab_v1-8000itrnocollab_v1-8000itr
F&TseqGA-500itr
LPLB
July 14, 2001 Routing in communication networks (MIC'2001)
Page 67/70
0
2
4
6
8
10
12
0 5000 100001500020000250003000035000400004500050000
cost
scaled internet traffic
InvCapGA //LPLB
July 14, 2001 Routing in communication networks (MIC'2001)
Page 68/70
0
0.5
1
1.5
2
0 5000 100001500020000250003000035000400004500050000
ma
xim
um
utiliza
tio
n
scaled internet traffic
InvCapGA //LPLB
July 14, 2001 Routing in communication networks (MIC'2001)
Page 69/70
Concluding remarks (1/1)• Sequential GAOSPF produced as good
solutions as LS for most instances, even better in some cases.
• GA generally finds good solutions close to the LP lower bound.
• //GA+LS works very well on real-world AT&T Worldnet backbone network, significantly increasing traffic and Internet capacity over CISCO’s recommended weight setting strategy.
• Extensions: speedup LS, improve cooperation, evaluate effects, scatter search
July 14, 2001 Routing in communication networks (MIC'2001)
Page 70/70
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• Paper about sequential GA for OSPF setting
available at:
http://www.research.att.com/~mgcr/doc/gaospf.pdf• Paper about parallel GA for OSPF weight setting in
preparation