Contenido
PalancaAlgoritmo de programación de evolución
El objetivo del algoritmo de programación de evolución es maximizar la adecuación de una colección de soluciones candidatas en el contexto de una función objetivo del dominio. Este objetivo se persigue utilizando un modelo adaptativo con sustitutos de los procesos evolutivos, en particular hereditarios (reproducción con variación) en competencia. La representación utilizada para las soluciones candidatas puede evaluarse directamente mediante un costo o una función objetiva del dominio.
La representación de las soluciones candidatas debe ser específica del dominio, como los números reales para la optimización continua de funciones. El tamaño de la muestra (BoutSize) para la selección del torneo durante la competencia es generalmente entre 5% y 10% para el tamaño de la población. La programación escalable tradicionalmente utiliza solo el operador de mutación para crear nuevas soluciones candidatas a partir de soluciones candidatas existentes. El operador de cruce utilizado en algunos otros algoritmos evolutivos no se utiliza en la programación evolutiva. La programación evolutiva está interesada en el vínculo entre las soluciones candidatas parentales y secundarias y no está interesada en sustitutos de los mecanismos genéticos.
La optimización de funciones continuas es una aplicación popular para este enfoque, donde se utilizan representaciones de valor real con un operador de mutación basado en Gauss. Los parámetros específicos de la mutación utilizados al aplicar el algoritmo a la optimización continua de funciones se pueden adaptar junto con las soluciones candidatas.