Solicitud urgente: Mejora del algoritmo de enjambre de partículas (información del programa)
1 Optimización multiobjetivo
En comparación con los métodos tradicionales de optimización multiobjetivo, PSO tiene grandes ventajas para resolver problemas multiobjetivo. En primer lugar, la capacidad de búsqueda eficiente de PSO conduce a la obtención de la solución óptima en un sentido multiobjetivo; en segundo lugar, PSO busca simultáneamente múltiples soluciones no inferiores de manera intrínsecamente paralela a través de la población que representa todo el conjunto de soluciones, por lo que es fácil de buscar múltiples soluciones óptimas de Pareto Además, la versatilidad de PSO lo hace adecuado para procesar todo tipo de funciones objetivas y restricciones; además, PSO se puede combinar fácilmente con métodos tradicionales para proponer métodos eficientes para resolver problemas específicos. En lo que respecta al propio PSO, para resolver mejor los problemas de optimización multiobjetivo, se debe resolver el problema de selección de partículas óptimas globales y partículas óptimas individuales. Para la selección de la partícula óptima global, por un lado, se requiere que el algoritmo tenga una buena velocidad de convergencia y, por otro lado, que la solución obtenida tenga un cierto grado de dispersión en la frontera de Pareto. Para la selección de partículas óptimas individuales, se requiere menos complejidad computacional, es decir, la actualización de soluciones no inferiores solo se puede lograr mediante un número menor de comparaciones. Hasta ahora, la optimización multiobjetivo basada en PSO tiene principalmente las siguientes ideas:
(1) Método vectorial y método de peso. La literatura [20] utiliza el método de peso fijo, el método de peso adaptativo y el método de evaluación de vectores para utilizar PSO para resolver problemas de MO por primera vez. Sin embargo, para un problema de optimización dado, el método de ponderación suele ser difícil para obtener un conjunto de pesos adecuado y el método de evaluación vectorial a menudo no puede dar una solución satisfactoria al problema de MO.
(2) Método basado en Pareto. La literatura [21] combina el mecanismo de clasificación de Pareto y PSO para manejar problemas de optimización multiobjetivo, selecciona un grupo de soluciones de élite a través del método de clasificación de Pareto y utiliza el método de la ruleta para seleccionar las partículas óptimas globales. Aunque el mecanismo de selección de la ruleta está diseñado para que todos los individuos de Pareto tengan la misma probabilidad de selección, de hecho, solo unos pocos individuos obtienen una mayor probabilidad de selección, lo que no favorece el mantenimiento de la diversidad de la población en la literatura [22]; Mecanismo de competencia de PSO Pareto y base de conocimiento de partículas para seleccionar la partícula óptima global. Dado que la solución no inferior se determina comparando el individuo candidato con un conjunto de comparación seleccionado aleatoriamente de la población, el éxito del algoritmo depende de la configuración del parámetro de tamaño del conjunto de comparación. Si este parámetro es demasiado pequeño, el proceso puede seleccionar muy pocos individuos no inferiores de la población; si este parámetro es demasiado grande, puede ocurrir una convergencia prematura.
(3) Método de la distancia. La literatura [23] asigna el valor de aptitud de un individuo de acuerdo con la distancia entre su solución actual y la solución de Pa2reto, seleccionando así la partícula óptima global. Dado que el método de la distancia necesita inicializar soluciones potenciales, si el valor potencial inicial es demasiado grande, la diferencia en los valores de idoneidad de diferentes soluciones no será obvia. Esto conducirá a una presión de selección demasiado pequeña o a una distribución uniforme de los individuos, lo que hará que el algoritmo PSO converja muy lentamente.
(4) Método de barrio. La literatura [24] propone una estrategia de selección basada en la vecindad dinámica, que define un objetivo como objetivo de optimización y todos los demás objetivos como objetivos de vecindad, y luego propone una estrategia de vecindad dinámica para seleccionar la partícula óptima global, pero este método es sensible a la selección de objetivos de optimización y la clasificación de funciones objetivo de vecindad.
(5) Múltiples métodos de grupo. La literatura [25] divide la población en múltiples subpoblaciones, cada subpoblación realiza la operación PSO de forma independiente y cada subpoblación busca la solución óptima de Pareto a través del intercambio de información. Sin embargo, la cantidad de cálculo aumenta debido a la necesidad de aumentar el número de partículas.
(6) Método de clasificación no dominante. La literatura [26] utiliza un método de clasificación sin dominancia para seleccionar la partícula óptima global. Este método compara las partículas óptimas individuales de partículas con su descendencia en toda la población, lo que es beneficioso para proporcionar una presión de selección adecuada al tiempo que se utiliza tecnología de nicho para aumentar la diversidad de la población. Sin embargo, la naturaleza de comparar las partículas óptimas individuales de todas las partículas y su descendencia en toda la población no favorece la diversidad de la población y puede conducir fácilmente a una maduración prematura. Además, la literatura [27] introdujo la estrategia Maximin en la teoría de juegos en PSO para resolver el problema multi-MO.
El uso de la estrategia Maximin para determinar el valor de aptitud de las partículas puede determinar la solución óptima de Pareto sin la necesidad de técnicas de agrupamiento y nicho.
2 Optimización restringida
En los últimos años, el algoritmo PSO también ha logrado ciertos avances en la optimización restringida. El trabajo de optimización restringida basado en PSO se divide principalmente en dos categorías: ① Método de función de penalización; ② Diseño de operaciones evolutivas específicas o factores de corrección de restricciones. La literatura [28] adopta el método de la función de penalización y utiliza una función de penalización de mapeo de múltiples segmentos no fija para transformar el problema de optimización restringida, y luego usa PSO para resolver el problema transformado. Los resultados de la simulación muestran que PSO tiene superioridad sobre las estrategias evolutivas y genéticas. algoritmos, pero su función de penalización El diseño es demasiado complejo y no conduce a la resolución; la literatura [29] utiliza una estrategia de retención de solución factible para lidiar con las restricciones, es decir, por un lado, todas las partículas solo retienen soluciones factibles cuando se actualizan. En el área de almacenamiento, por otro lado, todas las partículas se toman del espacio de solución factible durante la etapa de inicialización; sin embargo, el espacio de solución factible inicial es difícil de determinar para muchos problemas; la literatura [30] propone el principio de enjambre de partículas; con una estrategia de intercambio de información de múltiples capas para lidiar con las restricciones, y utilizó un mecanismo de clasificación de Pareto de múltiples capas de acuerdo con la matriz de restricciones para generar partículas Excelentes, y luego use algunas partículas excelentes para determinar la dirección de búsqueda de otros individuos.
3 Optimización discreta Para la optimización discreta, el espacio de solución es un conjunto de puntos discretos en lugar de un área continua. Por lo tanto, cuando se utiliza PSO para resolver problemas de optimización discreta, se deben modificar las fórmulas de actualización de velocidad y posición. o resolver el problema. En la actualidad, el trabajo de optimización discreta basado en PSO se puede dividir en las siguientes tres categorías:
(1) Usar la velocidad como probabilidad de cambio de posición. La literatura [31] propuso por primera vez PSO binario discreto. La codificación de la posición de las partículas adopta un método binario y utiliza la función sigmoidea para restringir la velocidad al intervalo [0, 1] para representar la probabilidad de que la posición de las partículas tome 1; la literatura [32] compara la posición de las partículas en la literatura <; /p>
[31] Se mejora el método para resolver el problema de permutación. Las partículas están representadas por una disposición de permutación y la velocidad se define en función de la similitud de las dos partículas, lo que determina la probabilidad de que cambie la posición de la partícula. También se introduce una operación de mutación para evitar que la partícula óptima caiga en un mínimo local. .
(2) Redefinir la operación PSO. La literatura [33] propuso un nuevo PSO discreto redefiniendo la posición, la velocidad de las partículas y las operaciones de suma, resta y multiplicación entre ellas, y lo utilizó para resolver el problema del viajante. Aunque el efecto de este algoritmo es pobre, proporciona una nueva idea para resolver problemas de optimización combinatoria.
(3) Utilice directamente PSO continuo para casos discretos. La literatura [34] utiliza PSO continuo para resolver problemas de asignación de tareas informáticas distribuidas. Para convertir un número real en un entero positivo, elimina el signo y la parte decimal
del número real. Los resultados muestran que este método es superior al algoritmo genético en términos de calidad de la solución y velocidad del algoritmo.
4 Optimización dinámica
En muchos problemas prácticos de ingeniería, el entorno de optimización es incierto o dinámico. Por lo tanto, el algoritmo de optimización debe tener la capacidad de ajustar la solución óptima en consecuencia a medida que el entorno cambia dinámicamente, o el algoritmo debe tener un cierto grado de robustez. La literatura [35] propuso por primera vez el uso de PSO para rastrear sistemas dinámicos; la literatura [36] propuso el uso de PSO adaptativo para rastrear automáticamente los cambios en los sistemas dinámicos. Este método mejora efectivamente el PSO al detectar las mejores partículas en la población y reinicializar las partículas. para rastrear cambios en el sistema Para hacer frente a entornos dinámicos que cambian rápidamente, la literatura [37] agrega un término de cambio a la fórmula de actualización de la velocidad de las partículas, de modo que se pueda rastrear el entorno sin detectar cambios en el entorno. Aunque hasta el momento hay pocos resultados de investigación en esta área, no hay duda de que se trata de un contenido de investigación importante.
Implementación del programa MATLAB del algoritmo de enjambre de partículas
Inicializar enjambre de partículas
DO
Para cada partícula
Calcule su aptitud;
Si (la aptitud es mejor que el mejor valor histórico de la partícula)
Utilice Xi para actualizar el mejor Pi individual histórico
Fin <; /p>
Seleccione la mejor partícula en el grupo de partículas actual
Si (la mejor partícula actual es mejor que la mejor partícula en la historia del grupo)
Actualizar; con la mejor partícula en el grupo actual Pg;
Para cada partícula
Actualizar la velocidad de las partículas según la fórmula ①;
Actualizar la posición de las partículas según la fórmula ②;
Fin
Mientras no se haya alcanzado el número máximo de iteraciones o no se haya alcanzado el error mínimo.