Title: PVC routing algorithms
1OPTIMA 2001
IV Congreso Chileno de Investigación Operativa
Routing in communication networks and advances in
metaheuristics
Celso C. Ribeiro Catholic University of Rio de
Janeiro, Brazil
Curicó, Chile, October 2001
2Summary
- 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 and conclusions
- Experiments with // in GRASP and path-relinking
3- PVC routing
- Integer multicommodity flow formulation
- Cost function
- Solution method GRASP with path-relinking
- Numerical results and conclusions
4PVC 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
5PVC 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
6PVC 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
7PVC 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
8PVC routing example
9PVC routing example
10PVC routing example
11PVC routing example
12PVC routing example
max capacity 3
13PVC routing example
max capacity 3
very long path!
14PVC routing example
max capacity 3
very long path!
reroute
15PVC routing example
max capacity 3
16PVC routing example
max capacity 3
feasible and optimal!
17- PVC routing
- Integer multicommodity flow formulation
- Cost function
- Solution method GRASP with path-relinking
- Numerical results and conclusions
18Problem 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
19Problem 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
20Problem 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)
21Problem formulation
22- PVC routing
- Integer multicommodity flow formulation
- Cost function
- Solution method GRASP with path-relinking
- Numerical results and conclusions
23Cost function
- Linear combination of
- delay component - weighted by (1-?)
- load balancing component - weighted by ?
- Delay component
24Cost 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.
25Piecewise linear and convex ?e(Le) link
congestion measure
(Le?ce)
26Some 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
27- PVC routing
- Integer multicommodity flow formulation
- Cost function
- Solution method GRASP with path-relinking
- Numerical results and conclusions
28Solution 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
29Solution 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 /
(?p?RCL 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
30Solution 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
31Solution 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
32Solution 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
33Solution method path-relinking
- Elite solutions x and y
- ?(x,y) symmetric difference between S and T
- while ( ?(x,y) gt 0 )
- evaluate moves corresponding in ?(x,y) make
best move - update ?(x,y)
34Path-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.
35Path-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)
36Path-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 .
37(No Transcript)
38- PVC routing
- Integer multicommodity flow formulation
- Cost function
- Solution method GRASP with path-relinking
- Numerical results and conclusions
39Experiment
- 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
40Experiment
? Theorem
The Cartesian product of a family of
algorithms by a family of test problems is
an unreadable table!
41Variants 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)
42Variants of GRASP and path-relinking
Each variant 200 runs for one instance of PVC
routing problem
Probability
time
43Variants 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
44Comparisons
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)
45Parameter 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.)
46Parameter of the objective function
47Concluding remarks (1/3)
- New formulation with flexible objective function
- Family of heuristics (greedy, greedyLS, GRASP,
GRASPPR) - 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
48Concluding 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).
49Concluding 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 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.
50Slides and publications
- Slides of this talk can be downloaded from
http//www.inf.puc-rio/celso/talks/curico.ppt - Recent survey about GRASP available at
- http//www.inf.puc-rio.br/celso/publicacoes
- Paper about PVC routing available at
- http//www.inf.puc-rio.br/celso/publicacoes
51OPTIMA 2001
IV Congreso Chileno de Investigación Operativa
Routing in communication networks and advances in
metaheuristics Part II
Celso C. Ribeiro Catholic University of Rio de
Janeiro, Brazil
Curicó, Chile, October 2001
52Summary
- 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 and conclusions
- Experiments with // in GRASP and path-relinking
53- Weight setting in OSPF routing
- Genetic algorithm for OSPF routing
- Population dynamics
- Parallel GA for OSPF routing
- Numerical results and conclusions
54Weight 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.
55Weight setting in OSPF routing
- Objective of traffic engineering make more
efficient use of existing network resources - Routing of traffic can have a major impact on the
efficiency of network resource utilization
56Packets of information
Contains necessary routing information, such as
IP destination address.
body
header
Information sent over the Internet is broken into
chunks, called packets or datagrams.
57Packet routing
Packets final destination.
When packet arrives at router, router must decide
where to send it next.
router
router
router
router
router
Routing consists in finding a path from source to
destination.
Routing table
58Autonomous systems
To decrease the complexity of routing, the
Internet is divided into smaller domains, called
Autonomous Systems.
AS2
AS1
AS4
Routing within an AS is done via Interior Gateway
Protocols (IGP), while between ASs Exterior
Gateway Protocols (EGP) are used.
AS3
59OSPF (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.
60Weight setting in OSPF routing
- Each link in the AS is assigned an integer
weight ? 1,65535216?1 - 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
Dijkstras algorithm.
Bottom Cisco 7000 router Top ForeRunner ASX-200
ATM switch
61Weight setting in OSPF routing
Routing table is filled with first hop
routers for each possible destination. In case of
multiple shortest paths, flow is evenly split.
Routing table
D1
R1
root
D2
R1
R2
D3
R3
First hop routers.
D4
3
2
1
D5
R1
D6
R3
6
3
5
1
4
Destination routers
2
Cisco 12400 routers
62Weight 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
63Minimization 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(LA) - La is the load on link a ? A, ?a(La) is
piecewise linear and convex, and ?a(0) 0, for
all a ? A.
64Piecewise linear and convex ?a(La) link
congestion measure
slope 5000
slope 500
slope 3
slope 10
slope 1
slope 70
(La?ca )
65Weight 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
66- Weight setting in OSPF routing
- Genetic algorithm for OSPF routing
- Population dynamics
- Parallel GA for OSPF routing
- Numerical results and conclusions
67Genetic algorithms
done
Initialize and evaluate P (0) Set t 1
Test termination
Generate P (t ) from P (t?1)
crossover
Alter P (t )
mutation
P (t ) is population of solutions at generation t.
Evaluate P (t )
t t 1
68GA for OSPF solution encoding
- Ericsson, Pardalos, Resende (2001)
- A population consists of nPop integer weight
arrays w (w1, w2 ,, wA ), - 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
69GA 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(LA)
70- Weight setting in OSPF routing
- Genetic algorithm for OSPF routing
- Population dynamics
- Parallel GA for OSPF routing
- Numerical results and conclusions
71Initial 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)
72Population partitioning
Class A
20 most fit
Population is sorted according to fitness
(solution value) ? and solutions are classified
into three categories.
Class B
Class C
10 least fit
73Population dynamics
generation t 1
generation t
Class A
Class B
Class C
74Parent selection
- Parents are chosen at random
- one parent from Class A (elite)
- one parent from Class B or C (non-elite)
- Reselection is allowed, i.e. parents can breed
more than once per generation - Better individuals are more likely to reproduce
75Crossover 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 rrandom0,1 lt 0.01 then -
c i irandom1,MAX -
else if rrandom0,1 lt 0.7 then -
c i p1i -
else c i p2i - end
With small probability child has single gene
mutation.
Child is more likely to inherit gene of elite
parent.
76- Weight setting in OSPF routing
- Genetic algorithm for OSPF routing
- Population dynamics
- Parallel GA for OSPF routing
- Numerical results and conclusions
77Parallel 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
78Parallel GA local search
- Variants
- V-1 at each processor, apply LS to the best
solution whenever it is improved - V-2 at each processor, always apply LS to the
best non-locally optimal solution
79Parallel 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
80- Weight setting in OSPF routing
- Genetic algorithm for OSPF routing
- Population dynamics
- Parallel GA for OSPF routing
- Numerical results and conclusions
81Numerical results
- Work-in-progress, preliminary results GA, LS
- Combine GALS? Cooperative // GA? Scatter search?
- One real world network ATT 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
82(No Transcript)
83(No Transcript)
84(No Transcript)
85(No Transcript)
86Concluding 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. - //GALS works very well on real-world ATT
Worldnet backbone network, significantly
increasing traffic and Internet capacity over
CISCOs recommended weight setting strategy. - Extensions speedup LS, improve cooperation,
evaluate effects, scatter search
87- Experiments with // in GRASP and path-relinking
88Some experiments with parallelism in GRASP and
path-relinking
- Parallel implementations of GRASP
- Aiex, Resende, Ribeiro (2000) speedups
in independent multi-thread parallel GRASP
implementations - random variable time to target solution value
fits a two-parameter exponential distribution ?
approximate linear speedups with straightforward
implementations
89Using standard graphical methodology ( Aiex,
Resende, Ribeiro, 2000), one observes that
random variable time to target solution value
fits a two-parameter exponential distribution.
Therefore, one should expect approximate linear
speedup in a straightforward parallel
implementation.
9060 independent runs of each algorithm.
MPI implementation.
3-index assignment
196Mhz MIPS R10000
91Average speedup of 60 independent runs.
MPI implementation.
3-index assignment
92Some experiments with parallelism in GRASP and
path-relinking
- Path-relinking in parallel
- Aiex, Pardalos, Resende, Toraldo 2000
- Stopping criteria
- Independent strategy
- Cooperative strategy
- Message Passing Interface (MPI) implementation
- SGI Challenge computer with 28 processors
93Stopping strategy
- If process finds target solution
- it stops and sends a message to other processes,
which stop. - If process completes maximum number of iterations
- it sends a message to other processes, which do
not stop until all processes complete maximum
number of iterations.
94Independent strategy
seed(1)
seed(2)
seed(3)
seed(4)
seed(p)
2
1
3
p
4
Stopping criteria are communicated
among processes.
95Cooperative strategy
Stopping criteria are communicated among
processes as before.
Solutions accepted into elite sets are
communicated among processes.
96Elite set communication
- Each process checks if there is any message to
receive before each PR leg. - If messages are waiting
- receive messages one or more candidate elite
solutions - apply acceptance criteria to each candidate
solution - update elite set of process if necessary
97Elite set communication
- In order to minimize communication
- During a GRASPPR iteration, each process
bufferizes all solutions accepted into its elite
set. - At end of GRASPPR iteration, bufferized
solutions are sent to all other processes.
983-index assignment (AP3)
Complete tripartite graph Each triangle made up
of three distinctly colored nodes has a cost.
AP3 Find a set of triangles such that each node
appears in exactly one triangle and the sum of
the costs of the triangles is minimized.
cost 10
99Independent on 3-index assignment bs26
100Collaborative on 3-index assignment bs26
101Speedup on 3-index assignment bs26
102Concluding remarks (1/1)
- Path-relinking adds intensification and memory
mechanisms to GRASP. - Time to target solution fits a two-parameter
exponential distribution, so approximate linear
speedups can be expected using independent
processors. - Exchange of information by processors can improve
performance of parallel implementation.
103Slides and publications
- Slides of this talk can be downloaded from
http//www.inf.puc-rio/celso/talks/curico.ppt - Chapter about GRASP and PR 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.p
df - Paper about parallel GA for OSPF setting in
preparation
104Curicó (Chile), October 9, 2001, 730 PM