Está en la página 1de 9

EVOLUCION DIFERENCIAL

Miguel Crdenas-Montes
Evolucin diferencial es un algoritmo evolutivo que a primera vista no
est basado en ningn proceso natural. Tiene una amplia aceptacin en-
tre los investigadores, siendo en general ms potente que los algoritmos
genticos.

Objetivos:

Entender el funcionamiento del algoritmo evolucin diferencial.

Identificar las fortalezas y debilidades del algoritmo.

1 Introduccin

El algoritmo de Evolucin Diferencial (DE) fue propuesto por Storm


y Price 1 , 2 en 1998. Es un modelo evolutivo que enfatiza la muta- 1
Rainer Storn and Kenneth Price. Dif-
ferential evolution a simple and ef-
cin, utiliza un operador de cruce/recombinacin a posteriori de la
ficient heuristic for global optimization
mutacin. Fue propuesto para optimizacin con parmetros reales. Se over continuous spaces. J. of Global Opti-
trata de una tcnica no determinista basada en la evolucin de una po- mization, 11(4):341359, 1997. ISSN 0925-
5001
blacin de vectores (individuos) de valores reales que representan las 2
Kenneth V. Price, Rainer M. Storn, and
soluciones en el espacio de bsqueda. La generacin de nuevos indi- Jouni A. Lampinen. Differential Evolu-
viduos se lleva a cabo mediante operadores diferenciales de mutacin tion A Practical Approach to Global Op-
timization. Natural Computing Series.
y cruce. Springer-Verlag, Berlin, Germany, 2005
Mediante la mutacin diferencial se aade la diferencia proporcional
de dos individuos (v2 , v3 ) elegidos aleatoriamente de la poblacin a
un tercer individuo (v1 , individuo objetivo, target), tambin elegido
aleatoriamente. El nuevo individuo wi se denomina individuo mutado o
vector mutado. Los vectores v1 , v2 , v3 son mutuamente exclusivos y a
su vez diferentes de wi .
Algunos autores utilizan indistintamen-
wi = v1 + ( v2 v3 ) (1) te el smbolo F y para el mismo con-
cepto.
La constante de mutacin > 0 establece el rango de diferenciacin
entre los individuos v2 y v3 con el objetivo de evitar el estancamiento
en el proceso de bsqueda.
Tras la mutacin, se realiza una operacin de recombinacin sobre
cada individuo vi (target) para generar un individuo intermedio ui (trial).
El individuo intermedio ui es construido mezclando las componentes de
wi y vi , ecuacin 2, bajo una probabilidad predefinida Cr [0, 1].
(
wi ( j ) si rand Cr ;
ui ( j ) = (2)
vi ( j ) en otro caso.
Finalmente el operador de seleccin decide en base a la mejora del
fitness, si el individuo intermedio ui es aceptado y reemplaza al individuo
2 m m

objetivo vi ; o si por el contrario, el individuo intermedio ui es rechazado


y se conserva el individuo objetivo en la siguiente generacin.
El operador de seleccin descrito asegura que el mejor fitness en la
poblacin siempre es incorporado en la generacin siguiente.
Adems del operador de mutacin binario, bin, descrito anterior-
mente en el cual el vector intermedio es construido seleccionado a tra-
vs de una variable aleatoria una componente bien del vector mutado
bien del vector objetivo, existe otro operador llamado exponencial, exp,
o mdulo dos. En el este segundo caso la variable aleatoria se utiliza
para seleccionar la posicin a partide de la cual el vector intermedio ya
no es construido con las componentes del vector objetivo, sino con las
componentes del vector mutado. Como se puede apreciar en el opera-
dor bin hay mltiples puntos de cruce, mientras que en operador exp
hay solamente uno.
Si se compara el algoritmo de evolucin diferencial con otros se
pueden citar las siguientes fortalezas:

DE tiene un excelente equilibrio entre velocidad de convergencia y


evitar la convergencia prematura.

DE es una excelente primera opcin cuando se encara un nuevo


problema de optimizacin, o segunda tras GA.

DE es eficiente tanto en problemas reales como articiales.

DE es uno de los algoritmos evolutivos ms rpido.

DE posee un bajo nmero de parmetros, lo que lo hace muy senci-


llo de configurar: el tamao de la poblacin, el factor de mutacin
F o dependiendo de la publicacin, y la constante de cruce Cr .

Posee un gran redimiento, especialmente en funciones separables.


Es sensiblemente mejor que PSO en un amplio rango de funciones.

2 Variantes

Existen diferentes variantes de evolucin diferencial. Las ms im-


3
Efren Mezura-Montes, Jesus portantes estn descritas en 3 :
Velazquez-Reyes, and Carlos A. Coello
Coello. A comparative study of dif-
ferential evolution variants for global
DE/rand/1/bin El modelo explicado hasta ahora.
optimization. In GECCO, pages 485492, wi = v1 + ( v2 v3 )
2006
DE/best/1/bin En este modelo la eleccin se eligen al mejor vector
para la recombinacin.
wi = best + (v1 v2 )
e v o l u i o n d i f e r e n i a l 3

DE/rand/2/bin Reemplazando el valor 1 (nmero de pares de solu-


ciones elegidas), por un valor mayor, es posible una seleccin entre
ms de un par de soluciones.
wi = v1 + ( v2 + v3 v4 v5 )

DE/best/2/bin En este modelo la eleccin se eligen al mejor vector


para la recombinacin y dos aleatorios.
wi = best + (v1 + v2 v3 v4 )

DE/rand/1/exp En este modelo el individuo intermedio ui es construido


mezclando las componentes de wi y vi pero no componente a com-
ponente en funcin de una variable aleatoria que se compara con Cr .
En el operador binario las componentes son comparadas una a una.
En el operador exponencial se van eligiendo todas las componentes
de uno de los vectores, y cuando se activa el operador se contina
con todas componentes del otro operador.
Al igual que exite el DE/rand/1/exp, exiten los equivantes con exp
para otros casos: DE/rand/2/exp, DE/best/1/exp y DE/best/2/exp.

DE/rand-to-best/1/bin Se aade el mejor individuo en la mezcla.


wi = vi + (best v1 ) + (v2 v3 )
Tambin exite una variante: DE/rand-to-best/1/exp.

DE/current-to-best/1/bin Este es el equivalente a DE/rand-to-best/1/bin,


pero sustituyendo el primer vector elegido aleatoriamente por el
vector de ndice i:
wi = vi + (best vi ) + (v2 v3 )

DE/current-to-pbest/1/bin Este es el equivalente a DE/best/1/bin, pe-


ro evita el mejor vector best por un vector seleccionado aleatoria-
mente entre los p mejores. Esta estrategia evita la convergencia pre-
matura que suele proporcionar la estrategia DE/current-to-best/1/bin.
El parmetro p marca la intensidad de la estrategia, siendo similar a
DE/current-to-best/1/bin cuando p es pequeo. Esta estrategia es
usada en JADE 4 . 4
Jingqiao Zhang and Arthur C. San-
derson. JADE: adaptive differen-
wi = vi + ( pbest vi ) + (v2 v3 )
tial evolution with optional external
archive. IEEE Trans. Evolutionary
Algunas de las estrategias anteriores, como DE/best/1, DE/target- Computation, 13(5):945958, 2009. d o i :

10.1109/TEVC.2009.2014613
to-best/1, DE/best/2, DE/rand/2 ya fueron propuestas en los prime-
ros trabajos de los autores originales del algoritmo 5 . 5
Kenneth V. Price, Rainer M. Storn, and
Jouni A. Lampinen. Differential Evolu-
Existe una variante de DE que incluye dither. En este caso el va-
tion A Practical Approach to Global Op-
lor de es sustituido en cada ciclo por un valor aleatorio. Diversas timization. Natural Computing Series.
propuestas han sido presentadas para el rango de variacin de este Springer-Verlag, Berlin, Germany, 2005
parmetro.
4 m m

3 Parametros del Algoritmo

En algunos casos se recomiendan los valores = 0,8 y Cr = 0,9 para


los paramtros de DE cuando se utiliza el esquema DE/rand/1/bin.
Sin embargo, estos paramtros suelen depender en gran medida del
problema que est siendo optimizado. En general, un valor de en el
rango [0.4,1] suele ser efectivo.
Un valor grande de permite una exploracin del espacio de bs-
queda; mientras que un valor pequeo permite una explotacin de las
zonas con buenas soluciones.
Con el operador de mutacin binario, el valor de Cr es una indica-
cin de cuandtos cambios se esperan en los vectores de la poblacin.
Un valor pequeo de Cr har que pocas coordenadas del vector cam-
bien, y por tanto, los vectores se moveran de forma ortogonal. Un valor
grande de Cr har que los vectores se puedan mover en cualquier di-
reccin.
Un valor pequeo de Cr , en el rango (0,0.1), es deseable para fun-
ciones separables, puesto que en este caso permite la exploracin inde-
pendiente de un conjunto reducido de direcciones. Obviamente, este
valor es pernicioso para funciones no separables.

3.1 Tamao de la Poblacin

Una de las primeras prpuestas indican que el tamao de la po-


blacin deba ser entre 5D y 10D, siendo D la diomensionalidad del
6
Rainer Storn and Kenneth Price. Dif- problem, y que una buena eleccin inicial era = 0,5 6 .
ferential evolution a simple and ef-
ficient heuristic for global optimization
over continuous spaces. J. of Global Opti-
mization, 11(4):341359, 1997. ISSN 0925- 3.2 Dither & Jitter
5001
En la bsqueda de la mejora del rendimiento de DE, dos conceptos
7
Swagatam Das and Ponnuthurai Na- aparecen relacionados con la variacin de F: dither y jitter 7 . Generar
garatnam Suganthan. Differential evo-
un nuevo valor de F para cada parmetro (dimensin) en cada vector
lution: A survey of the state-of-the-art.
IEEE Trans. Evolutionary Computation, 15 es llamado jitter, Fj .
(1):431, 2011 Por el contrario el uso de dither 8 implica variar aleatoriamente el
8
Swagatam Das, Amit Konar, and
valor de F para cada vector entre 0.5 y 1; Fdither = Fmin + rand(0, 1)
Uday Kumar Chakraborty. Two impro-
ved differential evolution schemes for ( Fmax Fmin ). La variable aleatoria, rand(0, 1), puede ser aplicada una
faster global search. In Hans-Georg Be- por generacin o una por generacin y vector diferencia. La diferencia
yer and Una-May OReilly, editors, Ge-
netic and Evolutionary Computation Confe- con jitter es que ste tambin
rence, GECCO 2005, Proceedings, Washing- Simultneamante con esta tcnica se sugiere hacer decrecer lineal-
ton DC, USA, June 25-29, 2005, pages
mente F entre 1.0 y 0.5 siguiendo un esquema DETVSF (DE with time
991998. ACM, 2005. ISBN 1-59593-010-8
varying scale factor). Esto permite a los individuos explorar diversas
zonas del espacio de bsqueda en los ciclos iniciales (promocin de la
exploracin de resultados). Sin embargo, durante los ciclos finales el
decaimiento del factor ajusta las soluciones de forma fina, de forma
e v o l u i o n d i f e r e n i a l 5

que exploran el entorno de las mejores soluciones encontradas (pro-


mocin de la explotacin de resultados).
Tambin se han presentado esfuerzos para combinar DE con se-
quencias caticas. El objetivo de este tipo de implementacin es la
mejora de la diversidad de la poblacin. As el factor F puede ser
generador usando un mapa logistico. Esto asegura que los valores de
este parametro va a ser aperiodico: FG = r FG1 [1 FG1 ]. donde
los valores de inters de r deben estar en el intervalo (0, 4].
DE es ms sensible a la eleccin de F que la de Cr . Habitualmente
el mximo valor de F es 1, pero no est prohibido que F > 1. Sin
embargo, no se ha conseguido optimizar
En 9 se describe que la varianza de la poblacin disminuye si F < 9
Daniela Zaharie. Influence of crossover
on the behavior of differential evolution
Fcrit , y por el contrario, la varianza aumenta si F > Fcrit . Donde Fcrit
algorithms. Applied Soft Computing, 9(3):
est descrito en la siguiente ecuacin: 1126 1138, 2009. ISSN 1568-4946
s
P
1 2Cr
Fcrit = (3)
NP
donde NP es el tamao de la poblacin, y PCr es la probabilidad de
cruce. Para el operador de cruce binomial PCr = Cr (1 n1 ) + n1 , siendo
n la dimensionalidad del espacio de bsqueda.
En consequencia los parmetros de DE cumplen la ecuacin 4.

2 P
2 F2 + Cr = 0 (4)
NP NP

4 Parmetros Autoadaptados

4.1 SaDE
El algorithmo denominado SaDE 10 propone adaptar los parmetros 10
A. Kai Qin, Vicky Ling Huang, and
F y Cr a partir de de la experiencia previa. Para ello, inicialmente el Ponnuthurai N. Suganthan. Differen-
tial evolution algorithm with strategy
valor de F se genera a parti de de una distribucin normal de media 0.5 adaptation for global numerical op-
y desviacin estndar 0.3, N (0,5, 0,3). Esta distribucin es muestreada timization. IEEE Trans. Evolutionary
Computation, 13(2):398417, 2009.
para generar los diferentes valores de F para cada vector.
d o i :

10.1109/TEVC.2008.927706
Al contrario que para F, para Cr los valores son extrados de una
distribucin normal de media el valor medio de los Cr de la generacin
anterior y de desviacin estndard 0.1, N (Cr G1 , 0,1). Esta desviacin
estndard debe mantenerse muy reducida para evitar valores Cr > 1.

4.2 jDE
Una de las opciones ms avanzadas para mejorar el rendimiento
es el uso de parametros, y Cr que vara a lo largo de la ejecucin
siguiendo un comportamiento que depende de la evolucin de las so-
luciones.
6 m m

Una proposicin de DE cuyos parmetros siguen un esquema auto-


11
Janez Brest, Saso Greiner, Borko Bos- adaptado puede encontrarse en 11 . Este algoritmo, llamado jDE, intro-
kovic, Marjan Mernik, and Viljem Zu-
ducen dos nuevo parmetros, R y Cr .
mer. Self-adapting control parame-
ters in differential evolution: A com- (
parative study on numerical bench- Fl + rand1 Fu , si rand2 < F
mark problems. IEEE Trans. Evolutionary Fi,G+1 = (5)
Fi,G , en otro caso
Computation, 10(6):646657, 2006. d o i :

10.1109/TEVC.2006.872133 (
rand3 Fu , si rand4 < Cr
Cri,G+1 = (6)
Cri,G , en otro caso
En el algoritmo jDE los falores de y Cr son reevaluados en cada ge-
neracin. Se buscan valores y Cr que produzcan vectores cuyos hijos
produzcan mejores soluciones. A su vez, basndose en estos mejores
descendientes, los valores de y Cr son reevaluados para la siguiente
generacin.
En las ecuaciones 5 y 6, los falores de Fl y Fu son los lmites inferior y
superior que puede tomar el parmetro F. Es usual establecer valores:
Fl = 0,1 y Fu = 0,9; con las probabilidades F = Cr = 0,1; mientras
que Cr toma valores en el rango [0,1].

4.3 Adaptacin de F Basada en el Fitness


12
Montaz M. Ali and Aimo A. Trn. Po- En 12 se propone una modificacin de F basada en el fitness. Para
pulation set-based global optimization
cada generacin se propone un valor de F basado en los valores Fmin
algorithms: some modifications and nu-
merical studies. Computers & OR, 31(10): y Fmax de la generacin anterior a travs de la ecuacin 7. En este caso
17031725, 2004. d 10.1016/S0305-
o i :

lmin = 0,4 y Cr = 0,5.


0548(03)00116-3
n o
f f
max lmin , 1 | fmax | , si | fmax | < 1
min o min
F= n
f min (7)
max lmin , 1 | f max | , en otro caso

5 Variantes Avanzadas de Evolucin Diferencial

5.1 DE con Mutacin Trigonomtrica


13
Hui-Yuan Fan and Jouni Lampinen. A En 13 un operador de mutacin trigonomtrico es propuesto. En
trigonometric mutation operation to dif- este operador para se construye para p = | f (v1 )| + | f (v2 )| + | f (v3 )|,
ferential evolution. J. Global Optimization,
27(1):105129, 2003 siendo v1 , v2 , v3 vectores mutuamente excluyentes y distinto del vector
wi , y f (vi ) el fitness para dicho vector. Posteriormente se contruye,
| f (v )|
pi = pi . Adems es un ratio de mutacin trigonomtrico en el
intervalo (0, 1). Entonces el esquema de mutacin trigonomtrico se
puede expresar como:

= v1 +v32 +v3 + ( p2 p1) (v1 v2 )+




wi,g+1

+( p3 p2) (v2 v3 )+
(8)



+( p1 p3) (v3 v1 ) si rand[0, 1] < ;
wi,g+1 = v1 + F (v2 v3 ) en otro caso.

e v o l u i o n d i f e r e n i a l 7

5.2 DE con Recombinacin Aritmtica


El esquema binomial (DE/*/*/bin) deja algunas componentes sin
cambiar (ecuacin 2). Una propuesta de mejora consiste en crear cada
individuo intermedio ui como una combinacin lineal:
ui = wi + k i (vi wi ), donde k i puede ser una constante o una varia-
ble aleatoria.

5.3 DE/rand/1/Either-Or
En 14 se propone un algoritmo denominado DE/rand/1/either-or 14
Kenneth V. Price, Rainer M. Storn, and
Jouni A. Lampinen. Differential Evolu-
donde los vectores intermedios (trial) son o mutados puros con proba-
tion A Practical Approach to Global Op-
bilidad p F o recombinantes puros con probabilidad 1 p F . La ecuacin timization. Natural Computing Series.
9 implica su aplicacin sobre todo el vector, y no sobre cada dimensin Springer-Verlag, Berlin, Germany, 2005
del vector.
(
v1 + F ( v2 v3 ) si rand p F ;
ui ( j ) = (9)
v1 + k ( v2 + v3 2 v1 ) en otro caso.

Los autores originales recomiendan k = 0,5 ( F + 1).

6 Metaoptimizacin de los Parmetros de Evolucin Diferen-


cial

El concepto de metaoptimizacin tiene como objetivo optimizar los


operadores que gobiernan el comportamiento del algoritmo evolutivo,
adaptndolos al problema que se quiere optimizar. Como esta opti-
mizacin es un problema de gran dificultad requiere de algn tipo
de tcnica evolutiva para la optimizacin. Esto es metaoptimizacin: un
algoritmo evolutivo que optimiza los parmetros que gobiernan otro
algoritmo evolutivo que optimiza un problema. El algoritmo evolutivo
que optimiza los parmetros se denomina metaoptimizador.
A continuacin se presentan unos ejemplos de los resultados de los
valores ptimos de parmtros Cr y para diferentes funciones. En los D 1
siguientes ejemplos se utiliza DE en el metaoptimizador (10 ciclos y 10 f Rosenbrock = 100 [( xi2 xi+1 )2 + ( xi 1)2 ]
i =1
vectores) y DE en el optimizador (10.000 ciclos y 100 vectores). (10)
D 1 j < i
En cada una de las grficas que se presentan en esta seccin se f Schwe f el Problem 1,2 = ( xi )2 (11)
i =1 j =1
presentan los mejores valores de Cr y . Como puede apreciarse, no
siempre los resultado corroboran

Referencias

[1] Montaz M. Ali and Aimo A. Trn. Population set-based glo-


bal optimization algorithms: some modifications and numeri-
8 m m

14

Figura 1: Funcin de Rosenbrock 12


10
8
6
4
2
0
1.0

0.8

0.6

CR
0.4

0.2

0.0
0.0 0.2 0.4 0.6 0.8 0 2 4 6 8 101214
1.0

Figura 2: Funcin de Schwefel Problem 8


7
6

1.2 5
4
3
2
1
0
1.0

0.8

0.6
CR

0.4

0.2

0.0
0.0 0.2 0.4 0.6 0.8 0 2 4 6 810
1.0 1214
1618


cal studies. Computers & OR, 31(10):17031725, 2004. d o i :

10.1016/S0305-0548(03)00116-3.

[2] Janez Brest, Saso Greiner, Borko Boskovic, Marjan Mernik, and
Viljem Zumer. Self-adapting control parameters in differential
evolution: A comparative study on numerical benchmark pro-
blems. IEEE Trans. Evolutionary Computation, 10(6):646657, 2006.
10.1109/TEVC.2006.872133.
d o i :

[3] Swagatam Das and Ponnuthurai Nagaratnam Suganthan. Dif-


ferential evolution: A survey of the state-of-the-art. IEEE Trans.
Evolutionary Computation, 15(1):431, 2011.

[4] Swagatam Das, Amit Konar, and Uday Kumar Chakraborty. Two
improved differential evolution schemes for faster global search.
In Hans-Georg Beyer and Una-May OReilly, editors, Genetic and
Evolutionary Computation Conference, GECCO 2005, Proceedings,
Washington DC, USA, June 25-29, 2005, pages 991998. ACM, 2005.
ISBN 1-59593-010-8.

[5] Hui-Yuan Fan and Jouni Lampinen. A trigonometric mutation


operation to differential evolution. J. Global Optimization, 27(1):
105129, 2003.
e v o l u i o n d i f e r e n i a l 9

[6] Efren Mezura-Montes, Jesus Velazquez-Reyes, and Carlos


A. Coello Coello. A comparative study of differential evolution
variants for global optimization. In GECCO, pages 485492, 2006.

[7] Kenneth V. Price, Rainer M. Storn, and Jouni A. Lampinen. Diffe-


rential Evolution A Practical Approach to Global Optimization. Natu-
ral Computing Series. Springer-Verlag, Berlin, Germany, 2005.

[8] A. Kai Qin, Vicky Ling Huang, and Ponnuthurai N. Suganthan.


Differential evolution algorithm with strategy adaptation for glo-
bal numerical optimization. IEEE Trans. Evolutionary Computation,
13(2):398417, 2009. d o10.1109/TEVC.2008.927706.
i :

[9] Rainer Storn and Kenneth Price. Differential evolution a sim-


ple and efficient heuristic for global optimization over continuous
spaces. J. of Global Optimization, 11(4):341359, 1997. ISSN 0925-
5001.

[10] Daniela Zaharie. Influence of crossover on the behavior of diffe-


rential evolution algorithms. Applied Soft Computing, 9(3):1126
1138, 2009. ISSN 1568-4946.

[11] Jingqiao Zhang and Arthur C. Sanderson. JADE: adaptive


differential evolution with optional external archive. IEEE
Trans. Evolutionary Computation, 13(5):945958, 2009. d o i :

10.1109/TEVC.2009.2014613.

También podría gustarte