SlideShare a Scribd company logo
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
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
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
Biased random-key
     genetic algorithms

Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
Genetic algorithms




             Individual: solution
             Population: set of fixed number of individuals
   Optimization 2011 ✤ July 26, 2011                     BRKGA with applications in telecom
Genetic algorithms
                                       Genetic algorithms evolve population applying
                                       the principle of survival of the fittest.




   Optimization 2011 ✤ July 26, 2011              BRKGA with applications in telecom
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
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
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
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
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Evolution of solutions




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
Genetic algorithms
         with random keys

Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
GAs and random keys

• Introduced by Bean (1994)
  for sequencing problems.




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Applications in
telecommunications

Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
OSPF routing in IP
            networks


Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IGP Routing


Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Survivable IP
network design

Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
Survivable IP network design
Buriol, R., & Thorup (Networks, 2007)

• Given




       Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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)  NN, specifies
      the demand D(s,t) between s
      and t,




       Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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)  NN, 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
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)  NN, 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
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)  NN, 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
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)  NN, 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
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)  NN, 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
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)  NN, 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
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)  NN, 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 = aA M(a)K(a).

       Optimization 2011 ✤ July 26, 2011          BRKGA with applications in telecom
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
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
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
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 aA determine the load on arc a.




   Optimization 2011 ✤ July 26, 2011         BRKGA with applications in telecom
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 aA determine the load on arc a.
    – For each arc aA, 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
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 aA determine the load on arc a.
    – For each arc aA, determine the multiplicity M(a) using the
      maximum load for that arc over all failure modes.
    – Network design cost = aA M(a) K(a)


   Optimization 2011 ✤ July 26, 2011         BRKGA with applications in telecom
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
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) = tused 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
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) = tused 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
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
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
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
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)]: economies of
          scale
        – c(i) =   c(i–1), for N, 1, e.g.
          c(OC192) = 4 c(OC48); c(OC48) = 4 c(OC12);
          c(OC12) = 4 c(OC3);
               OC3          OC12       OC48 OC192
           155 Mb/s 622 Mb/s 2.5 Gb/s 10 Gb/s       
   Optimization 2011 ✤ July 26, 2011            BRKGA with applications in telecom
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
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
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
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 iA determine the load on arc i.




   Optimization 2011 ✤ July 26, 2011         BRKGA with applications in telecom
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 iA determine the load on arc i.
    – For each arc iA, 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
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 iA determine the load on arc i.
    – For each arc iA, 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 = iA tused in arc i M(t,i) p(t)


   Optimization 2011 ✤ July 26, 2011           BRKGA with applications in telecom
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
Redundant content
          distribution


Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 BM ∅, then some triples will be of
        the type { b, b, b }, where bBM, 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
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
Greedy algorithm for covering by pairs
  • initialize partial cover M* = { }




  Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
BRKGA for
redundant content
   distribution
Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
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
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
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
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
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
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
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
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
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
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
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
Regenerator location
     problem

Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
Signal regeneration

  • Telecommunication systems use optical signals to
    transmit information




   Optimization 2011 ✤ July 26, 2011   BRKGA with applications in telecom
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
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
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications
Biased random-key genetic algorithms with applications to optimization problems in telecommunications

More Related Content

Similar to Biased random-key genetic algorithms with applications to optimization problems in telecommunications

Biology-Derived Algorithms in Engineering Optimization
Biology-Derived Algorithms in Engineering OptimizationBiology-Derived Algorithms in Engineering Optimization
Biology-Derived Algorithms in Engineering OptimizationXin-She Yang
 
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...drboon
 
IRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate RecognitionIRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate RecognitionIRJET Journal
 
Analog signal processing solution
Analog signal processing solutionAnalog signal processing solution
Analog signal processing solutioncsandit
 
Analog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationAnalog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationsipij
 
Analog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationAnalog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationsipij
 
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...IRJET Journal
 
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...ijngnjournal
 
A Hybrid Differential Evolution Method for the Design of IIR Digital Filter
A Hybrid Differential Evolution Method for the Design of IIR Digital FilterA Hybrid Differential Evolution Method for the Design of IIR Digital Filter
A Hybrid Differential Evolution Method for the Design of IIR Digital FilterIDES Editor
 
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...Jim Jimenez
 
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...Extend Your Journey: Introducing Signal Strength into Location-based Applicat...
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...Chih-Chuan Cheng
 
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...IAEME Publication
 
Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Kannan Kathiravan
 
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...Communication Systems & Networks
 
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptxssuser67281d
 
Evolving Neural Networks Through Augmenting Topologies
Evolving Neural Networks Through Augmenting TopologiesEvolving Neural Networks Through Augmenting Topologies
Evolving Neural Networks Through Augmenting TopologiesDaniele Loiacono
 
Optimization technique genetic algorithm
Optimization technique genetic algorithmOptimization technique genetic algorithm
Optimization technique genetic algorithmUday Wankar
 
Handling Missing Attributes using Matrix Factorization 
Handling Missing Attributes using Matrix Factorization Handling Missing Attributes using Matrix Factorization 
Handling Missing Attributes using Matrix Factorization CS, NcState
 

Similar to Biased random-key genetic algorithms with applications to optimization problems in telecommunications (20)

Biology-Derived Algorithms in Engineering Optimization
Biology-Derived Algorithms in Engineering OptimizationBiology-Derived Algorithms in Engineering Optimization
Biology-Derived Algorithms in Engineering Optimization
 
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...
An Application of Genetic Algorithm for Non-restricted Space and Pre-determin...
 
IRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate RecognitionIRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate Recognition
 
Analog signal processing solution
Analog signal processing solutionAnalog signal processing solution
Analog signal processing solution
 
Analog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationAnalog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimation
 
Analog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimationAnalog signal processing approach for coarse and fine depth estimation
Analog signal processing approach for coarse and fine depth estimation
 
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...
IRJET- Gene Mutation Data using Multiplicative Adaptive Algorithm and Gene On...
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
OPTIMIZATION OF QOS PARAMETERS IN COGNITIVE RADIO USING ADAPTIVE GENETIC ALGO...
 
A Hybrid Differential Evolution Method for the Design of IIR Digital Filter
A Hybrid Differential Evolution Method for the Design of IIR Digital FilterA Hybrid Differential Evolution Method for the Design of IIR Digital Filter
A Hybrid Differential Evolution Method for the Design of IIR Digital Filter
 
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
A Real Coded Genetic Algorithm For Solving Integer And Mixed Integer Optimiza...
 
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...Extend Your Journey: Introducing Signal Strength into Location-based Applicat...
Extend Your Journey: Introducing Signal Strength into Location-based Applicat...
 
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...
PATTERN SYNTHESIS OF NON-UNIFORM AMPLITUDE EQUALLY SPACED MICROSTRIP ARRAY AN...
 
Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Optimization for-power-sy-8631549
Optimization for-power-sy-8631549
 
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...
In-band Full-Duplex in Hand-held Applications: Analysis of canceller tuning r...
 
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
2. NEURAL NETWORKS USING GENETIC ALGORITHMS.pptx
 
Evolving Neural Networks Through Augmenting Topologies
Evolving Neural Networks Through Augmenting TopologiesEvolving Neural Networks Through Augmenting Topologies
Evolving Neural Networks Through Augmenting Topologies
 
Optimization technique genetic algorithm
Optimization technique genetic algorithmOptimization technique genetic algorithm
Optimization technique genetic algorithm
 
APPLICATIONS OF WAVELET TRANSFORMS AND NEURAL NETWORKS IN EARTHQUAKE GEOTECHN...
APPLICATIONS OF WAVELET TRANSFORMS AND NEURAL NETWORKS IN EARTHQUAKE GEOTECHN...APPLICATIONS OF WAVELET TRANSFORMS AND NEURAL NETWORKS IN EARTHQUAKE GEOTECHN...
APPLICATIONS OF WAVELET TRANSFORMS AND NEURAL NETWORKS IN EARTHQUAKE GEOTECHN...
 
Handling Missing Attributes using Matrix Factorization 
Handling Missing Attributes using Matrix Factorization Handling Missing Attributes using Matrix Factorization 
Handling Missing Attributes using Matrix Factorization 
 

Recently uploaded

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 

Recently uploaded (20)

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
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
  • 58. Applications in telecommunications 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
  • 62. 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
  • 81. IGP Routing 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
  • 119. Survivable IP network design 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)  NN, 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)  NN, 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)  NN, 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)  NN, 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)  NN, 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)  NN, 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)  NN, 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)  NN, 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 = aA 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 aA 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 aA determine the load on arc a. – For each arc aA, 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 aA determine the load on arc a. – For each arc aA, determine the multiplicity M(a) using the maximum load for that arc over all failure modes. – Network design cost = aA 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) = tused 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) = tused 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
  • 143. 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)]: economies of scale – c(i) =   c(i–1), for N, 1, e.g. c(OC192) = 4 c(OC48); c(OC48) = 4 c(OC12); c(OC12) = 4 c(OC3); OC3 OC12 OC48 OC192 155 Mb/s 622 Mb/s 2.5 Gb/s 10 Gb/s  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 iA 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 iA determine the load on arc i. – For each arc iA, 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 iA determine the load on arc i. – For each arc iA, 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 = iA tused 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 BM ∅, then some triples will be of the type { b, b, b }, where bBM, 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