La Red de Conocimientos Pedagógicos - Currículum vitae - estructura del algoritmo pso

estructura del algoritmo pso

Hay muchas formas de mejorar la estructura del algoritmo de enjambre de partículas, que se pueden clasificar como: usar múltiples subpoblaciones; mejorar la estrategia de selección de objetos de aprendizaje de partículas; modificar la fórmula de iteración de actualización de partículas; la estrategia de actualización de velocidad; modificación de métodos de velocidad limitada, métodos de posición limitada y combinaciones de espacios de búsqueda determinados dinámicamente con otras técnicas de búsqueda y mejoras para problemas multimodo;

El primer tipo de solución es utilizar múltiples subpoblaciones. Ke Jing consideró los requisitos duales de los problemas de optimización sobre la velocidad de convergencia y la precisión de la optimización y se basó en la idea de algoritmos evolutivos de poblaciones múltiples, dividiendo las partículas de optimización en dos grupos. Un grupo de partículas utiliza el algoritmo de factor de compresión PSO en modo local. , y el otro grupo de partículas usa inercia. El algoritmo PSO de modo global ponderado adopta una topología de anillo entre los dos grupos de partículas. Para problemas de optimización de alta dimensión, el algoritmo PSO requiere una gran cantidad de partículas, lo que a menudo genera una alta complejidad computacional y dificultad para obtener buenas soluciones. Por lo tanto, surgió un Optimizador cooperativo de enjambre de partículas (CPSO-H), que divide el vector de entrada en múltiples subvectores y utiliza un enjambre de partículas para la optimización de cada subvector. Aunque el algoritmo CPSO-H utiliza una población unidimensional para buscar cada dimensión por separado, después de que estos resultados de búsqueda se integran con una población global, el rendimiento en problemas multimodales mejora considerablemente en comparación con el algoritmo PSO original. Chow utiliza múltiples subgrupos que interactúan entre sí e introduce velocidades de referencia de grupos adyacentes. Feng Qifeng propuso dividir el área de búsqueda, utilizar múltiples subgrupos y mantener la diversidad a través de la distancia entre partículas. Chen Guochu dividió las partículas en dos grupos con diferentes direcciones de vuelo. Un grupo voló hacia las partículas óptimas y el otro grupo voló en la dirección opuesta. Al volar, cada partícula no solo se ve afectada por la propia experiencia de vuelo de la partícula y las partículas óptimas de. su grupo. , también se ve afectado por las partículas óptimas de todo el grupo. Niu introdujo el modelo de subgrupo maestro-esclavo en el algoritmo PSO y propuso un algoritmo PSO cooperativo de múltiples grupos. Seo propuso un algoritmo PSO multigrupo (PSO multigrupo), que utiliza N grupos de partículas para buscar simultáneamente N picos de problemas multimodo. Selleri utiliza múltiples subgrupos independientes y agrega algunos términos nuevos a la ecuación de actualización de la velocidad de las partículas, que respectivamente hacen que las partículas se muevan hacia la posición histórica óptima del subgrupo o se alejen del centro de gravedad de otros subgrupos. Wang Junnian se basó en la idea de la codificación jerárquica para construir un algoritmo PSO de evolución colaborativa de múltiples poblaciones. Gao Ying se basó en la relación entre el medio ambiente y la competencia poblacional en ecología y propuso un algoritmo PSO multipoblacional basado en la densidad de población.

El segundo tipo de solución consiste en mejorar la estrategia de selección de objetos de aprendizaje de partículas. Al-kazemi propuso un algoritmo PSO de múltiples etapas que agrupa partículas según objetivos de búsqueda temporales en diferentes etapas. Estos objetivos temporales permiten que las partículas se muevan hacia o contra sí mismas o hacia la mejor posición global. Ting opera en el pBest de cada partícula, y cada dimensión aprende de otras dimensiones determinadas aleatoriamente y luego reemplaza el pBest original si el nuevo pBest es mejor. El artículo también compara el rendimiento del algoritmo PSO correspondiente a múltiples métodos de aprendizaje diferentes. Liang propuso una nueva estrategia de aprendizaje CLPSO, que utiliza la información histórica óptima de todas las demás partículas para actualizar la velocidad de la partícula, cada partícula puede aprender de diferentes partículas y cada dimensión de la partícula puede aprender de diferentes partículas. Esta estrategia puede mantener la diversidad del grupo, evitar la convergencia prematura y puede mejorar el rendimiento del algoritmo PSO en problemas multimodo. A través de experimentos, este algoritmo se compara con varias otras variantes del algoritmo PSO. el algoritmo es eficaz para resolver problemas multimodo. Funciona bien con problemas complejos. Zhao usa los valores n con los mejores valores de aptitud en el algoritmo PSO para reemplazar gBest en la fórmula de actualización de velocidad. Abdelbar propuso una métrica difusa para que múltiples partículas con los mejores valores de aptitud en cada vecindario puedan influir en otras partículas. Wang también utiliza información de múltiples partículas con los mejores valores de aptitud para actualizar las velocidades de las partículas y propone una regla difusa para determinar los parámetros de forma adaptativa. Cui Zhihua propuso un algoritmo PSO mejorado ajustado dinámicamente que ajusta dinámicamente la posición extrema durante la operación de modo que la posición extrema de cada partícula se distribuya en el círculo dinámico formado por la mejor posición que ha experimentado y la mejor posición general. Al contrario del algoritmo PSO original, existe una clase de métodos que se alejan de la peor posición en lugar de volar hacia la posición óptima. Yang propuso registrar las peores posiciones en lugar de las mejores posiciones en el algoritmo, y todas las partículas están muy lejos de estas peores posiciones.

De manera similar, Leontitsis introdujo el concepto de repelentes en el algoritmo de enjambre de partículas. Mientras usaba la información de la posición óptima individual y la posición óptima del grupo, también registró la peor posición individual actual y la peor posición del grupo en el algoritmo y las utilizó para repeler las partículas al máximo. posición, permitiendo que el enjambre de partículas alcance la posición óptima más rápido. Meng Jianliang propuso un algoritmo PSO mejorado. En la etapa inicial de la evolución, las partículas aprenden del óptimo individual de otras partículas de la población con mayor probabilidad; en la etapa posterior de la evolución, las partículas aprenden del individuo óptimo global actual con mayor probabilidad; probabilidad. Yang introdujo la tecnología de selección de ruleta en el algoritmo PSO para determinar gBest, de modo que todos los individuos tengan la oportunidad de liderar la dirección de búsqueda en las primeras etapas de la evolución, evitando así la maduración prematura.

El tercer tipo de solución es modificar la fórmula de actualización de partículas. Hendlass agrega capacidades de memoria a cada partícula en la ecuación de actualización de velocidad. Introduce un mecanismo de agregación pasiva en la ecuación de actualización de velocidad. Zeng Jianchao propuso un algoritmo PSO estocástico que garantiza la convergencia global modificando la ecuación de iteración de evolución de la velocidad del algoritmo PSO. Zeng introdujo el término de aceleración en el algoritmo PSO, cambiando el algoritmo PSO de un sistema aleatorio de segundo orden a un sistema aleatorio de tercer orden, y utilizó un controlador PID para controlar la evolución del algoritmo. Para mejorar la capacidad de búsqueda global del algoritmo PSO, Ho propuso una nueva fórmula de actualización de la velocidad y posición de las partículas e introdujo la variable edad.

El cuarto tipo de solución es modificar la estrategia de actualización rápida. Liu cree que las actualizaciones de velocidad demasiado frecuentes debilitarán la capacidad de extracción local de las partículas y ralentizarán la convergencia, por lo que propone una estrategia de actualización de velocidad relajada (RVU), que actualiza la velocidad sólo cuando la partícula no puede mejorar aún más el valor de aptitud utilizando la velocidad original. Y los experimentos pasados ​​demuestran que esta estrategia puede reducir en gran medida la cantidad de cálculo y acelerar la convergencia. Luo Jianhong realizó un estudio comparativo del algoritmo PSO en modo síncrono y modo asíncrono. Los resultados experimentales mostraron que la velocidad de convergencia del modo asíncrono mejoró significativamente y el efecto de optimización fue mejor. Yang introdujo el modelo psicológico emocional en las reglas de actualización de partículas. Liu utiliza un umbral de velocidad mínimo para controlar la velocidad de las partículas y utiliza un controlador de lógica difusa para ajustar de forma adaptativa el umbral de velocidad mínimo. Zhang Libiao propuso aumentar la probabilidad de actualización del algoritmo PSO. Una cierta proporción de partículas no se actualiza de acuerdo con la fórmula de actualización original, sino que se inicializa nuevamente aleatoriamente. Dioan utiliza un algoritmo genético (GA) para desarrollar la estructura del algoritmo PSO, es decir, el orden y la frecuencia de las actualizaciones de cada partícula en el enjambre de partículas.

La quinta categoría de soluciones es modificar el método de límite de velocidad, el método de límite de posición y determinar dinámicamente el espacio de búsqueda. Stacey propone un límite de velocidad que vuelve a aleatorizar la velocidad y un límite de posición que vuelve a aleatorizar la posición. Basado en [76], Liu introdujo el factor de impulso en el algoritmo PSO para limitar la posición de la partícula a un rango factible. Chen Bingrui propuso un algoritmo PSO mejorado que comprime dinámicamente el espacio de búsqueda del enjambre de partículas y el rango de velocidad de vuelo del enjambre de partículas en función del valor óptimo de aptitud del enjambre de partículas.

El sexto tipo de solución es mejorar el rendimiento del algoritmo PSO combinando el algoritmo PSO con otras tecnologías de búsqueda. El objetivo principal es doble. El primero es aumentar la diversidad de la población. y evitar la madurez prematura; el segundo es mejorar la capacidad de búsqueda local del algoritmo. Estos algoritmos híbridos incluyen la introducción de varios operadores genéticos, como selección, cruce y mutación, en el algoritmo PSO para aumentar la diversidad de la población y mejorar la capacidad de escapar de los mínimos locales. Krink mejora la diversidad de la población resolviendo conflictos y agregación entre partículas y propone un algoritmo PSO de extensión espacial (Spatial ExtensionPSO, SEPSO); sin embargo, los parámetros del algoritmo SEPSO son difíciles de ajustar. Por lo tanto, Monson propuso un método para ajustar los parámetros de forma adaptativa. . Otros métodos o modelos utilizados para mejorar la diversidad de la población incluyen "atracción-repulsión", modelo depredador-presa, modelo de disipación, modelo de autoorganización, modelo de ciclo de vida, modelo de optimización bayesiano y mecanismo de evitación de conflictos, evitación de multitudes, competencia justa jerárquica (HFC). ), memoria externa, tecnología de descenso de gradiente, búsqueda lineal, operador del método simplex, método de escalada, división del trabajo, tecnología de análisis de componentes principales, filtro de Kalman, algoritmo genético, algoritmo de búsqueda aleatoria, recocido simulado, búsqueda tabú, algoritmo de colonia de hormigas (ACO) ), algoritmo inmunológico artificial, algoritmo del caos, evolución diferencial, programación genética, etc. Otros han ampliado el algoritmo PSO en el espacio cuántico.

Zhao integró el sistema multiagente (MAS) y el algoritmo PSO y propuso el algoritmo MAPSO. Medasani amplió el algoritmo PSO basándose en ideas de las medias C probabilísticas y la teoría de la probabilidad, y propuso un algoritmo PSO probabilístico que permite que el algoritmo se ejecute en dos etapas: exploración y desarrollo.

La séptima categoría de soluciones está dirigida específicamente a problemas multimodo, con la esperanza de encontrar múltiples soluciones óptimas. Para permitir que el algoritmo PSO obtenga múltiples soluciones óptimas al problema a optimizar al mismo tiempo, Parsopoulos utiliza técnicas como deflexión, estiramiento y repulsión para evitar que las partículas se muevan al área más pequeña que se haya descubierto previamente. tantos puntos mínimos como sea posible. Sin embargo, este método generará algunos puntos óptimos locales nuevos en ambos extremos de los puntos óptimos locales detectados, lo que puede hacer que el algoritmo de optimización caiga en estos puntos mínimos locales. Con este fin, Jin propuso una nueva forma de transformación de funciones que puede evitar esta deficiencia. Basado en ideas similares, Xiong Yong propuso un método de transformación de superficies de rotación.

La forma más sencilla de mantener la diversidad de la población es restablecer ciertas partículas o todo el grupo de partículas cuando la diversidad es demasiado pequeña. Lvbjerg utiliza la criticidad autoorganizada como métrica en el algoritmo PSO para describir la proximidad de las partículas en el enjambre de partículas y determinar si es necesario reinicializar la posición de las partículas. Clerc propuso un método "Re-Hope", que restablece el enjambre de partículas cuando el espacio de búsqueda se vuelve bastante pequeño pero aún no se ha encontrado una solución (No-Hope). Fu propuso un algoritmo PSO con mutación C-Pg, en el que las partículas vuelan al punto de perturbación en lugar de Pg con una cierta probabilidad. Se propuso un algoritmo de enjambre de partículas de escape adaptativo para limitar la velocidad de vuelo de las partículas en el espacio de búsqueda y proporcionar una estrategia adaptativa para la velocidad.

Otra variante es el algoritmo de nicho PSO, que utiliza múltiples subpoblaciones simultáneamente para localizar y rastrear múltiples soluciones óptimas. Los británicos también estudiaron un método para encontrar múltiples soluciones óptimas simultáneamente ajustando el método de cálculo del valor de aptitud. Li introdujo la tecnología de intercambio de valores de fitness en el algoritmo PSO para resolver problemas multimodo. Zhang utiliza la tecnología Sequential Niching en el algoritmo PSO. Sobre la base del algoritmo PSO de nicho, la operación del producto escalar vectorial también se puede utilizar para determinar las soluciones candidatas y sus límites en cada nicho, y paralelizar el proceso para obtener mejores resultados. Sin embargo, varios algoritmos PSO de nicho tienen el mismo problema, es decir, necesitan determinar un radio de nicho y el rendimiento del algoritmo es muy sensible a este parámetro. Para resolver este problema, Bird propuso un método para determinar de forma adaptativa parámetros de nicho.

Hendtlass introdujo el concepto de fuerza de corto alcance en el algoritmo PSO y, basándose en él, propuso un algoritmo WoSP que puede determinar múltiples puntos óptimos al mismo tiempo. Liu Yu propuso un algoritmo PSO multimodal, que utiliza un algoritmo de agrupamiento para agrupar partículas, divide dinámicamente la población en varias clases y se actualiza utilizando las mejores partículas de la clase a la que pertenecen en lugar de las mejores partículas de toda la población. La velocidad de las partículas se puede ajustar para obtener múltiples soluciones óptimas aproximadas al mismo tiempo. Li introdujo el concepto de especie en el algoritmo PSO, pero debido a que el espaciado entre especies utilizado es fijo, este método solo es adecuado para problemas multimodo distribuidos uniformemente. Por esta razón, Yuan amplió el algoritmo y utilizó un método de búsqueda de múltiples escalas. clasificar especies. El espaciamiento se ajusta de forma adaptativa.

Además, algunos investigadores han introducido las ideas del algoritmo PSO en otros algoritmos, como incorporar las reglas de movimiento de partículas en el algoritmo PSO en la planificación evolutiva y utilizar las reglas de movimiento en el algoritmo PSO para reemplace el cruce en la función del operador del algoritmo evolutivo.