Está en la página 1de 5

Ciencia & DeSartoile

Revista Ciencia &Desarrolla 2015; 20: 98-102 / ISSN 2304-8891

APLICACIÓN DEL ALGORITMO DE COLONIA DE


HORMIGAS AL PROBLEMA DEL AGENTE VIAJERO
APPLICATION OF ANT COLONY ALGORITHM TO THE TRAVELIING
SALESMAN PROBLEM

'Hugo Euler Tito Chura, 2Carlos Alberto Silva Delgado, 'Edith Elizabeth Alfaro Cotízales, 'Evelyn Fajardo Espinoza

RESUMEN

ACO (algoritmo de colonia de hormigas) es una metaheurística inspirada en el comportamiento de las colonias de hormigas para
solucionar problemas de optimización combinatoria, por medio de la utilización de agentes computacionales simples que trabajan de
manera cooperativa y se comunican mediante rastros de feromonas artificiales. En este trabajo se presenta un modelo para resolver el
Problema clásico de optimización 'Problema de/Agente viajero' (TSP Travelling Salesman Problem).

Palabras Clave: algoritmo de colonia de hormigas, agentelAajero (1ravelling Sales Problem), optimización.

ABSTRACT

ACO (ant colony algorithm) is a metaheurirtic inspired by the behavior of ant colonies to salve combinatorial optimization problems,
through the use of simple computational agents that work cooperafively and communicate via artificial pherarnone trails. This paper
presents a model for solving the Cassie optimization problem "travelling salesman problem' (TSP Travelhng Salesman Problem).

Keywords: ant colony algorithm, traveling salesman (1ravelling Sales Problem) optimization.

INTRODUCCIÓN. conceptos derivados de la inteligencia artificial, la evolución


biológica y los mecanismos estadísticos (Wang & Yang,
La existencia de una gran cantidad y variedad de 2009).
Problemas de Optimización Combinatoria incluidos en la Se han desarrollado varias metaheurísticas para
clase NP-completos que necesitan ser resueltos de forma soludionar problemas de optimización, entre ellas se
eficiente, impulsó el desarrollo de procedimientos para encuentran: Búsqueda Tabú (Yang, el al., 2009), simulated
encontrar buenas soluciones, aunque no fueran óptimas. anneafing (Shakouri ¿taJ., 2009), Algoritmos Genéticos (Yu
Estos métodos, en los que la rapidez del proceso es tan et al, 2011), Optiminción basada en Enjambre de Partículas
importante como la calidad de la solución obtenida, se deno- o Particle Swarm Optimization (PSO) (Zhang el al, 2007),
minan heurísticos o aproximados. (Duan & Ying, 2009) y Optimización basada en Colonias de
Un método heurístico es un procedimiento para Hormigas (ACO) (B3 el al, 2011) (Wang & Zhu, 2008), de
resolver un problema de optimización bien definido esta última incluida en la categoría de los algoritmos bio-
mediante una aproximación intuitiva, en la que la estructura inspirados o de vida artificial e inteligencia colectiva (Doriqo
del problema se utiliza de forma inteligente para obtener una & Stützle, 2004), trataremos en el presente trabajo.
buena solución (Hong &Bian, 2008). Luego, con el propósi-
to de obtener mejores resultados que los alcanzados por los Estado del arte
heurísticos tradicionales surgen los denominados procedi-
mientos metaheurísticos. Los procedimientos metaheurísti- Colonial de hormigas.
cos son una clase de métodos aproximados que están diseña- En el quehacer de las hormigas se distingue la bús-
dos para resolver problemas dificiles de optimización com- queda de alimentos, trazando el camino más corto entre el
binatoria, en los que los heurísticos clásicos no son efectivos. hormiguero y el emplazamiento de alimentos. El eje de esa
Los metaheurísticos proporcionan un marco general para búsqueda es el depósito de feromona como rastro que orienta
crear nuevos algoritmos hibridos combinando diferentes el recorrido. Las hormigas prefieren seguir la mayor concen-

Magíster en Ciencias Computación e Informática, Ingeniero Estadístico. Docente de la Escuela de Ingeniería de Sistemas e Informática de la
Universidad Nacional de Moquegua. Moquegua-Perú. /
1 Ingeniero en Informática y Sisternas. Docente de la Escuela Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional de
Moquegua.Moquegua-Perú.
'Administradora de Empresas. Universidad Nacional Jorge Basadre Grohmann. Tacna-Perú.

Clenc.desarra(Tacna)1SSN 2304-8891; 2015; 20:98-102


Tito, H. ex a/ Aplicación del algoritmo de colonia de hormigas al problema del asenté viajero

dation de feromona, la misma que se consigue por el reco- Inicio de rutina o ciclo de rastros
rrido más corto hecho por hormigas (que por esta razón, Do W hile (hasta que el criterio no sea satisfecho)
pueden repetirlo en forma más seguida). En principio siguen Do Unt:7(cada hormiga completa un viaje)
rutas aleatorias, pero las que han utilizado las de menor Mecanismo de decisión de la hormiga
longitud pueden regresar más rápidamente (pues transitan a Actualización del rastro local
una velocidad uniforme), y repetir el camino, dejando una End Do
mayor densidad de huellas de feromona Las depositadas en Actualización del ciclo global de rastros
las otras rutas se van evaporando, y dejan de tener interés en End D o
los nuevos recorridos (Dorigo & Stützk, 2004). Ello se
ilustra en las siguientes figuras (Figura 1 y Figura 2), adaptada La dedsián está basada en la intensidad de rastro presente en
de las imágenes clásicas para este tema. cada recorrido entre dos puntos adyacentes (Dorigo &
Stade, 2004).
El que tiene mas rastros, tiene la mayor probabilidad de
ser elegido.
Si no hay rastros, la probabilidad de elección es cera
Si todas las rutas tienen igual cantidad de rastros, la deci-
sión es aleatoria.

4- Cada hormiga elige una ruta usando un mecanismo


-Ve •Me
de decisión. Algunos algoritmos usan una actualización local
en la prueba, reduciendo la cantidad de rastro en el recorrido
X
elegido por la hormiga (la cual tendrá menor probabilidad de
\ ....... elegirla misma trayectoria que las anteriores).
La hormiga continúa los recorridos del viaje entre
Figura 1. Hormigas buscando el camino corto puntos llegando a cada punto hasta haber visitados todos, y
regresa a su punto de origen. Cuando regresa al comienzo, la
hormiga ha completado un viaje.
411
Al completar el viaje, se analiza cuán bien resuelve el
problema. La intensidad de rastro en cada recorrido en el
viaje es ajustada a través de un proceso de actualización
global. Los recorridos que mejor resuelven el problema
reciben más rastros. De esta manera, cuando todas la hormi-
gas han completado un viaje y todos los viajes son analiza-
dos, así como son actualizados los rastros, el ciclo de optimi-
zadón se ha completo.
Figura 2. Hormigas siguiendo las feromonas Un nuevo ciclo comienza y se repite el proceso. Casi
todas las hormigas seguirán el mismo viaje en cada ciclo y
Algoritmo basado en Colonia de hormigas. convergerá L1 solución. Se compara la mejor solución en el
Consiste en la simulación de una colonia de hormi- último ciclo para obtener la solución global (Dorigo &
gas artificiales que trabajan en grupo y se comunican a través Sálale, 2004).
de rastros de feromona artificial. Cada hormiga artificial
construye una solución al problema recorriendo un grafo de Colonia de hormigas en el Problema de/Agente Viajara
construcción. Cada arista o tramo del grafo tiene dos tipos En la propuesta hecha por Dorigo & Stützle (2004),
de información que guían el movimiento de la hormiga Milano en 1992, del problema del agente viajero (Travelling
(Dorigo & Stützle, 2004): Salesman Problem), cuyo objetivo es buscar la distancia
La prefennria de moverse desde el nodo r al nodo s en la recorrida más corta de su viaje que puede realizar partiendo
arista ri. Esta preferencia se designa con El valor no de su ciudad natal (nodo), a toda las otras ciudades (sin repe-
se modifica en el proceso y es función de la distancia tir los caminos recorridos), para finalmente regresar a su
entre los nodos. destino (ciudad natal).
La deseabilidad aprendida del movimiento de r a s. Simula Entonces, podemos representar en un grafo el pro-
la feromona o rastro depositado, y se va modificando. Se blema del agente viajero para 4 ciudades de la siguiente for-
designa con x„ . ma. (Ver figura 3).
El número de caminos existentes a ser recorridos de
Optimizatión ron Colonia de hormigas. acuerdo al número de nodos se visualiza en la tabla 1.
Consiste en la simulación de la reacción que exhibe Siendo n el número de ciudades, i alguna ciudad,b,(t)
una colonia de hormigas. La sustancia virtual es denominada el número de hormigas en i en el tiempo t, el total de hormi-
rastro como similitud a la feromona. El algoritmo sigue la gas m resulta:
estructura computacional básica siguiente (Dorigo & Stütz-
le, 2004): m= (1)

Clenaduarro.(Tacnat ISSN 23044891; 2015; 20:98402


Ciencia &Desarrollo
Tito, H. el al. Aplicación del x]gontmo de colonia de hormigas al problema del agen ajero

O
O
A

er>r. ®
Figura 4. Parámetros de decisión

desde la dudad i, la regla de actualización ajusta la


intensidad del rastro del tramo conectado por:
Figura 3. Grafo de 4 ciudades. -O
1 <— (1 —9)T .. (t)+(pt o
Donde p es un parámetro ajustable entre O y 1 que
Tabla 1. Número de caminos de acuerdo al número de nudos representa la persistencia del rastro. Además:
Nodos Numero de Caminos
3 3 6 1
4 4! 24 nL„„
5 5! 120
6 61 720 Donde L. es la longitud calculada con el algoritmo
7 7! 5,040 heurístico el vecino más cercano (se comienza
8 81 40,320 aleatoriamente en una ciudad y se selecciona la
9 9! 36,2880 siguiente basada en la distancia más corta hasta
10 101 3628,800 visitar todas las ciudades).
11 11! 39'916,800 Al finalde cada ciclo la intensidad del rastro es ajusta-
12 121 479001,600 da usando una artualizadánglabd. El primer paso es calcular la
13 13! 6227'020,800 cantidad de rastro dejada en cada tramo, como:

Cada hormiga tiene las siguientes características:


k
ha = —
1
Selecciona cuál dudad será la siguiente a ser visitada. 4
Esta selección está basada en una probabilidad que es Donde k representa alguna hormiga (del am). Y 1.„
función de la distancia a la dudad (o visibilidad) y la es la longitud del ciclo elegida por una hormiga k
cantidad de rastros presente en el tramo que conecta las El valor total de actualización del rastro para cada
ciudades (Figura 4). tramo es la suma de las cantidades dejadas por cada hormiga
Tiene memoria sobre las ciudades que ha visitado (según que haya seleccionado dicho tramo ij, y sera:
una lista tabú) y las que no ha visitado.
Cuando ha completado el viaje, deja una sustancia o
rastro en cada tramo.
AT =t& :
Del ratito: El valor de la actualización global está determina-
La intensidad del rastro en la ruta en cada tramo que do por la siguiente expresión:
conecta i con j en el tiempo t, se designa con
En el tiempo O, t$1) es tan pequeño como una T + n). (1— p)r (0+ pba
constante pequeña positiva 'e,.
En el tiempo t, cada hormiga elige una ruta y viaja a DondeQ es una constante entre O y 1, tal que (1-g)
la siguiente ciudad en el tiempo t+1. representa la evaporación del rastro entre t y t+n
En cada iteración hay m movimientos provocados (el tiempo requerido para completar un ciclo).
por las m hormigas (cada una haciendo un movi-
miento) en el intervalo (t,t+1). De la visibilidad. El sistema admite que las hormigas
Un eido es definido como n iteraciones, y significa posean una cantidad de visibilidad %, asociada con cada
que las m hormigas han completado un viaje. tramo, en un valor que depende de la distancia del mismo
Al final de cada iteración, el algoritmo implementa (los cercanos tienen mayor preferencia pelos lejanos).
una actualización larah reduce el nivel de rastro en los 1
tramos seleccionados por la colonia en la iteración
precedente. Cuando una hormiga viaja a la ciudad)

Cienc.denarrarfacna)18.9 12304.8891: 2015; 20:98102


Ciencia 4.2,119
Tito, II. Mal Aplicación del algoritmo de colonia de hormigas al problema del agente viajero

Probabilidad deprierenda. La combinación de la visibilidad


con la intensidad del rastro, resultan en:

E ydahl 0113
ay (t) =
lanp niiijas [t(O]
, [Thr

Se trata de la proporción r specto a las ciudades


vecinas permitidas desde la ciudad i Los parámetros a y p Figura 5. Promedio de coso Número de ciclo
son constantes usadas para controlar la importancia de los
valores de los rastros locaks y visibles 1000
800
La probabilidadpkg de que la hormiga k elija dejaj 600
en el tiempo t es: 400
200
a 11
P = vut 400 0 500 5000 1 W00
(t)
Llepermitioras
Figura 6. Nodos a ser recorridos.
Si la hormiga no está permitida a viajar a la ciudad
entoncespk, =0. MatLab con la data de Berlin52 ,tomado de ISPLIB.
Se realizaron 5 réplicas para cada combinación de
Aplicación del modelo ACO. valores de los parámetros e, p y ck. Los resultados mínimos
Siguiendo las recomendaciones de otros trabajos obtenidos para la suma de las distancias entre secuencias
(Gómez & Barán, 2004) para el problema TSP, el rango de parciales se presentan en la tabla 3, donde podemos apreciar
valores de los parámetros del modelo ACO considerados se que la mejor solución es 7680.
presenta en la tabla 2, dado que para estos valores de los Por lo tanto, los nodos a ser recorridos son:
parámetros se ha mostrado experimentalmente la obtención nodo= [22, 19, 49, 15, 45, 43, 33, 34, 35, 38, 39, 36, 37, 47,
de buenos resultados en variados estudios de problemas 23, 4, 14, 5, 3, 24, 11, 27, 26, 25, 46, 12, 13, 51, 10, 50, 32,
TSP (cona = 1). 42, 9, 8, 7, 40, 18,44, 31, 48, 0, 21, 30, 17,2, 16, 20, 41,1,
Se consideran m = 200 hormigas, igual tasa de eva- 6, 29, 28].
poración para la actualización global y local (y = e), y el valor También tenemos resultados del número de ciclos
inicial de feromona 'ro fue determinado considerando el versus el promedio de distancia en Li figura 5 y los nodos a
número de ciudades (n) como el número de secuencias par- ser recorridos por el agente viajero en la figura 6.
dales a unir. Para la implementación del modelo se utilizó el
CONCLUSIONES
Tabla 2. Parámetros del Modelo ACO
En nuestro experimento, aplicado a la data Berlin52,
Parámetro Valor que cuenta con 52 ciudades, obtuvimos la mejor solución de
200
7680 de distancia mínima, con parámetros de: a = 1, p = 5,
[1-2-3-4-5]
e -0,1,q = 0,90.
o La aplicación de este modelo de optimización entre-
ro 1And-) gala posibilidad de generar mejoras en las distancias totales
10,9 - 0,95 - 0,98]
mínimas de recorrido y a su vez nos muestra los nodos por
los que se deben transitar, en problemas que tengan el con-
Tabla 3. Resultados mejor solución texto del Agente Viajero (TSP).
e- J,2 = O,3
/1.-nw ft = 1 13469 15050 15666 13469 REFERENCIAS BIBLIOGRÁFICAS
=2 12128 12187 14636 12128
'9= 3 10552 12156 13408 10552 Di, S., Dong, X., Ma, Y. (2011). The Design and Analysis of
ft = 4 9660 11087 13049 9660 TSP Problem Based on Genetic Algorithm and Ant
=5 9468 12719 Colony Algorithm. etcs, Third International Work-
fi = / 13614 14081 15132 13614 shop on Education Technology and Computer
=2 12760 13262 14178 12760 Science.IFFE. vol. 1, pp.324-326
4 =3 10133 12046 12918 10133 Dorigo, M. & Stützle, T. (2004). Ant Colony Optimization.
ft = 4 • 10297 10870 11986 10297 Massachusetts Institute of Technology. Proceedings
=5 9522 10812 12434 9522 of 4th International Workshop, ANTS 2004, Brus-
=1 ] 13670 15086 15498 13670 sels, Belgium, September 5-8.
ft = 2 11516 12448 13763 11516 Duan, Y. & Ying, Y. (2009). A Partide Swarm Optimization
ft= 3 10752 11467 12408 10752 Algorithm with Ant Search for Solving Traveling
fi= 4 9926 10523 11500 9926 Salesman Problem. Cis. International Conference on
fi = 5 9059 10094 13041 9059 Computational Intelligence and Security. IEEE. vol.

Clenadesarro.(11zena) ISSN 2304-8891; 2015; 20:98-102


Ciencia & Desarrotio
Tito, H. el al Aplicación del algarintio de colonia de hormigas al problema del agente viajero
2, pp.137-141 Colony Pheromones in Intdligent Learning. Ifita. Inter-
Gómez, O. & Satán, B. (2004). Reasons of ACO's Success in national Forum on Information Technology and Appli-
TSE Massachusetts Institute of Technology. Confe- cations. vol. 3, pp.488-491.
rence: Ant Colony Optimization and Swarm Intelli- Wang, L & Zhu, Q. (2008). An Efficient Approach for Solving
gence, Proceedings of 4th International Workshop, TSP: The Rapidly Convergent Ant Colony Algorithm,"
ANTS 2004, Brussels, Belgium, September 5 — 8.— icnc. Fourth International Conference on Natural Com-
Hong, Z. &Bien, E (2008). Novel Ant Colony Optimization putation. IEEE. vol. 4, pp.448-452.
for Solving Travelkig Salesman Problem in Conges- Yang, N., Ma, & Li, P. (2009). An Improved Angle-Based
ted Transportation System, paella 2008 IEEE Paci- Crossover Tabu Search for the Larger-Scak Traveling
fic-Asia Workshop on Computational Intelligence Salesman Problem. gds. WRI Global Congress on Inte-
and Industrial Application. vol. 2, pp.122-125. lligent Systems, IEEE. vol. 1, pp.584-587.
Li, G. & Shujing, Z. (2009). Adaptive ACO for Complicated Yu, Y, Chen, Y. & Li, T. (2011). A New Design of Genetic Algo-
Optimization Problems. Hita. International Forum rithm for Solving TSE csa Fourd) International Joint
on Information Technology and Applications. vol. 2, Conference on Computational Sciences and Optimiza-
pp.15-18. tion. IEEE pp. 309-313
Shakouri, G., Shojaee, K. & Behnam, T. (2009). Investiga- Zhang, Ch., Sun, J., Wang, Y. & Yang, Q. (2007) An Improved
don on the choice of the initi.al temperature in the Discrete Partide Swarm Optimization Algoridun for
Simtdated Annealing: A mushy state SA for TSP. TSR wi-iatvi. IEEE/WIC/ACM International Confe-
med. 17th Mediterranean Conference on Control rences on Web Intelligence and Intelligcnt Agent Tech-
and Automation. IEEE. pp. 1050-1055 nology - Workshops. IEEE. pp. 35-38
Wang, A. & Yang, L (2009). The Applicarion of the Ant

Correspondencia: Fecha de Recepción: 08/10/2015


Hugo Euler Tito Chura: eulertito@hotmailicorn Fecha de Aceptación: 11/12/2015

Cienc.desarro.racna)LIN 2304-8891; 2015; 20:98-102

También podría gustarte