Anda di halaman 1dari 45

Computac

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

Algoritmo de Evolucao Diferencial

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

Seja o problema de otimizac


ao n
ao linear com vari
aveis reais contnuas:
x = arg min f (x)
x

sujeito a:

g(x) 0

(1)

h(x) = 0

Incialmente, vamos considerar o problema irrestrito, isto e, sem as funcoes


de restricao g(x) e h(x).

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)

em que, o terceiro ndice indica uma entre as n vari


aveis do problema.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

5 / 45

Evolucao Diferencial
Notac
ao: mutac
ao

O mecanismo de busca do DE utiliza vetores-diferenca:


Dois indivduos sao selecionados aleatoriamente para se criar um
vetor-diferenca;
Este vetor-diferenca e somado a um terceiro indivduo, tambem
selecionado aleatoriamente, produzindo uma solucao mutante;
A solucao mutante e portanto o resultado de uma perturbacao em
algum indivduo da populac
ao;
Esta perturbacao e um vetor-diferenca construdo aleatoriamente.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

6 / 45

Evolucao Diferencial
Notac
ao: mutac
ao

A equacao a seguir ilustra esse procedimento:


vt,i = xt,r1 + F (xt,r2 xt,r3 ) ,

r1 , r2 , r3 {1, . . . , N}

(3)

Em que vt,i representa a i -esima soluc


ao mutante;
F e um fator de escala aplicado ao vetor-diferenca;
O vetor xt,r1 e denominado vetor de base;
A partir deste procedimento, obtem-se uma populac
ao mutante
Vt = {vt,i ; i = 1, . . . , N}.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

7 / 45

Evolucao Diferencial
Notac
ao: recombinac
ao

A recombinacao e obtida da seguinte maneira:


Os indivduos da populac
ao corrente Xt s
ao recombinados com os
indivduos da populac
ao mutante Vt .
Produz-se a descendencia ou populac
ao de soluc
oes teste Ut .
Na versao classica do DE, emprega-se recombinacao discreta com
probabilidade C [0, 1]:
(
vt,i ,j , se U[0,1] C j = i
(4)
ut,i ,j =
ario
xt,i ,j , caso contr
em que i {1, . . . , n} e um ndice gerado aleatoriamente.
O parametro C controla o efeito da recombinac
ao discreta.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

8 / 45

Evolucao Diferencial
Notac
ao: recombinac
ao

A Figura 1 ilustra a geracao de um vetor mutante e as possveis solucoes


teste obtidas ap
os a recombinac
ao, indicadas por .
2

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

Figure : Ilustracao do procedimento de geracao de uma nova solucao.


c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

9 / 45

Evolucao Diferencial
Notac
ao: resumo

Os operadores do DE em forma compacta s


ao:
(
xt,r1 ,j + F (xt,r2 ,j xt,r3 ,j ) , se U[0,1] C j = i
ut,i ,j =
xt,i ,j ,
caso contrario

(5)

com r1 , r2 , r3 {1, . . . , N}, t = 1, . . . , tmax , i = 1, . . . , N, e j = 1, . . . , n.


A selec
ao para sobreviv
encia pode ser descrita por:
(
ut,i , se f (ut,i ) f (xt,i )
xt+1,i =
xt,i , caso contr
ario

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

(6)

10 / 45

Evolucao Diferencial
Notac
ao: algoritmo

Algorithm 1: Algoritmo Modelo de Evoluc


ao Diferencial
1
2
3
4
5
6
7
8
9

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

Comportamento da Mutacao Diferencial


Introduc
ao

Supondo uma populacao de tamanho N, com N vetores distintos entre si:


Existem ao todo N 2 combinac
oes de diferencas possveis;
N sao nulas, pois correspondem a diferencas entre um mesmo vetor;
As N(N 1) diferencas restantes s
ao n
ao nulas;
Essas N(N 1) diferencas apresentam simetria, porque cada
diferenca (xt,r2 xt,r3 ) possui seu simetrico correspondente;
A probabilidade de selecionar uma dada diferenca e seu simetrico e a
mesma.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

12 / 45

Comportamento da Mutacao Diferencial


Introduc
ao

Interpretacao basica do mecanismo de autoadaptac


ao do DE:

A distribuicao dos vetores-diferenca depende da distribuicao espacial


dos indivduos da populac
ao.

` medida que a populac


A
ao se distribui de acordo com o contorno
da funcao, a distribuic
ao dos vetores-diferenca tambem se ajusta a
esse contorno.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

13 / 45

Comportamento da Mutacao Diferencial


Func
ao convexa
90

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)

Figure : Funcao-objetivo quadratica. (a) Distribuicao espacial da populacao na


geracao t = 1. (b) Distribuicao dos vetores-diferenca na geracao t = 1.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

14 / 45

Comportamento da Mutacao Diferencial


Func
ao convexa
90

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)

Figure : Funcao-objetivo quadratica. (a) Distribuicao espacial da populacao na


geracao t = 10. (b) Distribuicao dos vetores-diferenca na geracao t = 10.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

15 / 45

Comportamento da Mutacao Diferencial


Func
ao convexa
90

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)

Figure : Funcao-objetivo quadratica. (a) Distribuicao espacial da populacao na


geracao t = 20. (b) Distribuicao dos vetores-diferenca na geracao t = 20.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

16 / 45

Comportamento da Mutacao Diferencial


Func
ao multimodal
90

120

60

t=1

150

30
2

x2

180

330

210
2

240
3
3

x1

(a)

300
270

(b)

Figure : Funcao-objetivo multimodal. (a) Distribuicao espacial da populacao na


geracao t = 1. (b) Distribuicao dos vetores-diferenca na geracao t = 1.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

17 / 45

Comportamento da Mutacao Diferencial


Func
ao multimodal
90

120

60

t = 10

30

150
2

x2

180

210

330

240
3
3

x1

(a)

300
270

(b)

Figure : Funcao-objetivo multimodal. (a) Distribuicao espacial da populacao na


geracao t = 10. (b) Distribuicao dos vetores-diferenca na geracao t = 10.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

18 / 45

Comportamento da Mutacao Diferencial


Func
ao multimodal
90

120

60

t = 20

30

150
2

x2

180

210

330

240
3
3

x1

(a)

300
270

(b)

Figure : Funcao-objetivo multimodal. (a) Distribuicao espacial da populacao na


geracao t = 20. (b) Distribuicao dos vetores-diferenca na geracao t = 20.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

19 / 45

Comportamento da Mutacao Diferencial


Func
ao unimodal n
ao convexa

Neste caso, usaremos a func


ao de Rosenbrock:
f (x) = (1 x1 )2 + 100(x2 x12 )2

(7)

unimodal e suas curvas de nvel formam conjuntos nao convexos.


E
O ponto de mnimo se localiza em um vale estreito e longo.
Essa regiao apresenta uma inclinac
ao pequena que dificulta a
convergencia de metodos de otimizac
ao baseados em derivadas.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

20 / 45

Comportamento da Mutacao Diferencial


Func
ao unimodal n
ao convexa
90
5
120

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)

Figure : Funcao-objetivo unimodal nao convexa. (a) Distribuicao espacial da


populacao em t = 1. (b) Distribuicao dos vetores-diferenca em t = 1.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

21 / 45

Comportamento da Mutacao Diferencial


Func
ao unimodal n
ao convexa
90
5
120

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)

Figure : Funcao-objetivo unimodal nao convexa. (a) Distribuicao espacial da


populacao em t = 10. (b) Distribuicao dos vetores-diferenca em t = 10.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

22 / 45

Comportamento da Mutacao Diferencial


Func
ao unimodal n
ao convexa
90
5
120

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)

Figure : Funcao-objetivo unimodal nao convexa. (a) Distribuicao espacial da


populacao em t = 20. (b) Distribuicao dos vetores-diferenca em t = 20.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

23 / 45

Comportamento da Mutacao Diferencial


Rotac
ao e Translac
ao

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

Os ndices r1 , r2 , r3 sao sorteados aleatoriamente para cada i .


O que ocorre quando algum par dos ndices i , r1 , r2 , r3 e coincidente?
Se r2 = r3 :
vt,i = xt,r1
Nao ha perturbacao aplicada ao vetor de base.
Ocorre apenas recombinac
ao de xt,i com xt,r1 .

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

25 / 45

Aspectos Avancados
Combinac
oes Degeneradas

Se r1 = r2 ou r1 = r3 , tem-se uma recombinac


ao aritmetica.
Para r1 = r2 , temos:
vt,i = xt,r1 + F (xt,r1 xt,r3 ) = (1 + F )xt,r1 F xt,r3
Para r1 = r3 , ocorre uma recombinac
ao aritmetica tradicional entre
xt,r1 e xt,r2 (se F [0, 1]):
vt,i = xt,r1 + F (xt,r2 xt,r1 ) = (1 F )xt,r1 + F xt,r2
Se F > 1 os cruzamentos s
ao degenerados.

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

Figure : Quando r1 = r2 , a nova solucao e gerada fora do segmento que une as


duas solucoes recombinantes. No exemplo acima, F = 0.4.

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

Figure : Quando r1 = r3 , ocorre uma recombinacao aritmetica tradicional. No


exemplo acima, F = 0.4.

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 )

A solucao teste ut,i e o resultado da recombinac


ao da solucao xt,i
com sua versao perturbada.
O parametro C passa a ter o significado de um parametro de
mutacao, controlando quantas vari
aveis de xt,i serao perturbadas.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

29 / 45

Aspectos Avancados
Combinac
oes Degeneradas

Se i = r2 ou i = r3 :

Nesse caso o vetor-diferenca est


a na direc
ao que liga xt,i a algum
outro vetor da populac
ao, xt,r2 ou xt,r3 .

Essa combinacao nao e necessariamente indesej


avel.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

30 / 45

Aspectos Avancados
Combinac
oes Degeneradas

Estas combinacoes degeneradas, mesmo que tenham baixa


probabilidade de ocorrencia, s
ao em geral indesej
aveis e podem
prejudicar o desempenho do algoritmo.
Por essa razao, recomenda-se adotar ndices mutuamente distintos,
isto e, i 6= r1 6= r2 6= r3 , em implementac
oes mais praticas do
algoritmo de evolucao diferencial.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

31 / 45

Aspectos Avancados
Combinac
oes Degeneradas

Algorithm 2: Pseudocodigo para a selecao de ndices mutuamente distintos


1
2
3
4
5
6
7
8
9

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

Pode-se utilizar um mesmo vetor como vetor de base em todas as


operacoes de mutacao diferencial. Assim, temos:

vt,i = xt,best + F (xt,r2 xt,r3 )

(8)

onde xt,best representa o melhor indivduo na populacao na geracao t.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

34 / 45

Aspectos Avancados
Variac
oes do Algoritmo

Pode-se adotar o vetor correspondente `


a media da distribuicao
espacial da populacao como vetor base.

vt,i = xt,mean + F (xt,r2 xt,r3 )

(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

Outra possibilidade e gerar soluc


oes na direc
ao do melhor indivduo
para servirem como vetores de base.
vt,i = xt,i + (xt,best xt,i ) +F (xt,r2 xt,r3 )
|
{z
}

(11)

xt,base

com [0, 1].


O vetor de base corresponde a um ponto gerado aleatoriamente sobre
o segmento que liga xt,i e xt,best .
Essa forma de selecao de xt,base apresenta menor pressao seletiva que
em (8), embora haja uma polarizac
ao na direc
ao da melhor solucao.
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

36 / 45

Aspectos Avancados
Variac
oes do Algoritmo

A mutacao diferencial pode ser generalizada para empregar mais


vetores-diferenca na criac
ao do vetor mutante:
vt,i = xt,r1 +

d
X

Fk xt,k

(12)

k=1

em que a perturbacao aplicada ao vetor de base e composta pela


soma de d vetores-diferenca da forma:
xt,k = xt,rk+1 xt,rk+1+d

(13)

Por exemplo, usando o mesmo valor de Fk para todo k e d = 3:


vt,i = xt,r1 + F (xt,r2 xt,r5 + xt,r3 xt,r6 + xt,r4 xt,r7 )
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

(14)
37 / 45

Aspectos Avancados
Variac
oes do Algoritmo

O uso de mais de um vetor-diferenca na mutac


ao diferencial
aumenta a capacidade de gerac
ao de diversidade no algoritmo.

Contudo, essa estrategia reduz a capacidade de alinhamento dos


vetores-diferenca com o contorno da func
ao.

O uso de mais vetores-diferenca aumenta a busca global no algoritmo


e prejudica a busca local.

c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

38 / 45

Aspectos Avancados
Variac
oes do Algoritmo

Existe uma notacao sintetica para representar as variacoes do DE.


Essa notacao padrao segue o formato DE/base/d/rec:
@ base indica a forma como o vetor de base e selecionado.
@ d indica o n
umero de vetores-diferenca.
@ rec faz referencia ao operador de recombinac
ao utilizado.

Por exemplo, a versao cl


assica do DE pode ser representada pela
notacao DE/rand/1/bin.
c
Lucas
S. Batista (UFMG)

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

vt,i = xt,best + F (xt,r2 xt,r3 )

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

xt,k + F (xt,r2 xt,r3 )

vt,i = xt,r1 + (xt,best xt,r1 ) + F (xt,r2 xt,r3 )


vt,i = xt,i + (xt,best xt,i ) + F (xt,r2 xt,r3 )
vt,i = xt,r1 + F1 (xt,r2 xt,r4 ) + F2 (xt,r3 xt,r5 )

Table : Algumas instancias do algoritmo de evolucao diferencial.


c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

40 / 45

Aspectos Avancados
Variac
ao dos Par
ametros NP e F

Com relacao ao tamanho da populac


ao do DE:
5n NP 10n
O parametro de escala F n
ao precisa necessariamente variar:
os tamanhos de passo s
ao autoadaptados;
Entretanto, variar F aumenta a diversidade.
Alem disso, reduz as chances de estagnac
ao do algoritmo.
Usualmente F = U[a,b], e adota-se U[0.5,1] .
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

41 / 45

Aspectos Avancados
Variac
ao do Par
ametro C

Um baixo valor de C resulta em uma busca ao longo dos eixos


coordenados separadamente.
Efetivo quando f () e separ
avel ou decomposta.

Figure : DE aplicado sobre uma


unica populacao NP = 10 durante 200 geracoes
com selecao desativada (C = 0).
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

42 / 45

Aspectos Avancados
Variac
ao do Par
ametro C

Maiores valores de C resultam em uma busca menos susceptvel a


rotacao da funcao.
Efetivo quando as vari
aveis de f () s
ao dependentes.

Figure : DE aplicado sobre uma


unica populacao NP = 10 durante 200 geracoes
com selecao desativada (C = 0.5).
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

43 / 45

Aspectos Avancados
Variac
ao do Par
ametro C

Maiores valores de C resultam em uma busca menos susceptvel a


rotacao da funcao.
Efetivo quando as vari
aveis de f () s
ao dependentes.

Figure : DE aplicado sobre uma


unica populacao NP = 10 durante 200 geracoes
com selecao desativada (C = 1).
c
Lucas
S. Batista (UFMG)

Evoluc
ao Diferencial

44 / 45

Aspectos Avancados
Esquema Geral dos Algoritmos DE

Algorithm 3: Pseudocodigo geral para a famlia de algoritmos DE


1
2
3
4
5
6
7
8
9

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

Anda mungkin juga menyukai