Presentation of the Evolving Distribution Objects Framework

501 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
501
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentation of the Evolving Distribution Objects Framework

  1. 1. General Idea Overview EDO framework Conclusion Evolving Distribution Objects Framework1 Caner Candan caner@candan.fr Thales Research & Technology Palaiseau, France September 5, 20111 Except as otherwise noted, content is licensed under the Free Art License. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  2. 2. General Idea Overview EDO framework ConclusionHard optimization problems heuristic optimizer Aims to optimize hard optimization problems. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  3. 3. General Idea Overview EDO framework ConclusionHard optimization problems heuristic optimizer Usually used in operations research and decision aids. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  4. 4. General Idea Overview EDO framework ConclusionHard optimization problems heuristic optimizer More efficient than classical heuristic search. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  5. 5. General Idea Overview EDO framework ConclusionHard optimization problems heuristic optimizer Generally based on a stochastic process. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  6. 6. General Idea Overview EDO framework ConclusionHard 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. 7. General Idea Overview EDO framework ConclusionHard 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. 8. General Idea Overview EDO framework ConclusionHard 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. 9. General Idea Overview EDO framework ConclusionHard 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. 10. General Idea Overview EDO framework ConclusionHard 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. 11. General Idea Overview EDO framework ConclusionAn overview of my work Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  12. 12. General Idea Overview EDO framework ConclusionAn 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. 13. General Idea Overview EDO framework ConclusionAn 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. 14. General Idea Overview EDO framework ConclusionAn overview of my work Temporal Planning EO framework Parallelization of EO Scalability Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  15. 15. General Idea Overview EDO framework ConclusionAn 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. 16. General Idea Overview EDO framework ConclusionAn overview of my work Experiments tool Design of experiments Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  17. 17. General Idea Overview EDO framework ConclusionAn 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. 18. General Idea Overview EDO framework ConclusionAn 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. 19. General Idea Overview Theoretical aspect EDO framework Design ConclusionTheoretical 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. 20. General Idea Overview Theoretical aspect EDO framework Design ConclusionTheoretical 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. 21. General Idea Overview Theoretical aspect EDO framework Design ConclusionTheoretical 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. 22. General Idea Overview Theoretical aspect EDO framework Design ConclusionTheoretical 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. 23. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 24. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 25. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 26. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 27. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 28. General Idea Overview Theoretical aspect EDO framework Design ConclusionEstimation 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. 29. General Idea Overview Theoretical aspect EDO framework Design ConclusionSimulated 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. 30. General Idea Overview Theoretical aspect EDO framework Design ConclusionDesign of the EDO framework Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  31. 31. General Idea Overview Theoretical aspect EDO framework Design ConclusionThe 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. 32. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation 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. 33. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 34. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 35. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 36. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 37. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 38. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 39. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 40. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 41. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 42. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 43. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 44. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 45. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 46. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 47. General Idea Overview Theoretical aspect EDO framework Design ConclusionImplementation of the EDA-SA algorithmPseudo-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. 48. General Idea Overview Theoretical aspect EDO framework Design ConclusionC++ 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. 49. General Idea Overview Theoretical aspect EDO framework Design ConclusionC++ 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. 50. General Idea Overview Theoretical aspect EDO framework Design ConclusionC++ 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. 51. General Idea Overview Theoretical aspect EDO framework Design ConclusionC++ 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. 52. General Idea Overview EDO framework ConclusionConclusion Conclusion & Discussion Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  53. 53. General Idea Overview EDO framework ConclusionConclusion Conclusion & Discussion Expected algorithm behaviour. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  54. 54. General Idea Overview EDO framework ConclusionConclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  55. 55. General Idea Overview EDO framework ConclusionConclusion Conclusion & Discussion Expected algorithm behaviour. Performance to improve. Easy-to-manipulate algorithm. Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework
  56. 56. General Idea Overview EDO framework ConclusionConclusion 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. 57. General Idea Overview EDO framework ConclusionConclusion 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. 58. General Idea Overview EDO framework ConclusionConclusion 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. 59. General Idea Overview EDO framework ConclusionConclusion 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. 60. General Idea Overview EDO framework ConclusionAny questions ? Thank you. caner@candan.fr Caner Candan caner@candan.fr MSc Thesis: Evolving Distribution Objects Framework

×