Top Banner
General Idea Overview EDO framework Conclusion Evolving Distribution Objects Framework 1 Caner Candan [email protected] Thales Research & Technology Palaiseau, France September 5, 2011 1 Except as otherwise noted, content is licensed under the Free Art License. Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework
60

Presentation of the Evolving Distribution Objects Framework

May 11, 2015

Download

Technology

Caner Candan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

General IdeaOverview

EDO frameworkConclusion

Theoretical aspectDesign

Design of the EDO framework

Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework

Page 31: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

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: Presentation of the Evolving Distribution Objects Framework

General IdeaOverview

EDO frameworkConclusion

Any questions ?

Thank [email protected]

Caner Candan [email protected] MSc Thesis: Evolving Distribution Objects Framework