¿Qué conocimientos de Python se necesitan para aprender la optimización multiobjetivo?
En términos generales, el problema de optimización objetiva se refiere a obtener la solución óptima de la función objetivo a través de un determinado algoritmo de optimización. Cuando la función objetivo optimizada es 1, se denomina optimización de objetivo único (Problema de optimización de objetivo único,
Cuando hay dos o más funciones objetivo de optimización, It). se llama problema de optimización multiobjetivo.
MOP. A diferencia de la optimización de un solo objetivo donde la solución es finita, la solución de la optimización multiobjetivo suele ser un conjunto de soluciones de equilibrio.
Los algoritmos de optimización multiobjetivo se pueden resumir en dos categorías: algoritmos de optimización tradicionales y algoritmos de optimización inteligentes.
1. Los algoritmos de optimización tradicionales incluyen el método de ponderación, el método de restricción y el método de programación lineal. En esencia, convierte funciones de objetivos múltiples en funciones de objetivos únicos y utiliza métodos de optimización de objetivos únicos para resolver las funciones de objetivos múltiples.
2. Los algoritmos de optimización inteligentes incluyen el algoritmo evolutivo (EA) y el algoritmo de enjambre de partículas (PSO).
Solución óptima de Pareto:
Si x*∈C*, y no existe una solución óptima X en C, entonces x* se llama Pareto del modelo de optimización multiobjetivo. La solución óptima también se llama solución efectiva.
En términos generales, no existe una solución óptima para un problema de optimización multiobjetivo, y todas las soluciones posibles se denominan soluciones no inferiores, también conocidas como soluciones de Pareto. Las técnicas de optimización tradicionales generalmente pueden obtener un conjunto de soluciones de Pareo a la vez, pero al utilizar algoritmos inteligentes para resolver, se pueden obtener más soluciones de Pareto y deconstruirlas en un conjunto de soluciones óptimo, llamado conjunto de soluciones de Pareto. Consiste en aquellos a expensas de los cuales debe producirse cualquier aumento en el valor de la función objetivo.
La solución establecida a expensas del valor de su función objetivo se denomina dominio óptimo de Pareto, o conjunto de Pareto para abreviar.
El conjunto de soluciones no inferiores de solución eficiente (óptima) de Pareto se refiere al conjunto de soluciones en las que al menos una función objetivo es mejor que cualquier solución fuera del conjunto.
La solución más famosa a los problemas de optimización multiobjetivo es NSGA-II, que es un algoritmo genético multiobjetivo, pero su proceso de selección de soluciones se puede utilizar en otros algoritmos de optimización, como el algoritmo de enjambre de partículas y algoritmo de colonia de abejas espera. A continuación se presenta brevemente el algoritmo de selección de NSGA-II. Consta principalmente de tres partes:
1. Clasificación rápida no dominada
Hablemos primero del concepto de dominancia. Para las soluciones X1 y X2, si todas las funciones objetivo correspondientes a X1 no son mayores que X2 (problema mínimo) y un valor objetivo es menor que X2, entonces X2 está dominado por X1.
La clasificación rápida no dominada es un proceso de calificación cíclico: primero encuentre la solución no dominada establecida en el grupo, registrada como la primera capa no dominada, irank=1 (irank es el valor no dominado del individuo I ), elimínelo del grupo, continúe encontrando el conjunto de soluciones no dominadas en el grupo y luego irank=2.
2. Distancia de hacinamiento individual
Para que los resultados del cálculo se distribuyan de manera más uniforme en el espacio objetivo y mantener la diversidad de la población, calcule la distancia de hacinamiento para cada individuo y seleccione el que tiene una gran distancia de hacinamiento. La distancia de hacinamiento se define como:
L[i]d=L[i]d+(L[i+1]m?l[i?1]m)/(fmaxm?fminm) p>
L[i+1]m es el m-ésimo valor de la función objetivo del individuo i+1, fmaxm y fminm son los valores máximo y mínimo del m-ésimo valor de la función objetivo en el conjunto.
3. Selección de la estrategia de élite
La estrategia de élite es retener directamente a los individuos destacados desde la generación de padres hasta la descendencia para evitar la pérdida de la solución óptima de Pareto. Fusione la población de descendientes y la población de padres generada en el momento t, luego ordene la nueva población fusionada en orden no dominante y luego agréguela a la población de tamaño n en orden no dominante como el nuevo padre.