A Business-Centric Approach to Design System Strategy
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
1. Biased random-key genetic
algorithms with applications
to optimization problems in
telecommunications
Plenary talk given at Optimization 2011
Lisbon, Portugal ✤ July 26, 2011
Mauricio G. C. Resende
AT&T Labs Research
Florham Park, New Jersey
mgcr@research.att.com
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
2. Summary
• Biased random-key genetic algorithms
• Applications in telecommunications
– Routing in IP networks
– Design of survivable IP networks with composite links
– Redundant server location for content distribution
– Regenerator location
– Routing & wavelength assignment in optical networks
• Concluding remarks
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
3. Reference
M.G.C.R., “Biased random-key genetic algorithms
with applications in telecommunications,” TOP,
published online 23 March 2011.
Tech report version:
http://www2.research.att.com/~mgcr/doc/brkga-telecom.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
4. Biased random-key
genetic algorithms
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
5. Genetic algorithms Holland (1975)
Adaptive methods that are used to solve search
and optimization problems.
Individual: solution
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
6. Genetic algorithms
Individual: solution
Population: set of fixed number of individuals
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
7. Genetic algorithms
Genetic algorithms evolve population applying
the principle of survival of the fittest.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
8. Genetic algorithms
Genetic algorithms evolve population applying
the principle of survival of the fittest.
A series of generations are produced by
the algorithm. The most fit individual of last
generation is the solution.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
9. Genetic algorithms
Genetic algorithms evolve population applying
the principle of survival of the fittest.
A series of generations are produced by
the algorithm. The most fit individual of last
generation is the solution.
Individuals from one generation are combined
to produce offspring that make up next
generation.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
10. Genetic algorithms
Probability of selecting individual to mate
is proportional to its fitness: survival of the
fittest.
a
b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
11. Genetic algorithms
Probability of selecting individual to mate
is proportional to its fitness: survival of the
fittest.
a
b
a
Combine Child in
c
parents generation K+1
b
Parents drawn from c
generation K
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
12. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
13. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
14. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
15. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
16. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
17. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
18. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
19. Evolution of solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
20. Genetic algorithms
with random keys
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
21. Reference
J.F. Gonçalves and M.G.C.R., “Biased random-key
genetic algorithms for combinatorial optimization,”
J. of Heuristics, published online 31 August 2010.
Tech report version:
http://www2.research.att.com/~mgcr/doc/srkga.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
22. GAs and random keys
• Introduced by Bean (1994)
for sequencing problems.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
23. GAs and random keys
• Introduced by Bean (1994)
for sequencing problems.
• Individuals are strings of
real-valued numbers S = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
(random keys) in the s(1) s(2) s(3) s(4) s(5)
interval [0,1].
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
24. GAs and random keys
• Introduced by Bean (1994)
for sequencing problems.
• Individuals are strings of S = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
real-valued numbers s(1) s(2) s(3) s(4) s(5)
(random keys) in the
interval [0,1].
• Sorting random keys results S' = ( 0.05, 0.19, 0.25, 0.67, 0.89 )
in a sequencing order. s(4) s(2) s(1) s(3) s(5)
Sequence: 4 – 2 – 1 – 3 – 5
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
25. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
26. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
27. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c=( )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
28. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25 )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
29. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25, 0.90 )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
30. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25, 0.90, 0.76 )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
31. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25, 0.90, 0.76, 0.05 )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
32. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25, 0.90, 0.76, 0.05, 0.89 )
parent passes the allele to
the child.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
33. GAs and random keys
• Mating is done using
parametrized uniform
crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )
• For each gene, flip a biased b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
coin to choose which c = ( 0.25, 0.90, 0.76, 0.05, 0.89 )
parent passes the allele to If every random-key array corresponds
the child. to a feasible solution: Mating always
produces feasible offspring.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
34. GAs and random keys
Initial population is made up of P
random-key vectors, each with N
keys, each having a value
generated uniformly at random in
the interval (0,1].
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
35. GAs and random keys
Population K
At the K-th generation,
compute the cost of each
solution ... Elite solutions
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
36. GAs and random keys
Population K
At the K-th generation,
compute the cost of each
solution and partition the Elite solutions
solutions into two sets:
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
37. GAs and random keys
Population K
At the K-th generation,
compute the cost of each
solution and partition the Elite solutions
solutions into two sets:
elite solutions and non-elite
solutions.
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
38. GAs and random keys
Population K
At the K-th generation,
compute the cost of each
solution and partition the Elite solutions
solutions into two sets:
elite solutions and non-elite
solutions. Elite set should
be smaller of the two sets
and contain best solutions.
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
39. GAs and random keys Population K+1
Population K
Evolutionary dynamics
Elite solutions
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
40. GAs and random keys Population K+1
Population K
Evolutionary dynamics
– Copy elite solutions from population
K to population K+1 Elite solutions
Elite solutions
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
41. GAs and random keys Population K+1
Population K
Evolutionary dynamics
– Copy elite solutions from population
K to population K+1 Elite solutions
Elite solutions
– Add R random solutions (mutants)
to population K+1
Non-elite Mutant
solutions solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
42. Biased random key GA Population K+1
Population K
Evolutionary dynamics
– Copy elite solutions from population
K to population K+1 Elite solutions Elite solutions
X
– Add R random solutions (mutants)
to population K+1
– While K+1-th population < P
• RANDOM-KEY GA: Use any two
solutions in population K to produce
child in population K+1. Mates are
chosen at random.
Non-elite Mutant
solutions solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
43. BRKGA: Probability
Biased random key GA child inherits
key of elite
Population K parent > 0.5 Population K+1
Evolutionary dynamics
– Copy elite solutions from population
K to population K+1 Elite solutions Elite solutions
X
– Add R random solutions (mutants)
to population K+1
– While K+1-th population < P
• RANDOM-KEY GA: Use any two
solutions in population K to produce
child in population K+1. Mates are
chosen at random.
• BIASED RANDOM-KEY GA: Mate elite
solution with non-elite of population K
to produce child in population K+1. Non-elite Mutant
Mates are chosen at random. solutions solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
44. Observations
• Random method: keys are randomly generated so
solutions are always random vectors
• Elitist strategy: best solutions are passed without change
from one generation to the next
• Child inherits more characteristics of elite parent:
one parent is always selected (with replacement) from the
small elite set and probability that child inherits key of elite
parent > 0.5
• No mutation in crossover: mutants are used instead
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
45. Decoders
• A decoder is a deterministic algorithm that takes as input a random-key
vector and returns a feasible solution of the optimization problem and
its cost.
• Bean (1994) proposed decoders based on sorting the random-key
vector to produce a sequence.
• A random-key GA searches the solution space indirectly by searching
the space of random keys and using the decoder to evaluate fitness of
the random key.
[0,1]N decoder Solution space
of optimization
problem
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
46. Decoders
• A decoder is a deterministic algorithm that takes as input a random-key
vector and returns a feasible solution of the optimization problem and
its cost.
• Bean (1994) proposed decoders based on sorting the random-key
vector to produce a sequence.
• A random-key GA searches the solution space indirectly by searching
the space of random keys and using the decoder to evaluate fitness of
the random key.
Search solution
space indirectly
[0,1]N decoder Solution space
of optimization
problem
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
47. Decoders
• A decoder is a deterministic algorithm that takes as input a random-key
vector and returns a feasible solution of the optimization problem and
its cost.
• Bean (1994) proposed decoders based on sorting the random-key
vector to produce a sequence.
• A random-key GA searches the solution space indirectly by searching
the space of random keys and using the decoder to evaluate fitness of
the random key.
Search solution
space indirectly
[0,1]N decoder Solution space
of optimization
problem
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
48. Decoders
• A decoder is a deterministic algorithm that takes as input a random-key
vector and returns a feasible solution of the optimization problem and
its cost.
• Bean (1994) proposed decoders based on sorting the random-key
vector to produce a sequence.
• A random-key GA searches the solution space indirectly by searching
the space of random keys and using the decoder to evaluate fitness of
the random key.
Search solution
space indirectly
[0,1]N decoder Solution space
of optimization
problem
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
49. Framework for biased random-key genetic algorithms
Generate P vectors Decode each vector
of random keys of random keys
no yes
Classify solutions as Sort solutions by Stopping rule
elite or non-elite their costs satisfied?
stop
Combine elite and
Copy elite solutions Generate mutants in non-elite solutions
to next population next population and add children to
next population
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
50. Framework for biased random-key genetic algorithms
Generate P vectors Decode each vector
of random keys of random keys
Problem independent
no yes
Classify solutions as Sort solutions by Stopping rule
elite or non-elite their costs satisfied?
stop
Combine elite and
Copy elite solutions Generate mutants in non-elite solutions
to next population next population and add children to
next population
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
51. Framework for biased random-key genetic algorithms
Problem dependent
Generate P vectors Decode each vector
of random keys of random keys
Problem independent
no yes
Classify solutions as Sort solutions by Stopping rule
elite or non-elite their costs satisfied?
stop
Combine elite and
Copy elite solutions Generate mutants in non-elite solutions
to next population next population and add children to
next population
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
52. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population
– Size of elite partition
– Size of mutant set
– Child inheritance probability
– Stopping criterion
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
53. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population: a function of N, say N or 2N
– Size of elite partition
– Size of mutant set
– Child inheritance probability
– Stopping criterion
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
54. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population: a function of N, say N or 2N
– Size of elite partition: 15-25% of population
– Size of mutant set
– Child inheritance probability
– Stopping criterion
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
55. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population: a function of N, say N or 2N
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability
– Stopping criterion
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
56. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population: a function of N, say N or 2N
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability: > 0.5, say 0.7
– Stopping criterion
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
57. Specifying a biased random-key GA
• Encoding is always done the same way, i.e. with a vector of
N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and
outputs the corresponding solution of the combinatorial
optimization problem and its cost (this is usually a heuristic)
• Parameters:
– Size of population: a function of N, say N or 2N
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability: > 0.5, say 0.7
– Stopping criterion: e.g. time, # generations, solution quality,
# generations without improvement
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
59. Applications in telecommunications
• Routing in IP networks
• Design of survivable IP networks
• Redundant server location for content distribution
• Regenerator location
• Routing and wavelength assignment in optical networks
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
60. OSPF routing in IP
networks
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
61. The Internet
• The Internet is composed of
many (inter-connected)
autonomous systems (AS).
• An AS is a network controlled
by a single entity, e.g. ISP,
university, corporation,
country, ...
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
63. Routing
• A packet is sent from a origination router S to a
destination router T.
• S and T may be in
– same AS:
– different ASes:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
64. Routing
• A packet is sent from a origination router S to a
destination router T.
• S and T may be in
– same AS: IGP routing
– different ASes:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
65. Routing
• A packet is sent from a origination router S to a
destination router T.
• S and T may be in
– same AS: IGP routing
– different ASes: BGP routing
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
66. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
67. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
68. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
69. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
70. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
71. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
AS
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
72. IGP Routing
• IGP (interior gateway
S protocol) routing is
concerned with
routing within an AS.
• Routing decisions are
AS made by AS operator.
T
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
73. BGP Routing
AS • BGP (border gateway
protocol) routing deals
with routing between
AS different ASes.
AS
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
74. BGP Routing
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
AS different ASes.
Peering points
AS
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
75. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
AS different ASes.
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
76. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
AS different ASes.
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
77. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
Ingress point
AS different ASes.
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
78. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
Ingress point
AS different ASes.
Egress point
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
79. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
Ingress point
AS different ASes.
Egress point
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
80. BGP Routing
s
AS Peering points • BGP (border gateway
protocol) routing deals
with routing between
Ingress point
AS different ASes.
Egress point
Peering points
AS
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
82. OSPF routing
• Given a network G = (N,A), where N is the set of
routers and A is the set of links.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
83. OSPF routing
• Given a network G = (N,A), where N is the set of
routers and A is the set of links.
• The OSPF (open shortest path first) routing
protocol assumes each link a has a weight w(a)
assigned to it so that a packet from a source
router s to a destination router t is routed on a
shortest weight path from s to t.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
84. OSPF routing
• Given a network G = (N,A), where N is the set of
routers and A is the set of links.
• The OSPF (open shortest path first) routing
protocol assumes each link a has a weight w(a)
assigned to it so that a packet from a source
router s to a destination router t is routed on a
shortest weight path from s to t.
s
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
85. OSPF routing
• Given a network G = (N,A), where N is the set of
routers and A is the set of links.
• The OSPF (open shortest path first) routing
protocol assumes each link a has a weight w(a)
assigned to it so that a packet from a source
router s to a destination router t is routed on a
shortest weight path from s to t.
s
t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
86. OSPF routing
• Given a network G = (N,A), where N is the set of
routers and A is the set of links.
• The OSPF (open shortest path first) routing
protocol assumes each link a has a weight w(a)
assigned to it so that a packet from a source
router s to a destination router t is routed on a
shortest weight path from s to t.
s
t
Traffic splitting
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
87. OSPF routing
• By setting OSPF weights appropriately, one can do traffic
engineering, i.e. route traffic so as to optimize some
objective (e.g. minimize congestion, maximize
throughput, etc.).
● Some recent papers on this topic:
– Fortz & Thorup (2000, 2004)
– Ramakrishnan & Rodrigues (2001)
– Sridharan, Guérin, & Diot (2002)
– Fortz, Rexford, & Thorup (2002)
– Ericsson, Resende, & Pardalos (2002)
– Buriol, Resende, Ribeiro, & Thorup (2002, 2005)
– Reis, Ritt, Buriol, & Resende (2011)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
88. OSPF routing
● By setting OSPF weights appropriately, one can do
traffic engineering, i.e. route traffic so as to optimize
some objective (e.g. minimize congestion, maximize
throughput, etc.).
• Some recent papers on this topic:
– Fortz & Thorup (2000, 2004)
– Ramakrishnan & Rodrigues (2001)
– Sridharan, Guérin, & Diot (2002)
– Fortz, Rexford, & Thorup (2002)
– Ericsson, Resende, & Pardalos (2002)
– Buriol, Resende, Ribeiro, & Thorup (2002, 2005)
– Reis, Ritt, Buriol & Resende (2011)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
89. Packet routing
Packet’s final
When packet arrives at router, destination.
router must decide where to
router router
send it next.
router router
D1 R1
D2 R2 router Routing consists in finding a
D3 R3 link-path from source to
D4 R4 Routing table destination.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
90. OSPF routing
• Assign an integer weight [1, wmax ] to each link
in AS. In general, wmax = 65535=216 −1.
• Each router computes tree of shortest weight
paths to all other routers in the AS, with itself as
the root, using Dijkstra’s algorithm.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
91. OSPF routing
Routing table is filled
Routing table with first hop routers
D1 R1 for each possible destination.
D2 R1 root
D3 R2
D4 R3 1 2 3 First hop routers.
D5 R1
D6 R3 1
5 3 4
6
Destination routers
2
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
92. OSPF routing
Routing table is filled
Routing table with first hop routers
D1 R1 for each possible destination.
D2 R1 root
D3 R2
D4 R3 1 2 3 First hop routers.
D5 R1
D6 R3 1
5 3 4
6
Destination routers
2
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
93. OSPF routing
Routing table is filled
Routing table with first hop routers
D1 R1 for each possible destination.
D2 R1 root
D3 R2
D4 R3 1 2 3 First hop routers.
D5 R1
D6 R3 1
5 3 4
6
Destination routers
2
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
94. OSPF routing
Routing table is filled
Routing table with first hop routers
D1 R1 for each possible destination.
D2 R1 root
D3 R2
D4 R3 1 2 3 First hop routers.
D5 R1
D6 R3 1
5 3 4
6
Destination routers
2
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
95. OSPF routing
Routing table is filled
Routing table with first hop routers
D1 R1 for each possible destination.
In case of multiple shortest
D2 R1, R2 paths, flow is evenly split.
D3 R2
D4 R3 1 2 3 First hop routers.
D5 R1
D6 R3 1
5 3 4
6
Destination routers
2
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
96. OSPF weight setting
• OSPF weights are assigned by network operator.
– CISCO assigns, by default, a weight proportional to the
inverse of the link bandwidth (Inv Cap).
– If all weights are unit, the weight of a path is the number of
hops in the path.
• We propose two BRKGA to find good OSPF weights.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
97. Minimization of congestion
• Consider the directed capacitated network G = (N,A,c),
where N are routers, A are links, and ca is the capacity
of link a A.
• We use the measure of Fortz & Thorup (2000) to
compute congestion:
= 1(l1) + 2(l2) + … + |A|(l|A|)
where la is the load on link a A,
a(la) is piecewise linear and convex,
a(0) = 0, for all a A.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
98. Piecewise linear and convex a(la)
link congestion measure 70
slope = 5000
60
c o s t p er u n it o f c a p a c it y
50
slope = 500
40
30
20
slope = 3 slope = 10
10
slope = 1
slope = 70
(la ca )
0
0 0 .2 0 .4 0 .6 0 .8 1 1 .2
t r u n k u t il iza t io n r a t e
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
99. OSPF weight setting problem
• 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, wmax ] to each link a A,
such that the objective function is minimized
when demand is routed according to the OSPF
protocol.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
100. BRKGA for OSPF routing in IP networks
M. Ericsson, M.G.C.R., & P.M. Pardalos, “A genetic
algorithm for the weight setting problem in OSPF
routing,” J. of Combinatorial Optimization, vol. 6, pp.
299–333, 2002.
Tech report version:
http://www2.research.att.com/~mgcr/doc/gaospf.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
101. BRKGA for OSPF routing in IP networks
Ericsson, R., & Pardalos (J. Comb. Opt., 2002)
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
102. BRKGA for OSPF routing in IP networks
Ericsson, R., & Pardalos (J. Comb. Opt., 2002)
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight.
• Decoding:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
103. BRKGA for OSPF routing in IP networks
Ericsson, R., & Pardalos (J. Comb. Opt., 2002)
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight.
• Decoding:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
104. BRKGA for OSPF routing in IP networks
Ericsson, R., & Pardalos (J. Comb. Opt., 2002)
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight.
• Decoding:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– Compute shortest paths and route traffic according to OSPF.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
105. BRKGA for OSPF routing in IP networks
Ericsson, R., & Pardalos (J. Comb. Opt., 2002)
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight.
• Decoding:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– Compute shortest paths and route traffic according to OSPF.
– Compute load on each link, compute link congestion, add up all
link congestions to compute network congestion.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
106. Tier-1 ISP backbone network (90 routers, 274 links)
cost
GA solutions
LP lower
bound
generation
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
107. Tier-1 ISP backbone network (90 routers, 274 links)
Max
utilization 2 Weight setting with GA
1 .8
permits a 50% increase in
traffic volume w.r.t. weight
1 .6
setting with the Inverse
1 .4 Capacity rule.
1 .2
1
0 .8
0 .6
0 .4
In v C ap
0 .2
GA
L PL B
0
0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000
demand
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
108. Improved BRKGA for OSPF routing in IP networks
L.S. Buriol, M.G.C.R., C.C. Ribeiro, and M. Thorup, “A
hybrid genetic algorithm for the weight setting problem
in OSPF/IS-IS routing,” Networks, vol. 46, pp. 36–56,
2005.
Tech report version:
http://www2.research.att.com/~mgcr/doc/hgaospf.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
109. Improved BRKGA for OSPF routing in IP networks
Buriol, R., Ribeiro, and Thorup (Networks, 2005)
• Encoding:
– A vector X of N random keys, where N is the number of links.
The i-th random key corresponds to the i-th link weight.
Elite solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
110. Improved BRKGA for OSPF routing in IP networks
Buriol, R., Ribeiro, and Thorup (Networks, 2005)
• Encoding:
– A vector X of N random keys, where N is the number of links.
The i-th random key corresponds to the i-th link weight.
Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– Compute shortest paths and route traffic according to OSPF.
– Compute load on each link, compute link congestion, add up
all link congestions to compute network congestion.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
111. Improved BRKGA for OSPF routing in IP networks
Buriol, R., Ribeiro, and Thorup (Networks, 2005)
• Encoding:
– A vector X of N random keys, where N is the number of links.
The i-th random key corresponds to the i-th link weight.
Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– Compute shortest paths and route traffic according to OSPF.
– Compute load on each link, compute link congestion, add up
all link congestions to compute network congestion.
– Apply fast local search to improve weights.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
112. Decoder has a local search phase Population K+1
Population K
Elite solutions
Elite solutions
X Local search
Biased coin flip crossover Mutant
solutions
Non-elite
solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
113. Fast local search
• Let A* be the set of five arcs a A having
largest a values.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
114. Fast local search
• Let A* be the set of five arcs a A having
largest a values.
• Scan arcs a A* from largest to smallest a:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
115. Fast local search
• Let A* be the set of five arcs a A having
largest a values.
• Scan arcs a A* from largest to smallest a:
Increase arc weight, one unit at a time, in the range
[wa , wa (wmax – wa )/4 ]
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
116. Fast local search
• Let A* be the set of five arcs a A having
largest a values.
• Scan arcs a A* from largest to smallest a:
Increase arc weight, one unit at a time, in the range
[wa , wa (wmax – wa )/4 ]
If total cost is reduced, restart local search.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
117. Effect of decoder with fast local search
1000
Improved: Buriol, R.,
Ribeiro, and Thorup
(2005)
Original: Ericsson,
R., and Pardalos
c o st
100
(2002)
LP lower bound
10
0 50 100 150 200 250 300
t ime (s ec o n d s )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
118. Effect of decoder with fast local search
1000
Improved: Buriol, R., Improved BRKGA:
Ribeiro, and Thorup
(2005) Finds solutions faster
Original: Ericsson,
R., and Pardalos Finds better solutions
c o st
100
(2002)
LP lower bound
10
0 50 100 150 200 250 300
t ime (s ec o n d s )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
120. Survivable IP network design
L.S. Buriol, M.G.C.R., and M. Thorup, “Survivable IP
network design with OSPF routing,” Networks, vol. 49,
pp. 51–64, 2007.
Tech report version:
http://www2.research.att.com/~mgcr/doc/gamult.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
121. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
122. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given
– directed graph G = (N,A), where
N is the set of routers, A is the
set of potential arcs where
capacity can be installed,
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
123. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given
– directed graph G = (N,A), where
N is the set of routers, A is the
set of potential arcs where
capacity can be installed,
– a demand matrix D that for
each pair (s,t) NN, specifies
the demand D(s,t) between s
and t,
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
124. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given
– directed graph G = (N,A), where
N is the set of routers, A is the
set of potential arcs where
capacity can be installed,
– a demand matrix D that for
each pair (s,t) NN, specifies
the demand D(s,t) between s
and t,
– a cost K(a) to lay fiber on arc a
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
125. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given
– directed graph G = (N,A), where
N is the set of routers, A is the
set of potential arcs where
capacity can be installed,
– a demand matrix D that for
each pair (s,t) NN, specifies
the demand D(s,t) between s
and t,
– a cost K(a) to lay fiber on arc a
– a capacity increment C for the
fiber.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
126. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given • Determine
– directed graph G = (N,A), where
N is the set of routers, A is the
set of potential arcs where
capacity can be installed,
– a demand matrix D that for
each pair (s,t) NN, specifies
the demand D(s,t) between s
and t,
– a cost K(a) to lay fiber on arc a
– a capacity increment C for the
fiber.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
127. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given • Determine
– directed graph G = (N,A), where – OSPF weight w(a) to assign to each
N is the set of routers, A is the arc a A,
set of potential arcs where
capacity can be installed,
– a demand matrix D that for
each pair (s,t) NN, specifies
the demand D(s,t) between s
and t,
– a cost K(a) to lay fiber on arc a
– a capacity increment C for the
fiber.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
128. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given • Determine
– directed graph G = (N,A), where – OSPF weight w(a) to assign to each
N is the set of routers, A is the arc a A,
set of potential arcs where – which arcs should be used to deploy
capacity can be installed, fiber and how many units
– a demand matrix D that for (multiplicities) M(a) of capacity C
each pair (s,t) NN, specifies should be installed on each arc
the demand D(s,t) between s a A,
and t,
– a cost K(a) to lay fiber on arc a
– a capacity increment C for the
fiber.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
129. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given • Determine
– directed graph G = (N,A), where – OSPF weight w(a) to assign to each
N is the set of routers, A is the arc a A,
set of potential arcs where – which arcs should be used to deploy
capacity can be installed, fiber and how many units
– a demand matrix D that for (multiplicities) M(a) of capacity C
each pair (s,t) NN, specifies should be installed on each arc
the demand D(s,t) between s a A,
and t, • such that all the demand can be routed
– a cost K(a) to lay fiber on arc a on the network even when any single
– a capacity increment C for the arc fails.
fiber.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
130. Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)
• Given • Determine
– directed graph G = (N,A), where – OSPF weight w(a) to assign to each
N is the set of routers, A is the arc a A,
set of potential arcs where – which arcs should be used to deploy
capacity can be installed, fiber and how many units
– a demand matrix D that for (multiplicities) M(a) of capacity C
each pair (s,t) NN, specifies should be installed on each arc
the demand D(s,t) between s a A,
and t, • such that all the demand can be routed
– a cost K(a) to lay fiber on arc a on the network even when any single
– a capacity increment C for the arc fails.
fiber. • Min total design cost = aA M(a)K(a).
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
131. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
132. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
133. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
134. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc aA determine the load on arc a.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
135. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc aA determine the load on arc a.
– For each arc aA, determine the multiplicity M(a) using the
maximum load for that arc over all failure modes.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
136. Survivable IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc aA determine the load on arc a.
– For each arc aA, determine the multiplicity M(a) using the
maximum load for that arc over all failure modes.
– Network design cost = aA M(a) K(a)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
137. For each arc a A, set Computing the “fitness” of a solution
M(a) = 1; maxL(a) = – (single link failure case)
Route all demand For each arc a A,
Determine load L(a)
on shortest set maxL(a) =
on each arc a A.
path graph max{L(a),maxL(a)}
For each arc e A, Compute shortest Route all demand
remove arc e from path graph on on shortest
network G. G {e} path graph
yes For each arc a A, set Determine load L(a)
maxL(a) = max{L(a), maxL(a)} on each arc a A.
Any M(a) For each arc e A,
changed? compute M(a)
no, then stop
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
138. Composite-link design
• In Buriol, R., and Thorup (2006)
– links were all of the same type,
– only the link multiplicity had to be determined.
● Now consider composite links. Given a load L(a) on arc a, we
can compose several different link types that sum up to the
needed capacity c(a) L(a):
– c(a) = tused in arc a M(t) (t), where
– M(t) is the multiplicity of link type t
– (t) is the capacity of link type t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
139. Composite-link design
● In Buriol, Resende, and Thorup (2006)
– links were all of the same type,
– only the link multiplicity had to be determined.
• Now consider composite links. Given a load L(a) on arc a, we
can compose several different link types that sum up to the
needed capacity c(a) L(a):
– c(a) = tused in arc a M(t) (t), where
– M(t) is the multiplicity of link type t
– (t) is the capacity of link type t
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
140. Composite-link design
D.V. Andrade, L.S. Buriol, M.G.C.R., and M. Thorup,
“Survivable composite-link IP network design with OSPF
routing,” The Eighth INFORMS Telecommunications
Conference, Dallas, Texas, April 2006.
Tech report:
http://www2.research.att.com/~mgcr/doc/composite.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
141. Composite-link design
• Link types = { 1, 2, ..., T }
• Capacities = { c(1), c(2), ..., c(T) } : c(i) < c(i+1)
• Prices / unit length = { p(1), p(2), ..., p(T) }: p(i) < p(i+1)
● Assumptions:
– [p(T)/c(T)] < [p(T–1)/c(T–1)] < ··· < [p(1)/c(1)], i.e. price
per unit of capacity is smaller for links with greater capacity
– c(i) = c(i–1), for N, 1, i.e. capacities are
multiples of each other by powers of
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
142. Composite-link design
• Link types = { 1, 2, ..., T }
• Capacities = { c(1), c(2), ..., c(T) } : c(i) < c(i+1)
• Prices / unit length = { p(1), p(2), ..., p(T) }: p(i) < p(i+1)
• Assumptions:
– [p(T)/c(T)] < [p(T–1)/c(T–1)] < ··· < [p(1)/c(1)], i.e. price
per unit of capacity is smaller for links with greater capacity
– c(i) = c(i–1), for N, 1, i.e. capacities are
multiples of each other by powers of
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
144. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
145. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
146. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
147. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc iA determine the load on arc i.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
148. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc iA determine the load on arc i.
– For each arc iA, determine the multiplicity M(t,i) for each link
type t using the maximum load for that arc over all failure modes.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
149. Survivable composite link IP network design
• Encoding:
– A vector X of N random keys, where N is the number of links. The
i-th random key corresponds to the i-th link weight. Elite solutions
• Decoder:
– For i = 1, …, N: set w(i) = ceil ( X(i) wmax )
– For each failure mode: route demand according to OSPF and for
each arc iA determine the load on arc i.
– For each arc iA, determine the multiplicity M(t,i) for each link
type t using the maximum load for that arc over all failure modes.
– Network design cost = iA tused in arc i M(t,i) p(t)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
150. Input Computing the “fitness” of a solution done
load L (single link failure case)
Release links of types
Let k*=argmin { (k) }
Set k = T k*– 1, ..., 1 and use
L/c(k*)of type k* links
yes
Use as many as
possible ( L/c(k) of no
k=0?
type k links without
exceeding the load L
Compute cost (k) of
Update load:
satisfying remaining Set k = k – 1
load with link type k L = L – L/c(k)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
151. Redundant content
distribution
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
152. Reference:
L. Breslau, I. Diakonikolas, N. Duffield,
Y. Gu, M. Hajiaghayi, D.S. Johnson,
H. Karloff, M.G.C.R., and S. Sen, “Disjoint-
path facility location: Theory and practice,”
Proceedings of the Thirteenth Workshop on
Algorithm Engineering and Experiments
(ALENEX11), SIAM, San Francisco,
pp. 60–74, January 22, 2011
Tech report version:
http://www2.research.att.com/~mgcr/doc/monitoring-alenex.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
153. Redundant content distribution (RCD)
• Suppose a number of users located at nodes in a
network demand content.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
154. Redundant content distribution
• Suppose a number of users located at nodes in a
network demand content.
• Copies of content are stored throughout the
network in data warehouses.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
155. Redundant content distribution
• Suppose a number of users located at nodes in a
network demand content.
• Copies of content are stored throughout the
network in data warehouses.
• Content is sent from data warehouse to user on
routes determined by OSPF.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
156. Redundant content distribution
• Suppose a number of users located at nodes in a
network demand content.
• Copies of content are stored throughout the
network in data warehouses.
• Content is sent from data warehouse to user on
routes determined by OSPF.
• Problem: Locate minimum number of
warehouses in network such all users get their
content even in presence of edge failures.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
157. Redundant content distribution
s t
Traffic from node s to node t flows on paths defined by OSPF.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
158. Redundant content distribution
s t
We don't know on which path a particular packet will flow.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
159. Redundant content distribution
X
s t
We say traffic from node s to node t is interrupted if any edge
in one of the paths from s to t fails.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
160. sa t
X
We say traffic from source nodes sa and sb to
node t is interrupted if any common edge
in one of the paths from sa to t and sb to t fails.
sb
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
161. sa t
If all paths from source node sa to node t are
disjoint from all paths from node sb to t, then
traffic to t will never be interrupted for any single
edge failure.
sb
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
162. Redundant content distribution
Suppose nodes b1, b2, ... want some
m3
content (e.g. video). m1
We want the smallest set S of b2
servers such that:
b1
b3
for every bi there exist m1, m2 S
b4 m4
both of which can provide content
to bi
m2
and all paths m1 b are disjoint
with all paths m2 b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
163. Redundant content distribution
Suppose nodes b1, b2, ... want some
m3
content (e.g. video). m1
We want the smallest set S of b2
servers such that:
b1
b3
for every bi there exist m1, m2 S
b4 m4
both of which can provide content
to bi
m2
and all paths m1 b are disjoint
with all paths m2 b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
164. Redundant content distribution
Suppose nodes b1, b2, ... want some
m3
content (e.g. video). m1
We want the smallest set S of b2
servers such that:
b1
b3
for every bi there exist m1, m2 S
b4 m4
both of which can provide content
to bi
m2
and all paths m1 b are disjoint
with all paths m2 b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
165. Redundant content distribution
Suppose nodes b1, b2, ... want some
m3
content (e.g. video). m1
We want the smallest set S of b2
servers such that:
b1
b3
for every bi there exist m1, m2 S
b4 m4
both of which can provide content
to bi
m2
and all paths m1 b are disjoint
with all paths m2 b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
166. Redundant content distribution
Suppose nodes b1, b2, ... want some
m3
content (e.g. video). m1
We want the smallest set S of b2
servers such that:
b1
b3
for every bi there exist m1, m2 S
b4 m4
both of which can provide content
to bi
m2
and all paths m1 b are disjoint
with all paths m2 b
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
167. Redundant content distribution
• Given:
– A directed network G = (V, E);
– A set of nodes B E where content-demanding
users are located;
– A set of nodes M E where content warehouses can
be located;
– The set of all OSPF paths from m to b, for m M and
b B.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
168. Redundant content distribution
• Compute:
– The set of triples { m1, m2, b }i, i = 1, 2, …, T, such
that all paths from m1 to b and from m2 to b are
disjoint, where m1, m2 M and b B.
– Note that if BM ∅, then some triples will be of
the type { b, b, b }, where bBM, i.e. a data
warehouse that is co-located with a user can provide
content to the user by itself.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
169. Redundant content distribution
• Solve the covering by pairs problem:
– Find a smallest-cardinality set M* M such that for all
b B, there exists a triple { m1, m2, b } in the set of
triples such that m1, m2 M*.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
170. Greedy algorithm for covering by pairs
• initialize partial cover M* = { }
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
171. Greedy algorithm for covering by pairs
• initialize partial cover M* = { }
• while M* is not a cover do:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
172. Greedy algorithm for covering by pairs
• initialize partial cover M* = { }
• while M* is not a cover do:
– find m M M* such that M* {m} covers a maximum
number of additional user nodes (break ties by vertex
index) and set M* = M* {m}
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
173. Greedy algorithm for covering by pairs
• initialize partial cover M* = { }
• while M* is not a cover do:
– find m M M* such that M* {m} covers a maximum
number of additional user nodes (break ties by vertex
index) and set M* = M* {m}
– if no m M M* yields an increase in coverage, then
choose a pair {m1,m2} M M* that yields a maximum
increase in coverage and set M* = M* {m1} {m2}
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
174. Greedy algorithm for covering by pairs
• initialize partial cover M* = { }
• while M* is not a cover do:
– find m M M* such that M* {m} covers a maximum
number of additional user nodes (break ties by vertex
index) and set M* = M* {m}
– if no m M M* yields an increase in coverage, then
choose a pair {m1,m2} M M* that yields a maximum
increase in coverage and set M* = M* {m1} {m2}
– if no pair exists, then the problem is infeasible
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
175. BRKGA for
redundant content
distribution
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
176. BRKGA for the RCD problem
• Encoding:
– A vector X of N keys randomly generated in the real
interval (0,1], where N = |M| is the number of potential
data warehouse nodes. The i-th random key corresponds
to the i-th potential data warehouse node.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
177. BRKGA for the RCD problem
• Encoding:
– A vector X of N keys randomly generated in the real
interval (0,1], where N = |M| is the number of potential
data warehouse nodes. The i-th random key corresponds
to the i-th potential data warehouse node.
• Decoder:
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
178. BRKGA for the RCD problem
• Encoding:
– A vector X of N keys randomly generated in the real
interval (0,1], where N = |M| is the number of potential
data warehouse nodes. The i-th random key corresponds
to the i-th potential data warehouse node.
• Decoder:
– For i = 1, …, N: if X(i) > ½, add i-th data warehouse
node to solution
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
179. BRKGA for the RCD problem
• Encoding:
– A vector X of N keys randomly generated in the real
interval (0,1], where N = |M| is the number of potential
data warehouse nodes. The i-th random key corresponds
to the i-th potential data warehouse node.
• Decoder:
– For i = 1, …, N: if X(i) > ½, add i-th data warehouse
node to solution
– If solution is feasible, i.e. all users are covered: STOP
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
180. BRKGA for the RCD problem
• Encoding:
– A vector X of N keys randomly generated in the real
interval (0,1], where N = |M| is the number of potential
data warehouse nodes. The i-th random key corresponds
to the i-th potential data warehouse node.
• Decoder:
– For i = 1, …, N: if X(i) > ½, add i-th data warehouse
node to solution
– If solution is feasible, i.e. all users are covered: STOP
– Else, apply greedy algorithm to cover uncovered user
nodes.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
181. BRKGA for the RCD problem
• Size of population: N (number of monitoring nodes)
• Size of elite set: 15% of N
• Size of mutant set: 10% of N
• Biased coin probability: 70%
• Stop after N generations without improvement of
best found solution
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
182. Another application: Host placement
for end-to-end monitoring
• Internet service provider (ISP) delivers virtual private
network (VPN) service to customers.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
183. Another application: Host placement
for end-to-end monitoring
• Internet service provider (ISP) delivers virtual private
network (VPN) service to customers.
• The ISP agrees to send traffic between locations specified
by the customer and promises to provide certain level of
service on the connections.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
184. Another application: Host placement
for end-to-end monitoring
• Internet service provider (ISP) delivers virtual private
network (VPN) service to customers.
• The ISP agrees to send traffic between locations specified
by the customer and promises to provide certain level of
service on the connections.
• A key service quality metric is packet loss rate.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
185. Another application: Host placement
for end-to-end monitoring
• Internet service provider (ISP) delivers virtual private
network (VPN) service to customers.
• The ISP agrees to send traffic between locations specified
by the customer and promises to provide certain level of
service on the connections.
• A key service quality metric is packet loss rate.
• We want to minimize the number of monitoring equipment
placed in the network to measure packet loss rate: This is a
type of covering by pairs problem.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
186. n100-i2-m100-b100 (opt = 23)
solution
BRKGA solutions Random multi-start solutions
Optimal value
Time (ibm t41 secs)
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
187. Real-world instance derived from a proprietary Tier-1
Internet Service Provider (ISP) backbone network using
OSPF for routing.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
188. Size of network: about 1000 nodes, where almost all can
store content and about 90% have content-demanding users.
Over 45 million triples.
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
189. Regenerator location
problem
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
190. Reference
A. Duarte, R. Martí, M.G.C.R., and R.M.A. Silva, “Randomized
heuristics for the regenerator location problem,” AT&T Labs
Research Technical Report, Florham Park, NJ, July 13, 2010.
Tech report version:
http://www.research.att.com/~mgcr/doc/gpr-regenloc.pdf
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
191. Signal regeneration
• Telecommunication systems use optical signals to
transmit information
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
192. Signal regeneration
• Telecommunication systems use optical signals to
transmit information
• Strength of signal deteriorates and loses power as it gets
farther from source
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom
193. Signal regeneration
• Telecommunication systems use optical signals to
transmit information
• Strength of signal deteriorates and loses power as it gets
farther from source
• Signal must be regenerated periodically to reach
destination: Regenerators
Optimization 2011 ✤ July 26, 2011 BRKGA with applications in telecom