Articulo de referencia

Evolución diferencial

Optimización de la función de Ackley 2D mediante evolución diferencial . La evolución diferencial ( ED ) es un algoritmo evolutivo que optimiza un problema mediante la mejora it...

Optimización de la función de Ackley 2D mediante evolución diferencial .

La evolución diferencial ( ED ) es un algoritmo evolutivo que optimiza un problema mediante la mejora iterativa de una solución candidata con respecto a una medida de calidad dada. Estos métodos se conocen comúnmente como metaheurísticas , ya que hacen pocas o ninguna suposición sobre el problema a optimizar y pueden explorar espacios muy amplios de soluciones candidatas. Sin embargo, las metaheurísticas como la ED no garantizan que se encuentre una solución óptima.

DE se utiliza para funciones multidimensionales de valor real , pero no utiliza el gradiente del problema que se está optimizando, lo que significa que DE no requiere que el problema de optimización sea diferenciable , como sí lo requieren los métodos de optimización clásicos como el descenso de gradiente y los métodos cuasi-newton . Por lo tanto, DE también se puede utilizar en problemas de optimización que ni siquiera son continuos , son ruidosos, cambian con el tiempo, etc. [ 1 ]

DE optimiza un problema manteniendo una población de soluciones candidatas y creando nuevas soluciones candidatas mediante la combinación de las existentes según sus fórmulas sencillas. Posteriormente, conserva la solución candidata con la mejor puntuación o aptitud para el problema de optimización en cuestión. De esta forma, el problema de optimización se trata como una caja negra que simplemente proporciona una medida de calidad para cada solución candidata, por lo que no se necesita el gradiente.

Historia

Storn y Price introdujeron la Evolución Diferencial en 1995. [ 2 ] [ 3 ] [ 4 ] Se han publicado libros sobre aspectos teóricos y prácticos del uso de DE en computación paralela , optimización multiobjetivo , optimización con restricciones , y los libros también contienen estudios de áreas de aplicación. [ 5 ] [ 6 ] [ 7 ] [ 8 ] Se pueden encontrar estudios sobre los aspectos de investigación multifacéticos de DE en artículos de revistas. [ 9 ] [ 10 ]

Algoritmo

Una variante básica del algoritmo DE funciona mediante una población de soluciones candidatas (denominadas agentes). Estos agentes se mueven por el espacio de búsqueda utilizando fórmulas matemáticas sencillas que combinan las posiciones de los agentes existentes en la población. Si la nueva posición de un agente supone una mejora, se acepta y pasa a formar parte de la población; de lo contrario, se descarta. El proceso se repite y, al hacerlo, se espera, aunque no se garantiza, que finalmente se encuentre una solución satisfactoria.

Formalmente, dejemosF:RnorteR{\displaystyle f:\mathbb {R} ^{n}\to \mathbb {R} }sea ​​la función de aptitud que debe minimizarse (tenga en cuenta que la maximización puede realizarse considerando la funciónh:=F{\displaystyle h:=-f}en su lugar). La función toma como argumento una solución candidata en forma de vector de números reales . Produce como salida un número real que indica la idoneidad de la solución candidata dada. El gradiente deF{\displaystyle f}Se desconoce. El objetivo es encontrar una solución.metro{\displaystyle \mathbf {m} }para quéF(metro)F(pag){\displaystyle f(\mathbf {m} )\leq f(\mathbf {p} )}a pesar depag{\displaystyle \mathbf {p} }en el espacio de búsqueda, lo que significa quemetro{\displaystyle \mathbf {m} }es el mínimo global.

DejarincógnitaRnorte{\displaystyle \mathbf {x} \in \mathbb {R} ^{n}}designar una solución candidata (agente) en la población. El algoritmo DE básico se puede describir entonces de la siguiente manera:

  • Seleccione los parámetrosnotario público4{\displaystyle {\text{NP}}\geq 4},CR[0,1]{\displaystyle {\text{CR}}\in [0,1]}, yF[0,2]{\displaystyle F\in [0,2]}.
    • NP  :notario público{\displaystyle {\text{NP}}}es el tamaño de la población, es decir, el número de agentes candidatos o "padres".
    • CR  : El parámetroCR[0,1]{\displaystyle {\text{CR}}\in [0,1]}se denomina probabilidad de cruce .
    • F  : El parámetroF[0,2]{\displaystyle F\in [0,2]}se denomina peso diferencial .
    • Los entornos típicos sonnortePAG=10norte{\displaystyle NP=10n},doR=0,9{\displaystyle CR=0.9}yF=0,8{\displaystyle F=0.8}.
    • El rendimiento de la optimización puede verse muy afectado por estas decisiones; véase más abajo.
  • Inicializar todos los agentesincógnita{\displaystyle \mathbf {x} }con posiciones aleatorias en el espacio de búsqueda.
  • Hasta que se cumpla un criterio de terminación (por ejemplo, número de iteraciones realizadas o aptitud adecuada alcanzada), repita lo siguiente:
    • Para cada agenteincógnita{\displaystyle \mathbf {x} }en la población hacen:
      • Elige tres agentesa,b{\displaystyle \mathbf {a} ,\mathbf {b} }, ydo{\displaystyle \mathbf {c} }de la población al azar, deben ser distintos entre sí, así como del agente.incógnita{\displaystyle \mathbf {x} }. (a{\displaystyle \mathbf {a} }(Se denomina vector "base").
      • Elige un índice aleatorioR{1,,norte}{\displaystyle R\in \{1,\ldots ,n\}}dóndenorte{\displaystyle n}es la dimensionalidad del problema que se está optimizando.
      • Calcular la nueva posición potencial del agente.y=[y1,,ynorte]{\displaystyle \mathbf {y} =[y_{1},\ldots,y_{n}]}como sigue:
        • Para cadai{1,,norte}{\displaystyle i\in \{1,\ldots ,n\}}, elige un número aleatorio con distribución uniformeriU(0,1){\displaystyle r_{i}\sim U(0,1)}
        • Siri<doR{\displaystyle r_{i}<CR}oi=R{\displaystyle i=R}luego estableceryi=ai+F×(bidoi){\displaystyle y_{i}=a_{i}+F\times (b_{i}-c_{i})}de lo contrario establecidoyi=incógnitai{\displaystyle y_{i}=x_{i}}. (Posición del índiceR{\displaystyle R}es reemplazado con certeza.)
      • SiF(y)F(incógnita){\displaystyle f(\mathbf {y} )\leq f(\mathbf {x} )}luego reemplace al agenteincógnita{\displaystyle \mathbf {x} }en la población con la solución candidata mejorada o igualy{\displaystyle \mathbf {y} }.
  • Seleccione el agente de la población que tenga la mejor aptitud y devuélvalo como la mejor solución candidata encontrada.

Selección de parámetros

Panorama de rendimiento que muestra cómo se desempeña el DE básico en conjunto en los problemas de referencia Sphere y Rosenbrock al variar los dos parámetros del DE.notario público{\displaystyle {\text{NP}}}yF{\displaystyle {\text{F}}}y mantener fijoCR{\displaystyle {\text{CR}}}=0,9.

La elección de los parámetros DEnotario público{\displaystyle {\text{NP}}},CR{\displaystyle {\text{CR}}}yF{\displaystyle F}puede tener un gran impacto en el rendimiento de la optimización. Por lo tanto, la selección de los parámetros DE que producen un buen rendimiento ha sido objeto de mucha investigación. Storn et al. [ 4 ] [ 5 ] y Liu y Lampinen [ 11 ] idearon reglas generales para la selección de parámetros. Zaharie [ 12 ] realizó un análisis de convergencia matemática con respecto a la selección de parámetros.

Manejo de restricciones

La evolución diferencial también puede utilizarse para la optimización con restricciones. Un método común consiste en modificar la función objetivo para incluir una penalización por cualquier violación de las restricciones, expresada como:F(~incógnita)=F(incógnita)+ρ×doV(incógnita){\displaystyle f{\tilde {(}}x)=f(x)+\rho \times \mathrm {CV} (x)}. Aquí,doV(incógnita){\displaystyle \mathrm {CV} (x)}representa una violación de una restricción (una penalización L1) o el cuadrado de una violación de una restricción (una penalización L2).

Sin embargo, este método presenta ciertos inconvenientes. Un desafío importante es la selección adecuada del coeficiente de penalización.ρ{\displaystyle \rho }. Siρ{\displaystyle \rho }Si se establece un valor demasiado bajo, es posible que no se apliquen las restricciones de manera efectiva. Por el contrario, si es demasiado alto, puede ralentizar considerablemente o incluso detener el proceso de convergencia. A pesar de estos desafíos, este enfoque sigue siendo ampliamente utilizado debido a su simplicidad y a que no requiere modificar el algoritmo de evolución diferencial.

Existen estrategias alternativas, como la proyección sobre un conjunto factible o la reducción de dimensionalidad, que pueden utilizarse en casos con restricciones de caja o lineales. Sin embargo, en el contexto de restricciones no lineales generales, los métodos más fiables suelen implicar funciones de penalización.

Variantes

Se están desarrollando continuamente variantes del algoritmo DE con el fin de mejorar el rendimiento de la optimización. [ 13 ] Se pueden esbozar las siguientes direcciones de desarrollo:

  • Nuevos esquemas para realizar cruces y mutaciones de agentes [ 4 ]
  • Diversas estrategias para gestionar las restricciones
  • Estrategias adaptativas que ajustan dinámicamente el tamaño de la población y los parámetros F y CR.
  • Algoritmos especializados para la optimización a gran escala
  • Algoritmos multiobjetivo y de muchos objetivos
  • Técnicas para el manejo de variables binarias/enteras

Véase también

Referencias

  1. Rocca, P.; Oliveri, G.; Massa, A. (2011). "Evolución diferencial aplicada al electromagnetismo". IEEE Antennas and Propagation Magazine . 53 (1): 38– 49. Bibcode : 2011IAPM...53...38R . doi : 10.1109/MAP.2011.5773566 . S2CID 27555808 . 
  2. Storn, Rainer; Price, Kenneth (1995). "Evolución diferencial: un esquema simple y eficiente para la optimización global en espacios continuos" (PDF) . Instituto Internacional de Ciencias de la Computación . TR (95). Berkeley: TR-95-012 . Recuperado el 3 de abril de 2024 .
  3. Storn, R.; Price, K. (1997). "Evolución diferencial: una heurística simple y eficiente para la optimización global en espacios continuos". Journal of Global Optimization . 11 (4): 341– 359. Bibcode : 1997JGOpt..11..341S . doi : 10.1023/A:1008202821328 . S2CID 5297867 . 
  4. 1 2 3 Storn, R. (1996). "Sobre el uso de la evolución diferencial para la optimización de funciones". Conferencia bienal de la North American Fuzzy Information Processing Society (NAFIPS) . págs. 519–523 . doi : 10.1109/NAFIPS.1996.534789 . S2CID 16576915 .  
  5. 1 2 Price, K.; Storn, RM; Lampinen, JA (2005). Evolución diferencial: un enfoque práctico para la optimización global . Springer. ISBN 978-3-540-20950-8.
  6. Feoktistov, V. (2006). Evolución diferencial: En busca de soluciones . Springer. ISBN 978-0-387-36895-5.
  7. Onwubolu, GC; Babu, BV (2004). Nuevas técnicas de optimización en ingeniería . Estudios en lógica difusa y computación blanda. Vol. 141. doi : 10.1007/978-3-540-39930-8 . ISBN  978-3-642-05767-0.
  8. Chakraborty, Reino Unido, ed. (2008), Avances en evolución diferencial , Springer, ISBN 978-3-540-68827-3
  9. S. Das; PN Suganthan (febrero de 2011). "Evolución diferencial: una revisión del estado del arte" . IEEE Transactions on Evolutionary Computation . 15 (1): 4–31 . doi : 10.1109/TEVC.2010.2059031 .
  10. S. Das; SS Mullick; PN Suganthan (2016). "Avances recientes en evolución diferencial: una revisión actualizada" (PDF) . Computación de enjambres y evolutiva . 27 : 1–30 . doi : 10.1016/j.swevo.2016.01.004 .
  11. Liu, J.; Lampinen, J. (2002). "Sobre la configuración del parámetro de control del método de evolución diferencial". Actas de la 8.ª Conferencia Internacional sobre Computación Blanda (MENDEL) . Brno, República Checa. pp. 11–18 . 
  12. Zaharie, D. (2002). "Valores críticos para los parámetros de control de algoritmos de evolución diferencial". Actas de la 8.ª Conferencia Internacional sobre Computación Blanda (MENDEL) . Brno, República Checa. págs. 62–67 . 
  13. Swagatam Das; Sankha Subhra Mullick; PN Suganthan (2016). Avances recientes en la evolución diferencial .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Differential_evolution&oldid=1274772443 "