Articulo de referencia

Algoritmos de optimización por colonia de hormigas

El comportamiento de las hormigas fue la inspiración para la técnica de optimización metaheurística. Cuando una colonia de hormigas se enfrenta a la elección de llegar a su alim...

El comportamiento de las hormigas fue la inspiración para la técnica de optimización metaheurística.
Cuando una colonia de hormigas se enfrenta a la elección de llegar a su alimento por dos rutas diferentes, una mucho más corta que la otra, su elección es completamente aleatoria. Sin embargo, las que usan la ruta más corta llegan al alimento más rápido y, por lo tanto, van y vienen con mayor frecuencia entre el hormiguero y el alimento. [ 1 ]

En ciencias de la computación e investigación operativa , el algoritmo de optimización por colonia de hormigas ( ACO ) es una técnica probabilística para resolver problemas computacionales que pueden reducirse a encontrar buenos caminos a través de grafos . Las hormigas artificiales representan métodos multiagente inspirados en el comportamiento de las hormigas reales . La comunicación basada en feromonas de las hormigas biológicas es a menudo el paradigma predominante utilizado. [ 2 ] Las combinaciones de hormigas artificiales y algoritmos de búsqueda local se han convertido en un método preferido para numerosas tareas de optimización que involucran algún tipo de grafo , por ejemplo, enrutamiento de vehículos y enrutamiento de internet .

Como ejemplo, la optimización por colonia de hormigas [ 3 ] es una clase de algoritmos de optimización modelados a partir de las acciones de una colonia de hormigas . [ 4 ] Las "hormigas" artificiales (por ejemplo, agentes de simulación) localizan soluciones óptimas moviéndose a través de un espacio de parámetros que representa todas las soluciones posibles. Las hormigas reales depositan feromonas para dirigirse unas a otras hacia los recursos mientras exploran su entorno. De manera similar, las "hormigas" simuladas registran sus posiciones y la calidad de sus soluciones para que en iteraciones posteriores de la simulación más hormigas localicen mejores soluciones. [ 5 ] Una variación de este enfoque es el algoritmo de las abejas , que es más análogo a los patrones de forrajeo de la abeja melífera , otro insecto social.

Este algoritmo pertenece a la familia de algoritmos de colonia de hormigas, dentro de los métodos de inteligencia de enjambre , y constituye algunas optimizaciones metaheurísticas . Inicialmente propuesto por Marco Dorigo en 1992 en su tesis doctoral, [ 6 ] [ 7 ] el primer algoritmo tenía como objetivo buscar un camino óptimo en un grafo, basado en el comportamiento de las hormigas que buscan un camino entre su colonia y una fuente de alimento. La idea original se ha diversificado desde entonces para resolver una clase más amplia de problemas numéricos, y como resultado, han surgido varios problemas, que se basan en diversos aspectos del comportamiento de las hormigas. Desde una perspectiva más amplia, ACO realiza una búsqueda basada en modelos [ 8 ] y comparte algunas similitudes con los algoritmos de estimación de distribución .

Descripción general

En la naturaleza, las hormigas de algunas especies (inicialmente) vagan al azar y, al encontrar alimento, regresan a su colonia dejando rastros de feromonas . Si otras hormigas encuentran dicho rastro, es probable que dejen de viajar al azar y lo sigan, regresando y reforzándolo si finalmente encuentran alimento (véase Comunicación de las hormigas ). [ 9 ]

Con el tiempo, sin embargo, el rastro de feromonas comienza a evaporarse, reduciendo así su poder de atracción. Cuanto más tiempo tarda una hormiga en recorrer el camino de ida y vuelta, más tiempo tienen las feromonas para evaporarse. Un camino corto, en comparación, se recorre con mayor frecuencia, por lo que la densidad de feromonas es mayor en los caminos cortos que en los largos. La evaporación de las feromonas también tiene la ventaja de evitar la convergencia a una solución óptima local. Si no hubiera evaporación alguna, los caminos elegidos por las primeras hormigas tenderían a ser excesivamente atractivos para las siguientes. En ese caso, la exploración del espacio de soluciones estaría restringida. La influencia de la evaporación de las feromonas en los sistemas de hormigas reales no está clara, pero es muy importante en los sistemas artificiales. [ 10 ]

El resultado general es que cuando una hormiga encuentra un buen camino (es decir, corto) desde la colonia hasta una fuente de alimento, es más probable que otras hormigas sigan ese camino, y la retroalimentación positiva finalmente lleva a que muchas hormigas sigan un único camino. La idea del algoritmo de colonia de hormigas es imitar este comportamiento con "hormigas simuladas" que se mueven por el grafo que representa el problema a resolver.

Redes ambientales de objetos inteligentes

Se requieren nuevos conceptos, ya que la "inteligencia" ya no está centralizada, sino que se encuentra presente en todos los objetos, por minúsculos que sean. Se sabe que los conceptos antropocéntricos han dado lugar a la creación de sistemas informáticos en los que el procesamiento de datos, las unidades de control y la capacidad de cálculo están centralizados. Estas unidades centralizadas han aumentado continuamente su rendimiento y pueden compararse con el cerebro humano. El modelo del cerebro se ha convertido en la visión definitiva de las computadoras. Las redes ambientales de objetos inteligentes y, tarde o temprano, una nueva generación de sistemas de información aún más difusos y basados ​​en la nanotecnología, transformarán profundamente este concepto. Los pequeños dispositivos, comparables a insectos, no poseen una gran inteligencia por sí mismos. De hecho, su inteligencia puede considerarse bastante limitada. Es imposible, por ejemplo, integrar una calculadora de alto rendimiento capaz de resolver cualquier problema matemático en un biochip implantado en el cuerpo humano o en una etiqueta inteligente diseñada para rastrear artículos comerciales. Sin embargo, una vez interconectados, estos objetos desarrollan una forma de inteligencia comparable a la de una colonia de hormigas o abejas. En el caso de ciertos problemas, este tipo de inteligencia puede ser superior al razonamiento de un sistema centralizado similar al cerebro. [ 11 ]

La naturaleza ofrece varios ejemplos de cómo organismos minúsculos, si todos siguen la misma regla básica, pueden crear una forma de inteligencia colectiva a nivel macroscópico. Las colonias de insectos sociales ilustran perfectamente este modelo, que difiere enormemente de las sociedades humanas. Este modelo se basa en la cooperación de unidades independientes con un comportamiento simple e impredecible. [ 12 ] Se mueven por su entorno para realizar ciertas tareas y solo poseen una cantidad muy limitada de información para ello. Una colonia de hormigas, por ejemplo, representa numerosas cualidades que también pueden aplicarse a una red de objetos ambientales. Las colonias de hormigas tienen una gran capacidad de adaptación a los cambios del entorno, así como una gran fortaleza para afrontar situaciones en las que un individuo no logra realizar una tarea determinada. Este tipo de flexibilidad también sería muy útil para redes móviles de objetos en constante desarrollo. Los paquetes de información que se mueven de un ordenador a un objeto digital se comportan de la misma manera que las hormigas. Se mueven a través de la red y pasan de un nodo a otro con el objetivo de llegar a su destino final lo más rápido posible. [ 13 ]

Sistema de feromonas artificiales

La comunicación basada en feromonas es una de las formas de comunicación más efectivas y ampliamente observada en la naturaleza. Insectos sociales como abejas, hormigas y termitas utilizan feromonas tanto para la comunicación entre individuos como entre enjambres. Debido a su viabilidad, se han adoptado feromonas artificiales en sistemas robóticos multirobot y de enjambre. La comunicación basada en feromonas se ha implementado mediante diferentes métodos, como químicos [ 14 ] [ 15 ] [ 16 ] o físicos (etiquetas RFID [ 17 ] , luz [ 18 ] [ 19 ] [ 20 ] [ 21 ] , sonido [ 22 ] ). Sin embargo, estas implementaciones no han logrado replicar todos los aspectos de las feromonas tal como se observan en la naturaleza.

El uso de luz proyectada fue presentado en un artículo de IEEE de 2007 por Garnier, Simon, et al. como una configuración experimental para estudiar la comunicación basada en feromonas con microrobots autónomos. [ 23 ] Otro estudio presentó un sistema en el que las feromonas se implementaron a través de una pantalla LCD horizontal sobre la cual se movían los robots, con los robots teniendo sensores de luz orientados hacia abajo para registrar los patrones debajo de ellos. [ 24 ] [ 25 ]

Algoritmo y fórmula

En los algoritmos de optimización por colonia de hormigas, una hormiga artificial es un agente computacional simple que busca buenas soluciones a un problema de optimización dado. Para aplicar un algoritmo de colonia de hormigas, el problema de optimización debe convertirse en el problema de encontrar el camino más corto en un grafo ponderado. En el primer paso de cada iteración, cada hormiga construye estocásticamente una solución, es decir, el orden en que deben seguirse las aristas del grafo. En el segundo paso, se comparan los caminos encontrados por las diferentes hormigas. El último paso consiste en actualizar los niveles de feromonas en cada arista.

El procedimiento ACO_MetaHeuristic se ejecuta mientras no se haya terminado . generarSoluciones() daemonActions() Actualización de feromonas() repetir el procedimiento final

Selección de bordes

Cada hormiga necesita construir una solución para moverse a través del grafo. Para seleccionar la siguiente arista en su recorrido, una hormiga considerará la longitud de cada arista disponible desde su posición actual, así como el nivel de feromona correspondiente. En cada paso del algoritmo, cada hormiga se mueve desde un estadoincógnita{\displaystyle x}para declarary{\displaystyle y}, correspondiente a una solución intermedia más completa. Por lo tanto, cada hormigak{\displaystyle k}calcula un conjuntoAk(incógnita){\displaystyle A_{k}(x)}de expansiones factibles a su estado actual en cada iteración, y se mueve a una de ellas con probabilidad. Para hormigak{\displaystyle k}, la probabilidadpagincógnitayk{\displaystyle p_{xy}^{k}}de mudarse de estadoincógnita{\displaystyle x}para declarary{\displaystyle y}depende de la combinación de dos valores, el atractivoηincógnitay{\displaystyle \eta _{xy}}del movimiento, según lo calculado por alguna heurística que indica la deseabilidad a priori de ese movimiento y el nivel de la rutaτincógnitay{\displaystyle \tau _{xy}}del movimiento, indicando cuán hábil ha sido en el pasado para realizar ese movimiento en particular. El nivel de prueba representa una indicación a posteriori de la conveniencia de ese movimiento.

En general, elk{\displaystyle k}la hormiga se mueve del estadoincógnita{\displaystyle x}para declarary{\displaystyle y}con probabilidad

pagincógnitayk=(τincógnitayα)(ηincógnitayβ)zallowmidincógnita(τincógnitazα)(ηincógnitazβ){\displaystyle p_{xy}^{k}={\frac {(\tau _{xy}^{\alpha })(\eta _{xy}^{\beta })}{\sum _{z\in \mathrm {permitido} _{x}}(\tau _{xz}^{\alpha })(\eta _{xz}^{\beta })}}}

dóndeτincógnitay{\displaystyle \tau _{xy}}es la cantidad de feromona depositada para la transición del estadoincógnita{\displaystyle x}ay{\displaystyle y},α{\displaystyle \alpha }≥ 0 es un parámetro para controlar la influencia deτincógnitay{\displaystyle \tau _{xy}},ηincógnitay{\displaystyle \eta _{xy}}es la conveniencia de la transición de estadoincógnitay{\displaystyle xy}( conocimiento a priori , típicamente1/dincógnitay{\displaystyle 1/d_{xy}}, dónded{\displaystyle d}es la distancia),β{\displaystyle \beta }≥ 1 es un parámetro para controlar la influencia deηincógnitay{\displaystyle \eta _{xy}}yallowmidincógnita{\displaystyle \mathrm {permitido} _{x}}es el conjunto de destinos permitidos desde el estadoincógnita{\displaystyle x}.τincógnitaz{\displaystyle \tau _{xz}}yηincógnitaz{\displaystyle \eta _{xz}}representan el nivel del sendero y el atractivo para las otras posibles transiciones de estado.

Actualización sobre feromonas

Los rastros se actualizan normalmente cuando todas las hormigas han completado su solución, aumentando o disminuyendo el nivel de los rastros correspondientes a los movimientos que formaron parte de soluciones "buenas" o "malas", respectivamente. Un ejemplo de una regla de actualización global de feromonas es el siguiente:

τincógnitay(1ρ)τincógnitay+kmetroΔτincógnitayk{\displaystyle \tau _{xy}\leftarrow (1-\rho )\tau _{xy}+\sum _{k}^{m}\Delta \tau _{xy}^{k}}

dóndeτincógnitay{\displaystyle \tau _{xy}}es la cantidad de feromona depositada para una transición de estadoincógnitay{\displaystyle xy},ρ{\displaystyle \rho }es el coeficiente de evaporación de la feromona ,metro{\displaystyle m}es el número de hormigas yΔτincógnitayk{\displaystyle \Delta \tau _{xy}^{k}}es la cantidad de feromona depositada pork{\displaystyle k}la hormiga, dada típicamente para un problema TSP (con movimientos que corresponden a arcos del grafo) por

Δτincógnitayk={Q/Lksi hormiga k utiliza curva incógnitay en su gira0de lo contrario{\displaystyle \Delta \tau _{xy}^{k}={\begin{cases}Q/L_{k}&{\mbox{if ant }}k{\mbox{ uses curve }}xy{\mbox{ in its tour}}\\0&{\mbox{otherwise}}\end{cases}}}

dóndeLk{\displaystyle L_{k}}es el costo de lak{\displaystyle k}el recorrido de la hormiga (normalmente de duración) yQ{\displaystyle Q}es una constante.

Extensiones comunes

Aquí presentamos algunas de las variantes más populares de los algoritmos ACO.

Sistema de hormigas (SA)

El sistema de hormigas es el primer algoritmo ACO. Este algoritmo corresponde al presentado anteriormente. Fue desarrollado por Dorigo. [ 26 ]

Sistema de colonias de hormigas (SCA)

En el algoritmo del sistema de colonia de hormigas, el sistema de hormigas original se modificó en tres aspectos:

  1. La selección de aristas está sesgada hacia la explotación (es decir, favorece la probabilidad de seleccionar las aristas más cortas con una gran cantidad de feromona);
  2. Al construir una solución, las hormigas modifican el nivel de feromonas de los bordes que seleccionan aplicando una regla local de actualización de feromonas;
  3. Al final de cada iteración, solo la mejor hormiga puede actualizar los rastros aplicando una regla de actualización de feromonas global modificada. [ 27 ]

Sistema de hormigas elitista

En este algoritmo, la mejor solución global deposita feromonas en su rastro después de cada iteración (incluso si este rastro no ha sido visitado nuevamente), al igual que todas las demás hormigas. La estrategia elitista tiene como objetivo dirigir la búsqueda de todas las hormigas para construir una solución que contenga los enlaces de la mejor ruta actual.

Sistema de hormigas máximo-mínimo (MMAS)

Este algoritmo controla las cantidades máxima y mínima de feromona en cada sendero. Solo el mejor recorrido global o el mejor recorrido de la iteración pueden añadir feromona a su sendero. Para evitar el estancamiento del algoritmo de búsqueda, el rango de cantidades posibles de feromona en cada sendero se limita a un intervalo [τ maxmin ]. Todos los bordes se inicializan a τ max para forzar una mayor exploración de soluciones. Los senderos se reinicializan a τ max cuando se aproximan al estancamiento. [ 28 ]

Sistema de hormigas basado en rangos (ASrank)

Todas las soluciones se clasifican según su longitud. Solo un número fijo de las mejores hormigas de esta iteración pueden actualizar sus intentos. La cantidad de feromona depositada se pondera para cada solución, de modo que las soluciones con caminos más cortos depositan más feromona que las soluciones con caminos más largos.

Optimización paralela por colonia de hormigas (PACO)

Se desarrolla un sistema de colonia de hormigas (SCA) con estrategias de comunicación. Las hormigas artificiales se dividen en varios grupos. Se proponen siete métodos de comunicación para actualizar el nivel de feromonas entre grupos en el SCA, los cuales funcionan en el problema del viajante. [ 29 ]

Colonia de hormigas ortogonal continua (COAC)

El mecanismo de depósito de feromonas de COAC permite a las hormigas buscar soluciones de forma colaborativa y eficaz. Mediante un método de diseño ortogonal, las hormigas en el dominio factible pueden explorar las regiones elegidas de forma rápida y eficiente, con una mayor capacidad y precisión en la búsqueda global. El método de diseño ortogonal y el método de ajuste adaptativo del radio también pueden extenderse a otros algoritmos de optimización para ofrecer mayores ventajas en la resolución de problemas prácticos. [ 30 ]

Optimización recursiva de colonias de hormigas

Es una forma recursiva del sistema de hormigas que divide todo el dominio de búsqueda en varios subdominios y resuelve el objetivo en estos subdominios. [ 31 ] Los resultados de todos los subdominios se comparan y los mejores se promueven al siguiente nivel. Los subdominios correspondientes a los resultados seleccionados se subdividen aún más y el proceso se repite hasta obtener una salida con la precisión deseada. Este método se ha probado en problemas de inversión geofísica mal condicionados y funciona bien. [ 32 ]

Convergencia

Para algunas versiones del algoritmo, es posible demostrar que es convergente (es decir, es capaz de encontrar el óptimo global en tiempo finito). La primera evidencia de convergencia para un algoritmo de colonia de hormigas se hizo en 2000, el algoritmo de sistema de hormigas basado en grafos, y más tarde para los algoritmos ACS y MMAS. Como la mayoría de las metaheurísticas , es muy difícil estimar la velocidad teórica de convergencia. Un análisis de rendimiento de un algoritmo de colonia de hormigas continuo con respecto a sus varios parámetros (estrategia de selección de aristas, métrica de medida de distancia y tasa de evaporación de feromona) mostró que su rendimiento y tasa de convergencia son sensibles a los valores de los parámetros elegidos, y especialmente al valor de la tasa de evaporación de feromona. [ 33 ] En 2004, Zlochin y sus colegas [ 8 ] mostraron que los algoritmos de tipo ACO están estrechamente relacionados con el descenso de gradiente estocástico , el método de entropía cruzada y el algoritmo de estimación de distribución . Propusieron un término general, "Búsqueda basada en modelos", para describir esta clase de metaheurísticas .

Aplicaciones

Problema de la mochila : Las hormigas prefieren la gota más pequeña de miel a la gota más abundante, pero menos nutritiva, de azúcar.

Los algoritmos de optimización por colonia de hormigas se han aplicado a numerosos problemas de optimización combinatoria , desde la asignación cuadrática hasta el plegamiento de proteínas o el enrutamiento de vehículos . Muchos métodos derivados se han adaptado a problemas dinámicos con variables reales, problemas estocásticos, objetivos múltiples e implementaciones paralelas . También se han utilizado para obtener soluciones casi óptimas al problema del viajante . Presentan una ventaja sobre el recocido simulado y los algoritmos genéticos en problemas similares cuando el grafo puede cambiar dinámicamente; el algoritmo de colonia de hormigas puede ejecutarse de forma continua y adaptarse a los cambios en tiempo real. Esto resulta de interés en el enrutamiento de redes y los sistemas de transporte urbano.

El primer algoritmo ACO se denominó sistema de hormigas [ 26 ] y su objetivo era resolver el problema del viajante, en el que la meta es encontrar el viaje de ida y vuelta más corto para conectar una serie de ciudades. El algoritmo general es relativamente simple y se basa en un conjunto de hormigas, cada una de las cuales realiza uno de los posibles viajes de ida y vuelta a través de las ciudades. En cada etapa, la hormiga elige moverse de una ciudad a otra según ciertas reglas:

Visualización del algoritmo de colonia de hormigas aplicado al problema del viajante. Las líneas verdes representan los caminos elegidos por cada hormiga. Las líneas azules representan los caminos que puede tomar en cada punto. Cuando la hormiga finaliza su recorrido, los niveles de feromonas se representan en rojo.
  1. Debe visitar cada ciudad exactamente una vez;
  2. Una ciudad lejana tiene menos posibilidades de ser elegida (la visibilidad);
  3. Cuanto más intenso sea el rastro de feromonas que se extiende en el límite entre dos ciudades, mayor será la probabilidad de que se elija ese límite;
  4. Una vez completado su recorrido, la hormiga deposita más feromonas en todos los bordes que ha atravesado, si el trayecto es corto;
  5. Tras cada iteración, los rastros de feromonas se evaporan.

Problema de programación

Problema de enrutamiento de vehículos

  • Problema de enrutamiento de vehículos con capacidad limitada (CVRP) [ 48 ] [ 49 ] [ 50 ]
  • Problema de enrutamiento de vehículos con múltiples depósitos (MDVRP) [ 51 ]
  • Problema de enrutamiento de vehículos periódicos (PVRP) [ 52 ]
  • Problema de enrutamiento de vehículos de entrega dividida (SDVRP) [ 53 ]
  • Problema de enrutamiento estocástico de vehículos (SVRP) [ 54 ]
  • Problema de enrutamiento de vehículos con recogida y entrega (VRPPD) [ 55 ] [ 56 ]
  • Problema de enrutamiento de vehículos con ventanas de tiempo (VRPTW) [ 57 ] [ 58 ] [ 59 ] [ 60 ]
  • Problema de enrutamiento de vehículos dependiente del tiempo con ventanas de tiempo (TDVRPTW) [ 61 ]
  • Problema de enrutamiento de vehículos con ventanas de tiempo y múltiples trabajadores de servicio (VRPTWMS)

Problema de asignación

Problema planteado

Problema de dimensionamiento de dispositivos en el diseño físico de nanoelectrónica

  • La optimización basada en el algoritmo de optimización por colonia de hormigas (ACO) de  un circuito amplificador de detección basado en CMOS de 45 nm podría converger a soluciones óptimas en un tiempo mínimo. [ 74 ]
  • La síntesis de circuitos reversibles basada en la optimización por colonia de hormigas (ACO) podría mejorar significativamente la eficiencia. [ 75 ]

Optimización y síntesis de antenas

Vibradores de bucle de 10×10, sintetizados mediante el algoritmo ACO [ 76 ].
Vibradores sin bucle de 10×10, sintetizados mediante el algoritmo ACO [ 76 ].

Para optimizar la forma de las antenas, se pueden utilizar algoritmos de colonia de hormigas. Como ejemplo se pueden considerar las antenas de etiquetas RFID basadas en algoritmos de colonia de hormigas (ACO), [ 77 ] vibradores loopback y unloopback 10×10 [ 76 ]

Procesamiento de imágenes

El algoritmo ACO se utiliza en el procesamiento de imágenes para la detección y el enlace de bordes de imágenes. [ 78 ] [ 79 ]

  • Detección de bordes:

El gráfico que se muestra aquí es una imagen bidimensional donde las hormigas se desplazan de un píxel a otro depositando feromona. El movimiento de las hormigas está determinado por la variación local de los valores de intensidad de la imagen. Este movimiento provoca que la mayor densidad de feromona se deposite en los bordes.

Los siguientes son los pasos involucrados en la detección de bordes usando ACO: [ 80 ] [ 81 ] [ 82 ]

Paso 1: Inicialización. Colocar aleatoriamenteK{\displaystyle K}hormigas en la imagenIMETRO1METRO2{\displaystyle I_{M_{1}M_{2}}}dóndeK=(METRO1METRO2)12{\displaystyle K=(M_{1}*M_{2})^{\tfrac {1}{2}}}Matriz de feromonasτ(i,j){\displaystyle \tau _{(i,j)}}se inicializan con un valor aleatorio. El principal desafío en el proceso de inicialización es determinar la matriz heurística.

Existen varios métodos para determinar la matriz heurística. Para el siguiente ejemplo, la matriz heurística se calculó en función de las estadísticas locales: las estadísticas locales en la posición del píxel.(i,j){\displaystyle (i,j)}.

η(i,j)=1ZVdoI(i,j),{\displaystyle \eta _{(i,j)}={\tfrac {1}{Z}}*Vc*I_{(i,j)},}

dóndeI{\displaystyle I}es la imagen de tamañoMETRO1METRO2{\displaystyle M_{1}*M_{2}},

Z=i=1:METRO1j=1:METRO2Vdo(Ii,j){\displaystyle Z=\sum _{i=1:M_{1}}\sum _{j=1:M_{2}}Vc(I_{i,j})}

es un factor de normalización y

Vdo(Ii,j)=F(|I(i2,j1)I(i+2,j+1)|+|I(i2,j+1)I(i+2,j1)|+|I(i1,j2)I(i+1,j+2)|+|I(i1,j1)I(i+1,j+1)|+|I(i1,j)I(i+1,j)|+|I(i1,j+1)I(i1,j1)|+|I(i1,j+2)I(i1,j2)|+|I(i,j1)I(i,j+1)|){\displaystyle {\begin{aligned}Vc(I_{i,j})=&f\left(\left\vert I_{(i-2,j-1)}-I_{(i+2,j+1)}\right\vert +\left\vert I_{(i-2,j+1)}-I_{(i+2,j-1)}\right\vert \right.\\&+\left\vert I_{(i-1,j-2)}-I_{(i+1,j+2)}\right\vert +\left\vert I_{(i-1,j-1)}-I_{(i+1,j+1)}\right\vert \\&+\left\vert I_{(i-1,j)}-I_{(i+1,j)}\right\vert +\left\vert I_{(i-1,j+1)}-I_{(i-1,j-1)}\right\vert \\&+\left.\left\vert I_{(i-1,j+2)}-I_{(i-1,j-2)}\right\vert +\left\vert I_{(i,j-1)}-I_{(i,j+1)}\right\vert \right)\end{aligned}}}

F(){\displaystyle f(\cdot )}Se puede calcular utilizando las siguientes funciones:

F(incógnita)=λincógnita,para x ≥ 0; (1){\displaystyle f(x)=\lambda x,\quad {\text{for x ≥ 0; (1)}}}
F(incógnita)=λincógnita2,para x ≥ 0; (2){\displaystyle f(x)=\lambda x^{2},\quad {\text{for x ≥ 0; (2)}}}
F(incógnita)={pecado(πincógnita2λ),para 0 ≤ x ≤λ; (3)0,demás{\displaystyle f(x)={\begin{cases}\sin({\frac {\pi x}{2\lambda }}),&{\text{for 0 ≤ x ≤}}\lambda {\text{; (3)}}\\0,&{\text{else}}\end{cases}}}
F(incógnita)={πincógnitapecado(πincógnita2λ),para 0 ≤ x ≤λ; (4)0,demás{\displaystyle f(x)={\begin{cases}\pi x\sin({\frac {\pi x}{2\lambda }}),&{\text{for 0 ≤ x ≤}}\lambda {\text{; (4)}}\\0,&{\text{else}}\end{cases}}}

El parámetroλ{\displaystyle \lambda }En cada una de las funciones anteriores se ajustan las formas respectivas de las funciones.

Paso 2: Proceso de construcción. El movimiento de la hormiga se basa en píxeles conectados de 4 u 8 píxeles conectados . La probabilidad con la que se mueve la hormiga viene dada por la ecuación de probabilidad.PAGincógnita,y{\displaystyle P_{x,y}}

Paso 3 y paso 5: Proceso de actualización. La matriz de feromonas se actualiza dos veces. En el paso 3, el rastro de la hormiga (dado porτ(incógnita,y){\displaystyle \tau _{(x,y)}}) se actualiza mientras que en el paso 5 se actualiza la tasa de evaporación del rastro, que viene dada por:

τnortemiw(1ψ)τold+ψτ0{\displaystyle \tau _{new}\leftarrow (1-\psi )\tau _{old}+\psi \tau _{0}},

dóndeψ{\displaystyle \psi }es el coeficiente de decaimiento de la feromona0<τ<1{\displaystyle 0<\tau <1}

Paso 7: Proceso de decisión. Una vez que las K hormigas se han movido una distancia fija L durante N iteraciones, la decisión de si es una arista o no se basa en el umbral T en la matriz de feromonas τ. El umbral para el siguiente ejemplo se calcula según el método de Otsu .

Bordes de imagen detectados mediante ACO: Las imágenes que se muestran a continuación se generan utilizando diferentes funciones dadas por las ecuaciones (1) a (4). [ 83 ]

  • Enlace de aristas: [ 84 ] ACO también ha demostrado ser eficaz en algoritmos de enlace de aristas.

Otras aplicaciones

Dificultad de definición

Con un algoritmo ACO, el camino más corto en un grafo, entre dos puntos A y B, se construye a partir de una combinación de varios caminos. [ 106 ] No es fácil dar una definición precisa de qué algoritmo es o no es una colonia de hormigas, porque la definición puede variar según los autores y los usos. En términos generales, los algoritmos de colonia de hormigas se consideran metaheurísticas pobladas donde cada solución está representada por una hormiga que se mueve en el espacio de búsqueda. [ 107 ] Las hormigas marcan las mejores soluciones y toman en cuenta las marcas anteriores para optimizar su búsqueda. Se pueden ver como algoritmos multiagente probabilísticos que utilizan una distribución de probabilidad para hacer la transición entre cada iteración . [ 108 ] En sus versiones para problemas combinatorios, utilizan una construcción iterativa de soluciones. [ 109 ] Según algunos autores, lo que distingue a los algoritmos ACO de otros relacionados (como los algoritmos para estimar la distribución o la optimización por enjambre de partículas) es precisamente su aspecto constructivo. En problemas combinatorios, es posible que se encuentre la mejor solución, aunque ninguna hormiga resulte eficaz. Así, en el ejemplo del problema del viajante, no es necesario que una hormiga recorra la ruta más corta: esta puede construirse a partir de los segmentos más fuertes de las mejores soluciones. Sin embargo, esta definición puede ser problemática en el caso de problemas con variables reales, donde no existe una estructura de "vecinos". El comportamiento colectivo de los insectos sociales sigue siendo una fuente de inspiración para los investigadores. La amplia variedad de algoritmos (de optimización o no) que buscan la autoorganización en sistemas biológicos ha dado lugar al concepto de " inteligencia de enjambre " [ 11 ] , un marco muy general en el que encajan los algoritmos de colonia de hormigas.

Algoritmos de estigmergia

En la práctica, existe un gran número de algoritmos que se autodenominan "colonias de hormigas", sin que siempre compartan el marco general de optimización de las colonias de hormigas canónicas. [ 110 ] En la práctica, el uso de un intercambio de información entre hormigas a través del entorno (un principio llamado " estigmergia ") se considera suficiente para que un algoritmo pertenezca a la clase de algoritmos de colonia de hormigas. Este principio ha llevado a algunos autores a crear el término "valor" para organizar métodos y comportamientos basados ​​en la búsqueda de alimento, la clasificación de larvas, la división del trabajo y el transporte cooperativo. [ 111 ]

Algoritmos genéticos (AG)
Estos sistemas mantienen un conjunto de soluciones en lugar de una sola. El proceso de encontrar soluciones superiores imita el de la evolución, donde las soluciones se combinan o mutan para modificar dicho conjunto, y las soluciones de menor calidad se descartan.
Algoritmo de estimación de distribución (EDA)
Un algoritmo evolutivo que sustituye los operadores de reproducción tradicionales por operadores guiados por modelos. Dichos modelos se aprenden a partir de la población mediante técnicas de aprendizaje automático y se representan como modelos gráficos probabilísticos, a partir de los cuales se pueden muestrear nuevas soluciones [ 112 ] [ 113 ] o generar mediante cruce guiado. [ 114 ] [ 115 ]
Recocido simulado (AS)
Una técnica de optimización global relacionada recorre el espacio de búsqueda generando soluciones vecinas de la solución actual. Siempre se acepta una solución vecina superior. Una solución vecina inferior se acepta probabilísticamente en función de la diferencia de calidad y un parámetro de temperatura. Este parámetro se modifica a medida que avanza el algoritmo para alterar la naturaleza de la búsqueda.
Optimización de búsqueda reactiva
Se centra en combinar el aprendizaje automático con la optimización, añadiendo un bucle de retroalimentación interno para ajustar automáticamente los parámetros libres de un algoritmo a las características del problema, de la instancia y de la situación local que rodea a la solución actual.
Búsqueda tabú (TS)
Similar al recocido simulado, ambos métodos recorren el espacio de soluciones probando mutaciones de una solución individual. Mientras que el recocido simulado genera solo una solución mutada, la búsqueda tabú genera muchas y se dirige a la solución con la menor aptitud entre las generadas. Para evitar ciclos y fomentar un mayor recorrido por el espacio de soluciones, se mantiene una lista tabú con soluciones parciales o completas. Está prohibido moverse a una solución que contenga elementos de la lista tabú, la cual se actualiza a medida que la solución recorre el espacio de soluciones.
Sistema inmunitario artificial (SIA)
Modelado a partir de los sistemas inmunitarios de los vertebrados.
Optimización por enjambre de partículas (PSO)
Un método de inteligencia colectiva .
Gotas de agua inteligentes (IWD)
Un algoritmo de optimización basado en enjambres, inspirado en las gotas de agua que fluyen en los ríos.
Algoritmo de búsqueda gravitacional (GSA)
Un método de inteligencia colectiva .
método de agrupamiento de colonias de hormigas (ACCM)
Un método que utiliza un enfoque de agrupamiento, extendiendo el ACO.
Búsqueda de difusión estocástica (SDS)
Una técnica de búsqueda y optimización global probabilística basada en agentes, más adecuada para problemas en los que la función objetivo puede descomponerse en múltiples funciones parciales independientes.

Historia

Cronología de los algoritmos ACO

Cronología de los algoritmos de optimización por colonia de hormigas.

  • En 1959, Pierre-Paul Grassé inventó la teoría de la estigmergia para explicar el comportamiento de construcción de nidos en las termitas ; [ 116 ]
  • En 1983, Deneubourg y sus colegas estudiaron el comportamiento colectivo de las hormigas ; [ 117 ]
  • 1988, y Moyson Manderick tienen un artículo sobre la autoorganización entre las hormigas; [ 118 ]
  • 1989, el trabajo de Goss, Aron, Deneubourg y Pasteels sobre el comportamiento colectivo de las hormigas argentinas , que dará la idea de los algoritmos de optimización de colonias de hormigas; [ 119 ]
  • 1989, implementación de un modelo de comportamiento para la alimentación por Ebling y sus colegas; [ 120 ]
  • En 1991, M. Dorigo propuso el sistema de hormigas en su tesis doctoral (que se publicó en 1992 [ 7 ] ). Un informe técnico extraído de la tesis y coescrito por V. Maniezzo y A. Colorni [ 121 ] se publicó cinco años después; [ 26 ]
  • En 1994, Appleby y Steward de British Telecommunications Plc publicaron la primera aplicación a redes de telecomunicaciones [ 122 ].
  • 1995, Gambardella y Dorigo propusieron ant-q , [ 123 ] la versión preliminar del sistema de colonia de hormigas como primera extensión del sistema de hormigas;. [ 26 ]
  • 1996, Gambardella y Dorigo propusieron un sistema de colonia de hormigas [ 124 ].
  • 1996, publicación del artículo sobre el sistema de hormigas; [ 26 ]
  • En 1997, Dorigo y Gambardella propusieron un sistema de colonia de hormigas hibridado con búsqueda local; [ 27 ]
  • En 1997, Schoonderwoerd y sus colegas publicaron una aplicación mejorada para redes de telecomunicaciones ; [ 125 ]
  • 1998, Dorigo lanza la primera conferencia dedicada a los algoritmos ACO; [ 126 ]
  • 1998, Stützle propone implementaciones paralelas iniciales ; [ 127 ]
  • 1999, Gambardella, Taillard y Agazzi propusieron macs-vrptw , el primer sistema de colonias de hormigas múltiples aplicado a problemas de enrutamiento de vehículos con ventanas de tiempo, [ 57 ]
  • 1999, Bonabeau, Dorigo y Theraulaz publican un libro que trata principalmente sobre hormigas artificiales [ 128 ].
  • 2000, número especial de la revista Future Generation Computer Systems sobre algoritmos de hormigas [ 129 ]
  • 2000, Hoos y Stützle inventan el sistema de hormigas max-min ; [ 28 ]
  • 2000, primeras aplicaciones a la planificación , la secuencia de planificación y la satisfacción de restricciones ;
  • 2000, Gutjahr proporciona la primera evidencia de convergencia para un algoritmo de colonias de hormigas [ 130 ].
  • 2001, primer uso de algoritmos COA por parte de empresas ( Eurobios y AntOptima );
  • En 2001, Iredi y sus colegas publicaron el primer algoritmo multiobjetivo [ 131 ].
  • 2002, primeras aplicaciones en el diseño de cronogramas, redes bayesianas;
  • En 2002, Bianchi y sus colegas propusieron el primer algoritmo para problemas estocásticos ; [ 132 ]
  • En 2004, Dorigo y Stützle publicaron el libro Ant Colony Optimization con MIT Press [ 133 ].
  • 2004, Zlochin y Dorigo muestran que algunos algoritmos son equivalentes al descenso de gradiente estocástico , el método de entropía cruzada y algoritmos para estimar la distribución [ 8 ].
  • 2005, primeras aplicaciones a problemas de plegamiento de proteínas .
  • En 2012, Prabhakar y sus colegas publicaron una investigación sobre el funcionamiento de hormigas individuales que se comunican en tándem sin feromonas, reflejando los principios de la organización de redes informáticas. El modelo de comunicación se comparó con el Protocolo de Control de Transmisión . [ 134 ]
  • 2016, primera aplicación al diseño de secuencias de péptidos. [ 98 ]
  • 2017, integración exitosa del método de toma de decisiones multicriterio PROMETHEE en el algoritmo ACO ( algoritmo HUMANT ). [ 135 ]

Referencias

  1. ^ Waldner, Jean-Baptiste (2008). Nanocomputadoras e inteligencia de enjambre . Londres: ISTE John Wiley & Sons . pag.  225.ISBN 978-1-84704-002-2.
  2. Monmarché Nicolás; Guinand Frédéric; Siarry Patricio (2010). Hormigas artificiales . Wiley-ISTE. ISBN 978-1-84821-194-0.
  3. M. Dorigo ; LM Gambardella (1997). "Enfoque de aprendizaje para el problema del viajante". IEEE Transactions on Evolutionary Computation . 1 (1): 214. doi : 10.1109/4235.585892 .
  4. Birattari, M.; Pellegrini, P.; Dorigo, M. (2007). "Sobre la invariancia de la optimización por colonia de hormigas". IEEE Transactions on Evolutionary Computation . 11 (6). Institute of Electrical and Electronics Engineers (IEEE): 732– 742. Bibcode : 2007ITEC...11..732B . doi : 10.1109/tevc.2007.892762 . ISSN 1941-0026 . S2CID 1591891 .  
  5. Optimización mediante colonias de hormigas, de Marco Dorigo y Thomas Stützle, MIT Press, 2004. ISBN 0-262-04219-3
  6. ^ A. Colorni, M. Dorigo et V. Maniezzo, Optimización distribuida por colonias de hormigas , actes de la première conférence européenne sur la vie artificielle, París, Francia, Elsevier Publishing, 134-142, 1991.
  7. 1 2 M. Dorigo, Optimización, aprendizaje y algoritmos naturales , tesis doctoral, Politécnico de Milán, Italia, 1992.
  8. 1 2 3 M. Zlochin, M. Birattari, N. Meuleau y M. Dorigo, Búsqueda basada en modelos para la optimización combinatoria: una revisión crítica , Annals of Operations Research, vol. 131, pp. 373-395, 2004.
  9. Fladerer, Johannes-Paul; Kurzmann, Ernst (noviembre de 2019). SABIDURÍA DE MUCHOS: cómo crear autoorganización y cómo utilizar la inteligencia colectiva en las empresas y en la sociedad desde mana . LIBROS BAJO DEMANDA. ISBN 978-3-7504-2242-1.
  10. Marco Dorigo y Thomas Stützle, Optimización por colonia de hormigas, pág. 12. 2004.
  11. ^ Waldner , Jean-Baptiste (2008). Nanocomputadoras e inteligencia de enjambre . Londres: ISTE John Wiley & Sons. pag. 214.ISBN  978-1-84704-002-2.
  12. ^ Waldner, Jean-Baptiste (2007). Inventor l'Ordinateur du XXIème Siècle . Londres: Hermes Science. págs. 259–265 . ISBN  978-2-7462-1516-0.
  13. ^ Waldner, Jean-Baptiste (2008). Nanocomputadoras e inteligencia de enjambre . Londres: ISTE John Wiley & Sons. pag. 215.ISBN  978-1-84704-002-2.
  14. Lima, Danielli A., y Gina MB Oliveira. " Un modelo de memoria de hormigas basado en autómatas celulares para la búsqueda de alimento en un enjambre de robots ". Applied Mathematical Modelling 47, 2017: 551-572.
  15. Russell, R. Andrew. « Rastros de hormigas: ¿un ejemplo a seguir para los robots? ». Robótica y automatización, 1999. Actas de la Conferencia Internacional IEEE de 1999. Vol. 4. IEEE, 1999.
  16. Fujisawa, Ryusuke, et al. " Diseño de comunicación por feromonas en robótica de enjambre: comportamiento de búsqueda de alimento en grupo mediado por sustancias químicas ". Swarm Intelligence 8.3 (2014): 227-246.
  17. Sakakibara, Toshiki y Daisuke Kurabayashi. " Sistema de feromonas artificiales que utiliza RFID para la navegación de robots autónomos ". Journal of Bionic Engineering 4.4 (2007): 245-253.
  18. Arvin, Farshad, et al. " Investigación de la agregación basada en señales en entornos estáticos y dinámicos con un enjambre de robots móviles ". Adaptive Behavior (2016): 1-17.
  19. Farshad Arvin, et al. " Imitación de la agregación de abejas con el comportamiento colectivo de robots de enjambre ". International Journal of Computational Intelligence Systems 4.4 (2011): 739-748.
  20. Schmickl, Thomas, et al. " Póngase en contacto: toma de decisiones cooperativa basada en colisiones entre robots ". Autonomous Agents and Multi-Agent Systems 18.1 (2009): 133-155.
  21. Garnier, Simon, et al. " ¿Necesitan las hormigas estimar las propiedades geométricas de las bifurcaciones de senderos para encontrar una ruta eficiente? Un banco de pruebas de robótica de enjambre. " PLoS Comput Biol 9.3 (2013): e1002903.
  22. Arvin, Farshad, et al. " Agregación basada en señales con un enjambre de robots móviles: un nuevo método basado en lógica difusa ". Adaptive Behavior 22.3 (2014): 189-206.
  23. Garnier, Simon, et al. " Alicia en el país de las feromonas: Un montaje experimental para el estudio de robots con forma de hormiga ". Simposio IEEE de Inteligencia de Enjambre de 2007. IEEE, 2007.
  24. Farshad Arvin et al. " COSΦ: sistema de feromonas artificiales para la investigación de enjambres robóticos ." Conferencia Internacional IEEE/RSJ sobre Robots y Sistemas Inteligentes (IROS) 2015.
  25. Krajník, Tomáš, et al. " Un sistema práctico de localización multirobot Archivado el 16-10-2019 en Wayback Machine ." Journal of Intelligent & Robotic Systems 76.3-4 (2014): 539-562.
  26. 1 2 3 4 5 M. Dorigo, V. Maniezzo y A. Colorni, Sistema de hormigas: optimización por una colonia de agentes cooperativos , IEEE Transactions on Systems, Man, and Cybernetics--Part B, volumen 26, número 1, páginas 29-41, 1996.
  27. 1 2 M. Dorigo y LM Gambardella, Sistema de colonia de hormigas  : un enfoque de aprendizaje cooperativo para el problema del viajante , IEEE Transactions on Evolutionary Computation, volumen 1, número 1, páginas 53-66, 1997.
  28. 1 2 T. Stützle y HH Hoos, MAX MIN Ant System , Future Generation Computer Systems, volumen 16, páginas 889-914, 2000
  29. Chu SC, Roddick JF, Pan J S. Sistema de colonia de hormigas con estrategias de comunicación[J]. Ciencias de la información, 2004, 167(1-4): 63-76.
  30. X Hu, J Zhang y Y Li (2008). Métodos ortogonales basados ​​en la búsqueda por colonia de hormigas para resolver problemas de optimización continua. Journal of Computer Science and Technology , 23(1), pp.2-18.
  31. Gupta, DK; Arora, Y.; Singh, UK; Gupta, JP, "Optimización recursiva por colonia de hormigas para la estimación de parámetros de una función", 1.ª Conferencia Internacional sobre Avances Recientes en Tecnología de la Información (RAIT), vol., n.º, págs. 448-454, 15-17 de marzo de 2012
  32. Gupta, DK; Gupta, JP; Arora, Y.; Shankar, U., " Optimización recursiva de colonia de hormigas: una nueva técnica para la estimación de parámetros de funciones a partir de datos geofísicos de campo. Archivado el 21/12/2019 en Wayback Machine ", Near Surface Geophysics, vol. 11, n.º 3, págs. 325-339
  33. VKOjha, A. Abraham y V. Snasel, ACO para optimización de funciones continuas: un análisis de rendimiento , 14.ª Conferencia Internacional sobre Diseño y Aplicaciones de Sistemas Inteligentes (ISDA), Japón, páginas 145-150, 2017, 978-1-4799-7938-7/14 2014 IEEE.
  34. LM Gambardella, M. Dorigo, "Un sistema de colonia de hormigas hibridado con una nueva búsqueda local para el problema de ordenación secuencial", INFORMS Journal on Computing, vol.12(3), pp. 237-255, 2000.
  35. 1 2 3 D. Martens, M. De Backer, R. Haesen, J. Vanthienen, M. Snoeck, B. Baesens, Clasificación con optimización de colonia de hormigas , IEEE Transactions on Evolutionary Computation, volumen 11, número 5, páginas 651-665, 2007.
  36. B. Pfahring, "Búsqueda multiagente para programación abierta: adaptación del formalismo Ant-Q", Informe técnico TR-96-09, 1996.
  37. C. Blem, " Beam-ACO, Hibridación de la optimización de colonias de hormigas con búsqueda de haz. Una aplicación a la programación de talleres abiertos ", Informe técnico TR/IRIDIA/2003-17, 2003.
  38. T. Stützle, "Un enfoque de hormigas para el problema del taller de flujo", Informe técnico AIDA-97-07, 1997.
  39. A. Bauer, B. Bullnheimer, RF Hartl y C. Strauss, "Minimización de la demora total en una sola máquina mediante optimización por colonia de hormigas", Central European Journal for Operations Research and Economics, vol. 8, n.º 2, págs. 125-141, 2000.
  40. M. den Besten, "Hormigas para el problema de la tardanza total ponderada en una sola máquina", Tesis de maestría, Universidad de Ámsterdam, 2000.
  41. M, den Bseten, T. Stützle y M. Dorigo, "Optimización de colonia de hormigas para el problema de retraso ponderado total", Actas de PPSN-VI, Sexta Conferencia Internacional sobre Resolución de Problemas Paralelos de la Naturaleza, vol. 1917 de Lecture Notes in Computer Science , pp. 611-620, 2000.
  42. D. Merkle y M. Middendorf, " Un algoritmo de hormigas con una nueva regla de evaluación de feromonas para problemas de retraso total ", Aplicaciones del mundo real de la computación evolutiva, vol. 1803 de Lecture Notes in Computer Science, pp. 287-296, 2000.
  43. D. Merkle, M. Middendorf y H. Schmeck, "Optimización de colonias de hormigas para la programación de proyectos con recursos limitados", Actas de la Conferencia de Computación Genética y Evolutiva (GECCO 2000), págs. 893-900, 2000.
  44. C. Blum, " ACO aplicado a la programación de talleres grupales: un estudio de caso sobre intensificación y diversificación"," Actas de ANTS 2002, vol. 2463 de Lecture Notes in Computer Science, pp.14-27, 2002.
  45. C. Gagné, WL Price y M. Gravel, " Comparación de un algoritmo ACO con otras heurísticas para el problema de programación de una sola máquina con tiempos de preparación dependientes de la secuencia ", Journal of the Operational Research Society, vol. 53, págs. 895-906, 2002.
  46. AV Donati, V. Darley, B. Ramachandran, "Un algoritmo de puja de hormigas para el problema de programación de talleres de flujo multietapa: optimización y transiciones de fase", capítulo de libro en Advances in Metaheuristics for Hard Optimization, Springer, ISBN 978-3-540-72959-4, págs. 111-138, 2008.
  47. Han, Z., Wang, Y. y Tian, ​​D. Optimización por colonia de hormigas para la planificación de secuencias de ensamblaje basada en la optimización de parámetros. Front. Mech. Eng. 16, 393–409 (2021). https://doi.org/10.1007/s11465-020-0613-3
  48. Toth, Paolo; Vigo, Daniele (2002). "Modelos, relajaciones y enfoques exactos para el problema de enrutamiento de vehículos con capacidad limitada" . Matemáticas Aplicadas Discretas . 123 ( 1–3 ): 487–512 . doi : 10.1016/S0166-218X(01)00351-1 .
  49. JM Belenguer y E. Benavent, "Un algoritmo de plano de corte para el problema de enrutamiento de arcos con capacidad", Computers & Operations Research, vol. 30, n.º 5, págs. 705-728, 2003.
  50. TK Ralphs, "Ramificación y corte paralelos para enrutamiento de vehículos con capacidad limitada", Computación paralela, vol. 29, págs. 607-629, 2003.
  51. Salhi, S.; Sari, M. (1997). "Una heurística compuesta multinivel para el problema de la combinación de flotas de vehículos en múltiples depósitos". European Journal of Operational Research . 103 : 95–112 . doi : 10.1016/S0377-2217(96)00253-6 .
  52. Angelelli, Enrico; Speranza, Maria Grazia (2002). "El problema de enrutamiento periódico de vehículos con instalaciones intermedias". European Journal of Operational Research . 137 (2): 233– 247. doi : 10.1016/S0377-2217(01)00206-5 .
  53. Ho, Sin C.; Haugland, Dag (2002). "Una heurística de búsqueda tabú para el problema de enrutamiento de vehículos con ventanas de tiempo y entregas divididas". Computers and Operations Research . 31 (12): 1947– 1964. CiteSeerX 10.1.1.8.7096 . doi : 10.1016/S0305-0548(03)00155-2 . 
  54. Secomandi, Nicola. "Comparación de algoritmos de programación neurodinámica para el problema de enrutamiento de vehículos con demandas estocásticas". Computers & Operations Research : 2000. CiteSeerX 10.1.1.392.4034 . 
  55. WP Nanry y JW Barnes, " Resolviendo el problema de recogida y entrega con ventanas de tiempo usando búsqueda tabú reactiva ", Transportation Research Part B, vol. 34, n.º 2, págs. 107-121, 2000.
  56. R. Bent y PV Hentenryck, " Un algoritmo híbrido de dos etapas para problemas de enrutamiento de vehículos de recogida y entrega con ventanas de tiempo ", Computers & Operations Research, vol. 33, n.º 4, págs. 875-893, 2003.
  57. 1 2 L.M. Gambardella, E. Taillard, G. Agazzi, "MACS-VRPTW: Un sistema de colonia de hormigas múltiple para problemas de enrutamiento de vehículos con ventanas de tiempo", En D. Corne, M. Dorigo y F. Glover, editores, Nuevas ideas en optimización, McGraw-Hill, Londres, Reino Unido, págs. 63-76, 1999.
  58. Bachem, A.; Hochstättler, W.; Malich, M. (1996). "La heurística de comercio simulado para resolver problemas de enrutamiento de vehículos" . Matemáticas Aplicadas Discretas . 65 ( 1–3 ): 47–72 . doi : 10.1016/0166-218X(95)00027-O .
  59. Hong, Sung-Chul; Park, Yang-Byung (1999). "Una heurística para el enrutamiento de vehículos con dos objetivos y restricciones de ventana de tiempo". International Journal of Production Economics . 62 (3): 249– 258. doi : 10.1016/S0925-5273(98)00250-3 .
  60. Russell, Robert A.; Chiang, Wen-Chyuan (2006). "Búsqueda dispersa para el problema de enrutamiento de vehículos con ventanas de tiempo". European Journal of Operational Research . 169 (2): 606– 622. doi : 10.1016/j.ejor.2004.08.018 .
  61. AV Donati, R. Montemanni, N. Casagrande, AE Rizzoli, LM Gambardella, " Problema de enrutamiento de vehículos dependiente del tiempo con un sistema de colonias de hormigas múltiples ", European Journal of Operational Research, vol.185, no.3, pp.1174–1191, 2008.
  62. Stützle, Thomas (1997). "Sistema de hormigas MAX-MIN para problemas de asignación cuadrática". CiteSeerX 10.1.1.47.5167 .  Stützle, Thomas (julio de 1997). Sistema de hormigas MAX-MIN para problemas de asignación cuadrática (Informe técnico). TU Darmstadt, Alemania: FG Intellektik. AIDA–97–4.
  63. R. Lourenço y D. Serra " Heurísticas de búsqueda adaptativa para el problema de asignación generalizado ", Mathware & soft computing, vol. 9, n.º 2-3, 2002.
  64. M. Yagiura, T. Ibaraki y F. Glover, " Un enfoque de cadena de eyección para el problema de asignación generalizado ", INFORMS Journal on Computing, vol. 16, n.º 2, págs. 133–151, 2004.
  65. KI Aardal, SPM van Hoesel , AMCA Koster, C. Mannino y Antonio Sassano, "Modelos y técnicas de solución para el problema de asignación de frecuencias", A Quarterly Journal of Operations Research, vol. 1, n.º 4, págs. 261-317, 2001.
  66. YC Liang y AE Smith, " Un algoritmo de optimización de colonia de hormigas para el problema de asignación de redundancia (RAP) ", IEEE Transactions on Reliability, vol. 53, n.º 3, págs. 417-423, 2004.
  67. G. Leguizamon y Z. Michalewicz, " Una nueva versión del sistema de hormigas para problemas de subconjuntos ", Actas del Congreso de Computación Evolutiva de 1999 (CEC 99), vol. 2, págs. 1458-1464, 1999.
  68. R. Hadji, M. Rahoual, E. Talbi y V. Bachelet "Colonias de hormigas para el problema de cobertura de conjuntos", Resúmenes de las actas de ANTS2000, págs. 63-66, 2000.
  69. V Maniezzo y M Milandri, " Un marco basado en hormigas para problemas con restricciones muy fuertes ", Actas de ANTS2000, págs. 222-227, 2002.
  70. R. Cordone y F. Maffioli," Sistema de hormigas coloreadas y búsqueda local para diseñar redes de telecomunicaciones locales," Aplicaciones de la computación evolutiva: Actas de los talleres Evo, vol. 2037, págs. 60-69, 2001.
  71. C. Blum y MJ Blesa, " Metaheurísticas para el problema del árbol de k-cardinalidad ponderado por aristas ", Informe técnico TR/IRIDIA/2003-02, IRIDIA, 2003.
  72. S. Fidanova, "Algoritmo ACO para MKP utilizando diversa información heurística" , Métodos Numéricos y Aplicaciones, vol. 2542, págs. 438-444, 2003.
  73. G. Leguizamon, Z. Michalewicz y Martin Schutz, " Un sistema de hormigas para el problema del conjunto independiente máximo ", Actas del Congreso Argentino de Ciencias de la Computación de 2001, vol. 2, págs. 1027-1040, 2001.
  74. O. Okobiah, SP Mohanty y E. Kougianos, " Algoritmo de colonia de hormigas asistido por metamodelo de kriging ordinario para la optimización rápida del diseño analógico Archivado el 4 de marzo de 2016 en Wayback Machine ", en Actas del 13.º Simposio Internacional IEEE sobre Diseño Electrónico de Calidad (ISQED), págs. 458-463, 2012.
  75. M. Sarkar, P. Ghosal y SP Mohanty, " Síntesis de circuitos reversibles utilizando el método Quinne-McCluskey basado en ACO y SA, archivado el 29 de julio de 2014 en Wayback Machine ", en Actas del 56.º Simposio Internacional IEEE del Medio Oeste sobre Circuitos y Sistemas (MWSCAS), 2013, págs. 416-419.
  76. 1 2 3 Ermolaev SY, Slyusar VI Síntesis de antenas basada en el algoritmo de optimización de colonia de hormigas.// Actas de ICATT'2009, Lviv, Ucrania, 6-9 de octubre de 2009. - Páginas 298-300
  77. Marcus Randall, Andrew Lewis, Amir Galehdar, David Thiel. Uso de la optimización por colonia de hormigas para mejorar la eficiencia de antenas RFID de línea meandriforme pequeña. // En la 3.ª Conferencia Internacional IEEE sobre e-ciencia y computación en malla, 2007
  78. S. Meshoul y M. Batouche, " Sistema de colonia de hormigas con dinámica extremal para coincidencia de puntos y estimación de pose ", Actas de la 16.ª Conferencia Internacional sobre Reconocimiento de Patrones, vol. 3, págs. 823-826, 2002.
  79. H. Nezamabadi-pour, S. Saryazdi y E. Rashedi, " Detección de bordes mediante algoritmos de hormigas ", Soft Computing, vol. 10, n.º 7, págs. 623-628, 2006.
  80. Tian, ​​Jing; Yu, Weiyu; Xie, Shengli (2008). "Un algoritmo de optimización por colonia de hormigas para la detección de bordes de imágenes". Congreso IEEE de Computación Evolutiva de 2008 (Congreso Mundial IEEE de Inteligencia Computacional) . págs. 751–756 . doi : 10.1109/CEC.2008.4630880 . ISBN  978-1-4244-1822-0. S2CID 1782195 . 
  81. Gupta, Charu; Gupta, Sunanda. "Detección de bordes de una imagen basada en la técnica de optimización por colonia de hormigas" .
  82. Jevtić, A.; Quintanilla-Dominguez, J.; Cortina-Januchs, MG; Andina, D. (2009). "Detección de bordes mediante algoritmo de búsqueda por colonia de hormigas y mejora del contraste multiescala". 2009 IEEE International Conference on Systems, Man and Cybernetics . pp. 2193–2198 . doi : 10.1109/ICSMC.2009.5345922 . ISBN  978-1-4244-2793-2. S2CID 11654036 . 
  83. "Intercambio de archivos: optimización por colonia de hormigas (ACO)" . MATLAB Central . 21 de julio de 2023.
  84. Jevtić, A.; Melgar, I.; Andina, D. (2009). "Algoritmo de enlace de aristas basado en hormigas". 35.ª Conferencia Anual de Electrónica Industrial del IEEE , 3-5 de noviembre de 2009. IECON '09. págs. 3353-3358 . doi : 10.1109/IECON.2009.5415195 . ISBN  978-1-4244-4648-3. S2CID 34664559 . 
  85. Zhang, Y. (2013). "Un modelo basado en reglas para la predicción de quiebras basado en un algoritmo genético de colonia de hormigas mejorado" . Problemas matemáticos en ingeniería . 2013 753251. doi : 10.1155/2013/753251 .
  86. Sattarvand, Javad (2015). "Planificación de la producción a largo plazo de minas a cielo abierto mediante optimización por colonia de hormigas". European Journal of Operations Research . 240 .
  87. GD Caro y M. Dorigo, "Extending AntNet for best-effort quality-of-service routing," Actas del Primer Taller Internacional sobre Optimización de Colonias de Hormigas (ANTS'98), 1998.
  88. GD Caro y M. Dorigo " AntNet: un enfoque de agentes móviles para el enrutamiento adaptativo ", Actas de la Trigésimo Primera Conferencia Internacional de Hawái sobre Ciencias de Sistemas, vol. 7, págs. 74-83, 1998.
  89. GD Caro y M. Dorigo, " Dos algoritmos de colonia de hormigas para enrutamiento de mejor esfuerzo en redes de datagramas ", Actas de la Décima Conferencia Internacional IASTED sobre Computación y Sistemas Paralelos y Distribuidos (PDCS'98), págs. 541-546, 1998.
  90. D. Martens, B. Baesens, T. Fawcett " Encuesta editorial: Inteligencia de enjambre para la minería de datos ", Machine Learning, volumen 82, número 1, págs. 1-42, 2011
  91. RS Parpinelli, HS Lopes y A. A Freitas, " Un algoritmo de colonia de hormigas para el descubrimiento de reglas de clasificación ", Minería de datos: un enfoque heurístico, págs. 191-209, 2002.
  92. RS Parpinelli, HS Lopes y A. A Freitas, " Minería de datos con un algoritmo de optimización de colonia de hormigas "," IEEE Transactions on Evolutionary Computation, vol.6, no.4, pp.321-332, 2002.
  93. WN Chen, J. ZHANG y H. Chung, " Optimización de flujos de efectivo descontados en la programación de proyectos: un enfoque de optimización por colonia de hormigas ", IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews Vol.40 No.5 pp.64-77, enero de 2010.
  94. D. Picard, A. Revel, M. Cord, "Una aplicación de la inteligencia de enjambre a la recuperación distribuida de imágenes", Information Sciences, 2010
  95. D. Picard, M. Cord, A. Revel, " Recuperación de imágenes en redes  : aprendizaje activo mediante el algoritmo de hormigas ", IEEE Transactions on Multimedia, vol. 10, n.º 7, págs. 1356-1365 - noviembre de 2008
  96. Warner, Lars; Vogel, Ute (2008). Optimización de redes de suministro de energía mediante optimización por colonia de hormigas (PDF) . Environmental Informatics and Industrial Ecology — 22.ª Conferencia Internacional sobre Informática para la Protección del Medio Ambiente. Aquisgrán, Alemania: Shaker Verlag. ISBN 978-3-8322-7313-2. Consultado el 09-10-2018 .
  97. WN Chen y J. ZHANG "Enfoque de optimización por colonia de hormigas para el problema de programación de flujos de trabajo en la red con diversos requisitos de QoS", IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews, Vol. 31, No. 1, pp.29-43, enero de 2009.
  98. 1 2 Zaidman, Daniel; Wolfson, Haim J. (2016-08-01). "PinaColada: algoritmo de diseño ad hoc de colonia de hormigas inhibidoras de péptidos" . Bioinformatics . 32 (15): 2289– 2296. doi : 10.1093/bioinformatics/btw133 . ISSN 1367-4803 . PMID 27153578 .  
  99. Xiao. M.Hu, J. ZHANG y H. Chung, " Un sistema de pruebas inteligente integrado con un método de composición de pruebas basado en optimización de colonia de hormigas ", IEEE Transactions on Systems, Man, and Cybernetics--Part C: Applications and Reviews, Vol. 39, No. 6, pp. 659-669, diciembre de 2009.
  100. J. ZHANG, H. Chung, WL Lo y T. Huang, " Algoritmo de optimización de colonia de hormigas extendido para el diseño de circuitos electrónicos de potencia ", IEEE Transactions on Power Electronic. Vol. 24, No. 1, pp. 147-162, enero de 2009.
  101. XM Hu, J. ZHANG, J. Xiao y Y. Li, " Plegamiento de proteínas en un modelo de red polar hidrofóbica: un enfoque de optimización de colonia de hormigas flexible ", Protein and Peptide Letters, Volumen 15, Número 5, 2008, Págs. 469-477.
  102. A. Shmygelska, RA Hernández y HH Hoos, " Un algoritmo de optimización de colonia de hormigas para el problema de plegamiento de proteínas HP en 2D"," Actas del 3er Taller Internacional sobre Algoritmos de Hormigas/ANTS 2002, Lecture Notes in Computer Science, vol. 2463, pp. 40-52, 2002.
  103. M. Nardelli; L. Tedesco; A. Bechini (marzo de 2013). "Comportamiento de la red cruzada del plegamiento ACO general para proteínas en el modelo HP". SAC '13: Actas del 28.º Simposio Anual de la ACM sobre Computación Aplicada . págs. 1320–1327 . doi : 10.1145/2480362.2480611 . ISBN  978-1-4503-1656-9. S2CID 1216890 . 
  104. L. Wang y QD Wu, "Identificación de parámetros de sistemas lineales basada en el algoritmo del sistema de hormigas", Actas de la Conferencia IEEE sobre Aplicaciones de Control, págs. 401-406, 2001.
  105. KC Abbaspour, R. Schulin , MT Van Genuchten, " Estimación de parámetros hidráulicos de suelos no saturados mediante optimización por colonia de hormigas ", Advances In Water Resources, vol. 24, n.º 8, págs. 827-841, 2001.
  106. Shmygelska, Alena; Hoos, Holger H. (2005). "Un algoritmo de optimización de colonia de hormigas para el problema del plegamiento de proteínas polares hidrofóbicas 2D y 3D" . BMC Bioinformatics . 6 30. doi : 10.1186/1471-2105-6-30 . PMC 555464. PMID 15710037 .  
  107. Fred W. Glover, Gary A. Kochenberger, Manual de metaheurísticas ,, Springer (2003)
  108. "Ciad-Lab | " (PDF) .
  109. WJ Gutjahr, Algoritmos ACO con convergencia garantizada a la solución óptima ,(2002)
  110. Santpal Singh Dhillon, Algoritmos de enrutamiento, búsqueda y estimación de topología de hormigas para redes ad hoc ,, IOS Press, (2008)
  111. A. Ajith; G. Crina; R. Vitorino (editores), Optimización estigmérgica , Estudios en inteligencia computacional, volumen 31, 299 páginas, 2006. ISBN 978-3-540-34689-0
  112. Pelikan, Martin; Goldberg, David E.; Cantú-Paz, Erick (julio de 1999). "BOA: El algoritmo de optimización bayesiana" . GECCO'99: Actas de la 1.ª Conferencia Anual sobre Computación Genética y Evolutiva - Volumen 1. Morgan Kaufmann Publishers. págs. 525–532 . ISBN  978-1-55860-611-1.
  113. Pelikan, Martin (2005). Algoritmo de optimización bayesiana jerárquica: hacia una nueva generación de algoritmos evolutivos (1.ª ed.). Berlín: Springer. ISBN  978-3-540-23774-7.
  114. Thierens, Dirk (11 de septiembre de 2010). «El algoritmo genético del árbol de enlace». Resolución de problemas paralelos inspirada en la naturaleza, PPSN XI . págs. 264–273 . doi : 10.1007/978-3-642-15844-5_27 . ISBN  978-3-642-15843-8. S2CID 28648829 . 
  115. Martins, Jean P.; Fonseca, Carlos M.; Delbem, Alexandre CB (25 de diciembre de 2014). "Sobre el rendimiento de los algoritmos genéticos de árbol de enlace para el problema de la mochila multidimensional". Neurocomputing . 146 : 17–29 . doi : 10.1016/j.neucom.2014.04.069 .
  116. P.-P. Grassé, La reconstrucción del nid y las coordinaciones interindividuelles chez Belicositermes natalensis et Cubitermes sp. La théorie de la Stigmergie  : Essai d'interprétation du comportement des termites constructeurs , Insectes Sociaux, número 6, p. 41-80, 1959.
  117. JL Denebourg, JM Pasteels y JC Verhaeghe, Comportamiento probabilístico en hormigas  : ¿una estrategia de errores?, Journal of Theoretical Biology, número 105, 1983.
  118. F. Moyson, B. Manderick, El comportamiento colectivo de las hormigas  : un ejemplo de autoorganización en paralelismo masivo , Actas del Simposio de Primavera de la AAAI sobre Modelos Paralelos de Inteligencia, Stanford, California, 1988.
  119. ^ S. Goss, S. Aron, J.-L. Deneubourg y J.-M. Pasteels, Atajos autoorganizados en la hormiga argentina , Naturwissenschaften, tomo 76, páginas 579-581, 1989
  120. M. Ebling, M. Di Loreto, M. Presley, F. Wieland y D. Jefferson, Un modelo de búsqueda de alimento de hormigas implementado en el sistema operativo Time Warp , Actas de la Multiconferencia SCS sobre Simulación Distribuida, 1989
  121. Dorigo M., V. Maniezzo et A. Colorni, La retroalimentación positiva como estrategia de búsqueda , técnica de rapport número 91-016, Dip. Elettronica, Politecnico di Milano, Italia, 1991
  122. Appleby, S. y Steward, S. Agentes de software móviles para el control en redes de telecomunicaciones, BT Technol. J., 12(2):104–113, abril de 1994
  123. LM Gambardella y M. Dorigo, "Ant-Q: un enfoque de aprendizaje por refuerzo para el problema del viajante", Actas de ML-95, Duodécima Conferencia Internacional sobre Aprendizaje Automático, A. Prieditis y S. Russell (Eds.), Morgan Kaufmann, págs. 252–260, 1995
  124. LM Gambardella y M. Dorigo, "Resolución de problemas del viajante simétricos y asimétricos mediante colonias de hormigas", Actas de la Conferencia IEEE sobre Computación Evolutiva, ICEC96, Nagoya, Japón, 20-22 de mayo, págs. 622-627, 1996;
  125. ^ R. Schoonderwoerd, O. Holland, J. Bruten et L. Rothkrantz, Equilibrio de carga basado en hormigas en redes de telecomunicaciones , Adaptive Behaviour, volumen 5, número 2, páginas 169-207, 1997
  126. M. Dorigo, ANTS' 98, De colonias de hormigas a hormigas artificiales  : Primer taller internacional sobre optimización de colonias de hormigas, ANTS 98 , Bruselas, Bélgica, octubre de 1998.
  127. T. Stützle, Estrategias de paralelización para la optimización por colonia de hormigas , Actas de PPSN-V, Quinta Conferencia Internacional sobre Resolución de Problemas Paralelos inspirada en la naturaleza, Springer-Verlag, volumen 1498, páginas 722-731, 1998.
  128. É. Bonabeau, M. Dorigo y G. Theraulaz, Inteligencia de enjambre , Oxford University Press, 1999.
  129. M. Dorigo, G. Di Caro y T. Stützle, Número especial sobre "Algoritmos de hormigas"" , Sistemas informáticos de generación futura, volumen 16, número 8, 2000
  130. WJ Gutjahr, Un sistema de hormigas basado en grafos y su convergencia , Future Generation Computer Systems, volumen 16, páginas 873-888, 2000.
  131. S. Iredi, D. Merkle y M. Middendorf, Optimización bicriterio con algoritmos de hormigas de colonias múltiples , Optimización multicriterio evolutiva, Primera Conferencia Internacional (EMO'01), Zúrich, Springer Verlag, páginas 359-372, 2001.
  132. L. Bianchi, LM Gambardella y M. Dorigo, Un enfoque de optimización de colonia de hormigas para el problema probabilístico del viajante de comercio , PPSN-VII, Séptima Conferencia Internacional sobre Resolución de Problemas Paralelos de la Naturaleza, Lecture Notes in Computer Science, Springer Verlag, Berlín, Alemania, 2002.
  133. M. Dorigo y T. Stützle, Optimización por colonia de hormigas , MIT Press, 2004.
  134. B. Prabhakar, KN Dektar, DM Gordon, "La regulación de la actividad de forrajeo de colonias de hormigas sin información espacial", PLOS Computational Biology, 2012. URL: http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1002670
  135. Mladineo, Marko; Veza, Ivica; Gjeldum, Nikola (2017). "Resolución del problema de selección de socios en redes de producción ciberfísicas mediante el algoritmo HUMANT". International Journal of Production Research . 55 (9): 2506– 2521. doi : 10.1080/00207543.2016.1234084 . S2CID 114390939 . 

Publicaciones (seleccionadas)

  • M. Dorigo , 1992. Optimización, aprendizaje y algoritmos naturales , tesis doctoral, Politécnico de Milán, Italia.
  • M. Dorigo, V. Maniezzo y A. Colorni, 1996. " Sistema de hormigas: optimización por una colonia de agentes cooperativos ", IEEE Transactions on Systems, Man, and Cybernetics–Part B, 26 (1): 29–41.
  • M. Dorigo y LM Gambardella , 1997. " Sistema de colonia de hormigas: un enfoque de aprendizaje cooperativo para el problema del viajante ". IEEE Transactions on Evolutionary Computation, 1 (1): 53–66.
  • M. Dorigo, G. Di Caro y LM Gambardella, 1999. " Algoritmos de hormigas para optimización discreta. Archivado el 6 de octubre de 2018 en Wayback Machine ". Artificial Life, 5 (2): 137–172.
  • E. Bonabeau, M. Dorigo y G. Theraulaz, 1999. Inteligencia de enjambre: De los sistemas naturales a los artificiales , Oxford University Press. ISBN 0-19-513159-2
  • M. Dorigo y T. Stützle, 2004. Optimización por colonia de hormigas , MIT Press. ISBN 0-262-04219-3
  • M. Dorigo, 2007. "Optimización de colonias de hormigas" . Scholarpedia.
  • C. Blum, 2005 " Optimización de colonias de hormigas: Introducción y tendencias recientes ". Physics of Life Reviews, 2: 353-373
  • M. Dorigo, M. Birattari y T. Stützle, 2006 Optimización de colonias de hormigas: hormigas artificiales como técnica de inteligencia computacional . TR/IRIDIA/2006-023
  • Mohd Murtadha Mohamad,"Planificación de movimiento de robots articulados utilizando la estrategia de hormigas forrajeras", Journal of Information Technology - Special Issues in Artificial Intelligence, Vol. 20, No. 4 pp.  163–181, diciembre de 2008, ISSN 0128-3790 . 
  • N. Monmarché, F. Guinand & P. ​​Siarry (eds), "Artificial Ants", agosto de 2010 Tapa dura 576 págs. ISBN  978-1-84821-194-0.
  • A. Kazharov, V. Kureichik, 2010. " Algoritmos de optimización de colonias de hormigas para resolver problemas de transporte ", Journal of Computer and Systems Sciences International, Vol. 49. No. 1. pp.  30–43.
  • CM. Pintea, 2014, Avances en computación bioinspirada para problemas de optimización combinatoria , Springer ISBN 978-3-642-40178-7
  • K. Saleem, N. Fisal, MA Baharudin, AA Ahmed, S. Hafizah y S. Kamilah, «Protocolo de enrutamiento autooptimizado inspirado en colonias de hormigas basado en arquitectura de capas cruzadas para redes de sensores inalámbricas», WSEAS Trans. Commun., vol. 9, n.º 10, págs.  669–678, 2010. ISBN 978-960-474-200-4
  • K. Saleem y N. Fisal, «Algoritmo de colonia de hormigas mejorado para enrutamiento con garantía de datos autooptimizado en redes de sensores inalámbricas», 18.ª Conferencia Internacional IEEE sobre Redes (ICON) 2012, págs.  422-427. ISBN 978-1-4673-4523-1
  • Abolmaali S, Roodposhti FR. Optimización de cartera mediante el método de colonia de hormigas: un estudio de caso en la Bolsa de Valores de Teherán. Revista de Contabilidad. 2018 Mar;8(1).
  • Página de Scholarpedia sobre la optimización por colonia de hormigas
  • Página principal de Optimización por Colonia de Hormigas
  • "Optimización mediante colonias de hormigas" - Comunidad científica y de investigación rusa
  • AntSim - Simulación de algoritmos de colonias de hormigas
  • MIDACO-Solver Software de optimización de propósito general basado en la optimización por colonia de hormigas (Matlab, Excel, VBA, C/C++, R, C#, Java, Fortran y Python)
  • Universidad de Kaiserslautern, Alemania, AG Wehn: Visualización mediante applet de optimización por colonia de hormigas del problema del viajante resuelto por un sistema de hormigas con numerosas opciones y parámetros (Applet Java).
  • Simulación del algoritmo de las hormigas (Applet de Java)
  • Marco de trabajo del sistema de colonia de hormigas de Java
  • Implementación del algoritmo de optimización por colonia de hormigas (cuaderno de Python)