Professional Documents
Culture Documents
DIFFERENTIAL EVOLUTION
DE
Outline
Rationale
Hystorical notes
DE basics
Implementation (Matlab code)
Improvement strategies
Constraint handling
Conclusions
Rationale
Why are stochastic methods needed?
T [s]
Solver
0.15
Simple analytical
1.5
Complex analytical
15
2d FEM
Hystorical notes
Differential Evolution: what and when
R. Storn and K. Price, Differential
Evolution - A Simple and Efficient
Adaptive Scheme for Global
Optimization over Continuous
Spaces, Tech. Report, International
Computer Science Institute
(Berkeley), 1995.
R. Storn and K. Price, Differential
Evolution A Simple and Efficient
Heuristic for global Optimization
over Continuous Spaces, Journal
of Global Optimization, vol. 11, Dec.
1997, pp. 341-359.
DE Basics
Algorithm: Typical evolutionary scheme
DE Basics
Mutation: add difference vector(s) to a base individual in
order to explore the search space
DE/rand/1
DE/best/1
DE/rand to best/1
DE/curr. to best/1
DE/rand/2
DE/best/2
vi
vi
vi
vi
multiobjective ???
mutation factor
6
DE Basics
Recombination: mix successful solutions from the
previous generation with current donors
ui,j =
trial
vi,j
xi,j
target
if randi,j CR or j = irand
else
donor
crossover ratio
DE Basics
Selection: Greedy scheme is key for fast convergence of DE
xk+1
=
i
uki
k
xi
Matlab code
DE
So far so good, but what about:
Mutation strategy ?
Mutation factor ?
Crossover ratio ?
What impact do they have ?
Can general rules be found or is fiddling necessary?
Can other ideas be incorporated ?
10
DE/rand/1/bin
f (x) =
N
1
i=1
Low-dimensional
5000 eval.
High-dimensional
11
DE/rand/2/bin
Add two difference vectors instead of one
DE/best/1/bin
Always start from best
vi = xbest + F1 (xr2 xr3 )
DE/best/2/bin
Always start from best but use two difference vectors
vi = xbest + F1 (xr2 xr3 + xr4 xr5 )
DE/rand-to-best/1/bin
Include movement to best (analogy with PSO)
vi = xr1 + F1 (xr2 xr3 ) + F2 (xbest xr1 )
Comparison
And the winner is.. DE/current-to-best/1/bin
17
18
Changing F
Improve solution by changing mutation factor
Population size
Smaller populations work well
Elitism (NEW)
Compare trial not only with target but also with worst
Coevolution
Several populations, each working on a subset of the
degrees of freedom
Population 1:
x=(x1,2)
After iteration:
xbest=(1.2,2), f=9.9
Current best:
x=(1,2), f=10.0
Hopefully:
x=( 1.2, 2.5 ), f=9.0
Population 2:
x=(1,x2)
After iteration:
xbest=(1,2.5), f=9.5
Coevolution
Several populations, each working on a subset of the
degrees of freedom
Faster convergence
Useful
23
Final comparison
Not mentioned here:
Summing up
24
Conclusions
Hybrid DE can efficiently solve problems with:
N. eval.
T eval. [s]
Solver
25.000
20
500.000
idem
2.500
20
50.000
30
idem
Average 2d FEM
250
20
5.000
300 = 5 min
idem
Simple 3d FEM
25
Additional material
If time permits
26
DE vs. PSO
27
Constraint handling
Existing approaches:
Lagrange multipliers (continuous only)
Penalty (value?)
Elegant solution:
Domination in a single-objective context
Incorporate in selection operator:
If both candidate and target are feasible choose best
If candidate/target is feasible and target/candidate unfeasible choose
feasible
If both candidate and target are unfeasible choose the least
unfeasible
28
Multiobjective DE
Proposed method:
DE/current-to-best/aggressive/elitist/multipopulation with following
modifications:
All targets and all trial individuals are non-dominated,least-crowded
sorted in the selection phase (like NSGA-II)
Best half evolve to next generation
best individual is randomly selected from level-1 front
29
Multiobjective DE
Analytical benchmark (KUR100)
30
Constrained single-objective DE
Motor benchmark
!!#
!"#
!"$
!$!
Method
Reference
3.99
1.24
31%
TRIBES (PSO)
3.82
0.46
12%
DE
3.95
0.43
11%
31
Constrained multi-objective DE
Motor benchmark
Maximize average torque / Minimize torque ripple
32