Algoritmo de enjambre de partículas (1): descripción general del algoritmo de enjambre de partículas

Esta serie de artículos presenta y utiliza principalmente el algoritmo de enjambre de partículas y brinda casos clásicos del algoritmo de enjambre de partículas, para profundizar aún más la comprensión y la aplicación del algoritmo de enjambre de partículas (se espera completar esta serie de artículos dentro de una semana). Incluye principalmente cuatro partes:

Algoritmo de optimización de enjambre de partículas, también conocido como algoritmo de optimización de enjambre de partículas (Particle Swarm Optimization, PSO), es un algoritmo de optimización de inteligencia de enjambre y es un nuevo algoritmo evolutivo (algoritmo evolutivo) desarrollado. en los últimos años. Algoritmo, EA). El algoritmo de optimización de la inteligencia de enjambre simula principalmente el comportamiento de enjambre de insectos, manadas, aves y peces. Estos grupos buscan comida de forma cooperativa. Cada miembro del grupo aprende de su propia experiencia y de la experiencia de otros miembros. de tu búsqueda. La característica sobresaliente del algoritmo de optimización de inteligencia de enjambre es que utiliza la inteligencia de enjambre de la población para realizar búsquedas colaborativas para encontrar la solución óptima en el espacio de soluciones.

En comparación con el algoritmo de recocido simulado, el algoritmo PSO también parte de una solución aleatoria y encuentra la solución óptima mediante iteración. Evalúa la calidad de la solución a través de la aptitud, pero es más simple que las reglas del algoritmo genético. No hay "cruce" ni "mutación" del algoritmo genético. Encuentra el óptimo global siguiendo la aptitud máxima buscada actualmente. Este algoritmo ha atraído la atención de la comunidad académica debido a su fácil implementación, alta precisión y rápida convergencia, y ha demostrado su superioridad en la resolución de problemas prácticos.

En el algoritmo de enjambre de partículas, la solución a cada problema de optimización se considera como un pájaro en el espacio de búsqueda, es decir, una "partícula". Al comienzo del algoritmo, primero se genera la solución inicial, es decir, se inicializa aleatoriamente una población de partículas en el espacio de solución factible, donde la posición de cada partícula representa una solución al problema, y ​​se busca una nueva solución en función de en el cálculo de la función objetivo. En cada iteración, la partícula rastreará dos "valores extremos" para actualizarse. Uno es la mejor solución buscada por la propia partícula y el otro es la solución óptima que actualmente busca toda la población. Además, cada partícula tiene una velocidad. Cuando se encuentran las dos soluciones óptimas, cada partícula se actualiza de acuerdo con la siguiente fórmula iterativa:

El parámetro se llama peso de inercia del PSO, que es el valor de. está entre el intervalo; la suma del parámetro se llama factor de aprendizaje (factor de aprendizaje) y la suma es un valor de probabilidad aleatorio entre.

La práctica ha demostrado que no existen parámetros absolutamente óptimos. Solo seleccionando los parámetros apropiados para diferentes problemas podemos obtener una mejor velocidad de convergencia y robustez. En general, se usa 1.4961 y se usan valores adaptativos. El método, es decir, al principio, hace que PSO tenga una fuerte capacidad de optimización global; a medida que la iteración se profundiza, disminuye, lo que hace que PSO tenga una fuerte capacidad de optimización local.

La razón por la que el parámetro se llama peso de inercia es porque en realidad refleja el impacto del estado de movimiento pasado de la partícula en el comportamiento actual, al igual que la inercia mencionada en nuestra física. Si el estado de movimiento anterior rara vez afecta el comportamiento actual, la velocidad de la partícula cambiará rápidamente; por el contrario, si es mayor, aunque habrá un gran espacio de búsqueda, es difícil que la partícula cambie su dirección de movimiento y; Es difícil moverse hacia una dirección mayor. La convergencia de la posición óptima, debido a la velocidad del algoritmo, rara vez se establece de esta manera en aplicaciones prácticas. Es decir, las configuraciones más altas promueven búsquedas globales y las configuraciones más bajas promueven búsquedas locales rápidas.