Red de conocimiento informático - Material del sitio web - Algoritmo de optimización multiobjetivo

Algoritmo de optimización multiobjetivo

Nombre: Yuan Zhuocheng; ID de estudiante: 20021210612; Facultad: Escuela de Ingeniería Electrónica:

Reimpreso de /weixin_43202635/article/details/82700342

Introducción a la vaca anidada Este artículo presenta varios tipos de polígonos Algoritmo de optimización objetiva

Nariz de vaca anidada? Optimización multiobjetivo, Pareto

¿Cuáles son los diversos algoritmos de optimización multiobjetivo para el problema de la vaca anidada?

Texto de vaca anidado

1) Condiciones restringidas y sin restricciones

2) Problemas de optimización deterministas y estocásticas (si las variables están determinadas);

3) Optimización lineal y optimización no lineal (si la función objetivo y las restricciones son lineales

4) Programación estática y programación dinámica (si la solución cambia con el tiempo);

Para que múltiples objetivos sean lo más óptimos posible en un área determinada al mismo tiempo, la solución de optimización multiobjetivo suele ser un conjunto de soluciones de equilibrio (es decir, la solución óptima compuesta por un gran número de soluciones óptimas de Pareto Conjunto, cada elemento del conjunto se denomina solución óptima de Pareto o solución óptima no inferior).

① Solución no inferior: no existe una solución óptima para los problemas de optimización multiobjetivo. Todas las soluciones posibles se denominan soluciones no inferiores, también llamadas soluciones óptimas de Pareto.

②Solución óptima de Pareto: es imposible mejorar cualquier función objetivo sin debilitar al menos otra función objetivo. Esta solución se llama solución no dominante o solución óptima de Pareto.

No existe una solución óptima global única para los problemas de optimización multiobjetivo y demasiadas soluciones no inferiores no se pueden aplicar directamente, por lo que se debe encontrar la solución final.

(1) Hay tres métodos principales para encontrar la solución final:

El primero es el método de generación de soluciones no inferiores, es decir, encontrar primero una gran cantidad de soluciones no inferiores. -soluciones inferiores para formar un subconjunto de soluciones no inferiores y luego encontrar la solución final de acuerdo con la intención de quien toma las decisiones (los métodos generativos incluyen principalmente métodos ponderados, métodos restringidos, métodos ponderados y restringidos y métodos híbridos que combinan; algoritmos genéticos multiobjetivo)

El segundo es el método interactivo, que no encuentra primero una gran cantidad de soluciones no inferiores.

El segundo es el método interactivo: no encuentra muchas soluciones no inferiores primero, sino que gradualmente encuentra la solución final a través del diálogo entre analistas y tomadores de decisiones;

El tercero es invite El tomador de decisiones proporciona la importancia relativa de los objetivos y, en base a esto, el algoritmo convierte los problemas con múltiples objetivos en la resolución de problemas con un solo objetivo.

(2) Los algoritmos de optimización multiobjetivo se pueden resumir en dos categorías: algoritmos de optimización tradicionales y algoritmos de optimización inteligentes.

Los algoritmos de optimización tradicionales incluyen ponderación, restricciones, programación lineal, etc. En esencia, convierten funciones multiobjetivo en funciones de un solo objetivo y utilizan métodos de optimización de un solo objetivo para resolver funciones de múltiples objetivos.

Los algoritmos de optimización inteligentes incluyen el algoritmo evolutivo (EA para abreviar), la optimización de enjambre de partículas (PSO para abreviar), etc.

La diferencia entre los dos es que: la tecnología de optimización tradicional generalmente puede obtener un conjunto de soluciones de Pareto cada vez, mientras que al usar algoritmos inteligentes para resolverlo, se pueden obtener más soluciones de Pareto, y estas soluciones forman un El óptimo El conjunto de soluciones se denomina solución óptima de Pareto (una solución en la que cualquier mejora en el valor de una función objetivo debe ser a expensas de los valores de otras funciones objetivo).

① MOEA genera la siguiente generación de la población X (t + 1) realizando operaciones de selección, cruce y mutación en la población. Primero, copie todos los individuos de solución no inferior en la población X (t) al conjunto externo A (t);

③ Luego, aplique el operador de truncamiento de nicho para eliminar los individuos de solución inferiores en A (t) y algunos individuos cercanos no inferiores.

④ Según la probabilidad pe, seleccione un cierto número de individuos excelentes de A (t + 1) para ingresar a la población de la próxima generación

⑤ Una vez completada la evolución, el La solución no inferior en el conjunto externo se generará como la solución óptima.

La idea básica del algoritmo NSGA I II:

(1) Primero, se genera aleatoriamente una población inicial de tamaño N y, a través de las tres operaciones básicas de selección, cruce y mutación del algoritmo genético. Se realiza una clasificación no dominante para obtener la subpoblación de primera generación;

(2) En segundo lugar, a partir de la segunda generación, mediante una clasificación rápida no dominante, el padre La población y la población descendiente se fusionan, y cada población no dominante se selecciona al mismo tiempo. La población descendiente en la capa dominante se considera la solución óptima;

⑤Una vez completada la evolución, la población no dominante. -Los individuos de solución inferior en el conjunto externo se presentan como la solución óptima. Al mismo tiempo, calcule el grado de hacinamiento de cada individuo en la capa no dominante y seleccione los individuos apropiados en función de la relación no dominante del individuo y el grado de hacinamiento para formar una nueva población principal.

③Finalmente, a través de los conceptos básicos de los algoritmos genéticos La operación genera una nueva subpoblación: y así sucesivamente hasta satisfacer el final del programa.

Algoritmo de clasificación no dominado:

Considere una población con K número de funciones objetivo (K>1) y tamaño N. La población se puede estratificar mediante el algoritmo de clasificación no dominante. Los pasos específicos son los siguientes:

El conjunto de individuos no dominantes obtenidos mediante los pasos anteriores es la primera capa no dominante de la población;

Luego, ignorando los individuos marcados como no dominantes, y luego siguiendo los pasos (1) i (4), obtendrás la segunda capa no dominante;

y así sucesivamente hasta que Se clasifica a toda la población.

Grado de hacinamiento: se refiere a la densidad de individuos alrededor de un individuo en la población, que puede expresarse intuitivamente como individuos.

Operador de comparación de aglomeración:

Imagínese una escena: un grupo de pájaros está buscando alimento y hay un campo de maíz en la distancia. Todos los pájaros no conocen la ubicación exacta del campo de maíz. Pero saben qué tan lejos está su ubicación actual del campo de maíz. La mejor estrategia para encontrar maizales, y la más sencilla y efectiva, es buscar el área alrededor de la bandada de pájaros más cercana al maizal actualmente.

El principio básico del algoritmo de enjambre de partículas:

El enjambre de partículas está compuesto por n partículas. Cada partícula tiene una posición xi. Esta posición xi representa el problema de optimización en el D-. espacio de búsqueda dimensional. Una solución potencial;

Las partículas vuelan en el espacio de búsqueda a una cierta velocidad, y esta velocidad se ajustará dinámicamente en función de su propia experiencia de vuelo y la de sus compañeros para ajustar su dirección y distancia de vuelo. ;

Todas las partículas tienen un objetivo, que es seleccionado por el objetivo. Todas las partículas tienen un valor de aptitud determinado por la función objetivo (piense en ello como la distancia al "campo de maíz") y conocen la mejor posición que han encontrado hasta ahora (el extremo individual pi) y su posición actual (xi).

Descripción matemática del algoritmo de enjambre de partículas:

Cada partícula i consta de un vector de posición D-dimensional xi = (xi1, xi2, ..., xiD) y un vector de velocidad vi = (vi1, vi2, ..., viD), la partícula i busca en el espacio de solución guardando la experiencia óptima de búsqueda. Posición pi = (pi1, pi2, ..., piD). Al inicio de cada iteración, la partícula ajusta su vector velocidad según su inercia y experiencia, y ajusta su posición según la posición empírica óptima dentro del grupo pg = (pg1, pg2,..., pgD).

La idea básica del algoritmo de enjambre de partículas:

(1) Después de inicializar la población, el tamaño de la población se registra como N. Según la idea de Dominancia de aptitud, la población se divide en dos subgrupos, uno se llama subgrupo A no dominante y el otro se llama subgrupo B dominante, y los números cardinales de los dos subgrupos son n1 y n2 respectivamente.

(2) El conjunto de élite externo se utiliza para almacenar el subconjunto de soluciones no inferiores A generado en cada generación, y solo se actualizan la velocidad y la posición de las partículas en B durante cada iteración.

(3) Las partículas actualizadas en B se comparan con las partículas en A según la idea de dominancia de aptitud. Si xi∈B, ?xj ∈ A, de modo que xi domina a xj, entonces elimine xj y haga. xi unirse a A, para actualizar el conjunto de élite externo y utilizar algunas tecnologías, como tecnología de evaluación de densidad, tecnología de descentralización, etc., para mantener el tamaño del conjunto de élite dentro del límite superior.

(4) Finalmente, el criterio de terminación del algoritmo puede ser el número máximo de iteraciones Tmax, la precisión del cálculo ε o el número máximo de pasos de estancamiento Δt de la solución óptima.