Escolar Documentos
Profissional Documentos
Cultura Documentos
ao Evolucion
aria
Algoritmos de Evolucao Diferencial
Lucas S. Batista
Universidade Federal de Minas Gerais
Departamento de Engenharia El
etrica
F. G. Guimar
aes. Algoritmos de Evoluc
ao Diferencial para Otimizac
ao e
Aprendizado de M
aquina. Anais do IX CBRN, Ouro Preto, p. 117, 2009.
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
1 / 45
Sumario
Introducao
Comportamamento da Mutac
ao Diferencial
Aspectos Avancados
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
2 / 45
Introducao
Algoritmo de Evolucao Diferencial (DE):
Proposto por Rainer Storn e Kenneth Price em 1995.
Muito popular na otimizac
ao n
ao linear com vari
aveis contnuas.
Mecanismo basico de busca: operador de mutac
ao diferencial.
Considerado um AE, embora n
ao seja inspirado em processo natural.
Qualidades computacionais interessantes:
simplicidade de implementacao;
robustez e eficiencia;
autoadaptacao;
versatilidade.
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
3 / 45
Evolucao Diferencial
Introduc
ao
sujeito a:
g(x) 0
(1)
h(x) = 0
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
4 / 45
Evolucao Diferencial
Notac
ao
Notacao:
U[a,b]: amostragem com distribuic
ao uniforme entre a e b;
N[,] : amostragem com distribuic
ao normal com media e desvio
padrao .
Seja uma populacao de soluc
oes candidatas Xt = {xt,i ; i = 1, . . . , N}.
Cada indivduo e representado por um vetor coluna:
xt,i ,1
xt,i ,2
xt,i = .
.
.
xt,i ,n
(2)
Evoluc
ao Diferencial
5 / 45
Evolucao Diferencial
Notac
ao: mutac
ao
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
6 / 45
Evolucao Diferencial
Notac
ao: mutac
ao
r1 , r2 , r3 {1, . . . , N}
(3)
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
7 / 45
Evolucao Diferencial
Notac
ao: recombinac
ao
Evoluc
ao Diferencial
8 / 45
Evolucao Diferencial
Notac
ao: recombinac
ao
1.8
xt,r1
1.6
1.4
x2
1.2
vt,i
xt,r3
xt,i
0.8
0.6
0.4
xt,r2
0.2
0.2
0.4
0.6
0.8
x1
1
1.2
1.4
1.6
1.8
Evoluc
ao Diferencial
9 / 45
Evolucao Diferencial
Notac
ao: resumo
(5)
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
(6)
10 / 45
Evolucao Diferencial
Notac
ao: algoritmo
10
11
12
13
14
t 1;
Inicializar populacao Xt = {xt,i ; i = 1, . . . , N};
enquanto algum criterio de parada nao for satisfeito faca
para i = 1 ate N faca
Selecionar vetor de base xt,base ;
(selecao para reproducao)
Selecionar vetor-diferenca {xt };
Selecionar fator de escala F ;
Gerar solucao mutante usando vt,i = xt,base + F xt ;
Adicionar vt,i `a populacao mutante Vt ;
fim
Recombinar Xt e Vt , com parametro C , gerando Ut ;
Aplicar selecao para sobrevivencia entre Xt e Ut ;
t t + 1;
fim
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
11 / 45
Evoluc
ao Diferencial
12 / 45
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
13 / 45
80
120
60
60
t=1
40
150
30
40
30
20
20
x2
10
180
10
330
210
20
30
240
40
40
30
20
x1
10
10
20
30
40
(a)
300
270
(b)
Evoluc
ao Diferencial
14 / 45
80
120
60
60
t = 10
40
150
30
40
30
20
20
x2
10
180
10
330
210
20
30
240
40
40
30
20
x1
10
10
20
30
40
(a)
300
270
(b)
Evoluc
ao Diferencial
15 / 45
80
120
60
60
t = 20
40
150
30
40
30
20
20
x2
10
180
10
330
210
20
30
240
40
40
30
20
x1
10
10
20
30
40
(a)
300
270
(b)
Evoluc
ao Diferencial
16 / 45
120
60
t=1
150
30
2
x2
180
330
210
2
240
3
3
x1
(a)
300
270
(b)
Evoluc
ao Diferencial
17 / 45
120
60
t = 10
30
150
2
x2
180
210
330
240
3
3
x1
(a)
300
270
(b)
Evoluc
ao Diferencial
18 / 45
120
60
t = 20
30
150
2
x2
180
210
330
240
3
3
x1
(a)
300
270
(b)
Evoluc
ao Diferencial
19 / 45
(7)
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
20 / 45
60
t=1
4
3
2.5
150
30
1.5
180
x2
0.5
0.5
330
210
1.5
240
2.5
2.5
1.5
0.5
x1
0
0.5
1.5
2.5
(a)
300
270
(b)
Evoluc
ao Diferencial
21 / 45
60
t = 10
4
3
2.5
30
150
2
1.5
1
1
180
x2
0.5
0.5
210
330
1.5
240
2.5
2.5
1.5
0.5
x1
0
0.5
1.5
2.5
(a)
300
270
(b)
Evoluc
ao Diferencial
22 / 45
60
t = 20
4
3
2.5
30
150
2
1.5
1
1
180
x2
0.5
0.5
210
330
1.5
240
2.5
2.5
1.5
0.5
x1
0
0.5
1.5
2.5
(a)
300
270
(b)
Evoluc
ao Diferencial
23 / 45
A mutac
ao diferencial e invariante `
a translac
ao e rotacao, pois se
trata de uma operacao vetorial;
Os vetores-diferenca s
ao definidos usando as posicoes relativas dos
indivduos da populac
ao, n
ao suas posic
oes absolutas;
Um algoritmo cujo desempenho n
ao depende da orientacao do
sistema de coordenadas e mais geral.
2
xt,r1
1.8
1.6
1.4
x2
1.2
vt,i
xt,i
0.8
xt,r3
0.6
0.4
0.2
c
Lucas
S. Batista (UFMG)
0.2
0.4
0.6
0.8
xt,r2
x1
1
1.2
Evoluc
ao Diferencial
1.4
1.6
1.8
24 / 45
Aspectos Avancados
Combinac
oes Degeneradas
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
25 / 45
Aspectos Avancados
Combinac
oes Degeneradas
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
26 / 45
Aspectos Avancados
Combinac
oes Degeneradas
0.9
0.8
0.7
xt,r1
x2
0.6
0.5
vt,i
xt,r3
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
x1
(a)
0.5
0.6
0.7
0.8
0.9
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
27 / 45
Aspectos Avancados
Combinac
oes Degeneradas
0.9
0.8
0.7
xt,r1
0.6
x2
vt,i
0.5
xt,r2
0.4
0.3
0.2
0.1
0.1
0.2
0.3
x1
(b)
0.4
0.5
0.6
0.7
0.8
0.9
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
28 / 45
Aspectos Avancados
Combinac
oes Degeneradas
Se i = r1 . Uma perturbac
ao e aplicada a xt,i de acordo com:
vt,i = xt,i + F (xt,r2 xt,r3 )
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
29 / 45
Aspectos Avancados
Combinac
oes Degeneradas
Se i = r2 ou i = r3 :
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
30 / 45
Aspectos Avancados
Combinac
oes Degeneradas
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
31 / 45
Aspectos Avancados
Combinac
oes Degeneradas
repita
Selecione aleatoriamente r1 {1, . . . , N};
at
e r1 6= i;
repita
Selecione aleatoriamente r2 {1, . . . , N};
at
e r2 6= i r2 6= r1 ;
repita
Selecione aleatoriamente r3 {1, . . . , N};
at
e r3 6= i r3 6= r1 r3 6= r2 ;
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
32 / 45
Aspectos Avancados
Variac
oes do Algoritmo
O algoritmo de evoluc
ao diferencial em sua vers
ao basica utiliza:
(i) selecao aleatoria do vetor base com probabilidade uniforme;
(ii) um (01) vetor-diferenca para a mutac
ao, e
(iii) recombinacao discreta entre a soluc
ao corrente e seu vetor mutante
correspondente.
Entretanto, muitas variac
oes desse esquema b
asico sao possveis.
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
33 / 45
Aspectos Avancados
Variac
oes do Algoritmo
(8)
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
34 / 45
Aspectos Avancados
Variac
oes do Algoritmo
(9)
com:
xt,mean
N
1 X
=
xt,i
N
(10)
i =1
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
35 / 45
Aspectos Avancados
Variac
oes do Algoritmo
(11)
xt,base
Evoluc
ao Diferencial
36 / 45
Aspectos Avancados
Variac
oes do Algoritmo
d
X
Fk xt,k
(12)
k=1
(13)
Evoluc
ao Diferencial
(14)
37 / 45
Aspectos Avancados
Variac
oes do Algoritmo
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
38 / 45
Aspectos Avancados
Variac
oes do Algoritmo
Evoluc
ao Diferencial
39 / 45
Aspectos Avancados
Variac
oes do Algoritmo
Notacao
DE/rand/1/bin
Mutacao diferencial
vt,i = xt,r1 + F (xt,r2 xt,r3 )
DE/best/1/bin
DE/mean/1/bin
vt,i =
DE/rand-to-best/1/bin
DE/current-to-best/1/bin
DE/rand/2/bin
1
N
PN
k=1
Evoluc
ao Diferencial
40 / 45
Aspectos Avancados
Variac
ao dos Par
ametros NP e F
Evoluc
ao Diferencial
41 / 45
Aspectos Avancados
Variac
ao do Par
ametro C
Evoluc
ao Diferencial
42 / 45
Aspectos Avancados
Variac
ao do Par
ametro C
Evoluc
ao Diferencial
43 / 45
Aspectos Avancados
Variac
ao do Par
ametro C
Evoluc
ao Diferencial
44 / 45
Aspectos Avancados
Esquema Geral dos Algoritmos DE
10
11
12
13
14
t 1;
Inicializar populacao Xt = {xt,i ; i = 1, . . . , N};
enquanto algum criterio de parada nao for satisfeito faca
para i = 1 ate N faca
Selecionar vetor de base xt,base ;
(selecao para reproducao)
Selecionar conjunto de vetores-diferenca {xt,k }, k = 1, . . . , d;
Selecionar fatores de escala Fk , k = 1, . . . , d;
Pd
Gerar solucao mutante usando vt,i = xt,base + k=1 Fk xt,k ;
Adicionar vt,i `a populacao mutante Vt ;
fim
Recombinar Xt e Vt , com parametro C , gerando Ut ;
Aplicar selecao para sobrevivencia entre Xt e Ut ;
t t + 1;
fim
c
Lucas
S. Batista (UFMG)
Evoluc
ao Diferencial
45 / 45