You are on page 1of 4

Escuela Politcnica Nacional.

Gabriel Dario Chalco Guaman, Wilson Santiago Chipantasi Jara, Ernesto Xavier Herrera
Leon, Jonathan
Fernando Imbaquingo Castillo. Algoritmos Colonia de Hormigas para Optimizacin.
Gabriel Dario Chalco Guaman, Wilson Santiago Chipantasi Jara, Ernesto Xavier Herrera Leon, Jonathan Fernando Imbaquingo Castillo.

gabriel-chalco@hotmail.es, wilsonsantcj@hotmail.com, xavo_hl@hotmail.com, imbaqcas_21@hotmail.com.


EPN

Algoritmos Colonia de Hormigas para Optimizacin

ResumenEn este trabajo se ofrece una perspectiva general


de la metaheurstica de Optimizacin Basada en Colonias de
Hormigas, describiendo varios de los modelos algortmicos
existentes,.
ndice de TrminosColonia de Hormigas, Optimizacin.

I.

EINTRODUCCIN

STE DOCUMENTO CONTIENEINFORMACIN RELEVANTE ACERCA


DEALGORITMOS COLONIA DE HORMIGAS PARA OPTIMIZACIN

Las hormigas son insectos sociales que viven en colonias y


que tienen un comportamiento dirigido al desarrollo de la
colonia como un todo ms que a un desarrollo individual.Una
caracterstica interesante del comportamiento de las colonias
de hormigas es cmo pueden encontrar los caminos ms cortos
entre el hormiguero y la comida.
En su recorrido, depositan una sustancia llamada feromona
que todas pueden oler (estimergia).Este rastro permite a las
hormigas volver a su hormiguero desde la comida. Cada vez
que una hormiga llega a una interseccin, decide el camino a
seguir de un modo probabilstico. Las hormigas eligen con
mayor probabilidad los caminos con un alto rastro de
feromona. La accin continuada de la colonia da lugar a un
rastro de feromona que permite a las hormigas encontrar un
camino cada vez ms corto desde el hormiguero a la comida.
[1]

II. ALGORITMO DE HORMIGA


A. Definicin
El algoritmo hormiga o algoritmo de las hormigas es
una tcnica probabilstica utilizada para solucionar
problemas de cmputo; este algoritmo est inspirado en
el comportamiento que presentan las hormigas para
encontrar las trayectorias desde la colonia hasta el
alimento. [2]

real. Un ejemplo claro lo podemos observar en el


problemas de enrutamiento de redes y sistemas urbanos
del transporte.
Los usos del algoritmo se utilizan para mquinas de
aprendizaje y para problemas con una gran cantidad de
datos. Por ejemplo, se ha estudiado crear un modelo del
mantenimiento del cementerio donde las hormigas
arraciman los cadveres de sus semejantes.
Esto se ha adaptado a la tarea de supervisin de las
mquinas de aprendizaje, encargadas de agrupar los
grupos de objetos que son similares. De hecho se han
demostrado que tales formas modificadas de algoritmos
dan un funcionamiento y una exactitud mejores que los
mtodos clsicos tales como el bien conocido k-means.
[2]
III. OPTIMIZACIN POR COLONIA DE HORMIGAS
A. Definicin
En ciencias de la computacin y en las operaciones de
investigacin, el algoritmo de optimizacin colonia de
hormigas (AntColonyOptimization, ACO) es una tcnica
probabilstica para solucionar problemas computacionales que
pueden reducirse a buscar los mejores caminos o rutas en
grafos.
Este algoritmo es un miembro de la familia de los algoritmos
de colonia de hormigas, dentro de los mtodos de inteligencia
de enjambres. Inicialmente propuesto por Marco Dorigo en
1992 en su tesis de doctorado, el primer algoritmo surgi con
el objetivo de buscar el camino ptimo en un grafo, basado en
el comportamiento de las hormigas cuando estas estn
buscando un camino entre la colonia y una fuente de
alimentos. La idea original se ha diversificado para resolver
una amplia clase de problemas numricos, y como resultado,
han surgido gran cantidad de problemas nuevos, basndose en
diversos aspectos del comportamiento de las hormigas. [3]

B. Usos y ejemplos

Los algoritmos de optimizacin de Colonia de


Hormigas se han utilizado para producir soluciones
cuasi-ptimas al Problema del viajante de comercio. El
algoritmo de Colonia de Hormigas puede funcionar
continuamente y adaptarse a los cambios en tiempo

B. Funcionamiento

Escuela Politcnica Nacional. Gabriel Dario Chalco Guaman, Wilson Santiago Chipantasi Jara, Ernesto Xavier Herrera
Leon, Jonathan Fernando Imbaquingo Castillo. Algoritmos Colonia de Hormigas para Optimizacin.
-

Figura1: funcionamiento del algoritmo.


La idea original proviene de la observacin de la explotacin
de los recursos alimentarios entre hormigas, en el que las
habilidades cognitivas de las hormigas son individualmente
limitadas y en conjunto son capaces de buscar el menor
camino existente entre la fuente de comida y su nido o
colonia.
-

La primera hormiga encuentra la fuente de alimentos


(F), a travs de cualquier camino (a), entonces
retorna a la colonia (N), dejando tras s un rastro de
feromonas;
Las hormigas indiscriminadamente siguen cuatro
caminos posibles, pero el fortalecimiento de la pista
hace ms atractivo la ruta ms corta;
Las hormigas toman la ruta ms corta y largas
porciones de otras rutas empiezan a perder su rastro
de feromonas.
En una seria de experimentos en una colonia de
hormigas donde existe la eleccin de dos rutas de
distancias diferentes que llevan hasta la fuente de
comida, los bilogos observaron que las hormigas
tienden a usar la ruta ms corta.3 4 El siguiente
modelo explica este comportamiento:
Una hormiga (llamada blitz) vaguea de manera
aleatoria alrededor de la colonia;
Si esta encuentra una fuente de comida, ella retorna a
la colonia de manera ms o menos directa, dejando
tras s un rastro de feromonas;
Estas feromonas son atractivas, las hormigas ms
cercanas se vern atradas por estas y seguirn su
pista de manera ms o menos directa;
Regresando a la colonia estas hormigas habrn
fortalecido dicha ruta;
Si existen dos rutas para que llegan a la misma fuente
de alimentos entonces, en una misma cantidad de
tiempo dado, la ruta ms corta ser recorrida por ms
hormigas que la ruta ms larga;
La ruta ms corta habr aumentado en cantidad de
feromonas y por tanto empezar a ser ms atractiva;

La ruta ms largar ir desapareciendo debido a que


las feromonas son voltiles;
Finalmente, todas las hormigas habrn determinado y
escogido el camino ms corto.

Las hormigas utilizan el entorno como medio de


comunicacin. Ellas intercambian informacin de manera
indirecta depositando feromonas en su trayectoria, detallando
el estado de su trabajo. La informacin intercambiada tiene un
ambiente local, solamente una hormiga ubicada cerca de
donde las feromonas fueron depositadas va a tener una nocin
de estas. Este sistema es llamado "Stigmergy" y ocurre en
muchas sociedades de animales (este sistema ha sido
estudiado en el caso de la construccin de los pilares en los
nidos de termitas). El mecanismo para resolver un problema
demasiado complejo para ser abordado por hormigas
solamente es un buen ejemplo de un sistema auto-organizado.
Este sistema es basado en la retroalimentacin positiva (el
depsito de feromonas atrae otras hormigas y estas
fortalecern dicha retroalimentacin) y la retroalimentacin
negativa (disipacin de la ruta por evaporacin).
Tericamente, si la cantidad de feromonas fue la misma en
todas las rutas durante todo el tiempo, ninguna ruta fue
elegida. Sin embargo, debido a la retroalimentacin, un aligera
variacin en una arista amplificar y entonces se permitir
elegir una ruta. El algoritmo se mover de un estado inestable
en el ninguna arista es ms fuerte que otra, a un estado estable
donde una ruta est compuesta por las aristas ms fuertes.
La filosofa bsica del algoritmo implica el movimiento de una
colonia de hormigas a travs de los diferentes estados del
problema influenciado por dos polticas de decisin a nivel
local, rutas y atraccin. De esta manera, cada hormiga
incrementalmente construye una solucin del problema.
Cuando una hormiga completa una solucin, o durante la fase
de construccin, las hormigas evalan la solucin y modifican
el valor de la ruta sobre las componentes utilizadas en la
solucin. Esta informacin de feromonas dirigir la bsqueda
de futuras hormigas. Adems el algoritmo incluye dos
mecanismos ms, evaporacin del rastro y acciones daemon.
La evaporacin del rastro reduce todos los valores de los
rastros evitando la posibilidad de caer en ptimos locales. Las
acciones daemon son usadas para desviar el proceso de
bsqueda de una perspectiva local. [3]

Escuela Politcnica Nacional. Gabriel Dario Chalco Guaman, Wilson Santiago Chipantasi Jara, Ernesto Xavier Herrera
Leon, Jonathan Fernando Imbaquingo Castillo. Algoritmos Colonia de Hormigas para Optimizacin.
C. Algoritmo General OCH

IV. APLICACIONES DE LA OPTIMIZACIN BASADA EN


COLONIAS DEHORMIGAS

Figura 2: algoritmo. [4]


D. Otros Modelos
Estas son algunas de las variaciones ms populares de los
algoritmos de colonia de hormigas (ACO Algorithms).
-

Sistema Elitista de Hormigas


La mejor solucin global deposita feromonas en cada
iteracin junto con todas las otras hormigas.

Figura3: Las hormigas prefieren la pequea porcin de miel


por encima de las ms abundantes, pero menos nutritivas en
azcares.

Max-Min Sistema de Hormigas (MMAS)


Agregada la cantidad mxima y mnima de
feromonas [tmax,tmin] Solamente la mejor iteracin
deposita feromonas. Todas las aristas son
inicializadas con tmax y re-inicializadas con tmax
cuando se acerca a un estancamiento.

Sistema de Hormigas Basado en Ranking


(ASrank)
Todas las soluciones se clasifican de acuerdo su
longitud. La cantidad de feromonas depositadas es
ponderada para cada solucin, de tal manera que las
soluciones con los caminos ms cortos depositan ms
feromonas que las soluciones que con los caminos
ms largos.

Los algoritmos de OCH se han aplicado a un gran nmero de


problemas de optimizacin combinatoria diferentes. Las
aplicaciones actuales de la OCH sedistribuyen dentro de dos
clases fundamentales. La primera clase de problemas est
compuesta por los problemas de optimizacin combinatoria
NP-duros, para los que las tcnicas clsicas ofrecen a menudo
un comportamiento pobre.

Colonia de Hormigas Ortogonal Continua


(COAC)
El mecanismo de depsito de feromonas de COAC es
permitir a las hormigas la bsqueda de soluciones en
conjunto y efectiva. Usando un mtodo de diseo
ortogonal, las hormigas en un dominio factible
pueden explorar las regiones elegidas de una manera
rpida y eficiente, con mayor capacidad de bsqueda
global y precisin.
Optimizacin de Colonia de Hormigas con Lgica
Difusa
Este mtodo introduce inteligencia difusa dentro de
las hormigas para acelerar las habilidades de
bsqueda. [4]

Una caracterstica comn a casi todas las aplicaciones exitosas


de la OCH es la combinacin de las hormigas con algoritmos
de bsqueda local que refinan las soluciones ofrecidas por las
hormigas. La segunda clase de aplicaciones se compone de
problemas dinmicos de caminos mnimos, donde la instancia
del problema que hay que solucionar cambia durante la
ejecucin del algoritmo.
Estos cambios pueden afectar a la topologa del problema,
como por ejemplo la disponibilidad de los enlaces, etc. o, si la
topologa del problema es fija, caractersticas como los costes
de los arcos pueden variar con el tiempo. En este caso, el
algoritmo tiene que adaptarse a la dinmica del problema.
Esta ltima clase incluye aplicaciones de la OCH al
enrutamiento en redes decomunicaciones.
El primer problema que fue atacado por un algoritmo de OCH
fue el TSP, ya que este problema es una instancia bien
conocida de un problema NP-duro, que adems incluye de
manera inmediata un problema de camino mnimo, haciendo
por tanto que su adaptacin al comportamiento real de las

Escuela Politcnica Nacional. Gabriel Dario Chalco Guaman, Wilson Santiago Chipantasi Jara, Ernesto Xavier Herrera
Leon, Jonathan Fernando Imbaquingo Castillo. Algoritmos Colonia de Hormigas para Optimizacin.
hormigas para resolverlo fuera una tarea casi inmediata. Desde
la primera aplicacin del SH en la memoria de la tesis de
Dorigo en 1991, se convirti en un problema estndar para
realizar pruebas en otros modelos posteriores que ofrecan un
mejor rendimiento que el SH.
Cronolgicamente, las dos aplicaciones siguientes fueron el
problema de la asignacin cuadrtica (QAP) (los mejores
algoritmos de OCH para esteproblema estn descritos en) y el
problema de la secuenciacin de tareas (jobshop scheduling,
JSP) en 1994. Entre las aplicaciones posteriores se encuentran
las primeras aplicaciones de enrutamiento en redes,
comenzando en 1996 con el trabajo de Schoonderwoerd y
otros y el trabajo sobre AntNet por Di Caro y Dorigo. Ya en
1997, un ao despus de la publicacin del primer artculo de
revista sobre OCH en 1996, el nmero de aplicaciones de la
OCH comienza a incrementarse de manera considerable.
Algunas aplicaciones de primeros de 1997 (aunque algunas de
ellas aparecieron publicadas ms tarde) incluyen problemas
clsicos de enrutamiento de vehculos, de ordenacin
secuencial, desecuenciacin (flow shop scheduling, FSS), y de
coloreo de grafos. Desde entonces, muchos autores distintos
han usado la metaheurstica OCH para solucionar un gran
nmero de problemas de optimizacin combinatoria como la
supersecuencia comn ms corta, la asignacin generalizada,
la cobertura de conjuntos y varios problemas de la mochila y
de satisfaccin de restricciones, entre otros. Aparte de las
aplicaciones anteriores, la OCH ha sido usada recientemente
para aprendizaje automtico (machine learning),
concretamente para el diseo de algoritmos de aprendizaje
para estructuras de representacin del conocimiento como las
clsicas reglas lgicas, reglas difusas y redes bayesianas,
demostrando resultados bastante prometedores.
Actualmente, la OCH es capaz de obtener los mejores
resultados para varios de los problemas a los que ha sido
aplicado, QAP, ordenacin secuencial, enrutamiento de
vehculos, secuenciacin, y enrutamiento de paquetes en
redes, entre otros. Los resultados computacionales para otros
muchos problemas son muchas veces muy buenos y cercanos
a los mejores, lo cual es remarcable, ya que muchos de esos
problemas han atrado una gran cantidad de esfuerzo e
investigacin. Por otro lado, la metaheurstica OCH est
siendo aplicada a nuevos problemas reales con resultados
prometedores (por ejemplo, la aplicacin al diseo de circuitos
lgicos combinatorios).[5]
Los algoritmos de OCH se han aplicado a otros muchos
problemas:
-

Asignacin Cuadrtica
Secuenciacin de Tareas
Coloreo de Grafos
Enrutamiento de Vehculos
Ordenacin Secuencial Pooling de vehculos
Lneas de produccin de coches
Problemas de Agrupamiento (Clustering)
Aprendizaje de Reglas Clsicas y Difusas
Bioinformtica: plegado de protenas 2D [1]

V. CONCLUCIONES
La OCH es una metaheursticabioinspirada que permite
disear algoritmos: Sencillos de entender, Rpidos y Con buen
rendimientopara problemas de optimizacin que se puedan
representar en forma de grafo con pesos.
El algoritmo de OCH tendr el mejor rendimiento si se
consigue un balance adecuado para el problema; en OCH, son
los rastros de feromona los que establecen ese equilibrio
definiendo una distribucin de probabilidad para muestrear el
espacio de bsqueda.
Los algoritmos de OCH son robustos en cuanto al nmero
de hormigas considerado, es decir, obtiene buenos resultados
independientemente de este valor.
El nivel de mayor precisin de los algoritmos, depende
muchas veces del tipo de problema que nos encontremos
enfrentando; no todos los algoritmos van a ser eficientes para
el mismo problema, pero si pueden ser eficientes para
problemas de otro tipo.
RECONOCIMIENTO
F. A. agradecimientos de los autores para el Ing. Hugo A.
Banda Gamboa, el cual con este tipo de trabajos, nos incentiva
a desarrollar la habilidad de investigacin la cual nos ser de
gran utilidad en nuestra vida estudiantil.

VI. REFERENCIAS
[1] O. Cordn, PARTE I: ALGORITMOS DE
OPTIMIZACIN,Madrid, 2012.
[2] Fundacin Wikimedia, Inc., Wikipedia, 8 Marzo 2013.
[En lnea]. Available:
http://es.wikipedia.org/wiki/Algoritmo_hormiga.
[ltimo acceso: 29 de Octubre de 2013].
[3] Fundacin Wikimedia, Inc, Wikipedia, 13 Marzo 2013.
[En lnea]. Available:
http://es.wikipedia.org/wiki/Optimizaci%C3%B3n_
por_colonia_de_hormigas. [ltimo acceso: 29 de Octubre
de 2013].
[4] A. Mora, SlideShare Inc., 8 Noviembre 2011. [En
lnea].
Available:
http://www.slideshare.net/Slidemora/optimizacin
-basada-en-colonias-de-hormigas. [ltimo acceso: 29 de
Octubre de 2013].
[5] O. C. I. F. d. V. F. H. Sergio Alonso, La Metaheurstica
de
Optimizacin Basada en Colonia de Hormigas: Modelis y
Nuevos Enfoques, Departamento de Ciencias de la
Computacin e Inteligencia Artificial, E.T.S. Ingeniera
Informatica, Granada,
2012.

You might also like