En la ciencia computacional , la optimización de enjambre de partículas ( PSO ) [1] es un método computacional que optimiza un problema al intentar iterativamente mejorar una solución candidata con respecto a una medida dada de calidad. Resuelve un problema al tener una población de soluciones candidatas, aquí denominadas partículas , y al mover estas partículas en el espacio de búsqueda de acuerdo con fórmulas matemáticas simples sobre la posición y velocidad de la partícula . El movimiento de cada partícula está influenciado por su mejor posición local conocida, pero también se guía hacia las posiciones más conocidas en el espacio de búsqueda, que se actualizan a medida que otras partículas encuentran mejores posiciones. Se espera que esto mueva el enjambre hacia las mejores soluciones.
El algoritmo PSO se atribuye originalmente a Kennedy , Eberhart y Shi [2] [3] y fue pensado inicialmente para simular el comportamiento social [ 4] como una representación estilizada del movimiento de organismos en una bandada de pájaros o un banco de peces . El algoritmo se simplificó y se observó que realizaba una optimización. El libro de Kennedy y Eberhart [5] describe muchos aspectos filosóficos del algoritmo PSO y la inteligencia de enjambre . Poli realizó un estudio extenso de las aplicaciones del algoritmo PSO . [6] [7] En 2017, Bonyadi y Michalewicz publicaron una revisión exhaustiva de trabajos teóricos y experimentales sobre el algoritmo PSO. [1]
PSO es una metaheurística, ya que hace pocas o ninguna suposición sobre el problema que se está optimizando y puede buscar espacios muy grandes de soluciones candidatas. Además, PSO no utiliza el gradiente del problema que se está optimizando, lo que significa que PSO no requiere que el problema de optimización sea diferenciable como lo requieren los métodos de optimización clásicos, como el descenso de gradiente y los métodos cuasi-newton . Sin embargo, las metaheurísticas como PSO no garantizan que se encuentre una solución óptima.
Algoritmo
Una variante básica del algoritmo PSO funciona con una población (llamada enjambre) de soluciones candidatas (llamadas partículas). Estas partículas se mueven en el espacio de búsqueda de acuerdo con unas pocas fórmulas simples. [8] Los movimientos de las partículas están guiados por su propia posición más conocida en el espacio de búsqueda, así como por la posición más conocida de todo el enjambre. Cuando se descubren posiciones mejoradas, estas guiarán los movimientos del enjambre. El proceso se repite y, al hacerlo, se espera, aunque no se garantiza, que finalmente se descubra una solución satisfactoria.
Formalmente, sea f : ℝ n → ℝ la función de costo que debe minimizarse. La función toma una solución candidata como argumento en forma de un vector de números reales y produce un número real como salida que indica el valor de la función objetivo de la solución candidata dada. El gradiente de f no se conoce. El objetivo es encontrar una solución a para la cual f ( a ) ≤ f ( b ) para todo b en el espacio de búsqueda, lo que significaría que a es el mínimo global.
Sea S el número de partículas en el enjambre, cada una con una posición x i ∈ ℝ n en el espacio de búsqueda y una velocidad v i ∈ ℝ n . Sea p i la posición más conocida de la partícula i y sea g la posición más conocida de todo el enjambre. Un algoritmo PSO básico para minimizar la función de costo es entonces: [9]
para cada partícula i = 1, ..., S inicializa la posición de la partícula con un vector aleatorio distribuido uniformemente : x i ~ U ( b lo , b up ) Inicializa la mejor posición conocida de la partícula a su posición inicial: p i ← x i si f ( p i ) < f ( g ) entonces actualiza la mejor posición conocida del enjambre: g ← p i Inicializa la velocidad de la partícula: v i ~ U (-| b up - b lo |, | b up - b lo |) mientras no se cumpla un criterio de terminación haz : para cada partícula i = 1, ..., S haz para cada dimensión d = 1, ..., n haz Elige números aleatorios: r p , r g ~ U (0,1) Actualiza la velocidad de la partícula: v i,d ← w v i,d + φ p r p ( p i,d - x i,d ) + φ g r g ( g d - x i,d ) Actualizar la posición de la partícula: x i ← x i + v i si f ( x i ) < f ( p i ) entonces Actualizar la mejor posición conocida de la partícula: p i ← x i si f ( p i ) < f ( g ) entonces Actualizar la mejor posición conocida del enjambre: g ← p i
Los valores b lo y b up representan los límites inferior y superior del espacio de búsqueda respectivamente. El parámetro w es el peso de inercia. Los parámetros φ p y φ g se denominan a menudo coeficiente cognitivo y coeficiente social.
El criterio de terminación puede ser el número de iteraciones realizadas o una solución donde se encuentre el valor adecuado de la función objetivo. [10] Los parámetros w, φ p y φ g son seleccionados por el profesional y controlan el comportamiento y la eficacia del método PSO (a continuación).
Selección de parámetros
La elección de los parámetros PSO puede tener un gran impacto en el rendimiento de la optimización. Por lo tanto, la selección de parámetros PSO que produzcan un buen rendimiento ha sido objeto de mucha investigación. [11] [12] [13] [14] [15] [16] [17] [18] [19]
Para evitar la divergencia ("explosión"), el peso de inercia debe ser menor que 1. Los otros dos parámetros pueden derivarse gracias al enfoque de constricción [16] o seleccionarse libremente, pero los análisis sugieren dominios de convergencia para restringirlos. Los valores típicos están en .
Los parámetros PSO también se pueden ajustar mediante otro optimizador superpuesto, un concepto conocido como metaoptimización , [20] [21] [22] [23] o incluso ajustarse durante la optimización, por ejemplo, mediante lógica difusa. [24] [25]
Los parámetros también se han ajustado para varios escenarios de optimización. [26] [27]
Barrios y topologías
La topología del enjambre define el subconjunto de partículas con las que cada partícula puede intercambiar información. [28] La versión básica del algoritmo utiliza la topología global como la estructura de comunicación del enjambre. [10] Esta topología permite que todas las partículas se comuniquen con todas las demás partículas, por lo que todo el enjambre comparte la misma mejor posición g desde una sola partícula. Sin embargo, este enfoque puede hacer que el enjambre quede atrapado en un mínimo local, [29] por lo que se han utilizado diferentes topologías para controlar el flujo de información entre partículas. Por ejemplo, en topologías locales, las partículas solo comparten información con un subconjunto de partículas. [10] Este subconjunto puede ser geométrico [30] – por ejemplo, "las m partículas más cercanas" – o, más a menudo, uno social, es decir, un conjunto de partículas que no depende de ninguna distancia. En tales casos, se dice que la variante PSO es la mejor local (frente a la mejor global para el PSO básico).
Una topología de enjambre comúnmente utilizada es la de anillo, en la que cada partícula tiene sólo dos vecinos, pero hay muchos otros. [10] La topología no es necesariamente estática. De hecho, dado que la topología está relacionada con la diversidad de comunicación de las partículas, [31] se han realizado algunos esfuerzos para crear topologías adaptativas (SPSO, [32] APSO, [33] estrella estocástica, [34] TRIBES, [35] Cyber Swarm, [36] y C-PSO [37] ).
Al utilizar la topología de anillo, PSO puede lograr paralelismo a nivel generacional, mejorando significativamente la velocidad evolutiva. [38]
Funcionamiento interno
Hay varias escuelas de pensamiento sobre por qué y cómo el algoritmo PSO puede realizar la optimización.
Una creencia común entre los investigadores es que el comportamiento del enjambre varía entre un comportamiento exploratorio, es decir, la búsqueda en una región más amplia del espacio de búsqueda, y un comportamiento explotador, es decir, una búsqueda orientada localmente para acercarse a un óptimo (posiblemente local). Esta escuela de pensamiento ha prevalecido desde el inicio de PSO. [3] [4] [12] [16] Esta escuela de pensamiento sostiene que el algoritmo PSO y sus parámetros deben elegirse de manera que se equilibre adecuadamente entre la exploración y la explotación para evitar la convergencia prematura a un óptimo local y, al mismo tiempo, garantizar una buena tasa de convergencia al óptimo. Esta creencia es la precursora de muchas variantes de PSO, véase más adelante.
Otra escuela de pensamiento sostiene que no se entiende bien el comportamiento de un enjambre PSO en términos de cómo afecta el rendimiento de optimización real, especialmente para espacios de búsqueda de dimensiones superiores y problemas de optimización que pueden ser discontinuos, ruidosos y variables en el tiempo. Esta escuela de pensamiento simplemente intenta encontrar algoritmos y parámetros PSO que produzcan un buen rendimiento independientemente de cómo se pueda interpretar el comportamiento del enjambre en relación con, por ejemplo, la exploración y la explotación. Dichos estudios han llevado a la simplificación del algoritmo PSO, véase a continuación.
Convergencia
En relación con PSO, la palabra convergencia generalmente se refiere a dos definiciones diferentes:
Convergencia de la secuencia de soluciones (también conocida como análisis de estabilidad, convergente ) en la que todas las partículas han convergido a un punto en el espacio de búsqueda, que puede ser o no el óptimo,
Convergencia hacia un óptimo local donde todos los mejores valores personales p o, alternativamente, la mejor posición conocida del enjambre g , se aproximan a un óptimo local del problema, independientemente de cómo se comporte el enjambre.
Se ha investigado la convergencia de la secuencia de soluciones para PSO. [15] [16] [17] Estos análisis han dado como resultado pautas para seleccionar parámetros PSO que se cree que causan convergencia a un punto y evitan la divergencia de las partículas del enjambre (las partículas no se mueven ilimitadamente y convergerán en algún lugar). Sin embargo, Pedersen [22] criticó los análisis por ser demasiado simplificados, ya que suponen que el enjambre tiene solo una partícula, que no utiliza variables estocásticas y que los puntos de atracción, es decir, la posición más conocida de la partícula p y la posición más conocida del enjambre g , permanecen constantes durante todo el proceso de optimización. Sin embargo, se demostró [39] que estas simplificaciones no afectan los límites encontrados por estos estudios para el parámetro donde el enjambre es convergente. En los últimos años se han realizado esfuerzos considerables para debilitar el supuesto de modelado utilizado durante el análisis de estabilidad de PSO, [40] y el resultado generalizado más reciente se aplica a numerosas variantes de PSO y utiliza lo que se demostró que eran los supuestos de modelado mínimos necesarios. [41]
La convergencia a un óptimo local se ha analizado para PSO en [42] y [43] . Se ha demostrado que PSO necesita alguna modificación para garantizar la búsqueda de un óptimo local.
Esto significa que la determinación de las capacidades de convergencia de diferentes algoritmos y parámetros PSO aún depende de resultados empíricos . Un intento de abordar esta cuestión es el desarrollo de una estrategia de "aprendizaje ortogonal" para un mejor uso de la información ya existente en la relación entre p y g , de modo de formar un ejemplo convergente líder y ser eficaz con cualquier topología PSO. Los objetivos son mejorar el rendimiento de PSO en general, incluida una convergencia global más rápida, una mayor calidad de la solución y una mayor robustez. [44] Sin embargo, dichos estudios no proporcionan evidencia teórica para probar realmente sus afirmaciones.
Mecanismos adaptativos
Sin la necesidad de un equilibrio entre convergencia ("explotación") y divergencia ("exploración"), se puede introducir un mecanismo adaptativo. La optimización adaptativa de enjambre de partículas (APSO) [45] presenta una mejor eficiencia de búsqueda que la PSO estándar. APSO puede realizar una búsqueda global en todo el espacio de búsqueda con una mayor velocidad de convergencia. Permite el control automático del peso de inercia, los coeficientes de aceleración y otros parámetros algorítmicos en el tiempo de ejecución, mejorando así la eficacia y la eficiencia de la búsqueda al mismo tiempo. Además, APSO puede actuar sobre la mejor partícula globalmente para saltar fuera de los óptimos locales probables. Sin embargo, APSO introducirá nuevos parámetros de algoritmo, no obstante no introduce complejidad adicional de diseño o implementación.
Además, mediante la utilización de un mecanismo de evaluación de aptitud adaptativa a la escala, PSO puede abordar de manera eficiente problemas de optimización computacionalmente costosos. [46]
Variantes
Son posibles numerosas variantes incluso de un algoritmo PSO básico. Por ejemplo, existen diferentes formas de inicializar las partículas y las velocidades (por ejemplo, comenzar con velocidades cero), cómo amortiguar la velocidad, actualizar p i y g solo después de que se haya actualizado todo el enjambre, etc. Algunas de estas opciones y su posible impacto en el rendimiento se han analizado en la literatura. [14]
Los principales investigadores han creado una serie de implementaciones estándar, "pensadas tanto para usarlas como base para probar el rendimiento de las mejoras de la técnica como para representar a PSO ante la comunidad de optimización más amplia. Tener un algoritmo estándar bien conocido y estrictamente definido proporciona un valioso punto de comparación que se puede utilizar en todo el campo de la investigación para probar mejor los nuevos avances". [10] La última es la norma PSO 2011 (SPSO-2011). [47]
Hibridación
Continuamente se introducen variantes nuevas y más sofisticadas de PSO en un intento por mejorar el rendimiento de la optimización. Existen ciertas tendencias en esa investigación; una es crear un método de optimización híbrido utilizando PSO combinado con otros optimizadores, [48] [49] [50] por ejemplo, PSO combinado con optimización basada en biogeografía, [51] y la incorporación de un método de aprendizaje efectivo. [44]
Aliviar la convergencia prematura
Otra tendencia de investigación es tratar de aliviar la convergencia prematura (es decir, el estancamiento de la optimización), por ejemplo, invirtiendo o perturbando el movimiento de las partículas PSO, [19] [52] [53] [54] otro enfoque para lidiar con la convergencia prematura es el uso de múltiples enjambres [55] ( optimización de múltiples enjambres ). El enfoque de múltiples enjambres también se puede utilizar para implementar la optimización de múltiples objetivos. [56] Finalmente, hay avances en la adaptación de los parámetros de comportamiento de PSO durante la optimización. [45] [24]
Simplificaciones
Otra escuela de pensamiento es que PSO debe simplificarse tanto como sea posible sin perjudicar su rendimiento; un concepto general a menudo denominado navaja de Occam . La simplificación de PSO fue sugerida originalmente por Kennedy [4] y se ha estudiado más extensamente, [18] [21] [22] [57] donde pareció que el rendimiento de la optimización mejoró, y los parámetros fueron más fáciles de ajustar y funcionaron de manera más consistente en diferentes problemas de optimización.
Otro argumento a favor de simplificar PSO es que las metaheurísticas solo pueden demostrar su eficacia empíricamente mediante experimentos computacionales en un número finito de problemas de optimización. Esto significa que no se puede demostrar que una metaheurística como PSO sea correcta y esto aumenta el riesgo de cometer errores en su descripción e implementación. Un buen ejemplo de esto [58] presentó una variante prometedora de un algoritmo genético (otra metaheurística popular), pero más tarde se descubrió que era defectuosa ya que estaba fuertemente sesgada en su búsqueda de optimización hacia valores similares para diferentes dimensiones en el espacio de búsqueda, que resultó ser el óptimo de los problemas de referencia considerados. Este sesgo se debía a un error de programación y ahora se ha corregido. [59]
PSO básico
La inicialización de velocidades puede requerir entradas adicionales. La variante Bare Bones PSO [60] fue propuesta en 2003 por James Kennedy y no necesita utilizar velocidad en absoluto.
En esta variante de PSO se prescinde de la velocidad de las partículas y en su lugar se actualizan las posiciones de las partículas utilizando la siguiente regla simple:
donde , son la posición y la mejor posición de la partícula ; es la mejor posición global; es la distribución normal con la media y la desviación estándar ; y donde significa la norma de un vector.
Optimización acelerada de enjambre de partículas
Otra variante más sencilla es la optimización acelerada de enjambre de partículas (APSO), [61] que tampoco necesita utilizar velocidad y puede acelerar la convergencia en muchas aplicaciones. Hay disponible un código de demostración sencillo de APSO. [62]
En esta variante de PSO se prescinde tanto de la velocidad de la partícula como de su mejor posición. La posición de la partícula se actualiza según la siguiente regla:
donde es un vector aleatorio distribuido uniformemente, es la longitud típica del problema en cuestión, y y son los parámetros del método. Como refinamiento del método, se puede disminuir con cada iteración, , donde es el número de iteraciones y es el parámetro de control de disminución.
Optimización multiobjetivo
PSO también se ha aplicado a problemas multiobjetivo , [63] [64] [65] en los que la comparación de la función objetivo tiene en cuenta el dominio de Pareto al mover las partículas PSO y las soluciones no dominadas se almacenan para aproximarse al frente de Pareto.
Binario, discreto y combinatorio
Como las ecuaciones PSO dadas anteriormente funcionan con números reales, un método comúnmente usado para resolver problemas discretos es mapear el espacio de búsqueda discreto a un dominio continuo, aplicar un PSO clásico y luego desmapear el resultado. Tal mapeo puede ser muy simple (por ejemplo, simplemente usando valores redondeados) o más sofisticado. [66]
Sin embargo, se puede observar que las ecuaciones de movimiento hacen uso de operadores que realizan cuatro acciones:
Calcular la diferencia de dos posiciones. El resultado es una velocidad (más precisamente, un desplazamiento).
multiplicar una velocidad por un coeficiente numérico
sumando dos velocidades
aplicando una velocidad a una posición
Generalmente, una posición y una velocidad se representan mediante n números reales, y estos operadores son simplemente -, *, + y nuevamente +. Pero todos estos objetos matemáticos se pueden definir de una manera completamente diferente, para poder abordar problemas binarios (o más generalmente discretos), o incluso combinatorios. [67] [68] [69] [70] Un enfoque es redefinir los operadores en función de conjuntos. [71]
^ ab Bonyadi, MR; Michalewicz, Z. (2017). "Optimización de enjambre de partículas para problemas espaciales continuos de un solo objetivo: una revisión". Computación evolutiva . 25 (1): 1–54. doi :10.1162/EVCO_r_00180. PMID 26953883. S2CID 8783143.
^ Kennedy, J.; Eberhart, R. (1995). "Optimización de enjambre de partículas". Actas de la Conferencia Internacional IEEE sobre Redes Neuronales . Vol. IV. págs. 1942–1948. doi :10.1109/ICNN.1995.488968.
^ ab Shi, Y.; Eberhart, RC (1998). "Un optimizador de enjambre de partículas modificado". Actas de la Conferencia Internacional IEEE sobre Computación Evolutiva . págs. 69–73. doi :10.1109/ICEC.1998.699146.
^ abc Kennedy, J. (1997). "El enjambre de partículas: adaptación social del conocimiento". Actas de la Conferencia Internacional IEEE sobre Computación Evolutiva . págs. 303–308. doi :10.1109/ICEC.1997.592326.
^ Kennedy, J.; Eberhart, RC (2001). Inteligencia de enjambre . Morgan Kaufmann. ISBN978-1-55860-595-4.
^ Poli, R. (2007). "Análisis de publicaciones sobre aplicaciones de optimización de enjambres de partículas" (PDF) . Informe técnico CSM-469 . Archivado desde el original (PDF) el 2011-07-16 . Consultado el 2010-05-03 .
^ Poli, R. (2008). "Análisis de las publicaciones sobre las aplicaciones de la optimización de enjambres de partículas" (PDF) . Journal of Artificial Evolution and Applications . 2008 : 1–10. doi : 10.1155/2008/685175 .
^ Zhang, Y. (2015). "Un estudio exhaustivo sobre el algoritmo de optimización de enjambre de partículas y sus aplicaciones". Problemas matemáticos en ingeniería . 2015 : 931256.
^ Clerc, M. (2012). "Optimización de enjambre de partículas estándar" (PDF) . Archivo de acceso abierto HAL .
^ abcde Bratton, Daniel; Kennedy, James (2007). "Definición de un estándar para la optimización de enjambres de partículas". Simposio sobre inteligencia de enjambres del IEEE de 2007 (PDF) . págs. 120–127. doi :10.1109/SIS.2007.368035. ISBN .978-1-4244-0708-8. Número de identificación del sujeto 6217309.
^ Taherkhani, M.; Safabakhsh, R. (2016). "Un nuevo peso de inercia adaptativo basado en la estabilidad para la optimización de enjambres de partículas". Applied Soft Computing . 38 : 281–295. doi :10.1016/j.asoc.2015.10.004.
^ ab Shi, Y.; Eberhart, RC (1998). "Selección de parámetros en la optimización de enjambre de partículas". Actas de Programación Evolutiva VII (EP98) . págs. 591–600.
^ Eberhart, RC; Shi, Y. (2000). "Comparación de pesos de inercia y factores de constricción en la optimización de enjambre de partículas". Actas del Congreso sobre Computación Evolutiva . Vol. 1. págs. 84–88.
^ ab Carlisle, A.; Dozier, G. (2001). "Un PSO listo para usar" (PDF) . Actas del taller de optimización de enjambre de partículas . pp. 1–6. Archivado desde el original (PDF) el 2003-05-03.
^ ab van den Bergh, F. (2001). Un análisis de optimizadores de enjambre de partículas (PDF) (tesis doctoral). Universidad de Pretoria, Facultad de Ciencias Naturales y Agrícolas.
^ abcd Clerc, M.; Kennedy, J. (2002). "El enjambre de partículas: explosión, estabilidad y convergencia en un espacio complejo multidimensional". IEEE Transactions on Evolutionary Computation . 6 (1): 58–73. CiteSeerX 10.1.1.460.6608 . doi :10.1109/4235.985692.
^ ab Trelea, IC (2003). "El algoritmo de optimización de enjambre de partículas: análisis de convergencia y selección de parámetros". Information Processing Letters . 85 (6): 317–325. doi :10.1016/S0020-0190(02)00447-7.
^ ab Bratton, D.; Blackwell, T. (2008). "Un PSO recombinante simplificado" (PDF) . Revista de evolución artificial y aplicaciones . 2008 : 1–10. doi : 10.1155/2008/654184 .
^ ab Evers, G. (2009). Un mecanismo de reagrupamiento automático para lidiar con el estancamiento en la optimización de enjambres de partículas. Universidad de Texas - Panamericana, Departamento de Ingeniería Eléctrica. Archivado desde el original (tesis de maestría) el 2011-05-18 . Consultado el 2010-05-05 .
^ Meissner, M.; Schmuker, M.; Schneider, G. (2006). "Optimización de enjambre de partículas optimizadas (OPSO) y su aplicación al entrenamiento de redes neuronales artificiales". BMC Bioinformatics . 7 (1): 125. doi : 10.1186/1471-2105-7-125 . PMC 1464136 . PMID 16529661.
^ ab Pedersen, MEH (2010). Tuning & Simplifying Heuristical Optimization (PDF) . Universidad de Southampton, Facultad de Ciencias de la Ingeniería, Grupo de Diseño e Ingeniería Computacional. S2CID 107805461. Archivado desde el original (tesis doctoral) el 13 de febrero de 2020.
^ abc Pedersen, MEH; Chipperfield, AJ (2010). "Simplificando la optimización de enjambre de partículas". Computación blanda aplicada . 10 (2): 618–628. CiteSeerX 10.1.1.149.8300 . doi :10.1016/j.asoc.2009.08.029.
^ Mason, Karl; Duggan, Jim; Howley, Enda (2018). "Un análisis de metaoptimización de ecuaciones de actualización de velocidad de optimización de enjambre de partículas para el aprendizaje de la gestión de cuencas hidrográficas". Computación blanda aplicada . 62 : 148–161. doi :10.1016/j.asoc.2017.10.018.
^ ab Nobile, MS; Cazzaniga, P.; Besozzi, D.; Colombo, R.; Mauri, G.; Pasi, G. (2018). "Fuzzy Self-Tuning PSO: un algoritmo sin configuración para la optimización global". Swarm and Evolutionary Computation . 39 : 70–85. doi :10.1016/j.swevo.2017.09.001. hdl : 10446/106467 .
^ Nobile, MS; Pasi, G.; Cazzaniga, P.; Besozzi, D.; Colombo, R.; Mauri, G. (2015). "Partículas proactivas en la optimización de enjambre: un algoritmo de autoajuste basado en lógica difusa". Actas de la Conferencia Internacional IEEE de 2015 sobre Sistemas Difusos (FUZZ-IEEE 2015), Estambul (Turquía) . págs. 1–8. doi :10.1109/FUZZ-IEEE.2015.7337957.
^ Cazzaniga, P.; Nobile, MS; Besozzi, D. (2015). "El impacto de la inicialización de partículas en PSO: estimación de parámetros como un caso puntual, (Canadá)". Actas de la Conferencia IEEE sobre Inteligencia Computacional en Bioinformática y Biología Computacional . doi :10.1109/CIBCB.2015.7300288.
^ Pedersen, MEH (2010). "Buenos parámetros para la optimización de enjambres de partículas". Informe técnico HL1001 . CiteSeerX 10.1.1.298.4359 .
^ Kennedy, J.; Mendes, R. (2002). "Estructura de la población y rendimiento de enjambres de partículas". Actas del Congreso de Computación Evolutiva de 2002. CEC'02 (Cat. No.02TH8600) . Vol. 2. págs. 1671–1676 vol.2. CiteSeerX 10.1.1.114.7988 . doi :10.1109/CEC.2002.1004493. ISBN .978-0-7803-7282-5.S2CID14364974 .{{cite book}}: Mantenimiento CS1: fecha y año ( enlace )
^ Mendes, R. (2004). Topologías de población y su influencia en el rendimiento de enjambres de partículas (tesis doctoral). Universidade do Minho.
^ Suganthan, Ponnuthurai N. "Optimizador de enjambre de partículas con operador de vecindad". Evolutionary Computation, 1999. CEC 99. Actas del Congreso de 1999 sobre. Vol. 3. IEEE, 1999.
^ Oliveira, M.; Pinheiro, D.; Andrade, B.; Bastos-Filho, C.; Menezes, R. (2016). "Diversidad de comunicaciones en optimizadores de enjambre de partículas". Inteligencia de enjambre . Apuntes de conferencias sobre informática. vol. 9882, págs. 77–88. doi :10.1007/978-3-319-44427-7_7. ISBN978-3-319-44426-0. Número de identificación del sujeto 37588745.
^ Central de enjambre de partículas SPSO
^ Almasi, ON y Khooban, MH (2017). Un criterio de selección de modelo SVM parsimonioso para la clasificación de conjuntos de datos del mundo real a través de un algoritmo adaptativo basado en la población. Computación neuronal y aplicaciones, 1-9. https://doi.org/10.1007/s00521-017-2930-y
^ Miranda, V., Keko, H. y Duque, Á. J. (2008). Topología de comunicación estelar estocástica en enjambres de partículas evolutivas (EPSO). Revista internacional de investigación en inteligencia computacional (IJCIR), volumen 4, número 2, págs. 105-116
^ Clerc, M. (2006). Optimización de enjambre de partículas. ISTE (Enciclopedia científica y técnica internacional), 2006
^ Yin, P., Glover, F., Laguna, M. y Zhu, J. (2011). Un algoritmo complementario de enjambre cibernético. Revista internacional de investigación de inteligencia de enjambre (IJSIR), 2(2), 22-41
^ Elshamy, W.; Rashad, H.; Bahgat, A. (2007). "Clubs-based Particle Swarm Optimization" (PDF) . Simposio IEEE Swarm Intelligence 2007 (SIS2007) . Honolulu, HI. págs. 289–296. Archivado desde el original (PDF) el 23 de octubre de 2013 . Consultado el 27 de abril de 2012 .
^ Jian-Yu, Li (2021). "Paralelismo a nivel de generación para computación evolutiva: una optimización de enjambre de partículas paralelas basada en tuberías". IEEE Transactions on Cybernetics . 51 (10): 4848-4859. doi :10.1109/TCYB.2020.3028070.
^ Cleghorn, Christopher W (2014). "Convergencia de enjambre de partículas: análisis estandarizado e influencia topológica". Inteligencia de enjambre . Notas de clase en informática. Vol. 8667. págs. 134-145. doi :10.1007/978-3-319-09952-1_12. ISBN978-3-319-09951-4.
^ Liu, Q (2015). "Análisis de estabilidad de orden 2 de la optimización de enjambre de partículas". Computación evolutiva . 23 (2): 187–216. doi :10.1162/EVCO_a_00129. PMID 24738856. S2CID 25471827.
^ Cleghorn, Christopher W.; Engelbrecht, Andries. (2018). "Estabilidad de enjambre de partículas: una extensión teórica utilizando el supuesto de distribución no estancada". Inteligencia de enjambre . 12 (1): 1–22. doi :10.1007/s11721-017-0141-x. hdl : 2263/62934 . S2CID 9778346.
^ Van den Bergh, F. "Una prueba de convergencia para el optimizador de enjambre de partículas" (PDF) . Fundamenta Informaticae .
^ Bonyadi, Mohammad reza.; Michalewicz, Z. (2014). "Un algoritmo de optimización de enjambre de partículas invariante rotacionalmente convergente localmente" (PDF) . Swarm Intelligence . 8 (3): 159–198. doi :10.1007/s11721-014-0095-1. S2CID 2261683.
^ ab Zhan, ZH.; Zhang, J.; Li, Y; Shi, YH. (2011). "Optimización de enjambre de partículas mediante aprendizaje ortogonal" (PDF) . IEEE Transactions on Evolutionary Computation . 15 (6): 832–847. doi :10.1109/TEVC.2010.2052054.
^ ab Zhan, ZH.; Zhang, J.; Li, Y; Chung, HS-H. (2009). "Optimización adaptativa de enjambre de partículas" (PDF) . IEEE Transactions on Systems, Man, and Cybernetics . 39 (6): 1362–1381. doi :10.1109/TSMCB.2009.2015956. PMID 19362911. S2CID 11191625.
^ Wang, Ye-Qun; Li, Jian-Yu; Chen, Chun-Hua; Zhang, Jun; Zhan, Zhi-Hui (septiembre de 2023). "Optimización de enjambre de partículas basada en evaluación de aptitud adaptativa a escala para la optimización de hiperparámetros y arquitectura en redes neuronales y aprendizaje profundo". Transacciones CAAI sobre tecnología de inteligencia . 8 (3): 849-862. doi : 10.1049/cit2.12106 .
^ Zambrano-Bigiarini, M.; Clerc, M.; Rojas, R. (2013). "Optimización de enjambre de partículas estándar 2011 en CEC-2013: una línea base para futuras mejoras de PSO". Congreso IEEE sobre Computación Evolutiva 2013 . Computación Evolutiva (CEC), Congreso IEEE sobre Computación Evolutiva 2013. pp. 2337–2344. doi :10.1109/CEC.2013.6557848. ISBN978-1-4799-0454-9.ID S2C 206553432.
^ Lovbjerg, M.; Krink, T. (2002). "El modelo del ciclo de vida: combinación de optimización de enjambre de partículas, algoritmos genéticos y escaladores de colinas" (PDF) . Actas de la Resolución paralela de problemas de la naturaleza VII (PPSN) . pp. 621–630.
^ Niknam, T.; Amiri, B. (2010). "Un enfoque híbrido eficiente basado en PSO, ACO y k-means para análisis de conglomerados". Applied Soft Computing . 10 (1): 183–197. doi :10.1016/j.asoc.2009.07.001.
^ Zhang, Wen-Jun; Xie, Xiao-Feng (2003). DEPSO: enjambre de partículas híbridas con operador de evolución diferencial. IEEE International Conference on Systems, Man, and Cybernetics (SMCC), Washington, DC, EE. UU.: 3816-3821.
^ Zhang, Y.; Wang, S. (2015). "Detección patológica del cerebro en el escaneo de imágenes por resonancia magnética mediante entropía wavelet e hibridación de optimización basada en biogeografía y optimización de enjambre de partículas". Progreso en la investigación electromagnética . 152 : 41–58. doi : 10.2528/pier15040602 .
^ Lovbjerg, M.; Krink, T. (2002). "Extensión de optimizadores de enjambre de partículas con criticidad autoorganizada" (PDF) . Actas del Cuarto Congreso sobre Computación Evolutiva (CEC) . Vol. 2. págs. 1588–1593.
^ Xinchao, Z. (2010). "Un algoritmo de enjambre de partículas perturbadas para la optimización numérica". Applied Soft Computing . 10 (1): 119–124. doi :10.1016/j.asoc.2009.06.010.
^ Xie, Xiao-Feng; Zhang, Wen-Jun; Yang, Zhi-Lian (2002). Una optimización del enjambre de partículas disipativas. Congreso sobre Computación Evolutiva (CEC), Honolulu, HI, EE. UU.: 1456-1461.
^ Cheung, NJ; Ding, X.-M.; Shen, H.-B. (2013). "OptiFel: Un algoritmo de optimización de partículas heterogéneas convergentes de Sarm para el modelado difuso de Takagi-Sugeno". Transacciones IEEE sobre sistemas difusos . 22 (4): 919–933. doi :10.1109/TFUZZ.2013.2278972. S2CID 27974467.
^ Nobile, M.; Besozzi, D.; Cazzaniga, P.; Mauri, G.; Pescini, D. (2012). "Un método PSO multienjambre basado en GPU para la estimación de parámetros en sistemas biológicos estocásticos que explotan series de objetivos de tiempo discreto". Computación evolutiva, aprendizaje automático y minería de datos en bioinformática. Apuntes de clase en informática . Vol. 7264. págs. 74–85. doi :10.1007/978-3-642-29066-4_7.
^ Yang, XS (2008). Algoritmos metaheurísticos inspirados en la naturaleza . Luniver Press. ISBN978-1-905986-10-1.
^ Tu, Z.; Lu, Y. (2004). "Un algoritmo genético estocástico robusto (StGA) para la optimización numérica global". IEEE Transactions on Evolutionary Computation . 8 (5): 456–470. doi :10.1109/TEVC.2004.831258. S2CID 22382958.
^ Tu, Z.; Lu, Y. (2008). "Correcciones a "Un algoritmo genético estocástico robusto (StGA) para la optimización numérica global ". IEEE Transactions on Evolutionary Computation . 12 (6): 781. doi :10.1109/TEVC.2008.926734. S2CID 2864886.
^ Kennedy, James (2003). "Enjambres de partículas básicos". Actas del Simposio sobre inteligencia de enjambres del IEEE de 2003. SIS'03 (Cat. No.03EX706) . págs. 80–87. doi :10.1109/SIS.2003.1202251. ISBN .0-7803-7914-4. Número de identificación del sujeto 37185749.
^ XS Yang, S. Deb y S. Fong, Optimización acelerada de enjambre de partículas y máquina de vectores de soporte para optimización y aplicaciones comerciales, NDT 2011, Springer CCIS 136, págs. 53-66 (2011).
^ "Resultados de la búsqueda: APSO - Intercambio de archivos - MATLAB Central".
^ Parsopoulos, K.; Vrahatis, M. (2002). "Método de optimización de enjambre de partículas en problemas multiobjetivo". Actas del Simposio ACM sobre Computación Aplicada (SAC) . págs. 603–607. doi :10.1145/508791.508907.
^ Coello Coello, C.; Salazar Lechuga, M. (2002). "MOPSO: Una propuesta para la optimización de enjambres de partículas con objetivos múltiples". Congreso de Computación Evolutiva (CEC'2002) . pp. 1051–1056.
^ Mason, Karl; Duggan, Jim; Howley, Enda (2017). "Despacho de emisiones económicas dinámicas multiobjetivo utilizando variantes de optimización de enjambre de partículas". Neurocomputing . 270 : 188–197. doi :10.1016/j.neucom.2017.03.086.
^ Roy, R., Dehuri, S. y Cho, SB (2012). Un nuevo algoritmo de optimización de enjambre de partículas para problemas de optimización combinatoria multiobjetivo. 'International Journal of Applied Metaheuristic Computing (IJAMC)', 2(4), 41-57
^ Kennedy, J. y Eberhart, RC (1997). Una versión binaria discreta del algoritmo de enjambre de partículas, Conferencia sobre sistemas, hombre y cibernética, Piscataway, NJ: IEEE Service Center, págs. 4104-4109
^ Clerc, M. (2004). Optimización de enjambre de partículas discretas, ilustrada por el problema del viajante, New Optimization Techniques in Engineering, Springer, pp. 219-239
^ Clerc, M. (2005). Optimizadores de enjambre de partículas binarias: caja de herramientas, derivaciones y conocimientos matemáticos, Open Archive HAL
^ Jarboui, B.; Damak, N.; Siarry, P.; Rebai, A. (2008). "Una optimización combinatoria de enjambre de partículas para resolver problemas de programación de proyectos multimodo con recursos limitados". Matemáticas Aplicadas y Computación . 195 : 299–308. doi :10.1016/j.amc.2007.04.096.
^ Chen, Wei-neng; Zhang, Jun (2010). "Un nuevo método de optimización de enjambre de partículas basado en conjuntos para problemas de optimización discreta". IEEE Transactions on Evolutionary Computation . 14 (2): 278–300. CiteSeerX 10.1.1.224.5378 . doi :10.1109/tevc.2009.2030331. S2CID 17984726.
Enlaces externos
Wikimedia Commons tiene medios relacionados con Optimización de enjambre de partículas .
Particle Swarm Central es un repositorio de información sobre PSO. Hay varios códigos fuente disponibles de forma gratuita.
Un breve vídeo de enjambres de partículas que optimizan tres funciones de referencia.
Simulación de la convergencia PSO en un espacio bidimensional (Matlab).
Aplicaciones de PSO.
Liu, Yang (2009). "Calibración automática de un modelo de lluvia-escorrentía utilizando un algoritmo de enjambre de partículas multiobjetivo rápido y elitista". Expert Systems with Applications . 36 (5): 9533–9538. doi :10.1016/j.eswa.2008.10.086.