Fuerte algoritmo evolutivo de Pareto

Dificultad
Promedio 50%

Fuerte algoritmo evolutivo de Pareto SPEA

El objetivo del fuerte algoritmo evolutivo de Pareto SPEA es localizar y mantener un frente de soluciones no dominadas, idealmente un conjunto de soluciones de Pareto óptimas. Esto se logra mediante el uso de un proceso evolutivo (con procedimientos sustitutos para la recombinación y mutación genética) para explorar el espacio de búsqueda, y un proceso de selección que utiliza una combinación del grado de dominancia de una solución candidata (fuerte) y una estimación de la densidad. del frente de Pareto como aptitud asignada.

Un archivo del conjunto no dominado se mantiene separado de la población de soluciones candidatas utilizadas en el proceso evolutivo, lo que proporciona una forma de elitismo.

fuerte algoritmo evolutivo de Pareto SPEA

Aquí están las funciones del fuerte algoritmo evolutivo de Pareto SPEA.

La función CalculateRawFitness calcula la aptitud bruta como la suma de los valores de fuerza de las soluciones que dominan a un candidato dado, donde fuerza es el número de soluciones que domina una solución dada. La función CandidateDensity estima la densidad de un área del frente de Pareto como 1 / (o ^ k + 2) donde o ^ k es la distancia euclidiana de los valores objetivos entre una solución dada, el k-ésimo vecino más cercano de la solución, yk es la raíz cuadrada de la población y el tamaño del archivo combinados.

La función PopulateWithRemainingBest llena de forma iterativa el archivo con las soluciones candidatas restantes en orden de adecuación. La función RemoveMostSimilar trunca la población del archivo eliminando miembros con los valores o ^ k más pequeños calculados contra el archivo.

La función SelectParents selecciona los padres de una población utilizando un método de selección de laalgoritmo genético como la selección de torneos binarios. La función CrossoverAndMutation realiza los operadores de cruce y mutación del algoritmo genético.

El fuerte algoritmo evolutivo de Pareto SPEA ha sido diseñado y adaptado a instancias de problemas de optimización con múltiples objetivos combinatorios y función continua. Se puede utilizar una representación binaria para problemas de optimización de funciones continuas junto con operadores genéticos clásicos como el cruce de puntos y la mutación de puntos. Se puede utilizar un valor k de 1 para aumentar la eficiencia y, al mismo tiempo, proporcionar resultados útiles. El tamaño de los archivos es generalmente menor que el tamaño de la población.