+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
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