Vous êtes sur la page 1sur 10

Metaheurística de Optimización mediante

Colonias de Hormigas y Aplicaciones


Evelyn Menéndez Alonso
evelynma@uclv.edu.cu

Resumen: La mayoría de los Problemas de un procedimiento para resolver un problema de


Optimización Combinatoria de interés científico o
optimización bien definido mediante una
práctico están incluidos en la clase NP-completos,
ya que no existen algoritmos exactos con aproximación intuitiva, en la que la estructura del
complejidad polinómica que permitan resolverlos.
problema se utiliza de forma inteligente para obtener
Debido a su intratabilidad, se han diseñado una
gran cantidad de métodos aproximados, los cuales una buena solución [1]. Luego, con el propósito de
encuentran buenas soluciones en tiempos
obtener mejores resultados que los alcanzados por los
razonables. Uno de estos métodos es la
metaheurística de Optimización mediante heurísticos tradicionales surgen los denominados
Colonias de Hormigas (ACO); que tiene su fuente
procedimientos metaheurísticos. Los procedimientos
de inspiración en el comportamiento de las
hormigas reales, que minimizan el recorrido entre metaheurísticos son una clase de métodos
su colonia y cualquier fuente de abastecimiento,
aproximados que están diseñados para resolver
basándose fundamentalmente en los rastros de
feromona que van dejando a su paso. Para la problemas difíciles de optimización combinatoria, en
metaheurística ACO se han propuesto varios
los que los heurísticos clásicos no son efectivos. Los
algoritmos, que desde su surgimiento han probado
su amplia aplicabilidad y eficiencia en la solución metaheurísticos proporcionan un marco general para
de Problemas de Optimización Combinatoria.
crear nuevos algoritmos híbridos combinando
Palabras Claves: Optimización mediante Colonias diferentes conceptos derivados de la inteligencia
de Hormigas, Sistema de Hormigas, Sistema
artificial, la evolución biológica y los mecanismos
Colonia de Hormigas, Sistema de Hormigas Max-
Min, Sistema de Hormigas con Ordenación, estadísticos [2, 3].
Sistema Mejor-Peor Hormiga, ACO en Dos
Se han desarrollado varias metaheurísticas para
Etapas.
solucionar problemas de optimización, entre ellas se
I. INTRODUCCIÓN encuentran: Búsqueda Tabú [4], Recocido Simulado
[5], GRASP [6], Algoritmos Genéticos [7],
La existencia de una gran cantidad y variedad de
Optimización mediante Mallas Dinámicas o Dynamic
Problemas de Optimización Combinatoria incluidos
Mesh Optimization (MDO) [8], Optimización basada
en la clase NP-completos que necesitan ser resueltos
en Enjambre de Partículas o Particle Swarm
de forma eficiente, impulsó el desarrollo de
Optimization (PSO) [9, 10] y Optimización basada en
procedimientos para encontrar buenas soluciones,
Colonias de Hormigas [11, 12], de esta última
aunque no fueran óptimas. Estos métodos, en los que
incluida en la categoría de los algoritmos
la rapidez del proceso es tan importante como la
bioinspirados o de vida artificial e inteligencia
calidad de la solución obtenida, se denominan
colectiva [13], trataremos el presente trabajo.
heurísticos o aproximados. Un método heurístico es
II. METAHEURÍSTICA DE OPTIMIZACIÓN MEDIANTE corto alcanzarán el otro extremo más rápido que las
COLONIAS DE HORMIGAS
que tomaron el camino más largo, quedando
depositada mayor cantidad de feromona por unidad
La metaheurística Optimización mediante Colonias
de longitud, como ilustra la figura (c). La mayor
de Hormigas o Ant Colony Optimization [14],
densidad de feromonas depositadas en el trayecto más
propuesta para resolver problemas complejos de
corto hace que éste sea más deseable para las
optimización combinatoria, tiene su fuente de
siguientes hormigas y por lo tanto, la mayoría elige
inspiración en el comportamiento de colonias de
transitar por él. Considerando que la evaporación de
hormigas reales. Las hormigas son capaces de seguir
la sustancia química hace que los caminos menos
la ruta más corta en su camino de ida y vuelta entre la
transitados sean cada vez menos deseables y la
colonia y una fuente de abastecimiento. Al
realimentación positiva en el camino con más
desplazarse cada una va dejando un rastro de una
feromona, resulta claro que al cabo de un tiempo casi
sustancia química llamada feromona a lo largo del
todas las hormigas transiten por el camino más corto,
camino seguido, "transmitiéndose información" entre
como se ilustra en la figura (d) [16].
ellas de esta forma [15]. Las feromonas forman un
sistema indirecto de comunicación química entre
animales de una misma especie, que transmiten
información acerca del estado fisiológico,
reproductivo y social, así como la edad, el sexo y el
parentesco del animal emisor, las cuales son recibidas
en el sistema olfativo del animal receptor, quien
interpreta esas señales, jugando un papel importante
en la organización y la supervivencia de muchas
especies [16].
Figura 1: Comportamiento de las hormigas reales.
Al iniciar la búsqueda de alimento, una hormiga
aislada se mueve a ciegas, es decir, sin ninguna señal
En analogía con el ejemplo biológico, ACO se basa
que pueda guiarla, pero las que le siguen deciden con
en la comunicación indirecta de una colonia de
buena probabilidad seguir el camino con mayor
agentes simples, llamados hormigas (artificiales), por
cantidad de feromona. Considere la Figura 1 donde se
medio de la huella de feromona (artificial). La huella
observa cómo las hormigas establecen el camino más
de feromona en ACO sirve como información
corto. En la figura (a) las hormigas llegan a un punto
numérica distribuida, que las hormigas usan para la
donde tienen que decidir por uno de los caminos que
construcción probabilística de soluciones del
se les presenta, lo que resuelven de manera aleatoria.
problema a resolver y la adaptan durante la ejecución
En consecuencia, la mitad de las hormigas se
del algoritmo para reflejar su experiencia de búsqueda
dirigirán hacia un extremo y la otra mitad hacia el
[17]. La estructura de un algoritmo genérico de la
otro extremo, como ilustra la figura (b). Ya que las
metaheurística ACO es la siguiente:
hormigas se mueven aproximadamente a una
velocidad constante, las que eligieron el camino más
1 procedimiento metaheurística_ACO() 3 L = actualiza_memoria_hormiga()
2 inicialización_de_parámetros 4 mientras (estado_actual ≠ estado_objetivo)
3 mientras (criterio_de_terminación_no_satisfecho) 5 P = calcular_probabilidades_de_transición(A,L,W)
4 programación_de_actividades 6 siguiente_estado = aplicar_política_decisión(P,W)
5 hormigas_y_actividad() 7 mover_al_siguiente_estado(siguiente_estado)
6 evaporación_de_feromona() si (actualización_feromona_en_línea_paso_a_paso)
7 acciones_del_demonio() {opcional} 8 depositar_feromona_en_el_arco_vistado()
8 fin programación_de_actividades fin si
9 fin mientras 9 L = actualizar_estado_interno()
10 fin procedimiento 10 fin mientras
si (actualización_feromona_en_línea_a_posteriori)
1 procedimiento hormigas_y_actividad() 11 para cada arco visitado
2 repetir en paralelo desde k=1 hasta número_hormigas 12 depositar_feromona_en_el_arco_visitado()
3 nueva_hormiga(k) 13 fin para
4 fin repetir en paralelo fin si
5 fin procedimiento 14 liberar_recursos_hormiga(id_Hormiga)
15 fin Procedimiento
1 procedimiento nueva_hormiga(id_hormiga)
2 inicializa_hormiga(id_hormiga)
hormigas artificiales; la evaporación de feromona,
Las hormigas de la colonia se mueven, que se usa como un mecanismo para evitar el
concurrentemente y de manera asíncrona, a través de estancamiento en la búsqueda y permitir que la
los estados adyacentes de un problema, que puede hormigas busquen y exploren nuevas regiones del
representarse en forma de grafo con pesos. Este espacio; y las acciones del demonio, utilizadas para
movimiento se realiza siguiendo una regla de implementar tareas desde una perspectiva global que
transición basada en la información local disponible no pueden llevar a cabo las hormigas, por ejemplo,
en las componentes o nodos. Esta información observar la calidad de todas las soluciones generadas
incluye una heurística y una memorística (rastros de y depositar una nueva cantidad de feromona adicional
feromona) para guiar la búsqueda. La en las transiciones asociadas a algunas soluciones. El
inicialización_de_parámetros depende del algoritmo procedimiento actualiza_memoria_hormiga() se encarga
específico, generalmente deben tenerse en cuenta de especificar el estado inicial desde el que la
parámetros como: el rastro inicial de feromona hormiga comienza su camino y además almacenar la
asociado a cada transición o arco, el número de componente correspondiente en la memoria de la
hormigas en la colonia, los pesos que definen la hormiga L. La decisión sobre cuál será el nodo inicial
proporción en la que afectarán la información depende del algoritmo específico. En los
heurística y memorística en la regla de transición procedimientos calcular_probabilidades_de_transición y
probabilística. En programación_de_actividades se aplicar_política_decisión se tienen en consideración el
controla la planificación de tres componentes: la estado actual de la hormiga y el conjunto de arcos del
generación y puesta en funcionamiento de las grafo (A), los valores actuales de la feromona visibles
en dicho nodo y las restricciones del problema (W) k
donde: N i es el vecindario alcanzable por la hormiga
para establecer el proceso de transición probabilístico
k cuando se encuentra en el nodo i; α es el factor de
hacia otros estados válidos. La
escalado de feromona y β el de visibilidad, ambos se
actualización_feromona_en_línea_paso_a_paso es el
procedimiento donde se actualiza el rastro de usan para afinar el proceso de búsqueda; τ ij el valor
feromona asociado a un arco, cuando la hormiga se de feromona en el arco que une los nodos i y j; η ij se
mueve entre los nodos que este conecta. Una vez que
denomina función de visibilidad, que depende
la hormiga ha construido la solución puede
totalmente de las características del problema que se
reconstruir el camino recorrido y actualizar los rastros
va a resolver, por ejemplo para el TSP es 1 / d ij ,
de feromona de los arcos visitados mediante el
procedimiento llamado donde d ij es la distancia entre las ciudades i y j.
actualización_feromona_en_línea_a_posteriori [12, 18].
Luego se comparan para todas las hormigas sus
Se han propuesto varios modelos de la metaheurística
soluciones encontradas con la mejor hasta el
ACO, entre ellos se encuentran: Sistema de Hormigas
momento y se modifica esta si alguna de las
o Ant System (AS) [14], Sistema Colonia de
encontradas la mejora. En la actualización de la
Hormigas o Ant Colony System (ACS) [11], Sistema
huella de feromona se evapora una proporción
de Hormigas Max-Min o Max-Min Ant System
constante de feromona en cada arco y luego cada
(MMAS) [19], Sistema de Hormigas con Ordenación
hormiga una vez que la solución está completa
o Rank-Based Ant System [20], Sistema Mejor-Peor
deposita una cantidad de feromona en dependencia de
Hormiga o Best-Worst Ant System [21, 22] y ACO
la calidad de su solución, o sea, actualización en línea
en Dos Etapas o Two-Step Ant Colony Optimization
a posteriori [14, 25].
(TS-ACO) [23, 24].

B. Algoritmo Sistema Colonia de Hormigas


III. ALGORITMOS DE LA METAHEURISTICA ACO

El algoritmo Sistema Colonia de Hormigas se


A. Algoritmo Sistema de Hormigas
diferencia del AS en la regla de transición
denominada regla proporcional pseudo-aleatoria, que
En el algoritmo Sistema de Hormigas se construyen
las soluciones de la siguiente forma: para cada [ ]
utiliza el parámetro q 0 ∈ 0,1 y el valor aleatorio
hormiga k en cada paso de construcción se escoge ir
q ∈ [0,1] Pijk
y calcula como sigue:
del nodo i al siguiente nodo j, ∀j , con una
si q ≤ q 0
probabilidad Pijk
⎧⎪1, si j = max j∈N k τ ij *ηijβ { }⎫⎪
(τ ) * (η ) α β
P =⎨k
ij
i

pijk = j ∈ N ik ⎪⎩0, otros casos ⎪⎭
ij ij

∑ (τ ) * (η )
α β
si
ij ij
j∈N ik
si q > q 0 algoritmo AS. Para explotar la mejor solución durante

(τ ) * (η ) α β
una iteración o durante la corrida del algoritmo,

pijk = j ∈ N ik
ij ij
después de cada iteración, solamente una simple
∑ (τ ) * (η )
α β
si
ij ij hormiga adiciona feromona, esta puede ser una de las
j∈N ik
que encuentren la mejor solución de una iteración o la
También existen diferencias en cuanto a la
mejor solución global. La regla de modificación de la
actualización de los rastros de feromona, pues en
huella de feromona está dada por:
ACS las hormigas depositan feromona mientras
construyen sus soluciones, es decir, actualización en
τ ij ← ρτ ij + Δτ ijmejor ,
línea paso a paso, que incluye además la evaporación donde Δτ ijmejor = 1 / f ( s mejor ) y f ( s mejor ) denota el
de feromona. Cada vez que una hormiga viaja por un
im
costo de cualquiera de las mejores iteraciones ( s ) o
nodo aplica la regla:
t ij ← (1 − ϕ ) * t ij + t 0 la mejor solución global ( s
mg
) , ρ es un parámetro
entre 0 y 1 que indica la persistencia de la feromona

donde ϕ ∈ (0,1] es un parámetro de decremento de (1- ρ modela la evaporación). Para evitar el


estancamiento de la búsqueda, MMAS impone
feromona. Por otra parte el demonio actualiza la
explícitamente el rango posible del valor de la huella
feromona, o sea, se realiza una actualización de
de feromona en cada componente de la solución o
feromona fuera de la línea de los rastros, para esto el
arco, esta debe estar limitada para el intervalo
algoritmo sólo considera la hormiga que generó la
mejor solución global, Smejor-global. Esta actualización [τ min ,τ max ] . Después de cada iteración debe
se hace evaporando primero los rastros de feromona asegurarse que se respeten estos límites, si
en todas las conexiones utilizadas por la mejor τ ij > τ max , entonces τ ij = τ max , si τ ij < τ min ,
hormiga global y luego depositando feromona en las
mismas mediante la regla:
entonces τ ij = τ min , además τ min >0 si η ij < ∞

τ ij ← τ ij + Δτ ∀aij ∈ smejor − global para todas las componentes de la solución.


Adicionalmente se propone la inicialización de la
huella feromona en τ max , consiguiendo una alta
Δτ = f (C ( S mejor − global ))
exploración de la solución al comienzo del algoritmo
aij es el arco que une los nodos i y j y [19, 20].
donde
C ( S mejor − global ) es la calidad de la mejor solución
D. Algoritmo Sistema de Hormigas con Ordenación
encontrada hasta el momento [11].

El algoritmo Sistema de Hormigas con Ordenación


C. Algoritmo Sistema de Hormigas MAX-MIN
[20] es otra extensión del algoritmo AS.
Para este algoritmo las hormigas se ordenan de forma
En el algoritmo Sistema de Hormigas MAX-MIN la
descendente según la calidad de sus soluciones
probabilidad de ir de un nodo a otro es igual que en el
encontradas, por ejemplo: sin son m hormigas (S1, ... ,
Sm), siendo S1 la mejor solución construida en la evaporan todos los rastros de feromona y se aporta en
iteración actual. los de la mejor solución global, utilizando la fórmula
El demonio deposita feromona en las conexiones por τ ij = (1 − ρ )τ ij + Δτ ijmejor − global . En el segundo
las que han pasado las σ − 1 mejores hormigas,
paso se realiza una evaporación adicional de los
llamadas hormigas elitistas. La cantidad de feromona
rastros de feromona de la peor solución de la iteración
depositada depende directamente del orden de la
actual que no estén contenidos en la mejor global
hormiga y de la calidad de su solución.
τ ij = (1 − ρ )τ ij , ∀aij ∈ S peor − actual y aij ∉ S mejor − global
Las conexiones por las que ha pasado la mejor
hormiga global reciben una cantidad adicional de . El refuerzo negativo de S peor − actual hace que la regla

feromona que depende únicamente de la calidad de de actualización tenga un comportamiento más


dicha solución. Esta deposición de feromona se intensificativo.
considera la más importante, recibe el peso σ . Este algoritmo considera la búsqueda estancada si
La regla de actualización de feromona es la siguiente: durante un número consecutivo de iteraciones

τ ij ← τ ij + σΔτ ijmg + Δτ ijorden , donde (porcentaje del total) no se consigue mejorar la mejor
solución global obtenida, en ese caso, se aplica la
⎧ f (C ( S mejor − global )), si aij ∈ S mejor − global
Δτ ijmg =⎨ reinicialización volviendo a poner todos los rastros de
⎩ 0, en otro caso feromona a τ 0 .

Para conseguir diversidad en el proceso de búsqueda


⎧σ −1
= ⎨∑
⎪ (σ − n)( f (C ( S n ))), si aij ∈ S n se mutan los valores de los rastros de feromona, la
Δτ ijorden n =1
mutación se aplica en cada rastro de feromona con
⎪⎩ 0, en otro caso
probabilidad: τ ij = τ ij + N (0,τ umbral ) , donde

E. Algoritmo Sistema Mejor-Peor Hormiga τ umbral = ∑τ ij


, aij ∈ S mejor − global , a cada rastro
n
mutado se le añade un valor Normal de media 0 en
El algoritmo Sistema Mejor-Peor Hormigas [21, 22]
incorpora componentes de Computación Evolutiva [− τ umbral ,τ umbral ]. τ umbral corresponde a la media de
para mejorar el equilibrio intensificación- los rastros de feromona de S mejor − global . La función
diversificación. Mantiene la regla de transición del
de mutación se caracteriza porque la fuerza de la
AS y cambia el mecanismo de actualización de los
mutación aumenta con las iteraciones, si τ umbral es
rastros de feromona, el nuevo mecanismo evapora
todos los rastros, refuerza positivamente sólo los de la cercano a τ0 la mutación es pequeña, pero según
mejor solución global y negativamente los de la peor
crecen los rastros de S mejor − global , aumenta la
solución actual. Aplica una mutación de los rastros de
mutación. El algoritmo Sistema Mejor-Peor Hormiga
feromona para diversificar y reinicializa la búsqueda
consigue un buen balance entre diversificación e
cuando se estanca.
intensificación.
La actualización de feromona de la mejor y la peor
hormiga se realiza en dos pasos. En el primero se
F. Modelo ACO en Dos Etapas nn2 = nn - nn1

El modelo ACO en Dos Etapas [23, 24], divide el En el proceso desarrollado en la primera etapa se
proceso de búsqueda, en la primera etapa se alcanzan almacenan las mejores subsoluciones que servirán de
soluciones parciales que sirven de estado inicial para estados iniciales para la búsqueda en la segunda
la búsqueda en la segunda etapa, de forma que etapa.
CM(Ei*)+ CCABH(Ei*) < CCABH(Ei), donde Ei es
un estado inicial generado aleatoriamente u obtenido IV. APLICACIONES DE ACO

por cualquier otro método sin un costo computacional


Los algoritmos de ACO se han aplicado con
significativo, Ei* un estado inicial generado por
resultados eficientes a diversos problemas de
algún método M que lo acerca al estado final con un
optimización combinatoria, tanto estáticos como
costo CM(Ei*) y CCABH(x) el costo computacional
dinámicos. Generalmente los algoritmos de ACO se
de encontrar una solución desde el estado x usando un
combinan con algoritmos de búsqueda local que
algoritmo de búsqueda heurística ABH.
refinan las soluciones encontradas.
La división entre etapas se logra dando valores
Entre las principales aplicaciones se encuentran:
distintos a algunos de los parámetros del algoritmo.
Problema del Viajero Vendedor o Travelling
Para fijar estos valores a los parámetros en cada etapa
Salesman Problem (TSP) [11, 14]; Problema de
se establece un factor de proporcionalidad r que
Asignación Cuadrática o Quadratic Assignment
indica en que medida cada etapa abarca el proceso de
Problem (QAP) [26-28]; Cubrimiento de Conjuntos o
búsqueda completo. Este factor está en el intervalo
Set Covering Problem (SCP) [29]; Secuenciación de
(0,1), 0<r<1. Por ejemplo, si r=0.3, esto significa que
Tareas o Job Shop Scheduling (JSS) [30];
el primer paso cubrirá el 30% del proceso de
Enrutamiento de Redes de Comunicaciones [31];
búsqueda y el segundo paso el resto.
Enrutamiento de vehículos [32]; Ordenación
En los algoritmos basados en colonias de hormigas
Secuencial [33]; Secuenciación o Flow Shop
los parámetros principales que definen el tamaño de
Scheduling (FSS) [34]; Coloreado de Grafos [35];
la exploración son: la cantidad de hormigas (m),
Aprendizaje Automático o Machine Learning,
número de ciclos (nc), tamaño de la solución esperada
principalmente en el diseño de algoritmos de
(nn) y tiempo de ejecución. Los valores de estos
aprendizaje para estructuras de representación del
parámetros en cada etapa pueden ser calculados según
conocimiento: reglas clásicas [36, 37], reglas difusas
las expresiones:
[38, 39] y reglas bayesianas [40, 41] y Diseño de
Primera etapa
Circuitos Lógicos Combinatorios [42].
m1 = r * m
nc1 = r * nc
V. CONCLUSIONES
nn1 = r * nn
Segunda etapa Presentamos los aspectos teóricos relacionados con la
m2 = m - m1 metaheurística de Optimización mediante Colonias de
nc2 = nc - nc1 Hormigas. Explicamos las variantes algorítmicas:
Sistema de Hormigas, Sistema de Colonia de Expusimos las principales aplicaciones de esta
Hormigas, Sistema de Hormigas Max-Min, Sistema metaheurística.
de Hormigas con Ordenación, Sistema Mejor-Peor
Hormiga y el modelo ACO en Dos Etapas.

REFERENCIAS
[10] Adly, A.A. and S.K. Abd-El-Hafiz, Field
[1] Díaz, A., et al., eds. Optimización Heurística computation in non-linear magnetic media
y Redes Neuronales. 1996, Paraninfo S.A: using particle swarm optimization. Journal
Madrid, España. of Magnetism and Magnetic Materials, 2004.
In Press, Uncorrected Proof
[2] Osman, I.H. and J.P. Kelly, eds. Meta-
Heuristics: Theory and Applications. 1996, [11] Gambardella, L.M. and M. Dorigo, Ant
Kluwer Academic: Boston. Colony System: A cooperative learning
approach to the traveling salesman problem.
[3] Martí, R., Algoritmos heurísticos en IEEE Transactions on Evolutionary
optimización combinatoria, in Departamento Computation 1997. 1(1): p. 53-66.
de Estadística e Investigación Operativa,
Facultad de Ciencias Matemáticas. 2003, [12] Dorigo, M. and G. Di Caro, The Ant Colony
Universidad de Valencia: España. Optimization meta-heuristic, in New Ideas in
Optimization, D. Corne, M. Dorigo, and F.
[4] Glover, F., Tabu search. Part I. ORSA Glover, Editors. 1999, McGraw-Hill:
Journal on Computing, 1989. 1(3): p. 190- London, UK. p. 11-32.
206.
[13] Rasmussen, S. and M.J. Raven, Collective
[5] Kirkpatrick, S., C.D. Gelatt, and M.P. Intelligence of the Artificial Life Community
Vecchi, Optimization by simulated on Its Own Successes, Failures, and Future.
annealing. Science, 1983. 220: p. 671-680. Artificial Life, Massachusetts Institute of
Technology, 2003. 9: p. 207-235.
[6] Marques-Silva, J.P. and K.A. Sakallah,
GRASP: A Search Algorithm for [14] Dorigo, M., V. Maniezzo, and V.M. Colorni,
Propositional Satisfiability. IEEE The Ant System: Optimization by a Colony of
Transactions of Computers, 1999. 48: p. Cooperating Agents, in IEEE. 1996:
506-521. Transactions on Systems, Man, and
Cybernetics-Part B. p. 29-41.
[7] Yamada, T. and R. Nakano, A Genetic
Algorithm Applicable to Large-Scale Job [15] Barcos, L., et al., Algoritmo basado en la
Shop Problems. 2nd International optimización mediante colonias de hormigas
Conference on Parallel Problem Solving para la resolución del problema del
from Nature, North-Holland, Amsterdam, transporte de carga desde varios orígenes a
1992: p. 281-290. varios destinos., in V Congreso de
Ingeniería del Transporte. 2002: Santander -
[8] Puris, A. and R. Bello, Optimización basada CIT. p. 9.
en Mallas Dinámicas. Su aplicación en la
solución de problemas de optimización [16] Barán, B. and M. Almirón, Colonias
continuos. VI Congreso Español sobre distribuidas de hormigas en un entorno
Metaheurísticas, Algoritmos Evolutivos y paralelo asíncrono., in XXVI Conferencia
Bioinspirados (MAEB'09), 2009. Latinoamericana de Informática. 2000:
CLEI’00, México.
[9] Eberhart, R.C. and J. Kennedy, A new
optimizer using particle swarm theory. [17] Dorigo, M. and T. Stützle, eds. The Ant
Proceedings of the Sixth International Colony Optimization Metaheuristic:
Symposium on Micromachine and Human Algorithms, Applications and Advances, in
Science. Nagoya, Japan, 1995: p. 39-43. Metaheuristics Handbook. International
Series in Operations Research and [26] Stützlet, T. and M. Dorigo, eds. ACO
Management Science, ed. F. Glover and G. algorithms for the quadratic assignment
Kochenberger. 2001, Kluwer Academic problem. New Ideas in Optimization. 1999,
Publishers. McGraw-Hill.

[18] Alonso, S., et al., La Metaheurística de [27] Colorni, V.M., The Ant System applied to the
Optimización Basada en Colonias de Quadratic Assignment Problem, in
Hormigas: Modelos y Nuevos Enfoques. Transactions on Knowdledge and Data
Proyecto “Mejora de Metaheurísticas Engineering, in IEEE 1999: EEUU.
mediante Hibridación y sus Aplicaciones”
Departamento de Ciencias de la [28] Demirel, N.C. and M.D. Toksari,
Computación e Inteligencia Artificial, E.T.S. Optimization of the quadratic assignment
Ingeniería Informática. Universidad de problem using an ant colony algorithm.
Granada, España, 2003. Applied Mathematics and Computation,
2006. 183 (1): p. 427-435.
[19] Stützle, T. and H.H. Hoos, MAX-MIN Ant
System. Future Generation Computer [29] Silva, R.M.A. and G.L. Ramalho, Ant system
Systems, 2000. 16(8): p. 889-914. for the set covering problem. Systems, Man,
and Cybernetics. IEEE International
[20] Bullnheimer, B., R.F. Hartl, and C. Strauss, Conference, 2001. 5: p. 3129-3133.
A new rank-based version of the Ant System:
A computational study. Central European [30] van der Zwaan, S. and C. Marques, Ant
Journal for Operations Research and Colony Optimisation for Job Shop
Economics, 1999. 1:7: p. 25-38. Scheduling. Proceedings of the Third
Workshop on Genetic Algorithms and
[21] Cordón, O., F. Herrera, and L. Moreno., Artificial Life (GAAL 99), 1999.
Integración de Conceptos de Computación
Evolutiva en un Nuevo Modelo de Colonia [31] Schoonderwoerd, R., et al., Ant-based load
de Hormigas. Conferencia de la Asociación balancing in telecommunications networks.
Española para la Inteligencia Artificial Adaptative Behavior, 1996. 5: 2: p. 169-207.
(CAEPIA’99), 1999: p. 98-104. [32] Bullnheimer, B., R.F. Hartl, and C. Strauss,
An improved ant system algorithm for the
[22] Cordón, O., et al., A New ACO Model vehicle routing problem, in Annals of
Integrating Evolutionary Computation Operations Research. 1999. p. 319-328.
Concepts: The Best-Worst Ant System. From
Ant Colonies to Artificial Ants: Second [33] Gambardella, L.M. and M. Dorigo, Ant
International Workshop on Ant Algorithms, Colony System hybridized with a new local
2000: p. 22-29. search for the sequential ordering problem.
INFORMS Journal on Computing, 2000. 12:
[23] Bello, R. and A. Puris, Two Step Ant Colony 3: p. 237-255.
Systems to Solve the Feature Selection
Problem. 11th Iberoamerican Congress on [34] Stützle, T., An ant approach to the flow shop
Pattern Recognition, CIARP. Mexico, 2006: problem. Proceedings of the 6th European
p. 588-596. Congress on Intelligent Techniques & Soft
Computing (EUFIT’98) . Verlag Mainz,
[24] Puris, A. and R. Bello, Two-Step Ant Colony Wissenschaftsverlag, Aachen, Alemania,
Optimization for solving the Traveling 1998. 3: p. 1560-1564.
Salesman Problem. 2nd International work-
conference on the interplay Between natural [35] Costa, D. and A. Hertz, Ant can colour
and artificial computation. España, 2007 p. graphs. Journal of the Operational Research
307-316. Society, 1997. 48: p. 295-305.

[25] White, T., S. Kaegi, and T. Oda, Revisiting [36] Parpinelli, R.S., H.S. Lopes, and A.A.
Elitism in Ant Colony Optimization. Genetic Freitas, An ant colony based system for data
and Evolutionary Computation Conference, mining: application to medical data.
2003. Proceedings of the Genetic and Evolutionary
Computation Conference (GECCO-2001).
Morgan Kaufmann Publishers, San
Francisco, CA, 2001: p. 791-798.

[37] Parpinelli, R.S., H.S. Lopes, and A.A.


Freitas, Data mining with an Ant Colony
Optimization algorithm. IEEE Transaction
on Evolutionary Computation, 2002. 6: 4: p.
321-332.

[38] Casillas, J., O. Cordón, and F. Herrera,


Learning fuzzy rules using ant colony
optimization algorithms. International
Workshops on Ant Algorithms. Université
Libre de Bruxelles, Belgium, 2000: p. 13-21.

[39] Casillas, J., O. Cordón, and F. Herrera,


Different approaches to induce cooperation
in fuzzy linguistic models under the COR
methodology, in Technologies for
Constructing Intelligent Systems 1, Physica-
Verlag, Editor. 2002.

[40] Campos, L.M.d., J.A. Gámez, and J.M.


Puerta, Learning bayesian networks by ant
colony optimisation: searching in two
different spaces. Mathware & Soft
Computing, 2002. 9: 2-3: p. 251-268.

[41] Campos, L.M.d., et al., Ant colony


optimization for learning bayesian networks.
International Journal of Approximate
Reasoning, 2002. 31: 3: p. 291-311.

[42] Mendoza, B. and C.A. Coello, An approach


based on the use of the Ant System to design
combinatorial logic circuits. Mathware &
Soft Computing, 2002. 9: 2-3: p. 235-250.