Page 1
General IdeaOverview
EDO frameworkConclusion
Evolving Distribution Objects Framework1
Caner [email protected]
Thales Research & TechnologyPalaiseau, France
September 5, 2011
1Except as otherwise noted, content is licensed under the Free Art License.Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 2
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 3
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 4
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 5
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 6
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 7
General IdeaOverview
EDO frameworkConclusion
Hard optimization problems heuristic optimizer
Figure: Example of hard optimization problem. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 8
General IdeaOverview
EDO frameworkConclusion
Hard optimization problems heuristic optimizer
L
G
f(x)
x
D
Figure: Hard optimization problem illustrating global optimum, localoptima and discountinuties. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 9
General IdeaOverview
EDO frameworkConclusion
Hard optimization problems heuristic optimizer
L
G
f(x)
x
D
M
Figure: Hard optimization solved using metaheuristic algorithms. Source:J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 10
General IdeaOverview
EDO frameworkConclusion
Hard optimization problems heuristic optimizer
P1
P2
P3
P4
P5
P6M3M2M1
Figure: “No Free Lunch” theorem. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 11
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 12
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 13
General IdeaOverview
EDO frameworkConclusion
An overview of my work
Black-Box
EDO framework
EDA-SA→ paper submitted in a national congressa
Parallelization of EDA-SA
aRoadef 2011, Saint-Etienne, France
Temporal Planning
EO framework
Parallelization of EO
Scalability
Experiments tool
Design of experiments
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 14
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 15
General IdeaOverview
EDO frameworkConclusion
An overview of my work
Black-Box
EDO framework
EDA-SA
Parallelization of EDA-SA
Temporal Planning
EO framework
Parallelization of EO→ paper submitted in an internationalcongressa
Scalability
aGECCO ’11, Dublin, Ireland
Experiments tool
Design of experiments
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 16
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 17
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 18
General IdeaOverview
EDO frameworkConclusion
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 19
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Theoretical aspect
E.
I.
D.
Figure: Explicit, Implicit and Direct classes. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 20
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Theoretical aspect
Metaheuristics
Local s
earc
h
Population
Trajectory
Natu
rally in
sp
ired
Dynamic objective function
Evolutionaryalgorithm
No m
em
ory
Dire
ct
Exp
licit
Imp
licit
Tabu search
Particle swarmoptimization
Simulatedannealing
Ant colony optimizationalgorithms
Evolutionstrategy
Genetic algorithm
Estimation of distributionalgorithm
Geneticprogramming
Differentialevolution
GRASP
Variable neighborhood search
Stochastic local search
Iterated local search
Guided local search
Scatter search
Evolutionaryprogramming
Figure: Different classifications of metaheuristics. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 21
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Theoretical aspect
Metaheuristics
Local s
earc
h
Population
Trajectory
Natu
rally in
sp
ired
Dynamic objective function
Evolutionaryalgorithm
No m
em
ory
Dire
ct
Exp
licit
Imp
licit
Tabu search
Particle swarmoptimization
Simulatedannealing
Ant colony optimizationalgorithms
Evolutionstrategy
Genetic algorithm
Estimation of distributionalgorithm
Geneticprogramming
Differentialevolution
GRASP
Variable neighborhood search
Stochastic local search
Iterated local search
Guided local search
Scatter search
Evolutionaryprogramming
Figure: Different classifications of metaheuristics. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 22
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Theoretical aspect
Metaheuristics
Local s
earc
h
Population
Trajectory
Natu
rally in
sp
ired
Dynamic objective function
Evolutionaryalgorithm
No m
em
ory
Dire
ct
Exp
licit
Imp
licit
Tabu search
Particle swarmoptimization
Simulatedannealing
Ant colony optimizationalgorithms
Evolutionstrategy
Genetic algorithm
Estimation of distributionalgorithm
Geneticprogramming
Differentialevolution
GRASP
Variable neighborhood search
Stochastic local search
Iterated local search
Guided local search
Scatter search
Evolutionaryprogramming
Figure: Different classifications of metaheuristics. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 23
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0x
f(x)
U
O0
PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 24
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0
N
1
PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 25
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0
2
PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 26
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0
3
PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 27
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0
4PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 28
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Estimation of Distribution Algorithm
i1
i2
i0x
f(x)
U
O0
N
1
2
3
4PS
P
PDu
PDe
Figure: Estimation of distribution algorithm. Source: J. Dreo
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 29
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Simulated Annealing Algorithm
Figure: The temperature variation of the simulated annealing algorithm.Source: E. Triki and Y. Collette
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 30
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Design of the EDO framework
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 31
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
The EDA-SA algorithm
i1
i2
i0x
f(x)
U
O0
N
1
2
3
4PS
P
PDu
PDe
(a) EDA
+(c) SA
Figure: Hybridization of the estimation of distribution (a) and simulatedannealing (c) algorithms. Source: J. Dreo, E. Triki and Y. Collette
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 32
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
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 thanksto EDO and MO.
Source available on SourceForge3.
2Evolving Objects3http://eodev.sf.net
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 33
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Uniform sampling
Inheritance
eoRndGenerator< T >
eoF< T >
eoUniformGenerator< T >
C++ code
eoRndGenerator<double>*
gen = new
eoUniformGenerator<double>
(-5, 5);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 34
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Uniform sampling
Inheritance
eoInit< EOT >
eoUF< EOT &, void >
eoInitFixedLength< EOT >
C++ code
eoInitFixedLength<EOT>*
init = new
eoInitFixedLength<EOT>
(dimension size, *gen);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 35
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Uniform sampling
Inheritance
std::vector< EOT > eoObject eoPersistent
eoPrintable
eoPop< EOT >
C++ code
eoPop<EOT>& pop =
do make pop(*init);
apply(eval, pop);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 36
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
External iteration
Inheritance
edoAlgo< D >
edoEDASA< D >
C++ code
edoAlgo<Distrib>* algo =
new
edoEDASA<Distrib>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 37
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g doS ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Selection of the best points inthe population
Inheritance
eoSelect< EOT >
eoBF< const eoPop< EOT > &, eoPop< EOT > &, void >
eoDetSelect< EOT >
C++ code
eoSelect<EOT>* selector =
new eoDetSelect<EOT>
(selection rate);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 38
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Modifier of the distributionparameters
Inheritance
edoModifierMass< edoNormalMulti< EOT > >
edoModifier< edoNormalMulti< EOT > >
edoNormalMultiCenter< EOT >
C++ code
edoModifierMass<Distrib>*
modifier = new
edoNormalMultiCenter<EOT>
();Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 39
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Estimator of the distributionparameters: covariance matrix
Inheritance
edoEstimator< edoNormalMulti< EOT > >
edoEstimatorNormalMulti< EOT >
C++ code
edoEstimator<Distrib>*
estimator = new
edoEstimatorNormalMulti
<EOT>();
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 40
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Estimator of the distributionparameters: mean
Inheritance
edoEstimator< edoNormalMulti< EOT > >
edoEstimatorNormalMulti< EOT >
C++ code
edoEstimator<Distrib>*
estimator = new
edoEstimatorNormalMulti
<EOT>();
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 41
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xjTi+1 = Ti .α
Definition
Internal iteration
Inheritance
edoAlgo< D >
edoEDASA< D >
C++ code
edoAlgo<Distrib>* algo =
new
edoEDASA<Distrib>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 42
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p doxj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xjTi+1 = Ti .α
Definition
Drawing in a multi-normalneighborhood
Inheritance
edoSampler< edoNormalMulti< EOT > >
edoSamplerNormalMulti< EOT >
C++ code
edoSampler<Distrib>*
sampler = new
edoSamplerNormalMulti<
EOT >(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 43
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xjxj+1 = xj
Ti+1 = Ti .α
Definition
Metropolis algorithm thresholdacceptance
Inheritance
edoAlgo< D >
edoEDASA< D >
C++ code
edoAlgo<Distrib>* algo =
new
edoEDASA<Distrib>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 44
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti thenSi+1 ← xj
xj+1 = xjTi+1 = Ti .α
Definition
Metropolis algorithm thresholdacceptance
Inheritance
edoAlgo< D >
edoEDASA< D >
C++ code
edoAlgo<Distrib>* algo =
new
edoEDASA<Distrib>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 45
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)
for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Keeping current solution
Inheritance
edoAlgo< D >
edoEDASA< D >
C++ code
edoAlgo<Distrib>* algo =
new
edoEDASA<Distrib>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 46
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g do
S ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p do
xj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti then
Si+1 ← xj
xj+1 = xj
Ti+1 = Ti .α
Definition
Decrease of temperature
Inheritance
moCoolingSchedule< EOT >
moSimpleCoolingSchedule< EOT >
C++ code
moCoolingSchedule<EOT>*
cooling schedule = new
moSimpleCoolingSchedule
<EOT>(...);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 47
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
Implementation of the EDA-SA algorithm
Pseudo-code
S0 = Uxmin,xmax
for i = 0 to g doS ′i = sel (Si , ρ)
Si = S ′i − S ′i
Vi = SiT· Si
xo = arg min(Si
)for j = 0 to p doxj = Nxj ,Vi
if f (xi ) < f (xj) and
U0,1 < e−1.|f (xj )−f (x′j )|
Ti thenSi+1 ← xj
xj+1 = xjTi+1 = Ti .α
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 48
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
C++ code: parameters declaration
Algorithm 1 Declaration of the needed parameters for EDA-SAalgorithm
double initial_temperature = ...;
double selection_rate = ...;
unsigned long max_eval = ...;
unsigned int dimension_size = ...;
unsigned int popSize = ...;
double threshold_temperature = ...;
double alpha = ...;
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 49
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 50
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
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 [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 51
General IdeaOverview
EDO frameworkConclusion
Theoretical aspectDesign
C++ code: running of the algorithm
Algorithm 4 Running of the algorithm
do_run(algo, pop);
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 52
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 53
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 54
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 55
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 56
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 57
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 58
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 59
General IdeaOverview
EDO frameworkConclusion
Conclusion
Conclusion & Discussion
Expected algorithm behaviour.
Performance to improve.
Easy-to-manipulate algorithm.
Perspective
Integrate and test some other distributions (cf. Gaussianmixture model)
Test some other selection operators.
Parallelization of the linear algebra operators.
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
Page 60
General IdeaOverview
EDO frameworkConclusion
Any questions ?
Thank [email protected]
Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework