Evolución diferencial del algoritmo genético

Algoritmo de evolución diferencial

El algoritmo de evolución diferencial consiste en mantener una población de soluciones candidatas sometidas a iteraciones de recombinación, evaluación y selección. El enfoque de recombinación implica la creación de nuevos componentes de solución candidatos basados en la diferencia ponderada entre dos miembros de la población seleccionados al azar y agregados a un tercer miembro de la población. Esto confunde a los miembros de la población en relación con la propagación de toda la población. Junto con la selección, el efecto de perturbación autoorganiza el muestreo del espacio del problema, vinculándolo con áreas de interés conocidas.

La evolución diferencial tiene una nomenclatura especializada que describe la configuración adoptada. Esto toma la forma de DE / x / y / z, donde x representa la solución a perturbar (aleatoria o mejor). La y representa el número de vectores de diferencia utilizados en la perturbación de x, donde un vector de diferencia es la diferencia entre dos miembros de la población seleccionados al azar, aunque distintos. Finalmente, z significa que el operador de recombinación se realizó, como bin para binomial y exp para exponencial.

La evolución diferencial fue diseñada para un mejoramiento función continua no lineal y no diferenciable. El factor de ponderación F en [0; 2] controla la amplificación de la variación diferencial, se sugiere un valor de 0.8. El peso del cruce CR en [0; 1] controla probabilísticamente la cantidad de recombinación, se sugiere un valor de 0,9. La población inicial de soluciones candidatas debe generarse aleatoriamente a partir del espacio de soluciones válidas. Las configuraciones populares son DE/rand/1/* y DE/best/2/*.

El siguiente algoritmo describe el algoritmo de evolución diferencial para minimizar una función de costo, en particular una configuración DE / -rand / 1 / bin.

evolución diferencial
Compartir, repartir