SlideShare a Scribd company logo
General Idea
                                  Overview
                            EDO framework
                               Conclusion




       Evolving Distribution Objects Framework1

                                   Caner Candan
                                  caner@candan.fr

                        Thales Research & Technology
                               Palaiseau, France


                                September 5, 2011

1
    Except as otherwise noted, content is licensed under the Free Art License.
               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




      Aims to optimize hard optimization problems.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




      Usually used in operations research and decision aids.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




      More efficient than classical heuristic search.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




      Generally based on a stochastic process.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




      Aims to optimize hard optimization problems.
      Usually used in operations research and decision aids.
      More efficient than classical heuristic search.
      Generally based on a stochastic process.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Hard optimization problems heuristic optimizer




     Figure: Example of hard optimization problem. Source: J. Dr´o
                                                                e

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Hard optimization problems heuristic optimizer




   f(x)                       D
                                                                              L

                                                                     G
                                               x
  Figure: Hard optimization problem illustrating global optimum, local
  optima and discountinuties. Source: J. Dr´o
                                            e

                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Hard optimization problems heuristic optimizer

                                                        M



   f(x)                       D
                                                                              L

                                                                     G
                                               x
  Figure: Hard optimization solved using metaheuristic algorithms. Source:
  J. Dr´o
       e

                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview
                            EDO framework
                               Conclusion


Hard optimization problems heuristic optimizer

                                 P1                                  M1
                                                                     M2
                                                                     M3
          P6                                         P2




          P5                                         P3


                                 P4

          Figure: “No Free Lunch” theorem. Source: J. Dr´o
                                                        e

               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                              Overview
                        EDO framework
                           Conclusion


An overview of my work




           Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                               Overview
                         EDO framework
                            Conclusion


An overview of my work

  Black-Box
      EDO framework
     EDA-SA
     Parallelization of EDA-SA




            Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                     Overview
                               EDO framework
                                  Conclusion


An overview of my work
  Black-Box
      EDO framework
         EDA-SA→ paper submitted in a national congressa
         Parallelization of EDA-SA
    a                      ´
        Roadef 2011, Saint-Etienne, France




                  Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview
                            EDO framework
                               Conclusion


An overview of my work




  Temporal Planning
     EO framework
      Parallelization of EO
      Scalability




               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                     Overview
                               EDO framework
                                  Conclusion


An overview of my work




  Temporal Planning
     EO framework
         Parallelization of EO→ paper submitted in an international
         congressa
         Scalability
    a
        GECCO ’11, Dublin, Ireland



                  Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


An overview of my work




  Experiments tool
      Design of experiments

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview
                            EDO framework
                               Conclusion


An overview of my work

  Black-Box
      EDO framework
      EDA-SA
      Parallelization of EDA-SA

  Temporal Planning
     EO framework
      Parallelization of EO
      Scalability

  Experiments tool
      Design of experiments

               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview
                            EDO framework
                               Conclusion


An overview of my work

  Black-Box
      EDO framework
      EDA-SA
      Parallelization of EDA-SA

  Temporal Planning
     EO framework
      Parallelization of EO
      Scalability

  Experiments tool
      Design of experiments

               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview    Theoretical aspect
                            EDO framework     Design
                               Conclusion


Theoretical aspect

                                                                          E.



                                                                          I.



                                                                          D.

       Figure: Explicit, Implicit and Direct classes. Source: J. Dr´o
                                                                   e

               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                                     Overview                     Theoretical aspect
                                               EDO framework                      Design
                                                  Conclusion


Theoretical aspect
                                                               Metaheuristics

                                     Population


                Naturally inspired          Evolutionary
                                             algorithm




                                                                                                    Implicit
                                       Genetic algorithm
                                                                                Particle swarm
                                          Genetic                                optimization
                                       programming
                                                             Evolution    Ant colony optimization
                                       Evolutionary          strategy           algorithms
                                       programming




                                                                                                    Explicit




                                                                                                                         No memory
                                        Differential          Estimation of distribution
                                         evolution                  algorithm


                                       Scatter search




                                                                                                    Direct
                                                                             Simulated
                                                                             annealing




                                                                                                                                     Local search
                                        Tabu search
                                                                                                 Iterated local search
                                                             GRASP
                                                                                                 Stochastic local search


                                     Trajectory             Variable neighborhood search         Guided local search



                                                           Dynamic objective function


     Figure: Different classifications of metaheuristics. Source: J. Dr´o
                                                                     e

               Caner Candan caner@candan.fr                                       MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                                     Overview                     Theoretical aspect
                                               EDO framework                      Design
                                                  Conclusion


Theoretical aspect
                                                               Metaheuristics

                                     Population


                Naturally inspired          Evolutionary
                                             algorithm




                                                                                                    Implicit
                                       Genetic algorithm
                                                                                Particle swarm
                                          Genetic                                optimization
                                       programming
                                                             Evolution    Ant colony optimization
                                       Evolutionary          strategy           algorithms
                                       programming




                                                                                                    Explicit




                                                                                                                         No memory
                                        Differential          Estimation of distribution
                                         evolution                  algorithm


                                       Scatter search




                                                                                                    Direct
                                                                             Simulated
                                                                             annealing




                                                                                                                                     Local search
                                        Tabu search
                                                                                                 Iterated local search
                                                             GRASP
                                                                                                 Stochastic local search


                                     Trajectory             Variable neighborhood search         Guided local search



                                                           Dynamic objective function


     Figure: Different classifications of metaheuristics. Source: J. Dr´o
                                                                     e

               Caner Candan caner@candan.fr                                       MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                                     Overview                     Theoretical aspect
                                               EDO framework                      Design
                                                  Conclusion


Theoretical aspect
                                                               Metaheuristics

                                     Population


                Naturally inspired          Evolutionary
                                             algorithm




                                                                                                    Implicit
                                       Genetic algorithm
                                                                                Particle swarm
                                          Genetic                                optimization
                                       programming
                                                             Evolution    Ant colony optimization
                                       Evolutionary          strategy           algorithms
                                       programming




                                                                                                    Explicit




                                                                                                                         No memory
                                        Differential          Estimation of distribution
                                         evolution                  algorithm


                                       Scatter search




                                                                                                    Direct
                                                                             Simulated
                                                                             annealing




                                                                                                                                     Local search
                                        Tabu search
                                                                                                 Iterated local search
                                                             GRASP
                                                                                                 Stochastic local search


                                     Trajectory             Variable neighborhood search         Guided local search



                                                           Dynamic objective function


     Figure: Different classifications of metaheuristics. Source: J. Dr´o
                                                                     e

               Caner Candan caner@candan.fr                                       MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                      Overview       Theoretical aspect
                                EDO framework        Design
                                   Conclusion


Estimation of Distribution Algorithm
                         f(x)



                                             U
                                                                 0
                                                 O
                                                             x
                                                                      i0




                                                                      i1




                                 P
                                 PS
                                 PDe                                  i2
                                 PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr           MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview        Theoretical aspect
                           EDO framework         Design
                              Conclusion


Estimation of Distribution Algorithm


                                                                  i0


                                             N
                                                             1




                                                                  i1




                             P
                             PS
                             PDe                                  i2
                             PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr       MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Estimation of Distribution Algorithm


                                                              i0




                                                         2



                                                              i1




                             P
                             PS
                             PDe                              i2
                             PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Estimation of Distribution Algorithm


                                                              i0




                                                              i1



                                                         3




                             P
                             PS
                             PDe                              i2
                             PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Estimation of Distribution Algorithm


                                                              i0




                                                              i1




                             P
                             PS
                                                         4
                             PDe                              i2
                             PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                      Overview       Theoretical aspect
                                EDO framework        Design
                                   Conclusion


Estimation of Distribution Algorithm
                         f(x)



                                             U
                                                                 0
                                                 O
                                                             x
                                                                      i0


                                                 N
                                                                 1




                                                                 2



                                                                      i1



                                                                 3




                                 P
                                 PS
                                                                 4
                                 PDe                                  i2
                                 PDu




      Figure: Estimation of distribution algorithm. Source: J. Dr´o
                                                                 e

              Caner Candan caner@candan.fr           MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview    Theoretical aspect
                             EDO framework     Design
                                Conclusion


Simulated Annealing Algorithm




  Figure: The temperature variation of the simulated annealing algorithm.
  Source: E. Triki and Y. Collette
                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                              Overview    Theoretical aspect
                        EDO framework     Design
                           Conclusion


Design of the EDO framework




           Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                                Overview   Theoretical aspect
                                          EDO framework    Design
                                             Conclusion


The EDA-SA algorithm
   f(x)



                 U
                                 0
                     O
                             x
                                     i0


                     N
                                 1




                                 2




                                               +
                                     i1



                                 3




          P
          PS
                                 4
          PDe                        i2
          PDu




                (a) EDA                                                         (c) SA

  Figure: Hybridization of the estimation of distribution (a) and simulated
  annealing (c) algorithms. Source: J. Dr´o, E. Triki and Y. Collette
                                          e

                         Caner Candan caner@candan.fr      MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                    Overview    Theoretical aspect
                              EDO framework     Design
                                 Conclusion


Implementation of the EDA-SA algorithm

         EDO is based on the C++ template-based EO framework2 .
         EO provides a functor-based design.
         The implementation of the EDA-SA algorithm done thanks
         to EDO and MO.
         Source available on SourceForge3 .




    2
        Evolving Objects
    3
        http://eodev.sf.net
                 Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview    Theoretical aspect
                             EDO framework     Design
                                Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                      Definition
  S0 = Uxmin ,xmax                                      Uniform sampling

                                                 Inheritance
                                                                         eoF< T >


                                                                    eoRndGenerator< T >


                                                                eoUniformGenerator< T >



                                                 C++ code
                                                 eoRndGenerator<double>*
                                                 gen = new
                                                 eoUniformGenerator<double>
                                                 (-5, 5);
                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview    Theoretical aspect
                             EDO framework     Design
                                Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                      Definition
  S0 = Uxmin ,xmax                                      Uniform sampling

                                                 Inheritance
                                                                      eoUF< EOT &, void >


                                                                         eoInit< EOT >


                                                                    eoInitFixedLength< EOT >




                                                 C++ code
                                                 eoInitFixedLength<EOT>*
                                                 init = new
                                                 eoInitFixedLength<EOT>
                                                 (dimension size, *gen);


                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview    Theoretical aspect
                             EDO framework     Design
                                Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                      Definition
  S0 = Uxmin ,xmax                                      Uniform sampling

                                                 Inheritance
                                                                                         eoPrintable


                                                  std::vector< EOT >     eoObject       eoPersistent


                                                                       eoPop< EOT >




                                                 C++ code
                                                 eoPop<EOT>& pop =
                                                 do make pop(*init);
                                                 apply(eval, pop);



                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                      External iteration
  for i = 0 to g do
                                               Inheritance
                                                                  edoAlgo< D >


                                                              edoEDASA< D >


                                               C++ code
                                               edoAlgo<Distrib>* algo =
                                               new
                                               edoEDASA<Distrib>(...);


              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                  Overview    Theoretical aspect
                            EDO framework     Design
                               Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                     Definition
                                                 Selection of the best points in
  for i = 0 to g do                                      the population
    Si = sel (Si , ρ)
                                                Inheritance
                                                      eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >


                                                                       eoSelect< EOT >


                                                                     eoDetSelect< EOT >




                                                C++ code
                                                eoSelect<EOT>* selector =
                                                new eoDetSelect<EOT>
                                                (selection rate);

               Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                 Modifier of the distribution
  for i = 0 to g do                                      parameters

    Si = Si − Si                               Inheritance
                                                        edoModifier< edoNormalMulti< EOT > >


                                                      edoModifierMass< edoNormalMulti< EOT > >


                                                            edoNormalMultiCenter< EOT >




                                               C++ code
                                               edoModifierMass<Distrib>*
                                               modifier = new
                                               edoNormalMultiCenter<EOT>
                                               ();
              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                     Overview    Theoretical aspect
                               EDO framework     Design
                                  Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                        Definition
                                                     Estimator of the distribution
  for i = 0 to g do                                 parameters: covariance matrix

                                                   Inheritance
              T
    Vi = Si       · Si                              edoEstimator< edoNormalMulti< EOT > >


                                                         edoEstimatorNormalMulti< EOT >


                                                   C++ code
                                                   edoEstimator<Distrib>*
                                                   estimator = new
                                                   edoEstimatorNormalMulti
                                                   <EOT>();
                  Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                Estimator of the distribution
  for i = 0 to g do                                   parameters: mean

                                               Inheritance
                                                edoEstimator< edoNormalMulti< EOT > >
    xo = arg min Si
                                                     edoEstimatorNormalMulti< EOT >


                                               C++ code
                                               edoEstimator<Distrib>*
                                               estimator = new
                                               edoEstimatorNormalMulti
                                               <EOT>();
              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                      Internal iteration
  for i = 0 to g do
                                               Inheritance
                                                                  edoAlgo< D >


                                                              edoEDASA< D >
    for j = 0 to p do
                                               C++ code
                                               edoAlgo<Distrib>* algo =
                                               new
                                               edoEDASA<Distrib>(...);


              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                 Drawing in a multi-normal
  for i = 0 to g do                                     neighborhood

                                               Inheritance
                                                 edoSampler< edoNormalMulti< EOT > >


    for j = 0 to p do                                edoSamplerNormalMulti< EOT >

      xj = Nxj ,Vi
                                               C++ code
                                               edoSampler<Distrib>*
                                               sampler = new
                                               edoSamplerNormalMulti<
                                               EOT >(...);
              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                        Overview   Theoretical aspect
                                  EDO framework    Design
                                     Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                          Definition
                                                     Metropolis algorithm threshold
  for i = 0 to g do                                            acceptance

                                                     Inheritance
                                                                        edoAlgo< D >


    for j = 0 to p do                                               edoEDASA< D >

      if f (xi ) < f (xj ) and                       C++ code
                       |f (xj )−f (xj )|
                 −1.                                 edoAlgo<Distrib>* algo =
      U0,1 < e               Ti
                                           then
                                                     new
                                                     edoEDASA<Distrib>(...);

               Caner Candan caner@candan.fr        MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                       Overview   Theoretical aspect
                                 EDO framework    Design
                                    Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                         Definition
                                                    Metropolis algorithm threshold
  for i = 0 to g do                                           acceptance

                                                    Inheritance
                                                                       edoAlgo< D >


    for j = 0 to p do                                              edoEDASA< D >

      if f (xi ) < f (xj ) and                      C++ code
                      |f (xj )−f (xj )|
                −1.                                 edoAlgo<Distrib>* algo =
      U0,1 < e              Ti
                                          then
        Si+1 ← xj                                   new
                                                    edoEDASA<Distrib>(...);

               Caner Candan caner@candan.fr       MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                  Keeping current solution
  for i = 0 to g do
                                               Inheritance
                                                                  edoAlgo< D >


                                                              edoEDASA< D >
    for j = 0 to p do
                                               C++ code
                                               edoAlgo<Distrib>* algo =
                                               new
                                               edoEDASA<Distrib>(...);
      xj+1 = xj

              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code                                    Definition
                                                  Decrease of temperature
  for i = 0 to g do
                                               Inheritance
                                                      moCoolingSchedule< EOT >


                                                 moSimpleCoolingSchedule< EOT >


                                               C++ code
                                               moCoolingSchedule<EOT>*
                                               cooling schedule = new
                                               moSimpleCoolingSchedule
                                               <EOT>(...);
    Ti+1 = Ti .α
              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                        Overview   Theoretical aspect
                                  EDO framework    Design
                                     Conclusion


Implementation of the EDA-SA algorithm
Pseudo-code
  S0 = Uxmin ,xmax
  for i = 0 to g do
    Si = sel (Si , ρ)
    Si = Si − Si
             T
     Vi = Si · Si
     xo = arg min Si
     for j = 0 to p do
       xj = Nxj ,Vi
       if f (xi ) < f (xj ) and
                       |f (xj )−f (xj )|
                 −1.
       U0,1 < e              Ti
                                           then
         Si+1 ← xj
       xj+1 = xj
     Ti+1 = Ti .α
                 Caner Candan caner@candan.fr      MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                Overview    Theoretical aspect
                          EDO framework     Design
                             Conclusion


C++ code: parameters declaration

  Algorithm 1 Declaration of the needed parameters for EDA-SA
  algorithm

  double initial_temperature = ...;
  double selection_rate = ...;
  unsigned long max_eval = ...;
  unsigned int dimension_size = ...;
  unsigned int popSize = ...;
  double threshold_temperature = ...;
  double alpha = ...;




             Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


C++ code: common operators instantiations

  Algorithm 2 Instantiations of the common operators

  eoDetSelect<EOT> selector(selection_rate);
  edoEstimatorNormalMulti<EOT> estimator();
  eoDetTournamentSelect<EOT> selectone(2);
  edoNormalMultiCenter<EOT> modifier();
  Rosenbrock<EOT> plainEval();
  eoEvalFuncCounterBounder<EOT> eval(plainEval, max_eval);
  eoUniformGenerator<double> gen(-5, 5);
  eoInitFixedLength<EOT> init(dimension_size, gen);




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                Overview    Theoretical aspect
                          EDO framework     Design
                             Conclusion


C++ code: EDA-SA operators instantiations

  Algorithm 3 Instantiations of the EDA and SA operators

  eoPop<EOT>& pop = do_make_pop(init);
  apply(eval, pop);
  edoBounderRng< EOT > bounder(EOT(popSize, -5),
                               EOT(popSize, 5), gen);
  edoSamplerNormalMulti< EOT > sampler(bounder);
  moSimpleCoolingSchedule<EOT> cooling_schedule(...);
  eoEPReplacement<EOT> replacor(pop.size());
  edoEDASA<Distrib> algo(...);




             Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview    Theoretical aspect
                           EDO framework     Design
                              Conclusion


C++ code: running of the algorithm

  Algorithm 4 Running of the algorithm

  do_run(algo, pop);




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Conclusion

  Conclusion & Discussion




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                 Overview
                           EDO framework
                              Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.
      Easy-to-manipulate algorithm.




              Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.
      Easy-to-manipulate algorithm.

  Perspective




                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.
      Easy-to-manipulate algorithm.

  Perspective
      Integrate and test some other distributions (cf. Gaussian
      mixture model)




                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.
      Easy-to-manipulate algorithm.

  Perspective
      Integrate and test some other distributions (cf. Gaussian
      mixture model)
      Test some other selection operators.




                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                                   Overview
                             EDO framework
                                Conclusion


Conclusion

  Conclusion & Discussion
      Expected algorithm behaviour.
      Performance to improve.
      Easy-to-manipulate algorithm.

  Perspective
      Integrate and test some other distributions (cf. Gaussian
      mixture model)
      Test some other selection operators.
      Parallelization of the linear algebra operators.


                Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework
General Idea
                               Overview
                         EDO framework
                            Conclusion


Any questions ?




                                Thank you.
                             caner@candan.fr




            Caner Candan caner@candan.fr   MSc Thesis: Evolving Distribution Objects Framework

More Related Content

Similar to Presentation of the Evolving Distribution Objects Framework

Design theorizing ecis practise workshop 09062012
Design theorizing ecis practise workshop 09062012Design theorizing ecis practise workshop 09062012
Design theorizing ecis practise workshop 09062012
Matti Rossi
 
Me2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-SellersMe2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-Sellers
Method Engineering 2011 - IFIP WG.8.1 Working Conference
 
Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2
hook42inc
 
Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2
aimeeAThook42
 
Neo4EMF eclipsecon 2013
Neo4EMF eclipsecon 2013Neo4EMF eclipsecon 2013
Neo4EMF eclipsecon 2013
Amine Benelallam
 
Presentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data MiningPresentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data Mining
butest
 
17 Machine Learning Radial Basis Functions
17 Machine Learning Radial Basis Functions17 Machine Learning Radial Basis Functions
17 Machine Learning Radial Basis Functions
Andres Mendez-Vazquez
 
030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt
Yann-Gaël Guéhéneuc
 
Pdf5
Pdf5Pdf5
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
[Siriuscon2018]  Integrating Sirius, Xtext and EMF Compare to Design Simulato...[Siriuscon2018]  Integrating Sirius, Xtext and EMF Compare to Design Simulato...
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
Obeo
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
butest
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
butest
 
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
Shao-Chuan Wang
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
Skills Matter
 
DDD In Agile
DDD In Agile   DDD In Agile
DDD In Agile
Skills Matter
 
Principal Component Analysis For Novelty Detection
Principal Component Analysis For Novelty DetectionPrincipal Component Analysis For Novelty Detection
Principal Component Analysis For Novelty Detection
Jordan McBain
 

Similar to Presentation of the Evolving Distribution Objects Framework (16)

Design theorizing ecis practise workshop 09062012
Design theorizing ecis practise workshop 09062012Design theorizing ecis practise workshop 09062012
Design theorizing ecis practise workshop 09062012
 
Me2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-SellersMe2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-Sellers
 
Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2
 
Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2
 
Neo4EMF eclipsecon 2013
Neo4EMF eclipsecon 2013Neo4EMF eclipsecon 2013
Neo4EMF eclipsecon 2013
 
Presentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data MiningPresentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data Mining
 
17 Machine Learning Radial Basis Functions
17 Machine Learning Radial Basis Functions17 Machine Learning Radial Basis Functions
17 Machine Learning Radial Basis Functions
 
030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt
 
Pdf5
Pdf5Pdf5
Pdf5
 
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
[Siriuscon2018]  Integrating Sirius, Xtext and EMF Compare to Design Simulato...[Siriuscon2018]  Integrating Sirius, Xtext and EMF Compare to Design Simulato...
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
 
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
Spatially Coherent Latent Topic Model For Concurrent Object Segmentation and ...
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
 
DDD In Agile
DDD In Agile   DDD In Agile
DDD In Agile
 
Principal Component Analysis For Novelty Detection
Principal Component Analysis For Novelty DetectionPrincipal Component Analysis For Novelty Detection
Principal Component Analysis For Novelty Detection
 

More from Caner Candan

Report on GPU complex type usage
Report on GPU complex type usageReport on GPU complex type usage
Report on GPU complex type usageCaner Candan
 
Report on Elevator Project
Report on Elevator ProjectReport on Elevator Project
Report on Elevator Project
Caner Candan
 
Report MyProof
Report MyProofReport MyProof
Report MyProof
Caner Candan
 
Presentation MyProof
Presentation MyProofPresentation MyProof
Presentation MyProof
Caner Candan
 
Reutilisabilité
ReutilisabilitéReutilisabilité
Reutilisabilité
Caner Candan
 
PMP Report
PMP ReportPMP Report
PMP Report
Caner Candan
 

More from Caner Candan (6)

Report on GPU complex type usage
Report on GPU complex type usageReport on GPU complex type usage
Report on GPU complex type usage
 
Report on Elevator Project
Report on Elevator ProjectReport on Elevator Project
Report on Elevator Project
 
Report MyProof
Report MyProofReport MyProof
Report MyProof
 
Presentation MyProof
Presentation MyProofPresentation MyProof
Presentation MyProof
 
Reutilisabilité
ReutilisabilitéReutilisabilité
Reutilisabilité
 
PMP Report
PMP ReportPMP Report
PMP Report
 

Recently uploaded

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Presentation of the Evolving Distribution Objects Framework

  • 1. General Idea Overview EDO framework Conclusion Evolving Distribution Objects Framework1 Caner Candan caner@candan.fr Thales Research & Technology Palaiseau, France September 5, 2011 1 Except as otherwise noted, content is licensed under the Free Art License. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 2. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer Aims to optimize hard optimization problems. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 3. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer Usually used in operations research and decision aids. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 4. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer More efficient than classical heuristic search. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 5. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer Generally based on a stochastic process. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 6. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer Aims to optimize hard optimization problems. Usually used in operations research and decision aids. More efficient than classical heuristic search. Generally based on a stochastic process. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 7. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer Figure: Example of hard optimization problem. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 8. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer f(x) D L G x Figure: Hard optimization problem illustrating global optimum, local optima and discountinuties. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 9. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer M f(x) D L G x Figure: Hard optimization solved using metaheuristic algorithms. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 10. General Idea Overview EDO framework Conclusion Hard optimization problems heuristic optimizer P1 M1 M2 M3 P6 P2 P5 P3 P4 Figure: “No Free Lunch” theorem. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 11. General Idea Overview EDO framework Conclusion An overview of my work Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 12. General Idea Overview EDO framework Conclusion An overview of my work Black-Box EDO framework EDA-SA Parallelization of EDA-SA Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 13. General Idea Overview EDO framework Conclusion An overview of my work Black-Box EDO framework EDA-SA→ paper submitted in a national congressa Parallelization of EDA-SA a ´ Roadef 2011, Saint-Etienne, France Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 14. General Idea Overview EDO framework Conclusion An overview of my work Temporal Planning EO framework Parallelization of EO Scalability Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 15. General Idea Overview EDO framework Conclusion An overview of my work Temporal Planning EO framework Parallelization of EO→ paper submitted in an international congressa Scalability a GECCO ’11, Dublin, Ireland Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 16. General Idea Overview EDO framework Conclusion An overview of my work Experiments tool Design of experiments Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 17. General Idea Overview EDO framework Conclusion An overview of my work Black-Box EDO framework EDA-SA Parallelization of EDA-SA Temporal Planning EO framework Parallelization of EO Scalability Experiments tool Design of experiments Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 18. General Idea Overview EDO framework Conclusion An overview of my work Black-Box EDO framework EDA-SA Parallelization of EDA-SA Temporal Planning EO framework Parallelization of EO Scalability Experiments tool Design of experiments Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 19. General Idea Overview Theoretical aspect EDO framework Design Conclusion Theoretical aspect E. I. D. Figure: Explicit, Implicit and Direct classes. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 20. General Idea Overview Theoretical aspect EDO framework Design Conclusion Theoretical aspect Metaheuristics Population Naturally inspired Evolutionary algorithm Implicit Genetic algorithm Particle swarm Genetic optimization programming Evolution Ant colony optimization Evolutionary strategy algorithms programming Explicit No memory Differential Estimation of distribution evolution algorithm Scatter search Direct Simulated annealing Local search Tabu search Iterated local search GRASP Stochastic local search Trajectory Variable neighborhood search Guided local search Dynamic objective function Figure: Different classifications of metaheuristics. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 21. General Idea Overview Theoretical aspect EDO framework Design Conclusion Theoretical aspect Metaheuristics Population Naturally inspired Evolutionary algorithm Implicit Genetic algorithm Particle swarm Genetic optimization programming Evolution Ant colony optimization Evolutionary strategy algorithms programming Explicit No memory Differential Estimation of distribution evolution algorithm Scatter search Direct Simulated annealing Local search Tabu search Iterated local search GRASP Stochastic local search Trajectory Variable neighborhood search Guided local search Dynamic objective function Figure: Different classifications of metaheuristics. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 22. General Idea Overview Theoretical aspect EDO framework Design Conclusion Theoretical aspect Metaheuristics Population Naturally inspired Evolutionary algorithm Implicit Genetic algorithm Particle swarm Genetic optimization programming Evolution Ant colony optimization Evolutionary strategy algorithms programming Explicit No memory Differential Estimation of distribution evolution algorithm Scatter search Direct Simulated annealing Local search Tabu search Iterated local search GRASP Stochastic local search Trajectory Variable neighborhood search Guided local search Dynamic objective function Figure: Different classifications of metaheuristics. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 23. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm f(x) U 0 O x i0 i1 P PS PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 24. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm i0 N 1 i1 P PS PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 25. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm i0 2 i1 P PS PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 26. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm i0 i1 3 P PS PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 27. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm i0 i1 P PS 4 PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 28. General Idea Overview Theoretical aspect EDO framework Design Conclusion Estimation of Distribution Algorithm f(x) U 0 O x i0 N 1 2 i1 3 P PS 4 PDe i2 PDu Figure: Estimation of distribution algorithm. Source: J. Dr´o e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 29. General Idea Overview Theoretical aspect EDO framework Design Conclusion Simulated Annealing Algorithm Figure: The temperature variation of the simulated annealing algorithm. Source: E. Triki and Y. Collette Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 30. General Idea Overview Theoretical aspect EDO framework Design Conclusion Design of the EDO framework Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 31. General Idea Overview Theoretical aspect EDO framework Design Conclusion The EDA-SA algorithm f(x) U 0 O x i0 N 1 2 + i1 3 P PS 4 PDe i2 PDu (a) EDA (c) SA Figure: Hybridization of the estimation of distribution (a) and simulated annealing (c) algorithms. Source: J. Dr´o, E. Triki and Y. Collette e Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 32. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm EDO is based on the C++ template-based EO framework2 . EO provides a functor-based design. The implementation of the EDA-SA algorithm done thanks to EDO and MO. Source available on SourceForge3 . 2 Evolving Objects 3 http://eodev.sf.net Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 33. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition S0 = Uxmin ,xmax Uniform sampling Inheritance eoF< T > eoRndGenerator< T > eoUniformGenerator< T > C++ code eoRndGenerator<double>* gen = new eoUniformGenerator<double> (-5, 5); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 34. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition S0 = Uxmin ,xmax Uniform sampling Inheritance eoUF< EOT &, void > eoInit< EOT > eoInitFixedLength< EOT > C++ code eoInitFixedLength<EOT>* init = new eoInitFixedLength<EOT> (dimension size, *gen); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 35. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition S0 = Uxmin ,xmax Uniform sampling Inheritance eoPrintable std::vector< EOT > eoObject eoPersistent eoPop< EOT > C++ code eoPop<EOT>& pop = do make pop(*init); apply(eval, pop); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 36. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition External iteration for i = 0 to g do Inheritance edoAlgo< D > edoEDASA< D > C++ code edoAlgo<Distrib>* algo = new edoEDASA<Distrib>(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 37. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Selection of the best points in for i = 0 to g do the population Si = sel (Si , ρ) Inheritance eoBF< const eoPop< EOT > &, eoPop< EOT > &, void > eoSelect< EOT > eoDetSelect< EOT > C++ code eoSelect<EOT>* selector = new eoDetSelect<EOT> (selection rate); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 38. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Modifier of the distribution for i = 0 to g do parameters Si = Si − Si Inheritance edoModifier< edoNormalMulti< EOT > > edoModifierMass< edoNormalMulti< EOT > > edoNormalMultiCenter< EOT > C++ code edoModifierMass<Distrib>* modifier = new edoNormalMultiCenter<EOT> (); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 39. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Estimator of the distribution for i = 0 to g do parameters: covariance matrix Inheritance T Vi = Si · Si edoEstimator< edoNormalMulti< EOT > > edoEstimatorNormalMulti< EOT > C++ code edoEstimator<Distrib>* estimator = new edoEstimatorNormalMulti <EOT>(); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 40. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Estimator of the distribution for i = 0 to g do parameters: mean Inheritance edoEstimator< edoNormalMulti< EOT > > xo = arg min Si edoEstimatorNormalMulti< EOT > C++ code edoEstimator<Distrib>* estimator = new edoEstimatorNormalMulti <EOT>(); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 41. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Internal iteration for i = 0 to g do Inheritance edoAlgo< D > edoEDASA< D > for j = 0 to p do C++ code edoAlgo<Distrib>* algo = new edoEDASA<Distrib>(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 42. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Drawing in a multi-normal for i = 0 to g do neighborhood Inheritance edoSampler< edoNormalMulti< EOT > > for j = 0 to p do edoSamplerNormalMulti< EOT > xj = Nxj ,Vi C++ code edoSampler<Distrib>* sampler = new edoSamplerNormalMulti< EOT >(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 43. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Metropolis algorithm threshold for i = 0 to g do acceptance Inheritance edoAlgo< D > for j = 0 to p do edoEDASA< D > if f (xi ) < f (xj ) and C++ code |f (xj )−f (xj )| −1. edoAlgo<Distrib>* algo = U0,1 < e Ti then new edoEDASA<Distrib>(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 44. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Metropolis algorithm threshold for i = 0 to g do acceptance Inheritance edoAlgo< D > for j = 0 to p do edoEDASA< D > if f (xi ) < f (xj ) and C++ code |f (xj )−f (xj )| −1. edoAlgo<Distrib>* algo = U0,1 < e Ti then Si+1 ← xj new edoEDASA<Distrib>(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 45. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Keeping current solution for i = 0 to g do Inheritance edoAlgo< D > edoEDASA< D > for j = 0 to p do C++ code edoAlgo<Distrib>* algo = new edoEDASA<Distrib>(...); xj+1 = xj Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 46. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code Definition Decrease of temperature for i = 0 to g do Inheritance moCoolingSchedule< EOT > moSimpleCoolingSchedule< EOT > C++ code moCoolingSchedule<EOT>* cooling schedule = new moSimpleCoolingSchedule <EOT>(...); Ti+1 = Ti .α Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 47. General Idea Overview Theoretical aspect EDO framework Design Conclusion Implementation of the EDA-SA algorithm Pseudo-code S0 = Uxmin ,xmax for i = 0 to g do Si = sel (Si , ρ) Si = Si − Si T Vi = Si · Si xo = arg min Si for j = 0 to p do xj = Nxj ,Vi if f (xi ) < f (xj ) and |f (xj )−f (xj )| −1. U0,1 < e Ti then Si+1 ← xj xj+1 = xj Ti+1 = Ti .α Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 48. General Idea Overview Theoretical aspect EDO framework Design Conclusion C++ code: parameters declaration Algorithm 1 Declaration of the needed parameters for EDA-SA algorithm double initial_temperature = ...; double selection_rate = ...; unsigned long max_eval = ...; unsigned int dimension_size = ...; unsigned int popSize = ...; double threshold_temperature = ...; double alpha = ...; Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 49. General Idea Overview Theoretical aspect EDO framework Design Conclusion C++ code: common operators instantiations Algorithm 2 Instantiations of the common operators eoDetSelect<EOT> selector(selection_rate); edoEstimatorNormalMulti<EOT> estimator(); eoDetTournamentSelect<EOT> selectone(2); edoNormalMultiCenter<EOT> modifier(); Rosenbrock<EOT> plainEval(); eoEvalFuncCounterBounder<EOT> eval(plainEval, max_eval); eoUniformGenerator<double> gen(-5, 5); eoInitFixedLength<EOT> init(dimension_size, gen); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 50. General Idea Overview Theoretical aspect EDO framework Design Conclusion C++ code: EDA-SA operators instantiations Algorithm 3 Instantiations of the EDA and SA operators eoPop<EOT>& pop = do_make_pop(init); apply(eval, pop); edoBounderRng< EOT > bounder(EOT(popSize, -5), EOT(popSize, 5), gen); edoSamplerNormalMulti< EOT > sampler(bounder); moSimpleCoolingSchedule<EOT> cooling_schedule(...); eoEPReplacement<EOT> replacor(pop.size()); edoEDASA<Distrib> algo(...); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 51. General Idea Overview Theoretical aspect EDO framework Design Conclusion C++ code: running of the algorithm Algorithm 4 Running of the algorithm do_run(algo, pop); Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 52. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 53. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 54. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 55. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 56. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Perspective Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 57. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Perspective Integrate and test some other distributions (cf. Gaussian mixture model) Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 58. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Perspective Integrate and test some other distributions (cf. Gaussian mixture model) Test some other selection operators. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 59. General Idea Overview EDO framework Conclusion Conclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Perspective Integrate and test some other distributions (cf. Gaussian mixture model) Test some other selection operators. Parallelization of the linear algebra operators. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  • 60. General Idea Overview EDO framework Conclusion Any questions ? Thank you. caner@candan.fr Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework