Evolución diferencial para 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 agregados a un tercer miembro de la población. Esto confunde a los miembros de la población en comparació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 a á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 (por ejemplo, aleatoria o mejor). La y significa 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 elegidos al azar, aunque distintos. Finalmente, z significa el operador de recombinación realizado, 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, específicamente una configuración DE/-rand/1/bin.

ES
FR
FR
EN
ES
Salir de la versión móvil