Los algoritmos de inteligencia de enjambre comunes no incluyen
El algoritmo de optimización de enjambre de partículas es un método heurístico biológico en el campo de la inteligencia computacional y pertenece a un algoritmo de optimización de inteligencia grupal. Los algoritmos de optimización de inteligencia de enjambre comunes incluyen principalmente las siguientes categorías:
Además de los algoritmos de inteligencia de enjambre comunes mencionados anteriormente, también existen algunos algoritmos de inteligencia de enjambre que no se utilizan ampliamente, como el algoritmo de luciérnaga, el algoritmo de cuco, algoritmo de murciélago, algoritmo de enjambre de Krill, etc.
Entre ellos, el algoritmo de enjambre de partículas (PSO) surge del estudio del comportamiento depredador de las aves. Cuando los pájaros cazan, la estrategia más simple y limitada para encontrar alimento es buscar alrededor de los pájaros más cercanos al alimento.
Imagina una escena en la que una bandada de pájaros busca comida al azar. Sólo hay un trozo de comida en esta zona y ninguno de los pájaros sabe dónde está la comida. Pero saben lo lejos que están de su comida. Entonces, ¿cuáles son las mejores estrategias para encontrar comida? El método más simple y efectivo es buscar el área alrededor del ave que actualmente está más cerca de la comida.
Paso 1: La determinación del estado de movimiento de una partícula se describe mediante dos parámetros: posición y velocidad, por lo que estos dos parámetros también se inicializan;
Paso 2: Cada vez que se obtiene el resultado de la La búsqueda (valor de función) es la aptitud de las partículas, y luego se registran la posición histórica óptima de cada partícula y la posición histórica óptima del grupo;
El tercer paso: la posición histórica óptima del individuo y el La posición histórica óptima del grupo es equivalente a generar dos fuerzas. Estas dos fuerzas combinan la inercia de la partícula misma para afectar el estado de movimiento de la partícula, actualizando así la posición y la velocidad de la partícula.
La inicialización de posición y velocidad consiste en generar aleatoriamente una matriz N×d dentro de los límites de posición y velocidad, pero para la velocidad se genera directamente una matriz de datos de 50x1 de 0 a 1 sin considerar la restricciones.
Las restricciones de posición aquí también pueden entenderse como restricciones de posición, mientras que las restricciones de velocidad garantizan que el tamaño del paso de partícula no exceda el límite. La restricción de velocidad generalmente se establece en [-1, 1].
Otra característica del algoritmo de enjambre de partículas es registrar el valor óptimo histórico de cada individuo y población, por lo que también es necesario inicializar la posición óptima correspondiente y el valor óptimo. La posición histórica óptima de cada individuo se puede inicializar a la posición actual, y la posición histórica óptima del grupo se puede inicializar al origen. Para valores óptimos, si se encuentra el valor máximo, se inicializa a infinito negativo; de lo contrario, se inicializa a infinito positivo.
Cada búsqueda requiere comparar la aptitud actual y la solución óptima con valores históricos. Si se excede el valor óptimo histórico, se actualizan la posición óptima histórica y la solución óptima del individuo y la población.
La actualización de velocidad y posición es el núcleo del algoritmo de enjambre de partículas. Su principal expresión y método de actualización son:
Cada vez que se actualizan la velocidad y la posición, la velocidad y la posición. Es necesario considerar limitaciones y limitarlas dentro del rango especificado. Aquí solo se proporciona un método general, que consiste en restringir los datos demasiado restringidos al límite (cuando la posición o la velocidad excede el límite de inicialización, devolverlos al límite cercano). Por supuesto, no tienes que preocuparte de que se detenga, porque cada partícula también tiene inercia y los efectos de otros dos parámetros.
El algoritmo de enjambre de partículas se utiliza para encontrar el valor mínimo de la función de suma de cuadrados. Dado que la dimensión de la variable independiente de la función no se especifica específicamente, no se realiza ninguna normalización de datos.