Sunteți pe pagina 1din 11

MARCO TEÓRICO

2.1. Antecedentes de la investigación

El organizar un itinerario de visitas y movilizar un misionero entre diferentes iglesias es un trabajo


cansador y estresante para el encargado de Coordinación y Proyectos de esta Misión quien es él que
garantiza que todo siga un curso adecuado. El mismo, ni los encargados en años anteriores, han
tenido un método claro para hacer estas tareas, siempre se ha realizado bajo la experiencia. No ha
habido antes un intento por optimizar esta tarea siendo que el número de misioneros a los que se
les tenía que realizar estos itinerarios no eran mucho llegando a ser su número un promedio de 4
por año hasta el 2011. A partir de año 2011 hasta el año pasado (2014) la media de misioneros por
año fue de 8 y en lo que va de este año (Julio 2015) ya se ha tenido que organizar estas visitas para 6
misioneros. Por lo que por primera vez, a través de este trabajo, se busca tener un modelo que
minimice tiempo y costos de esta operación.

2.1.1. Antecedentes nacionales

El problema del Agente viajero es un tipo de problema ampliamente estudiado y en nuestro país
también se han modelado muchos problemas usándolo como base y sus variantes sobre todo el de
ruteo de vehículos.

En particular en lo que concierne a este trabajo y el material que han servido de ayuda o guía son los
siguientes:

Flores Torres, Mario (2004) – Universidad Nacional Mayor de San Marcos (Perú); publicó la Tesis
para optar el Título de Ingeniero Industrial, "Optimización En La Entrega De Productos Para Una
Cadena De Abastecimientos”, en el que se buscó encontrar una ruta óptima para entrega de
productos farmacéuticos de un origen a 12 destinos con el uso de Microsoft Excel® y Lingo®,
encontrando un modo de poder trabajar de forma conjunta ambos software para modificar
continuamente los parámetros del modelo.

Taquía Valdivia, José Alberto (2013) – Pontificia Universidad Católica Del Perú; publicó la Tesis para
optar el Título de Ingeniero Industrial, " Optimización de rutas en una empresa de recojo de residuos
sólidos en el distrito de los Olivos”, en el que se buscó encontrar rutas que minimicen los gastos por
recojo de residuos sólidos usando 11 vehículos en esta tarea a través del software Lingo®.

Gallart Suárez, Joseph (2009) – Pontificia Universidad Católica Del Perú; publicó la Tesis para optar
el Título de Ingeniero Informático, " Análisis, Diseño E Implementación De Un Algoritmo Meta
Heurístico Grasp Que Permita Resolver El Problema De Rutas De Vehículos Con Capacidad”, en el
que propuso dos algoritmos meta heurísticos GRASP que permitan resolver el problema de ruteo de
vehículos, la primera con una solución aleatoria y la segunda con una hibrida entre aleatoria y voraz
encontrando que sus dos algoritmos funcionaban mejor con una fase de mejora llamada 2-Opt.
Mustra tambien la eficacia de usar algoritmos metaheristicos sobre los heurísticos.
2.1.2. Antecedentes internacionales

Mora García, Antonio Miguel. Granda, España (2009) – Universidad de Granada; publicó la Tesis para
optar el Título de Doctor en Informática, " Resolución del Problema Militar de Búsqueda de Camino
Optimo Multiobjetivo Mediante el Uso de Algoritmos de Optimización Basados en Colonias de
Hormigas”, en el que se modelo en base a la metaherística de colonia de hormigas problemas con
distinto número de objetivos a optimizar. Diseñando tres modelos propios a los que nombró de
forma general como CHAC (Compañía de Hormigas ACorazadas). Desarrollo también un software
“mSS” en el que se pude simular los algoritmos planteados en esta tesis.

Pérez Rave, Jorge Iván. Medellín Colombia (2009) – Universidad Nacional de Colombia; publicó la
Tesis para optar el Título de Magíster en Ingeniería de Sistemas, " Heurística inspirada en el análisis
sistémico del “Vecino más cercano”, para solucionar instancias simétricas TSP, empleando una base
comparativa multicriterio”, en la que desarrolla dos métodos: Sacrificio Cortoplacista Adaptativo 2-
opt (SCA_2opt) y una versión mejorada (SCA_2_opt_r) encontrando una alta eficacia y eficiencia en
comparación con otras heurísticas como la del vecino más cercano, Inserción más barata y 2-opt, y
con otras 19 metaheurísticas en las categorías: Colonia de hormigas, Algoritmos genéticos,
Enfriamiento simulado y Otras. Resalta también la falta de un planteamiento sistémico a la hora de
desarrollar metaheurísticas.

2.3. Bases teóricas

El Problema de Agente Viajero ha sido abordado ampliamente y cada año se encuentran métodos
más eficaces y esto se ha dado ya desde hace mucho tiempo como con Dantzig, Fulkerson y Johnson
(1954) que resolvieron para 49 ciudades, Held y Karp (1971) para 64 ciudades, Padberg y Rinaldi
(1987) que llegaron a resolver para 2.392 ciudades y en el 2004 ya se conocía respuesta para 24.978
ciudades (APPLEGATE et al., 2006). El Problema de Agente Viajero de mayor tamaño resuelto hasta
la fecha ha sido para una instancia de 85.900 ciudades (APPLEGATE 2006)[5], denominada pla 85.900
en el dominio público TSPLIB. En dicha librería podemos encontrar problemas con un tamaño aun
mayor y las mejores soluciones encontradas hasta la fecha.

Conociendo la complejidad del mismo muchas heurísticas y metaheuríticas son creadas, adaptadas y
mezcladas, recurriendo muchas veces en modelos existentes en la naturaleza como el caso en que se
adaptan sistemas sociales artificiales para resolver problemas. Es justamente que en estos se inspira
una metaheurística de medianamente reciente creación como lo es la de Colonia de Hormigas,
propuesto inicialmente por Marco Dorigo en 1992[6] en su tesis de doctorado la cual se inspira
fundamentalmente en el comportamiento de las hormigas. Cada individuo cumple su propia agenda
y sigue reglas simples. Sus acciones se basan en la interacción entre los individuos y en algunos casos
con el medio ambiente.

Hay dos tipos de interacciones entre los insectos en una colonia: directas e indirectas. Las
interacciones directas son de tipo visual, químico o de contactos táctil. Las interacciones indirectas

__________________________________________________
[5] APPLEGATE, D. et al. The traveling salesman problem: a computational study. New Jersey: Princeton University Press, 2006.
p. 1-593.
[6] A. Colorni, M. Dorigo et V. Maniezzo, Distributed Optimization by Ant Colonies, actes de la première conférence européenne
sur la vie artificielle, Paris, France, Elsevier Publishing, 134-142, 1991.
son iniciadas por individuos que exhiben un comportamiento que modifica el medio ambiente, el
cual a su vez estimula un cambio en el comportamiento de otros individuos. A pesar de que estas
interacciones puedan ser simples, el enjambre puede resolver problemas difíciles. Según
Bonabeau[7]:

“La inteligencia de enjambres ofrece una manera alternativa de diseñar sistemas inteligentes, en los
cuales la autonomía, el surgimiento y el funcionamiento distribuido reemplaza el control, la
preprogramación y la centralización”

3.1. Colonias de Hormigas.

Las hormigas han captado nuestra atención muchas veces por su comportamiento colectivo. Siendo
muy curioso observar como al ponerles algún obstáculo, en las largas filas de hormigas que se
forman llevando alimentos o mudando larvas, reaccionan buscando un nuevo camino. Las hormigas,
como muchos otros insectos de organización colectiva, poseen una característica admirable y es la
de ser auto organizados. Es decir que no necesitan de algún control externo para organizarse. Las
mismas se reordenan y logran formas mucho más complejas.

Es así que las hormigas han sido objeto de estudio muchas veces y en particular en lo referente al
hallar un camino más corto en la búsqueda de alimento. Los biólogos al estudiar estas especies
observan que las hormigas segregan por el camino unas sustancias químicas llamadas feromonas,
siendo que, en la ruta donde se halle la mayor concentración de feromonas será una ruta que ofrece
un recorrido más coto.

En el año 1992, Marco Dorigo, propuso un algoritmo de colonias de hormigas ( en inglés Ant Colony
Optimization, ACO) en la Universidad Libre de Bruselas. Este algoritmo se fundamentaba en el
comportamiento de las colonias de hormigas y fue empleado con mucho éxito en la resolución de
problemas de combinatoria. Anteriormente varios investigadores como Denebourg y Goss[8]
propusieron modelos estocásticos para describir comportamientos observados en las colonias de
hormigas.

Estos modelos y sus ecuaciones fueron usados por Dorigo para construir el modelo artificial de
Colonia de hormigas.

El aspecto auto organizativo de las hormigas fue la característica más importante que motivo su
estudio e implementación de comportamientos en los sistemas artificiales para la solución de
problemas computacionales.

Pero hay muchso aspectos dignos de estudiar en las hormigas que han hecho de estos algoritmos
muy enriquecedores como lo es la búsqueda de comida, dividirse el trabajo, el transporte
cooperativo y su modo de influir en el ambiente segregando feromonas, característica imporrante al
momento de encontrar las rutas más cortas.

__________________________________________________
[7] Bonabeau, E., Dorigo M., Theraulaz G. Swarm Intelligence, From Natural to Artificial Systems, Santa Fe Institute,Studies in
the Sciences of Complexity, Oxford University Press,1999.
[8] J.-L. Deneubourg, S. Aron, S. Goss et J.-M. Pasteels, The self-organizing exploratory pattern of the Argentine ant, Journal of
Insect Behavior, volume 3, page 159, 1990
Los experimentos realizados con algunas especies de hormiga, muestran como ellas mismas
perciben la feromona y tienden a escoger de manera probabilística los caminos marcados por
grandes concentraciones de ella.

En el siguiente experimento se muestra esta conducta. Se construyó una estructura en forma de


doble puente con dos ramas de igual longitud, ver figura (3.1). Se contó el porcentaje de hormigas
que iban por una u otra rama en busca de comida. Al comienzo las hormigas eran libres de escoger
una de las dos ramas. El resultado fue que aún cuando en la fase inicial la selección de la rama era
aleatoria, eventualmente todas las hormigas se condujeron a una sola rama. Esto se explica porque
al comienzo no hay trazas de feromonas, por lo cual no tienen preferencias de selección y escogen
con la misma probabilidad cualquiera de las dos ramas. Luego mientras más hormigas transiten por
una rama, mayor será la acumulación de feromonas en ella, lo cual estimulará a las hormigas a
tomarla. Finalmente las hormigas convergerán hacia una sola rama. Al repetir el experimento, se
concentrarán en una rama o en la otra. Este comportamiento es un ejemplo de comunicación a
través del ambiente.

Figura 3.1: Las hormigas usan cualquiera de los dos caminos y después sólo uno de ellos.

Para el segundo experimento se construye un doble puente pero con una rama más corta que la
otra. En la mayoría de las pruebas resultó que las hormigas se concentraban en la rama más corta,
en búsqueda de alimento. Esto se explica porque la hormiga que usó el camino más corto regresó
primero al nido con el alimento, y como las hormigas tienen que tomar una decisión de cuál camino
escoger, lo harán en aquél que tenga la mayor concentración de feromonas. Por lo tanto habrá
menos hormigas en el camino más largo y como las feromonas se evaporan con el tiempo habrá
menos concentración de ellas en esta rama.

Figura 3.2: Las hormigas usan cualquiera de los dos caminos y luego se conducen por la rama más
corta
3.1.1. Fundamentos.

Los experimentos hechos con las hormigas al exponerlas a estos tipos de caminos mostró que ellas
buscan el camino más corto y lo logran siguienso ciertas reglas probabilísticas basadas en la
información local.

Este modelo natural tiene al tiempo como una variable contínua, pero nuestro modelo artificial
basado en este usa al tiempo como una variable discreta y un movimiento de las hormigas se realiza
en cada unidad de tiempo.

En la figura (3.3) se muestran dos tipos de camino en ambos casos hay dos formas de ir del nodo 1 al
2 y viceversa

Figura 3.3: Caminos posibles. Fuente: Dorigo. Ant Colony Optimization, 2004.

Sea 𝑝𝑖𝑐 la probabilidad de que una hormiga se desplace desde el nodo i en el tiempo t usando el
camino más corto y sea 𝑝𝑖𝑙 la probabilidad de que escoja el camino mas largo. Cuando una hormiga
se dessplaza por un arco segrega una unidad de feromona en él.

Entonces tendríamos:
[𝜑𝑖𝑐 (𝑡)]𝛼
𝑝𝑖𝑐 (𝑡) =
[𝜑𝑖𝑐 (𝑡)]𝛼 + [𝜑𝑖𝑙 (𝑡)]𝛼

Y también:
[𝜑𝑖𝑙 (𝑡)]𝛼
𝑝𝑖𝑙 (𝑡) =
[𝜑𝑖𝑐 (𝑡)]𝛼 + [𝜑𝑖𝑙 (𝑡)]𝛼

Donde 𝜑𝑖𝑎 es la cantidad de feromona segregada en el arco a partiendo desde i.

Las ecuaciones que relacionan los rastros de feromonas que dejan las hormigas serían:

𝜑𝑖𝑐 (𝑡) = 𝜑𝑖𝑐 (𝑡 − 1) + 𝑝𝑖𝑐 (𝑡 − 1) + 𝑚𝑖 (𝑡 − 1) + 𝑝𝑗𝑐 (𝑡 − 1) + 𝑚𝑗 (𝑡 − 1) ( 𝑖 ≠ 𝑗)

𝜑𝑖𝑙 (𝑡) = 𝜑𝑖𝑙 (𝑡 − 1) + 𝑝𝑖𝑙 (𝑡 − 1) + 𝑚𝑖 (𝑡 − 1) + 𝑝𝑗𝑙 (𝑡 − 1) + 𝑚𝑗 (𝑡 − 1) (𝑖 ≠ 𝑗)

Donde 𝑚𝑖 (𝑡) es la cantidad de hormigas en el nodo i en el tiempo t.


3.1.2. Sistema Artificial de Hormigas y el problema del agente viajero

Al estudiar el comportamiento del sistema de hormigas nuestro interés es el de poder aplicarlo a


nuestro problema del agente viajero. Y la forma más apropiada de representar un problema de este
tipo es con un grafo. Sea el grafo no dirigido G(N,A) donde N es el conjunto de n nodos que
representan las ciudades y A el conjunto de arcos. Los arcos representados como ij tienen un peso
𝑑𝑖𝑗 que expresa la distancia entre los nodos i y j. Lo que buscamos es que nuestro agente, saliendo
desde un punto de origen, recorra todos los nodos sin repetirlos y regrese al nodo de origen. En
términos matemáticos consiste en hallar el circuito Hamiltoniano de longitud mínima.

Ahora, teniendo esto en mente, construiremos el sistema artificial de hormigas. Cada hormiga
construirá una solución desplazándose de un nodo a otro de forma iterativa siguiendo los siguientes
procesos:

1. Actualización de Feromonas: Que implica tener en cuenta su cantidad y su evaporación.


2. Eliminación de Lazos: Para evitar que las hormigas se queden en un loop.
3. Evaluación: Debemos tener un mecanismo para evaluar las soluciones construidas por cada
hormiga.

Figura 3.4: Las hormigas artificiales construyen soluciones

Al comenzar asignaremos una cantidad fija de feromonas a los arcos (normalmente se usa 𝜏𝑖𝑗 =
1, ∀ (𝑖, 𝑗) ∈ 𝐴 ). La probabilidad de ir de un nodo i a un nodo j adyacente depende de la cantidad de
feromonas en ese arco. Para esto usaremos la siguiente relación:
𝛼
𝜏𝑖𝑗
∑ 𝜏𝛼
, 𝑠𝑖 𝑗 ∈ 𝒩𝑖𝑘
𝑘
𝑝𝑖𝑗 ={ 𝑙∈𝒩𝑖𝑘 𝑖𝑙 (3.4)
0 , 𝑠𝑖 𝑗 ∉ 𝒩𝑖𝑘

Para simular la evaporación de feromonas usaremos:


𝜏𝑖𝑗 ← (1 − 𝜌)𝜏𝑖𝑗 + ∆𝑖𝑗 , ∀ (𝑖, 𝑗) ∈ 𝐴 (3.5)

Donde 𝜌 ∈ < 0,1] es un parámetro.

Luego de la evaporación la cantidad de feromona en los arcos es:


𝑘
𝜏𝑖𝑗 ← 𝜏𝑖𝑗 + ∑𝑚
𝑘=1 ∆𝜏𝑖𝑗 , ∀ (𝑖, 𝑗) ∈ 𝐿 (3.6)
𝑘
Donde ∆𝜏𝑖𝑗 es la cantidad de feromona que la hormiga k ha depositado en los arcos que ha visitado y
se define de la siguiente forma:
1
𝑘 , 𝑠𝑖 𝑒𝑙 𝑎𝑟𝑐𝑜 (𝑖, 𝑗) ∈ 𝑇 𝑘
∆𝜏𝑖𝑗 = {𝐶 𝑘 (3.7)
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Donde 𝐶 𝑘 es la longitud de la ruta (solución) 𝑇 𝑘 construida por la hormiga k. Según la ecuación
anterior podemos ver las mejores rutas tendrán más feromonas en sus arcos.

El algoritmo para poner el sistema andar sería:

Sistema Colonia de Hormigas


Procedimiento Actividades
Construcción de Soluciones por las Hormigas
Actualización de Feromonas
Realizar Acciones globales
fin de Actividades
fin

El algoritmo posee tres procedimientos importantes

1. Construcción de Soluciones por las Hormigas: Controla el funcionamiento de las hormigas,


las cuales irán visitando los nodos, del nodo en el que se encuentran hacia un nodo
adyacente depositando feromonas en su camino y siguiendo el camino con mas feromonas.
2. Actualización de Feromonas: Aquí se indica cuanta feromona se ha depositado en los arcos y
también se controla la evaporación de feromonas lo cual permite que se exploren nuevas
soluciones.
3. Acciones Globales: Son acciones que se tomarán teniendo en cuenta el estado del sistema
contribuyendo a que el sistema se desempeñe mejor.

Para el desplazamiento de las hormigas seguiremos lo siguiente: La hormiga situada en el nodo i


selecciona el nodo j incluyendo así el arco (i,j) a su solución hasta completar la ruta y así todas las
hormigas siguiendo lo siguiente:
𝛼 𝛽
𝑘 [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ]
𝑝𝑖𝑗 = 𝛼 𝛽 𝑠𝑖 𝑗 ∈ 𝒩𝑖𝑘 (3.8)
∑ [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ]
𝑙∈𝒩𝑖𝑘
1
Donde 𝓃𝑖𝑗 = 𝑑𝑖𝑗
; 𝛼 𝑦 𝛽 son parámetros que determinan la influencia relativa de los rastros de
feromonas y 𝒩𝑖𝑘 es la vecindad factible de la hormiga k que está en el nodo i. La probabilidad de
visitar un nodo no adyacente es cero. En general, la probabilidad de seleccionar un arco particular (i,
j) aumenta con el valor de la cantidad de feromona 𝜏𝑖𝑗 y con el valor de la información 𝓃𝑖𝑗 (a menor
distancia de la ciudad i hacia la j, menor es su valor).

Los parámetros α y β se ajustan de acuerdo al tipo de resultados que se buscan. Por ejemplo: si
tomamos α = 0 es más probable que se seleccionen los nodos más cercanos y si consideramos β = 0
sólo se tomará en cuenta la cantidad de feromonas presentes en los arcos. Por lo que se promedia
un poco sus valores para buscar mejores soluciones.

En cuanto al depósito de feromona hay diferentes versiones: en una de ellas, mientras la hormiga
construye la solución deposita la feromona, en otras el depósito de feromona se hace una vez
construida la solución. Los arcos con mayor depósito de feromonas se hacen más deseables para
futuras hormigas. El proceso de evaporación de feromonas se hace antes de que las hormigas
efectúen sus depósitos. Finalmente las hormigas mueren y el proceso continúa con nuevas
hormigas.

3.1.3. Aplicación del Algoritmo ACO en un problema del Agente Viajero

Sea el siguiente problema del agente viajero, en el cual se requiere hallar la ruta más corta entre el
conjunto de 9 ciudades. Es un problema simétrico, por lo tanto la distancia (o costo) asociado al arco
(i, j) es igual al asociado al (j, i).

En el Cuadro (3.2) se presenta la matriz de distancias entre cada par de ciudades.

A B C D E F G H I
A - 12 5 7 10 8 10 11 13
B 12 - 16 8 11 10 13 15 6
C 5 16 - 12 8 11 7 14 15
D 7 8 12 - 10 14 16 13 12
E 10 11 8 10 - 5 8 14 12
F 8 10 11 14 5 - 10 6 8
G 10 13 7 16 8 10 - 10 5
H 11 15 14 13 14 6 10 - 5
I 13 6 15 12 12 8 5 5 -
Cuadro 3.2: Tabla de distancias entre las n ciudades

Veamos cómo se aplica el algoritmo.

 Partimos de una población inicial de m = 5 hormigas, para este problema.


 Cada hormiga construye una ruta con n ciudades. En un vector iremos almacenando su
solución.
 Para que la hormiga construya su ruta en cada paso debe escoger un nodo destino teniendo
en cuenta 3 factores: las ciudades no visitadas, la cantidad de feromona depositada 𝜏𝑖𝑗 y el
valor de 𝓃𝑖𝑗 .
 A cada hormiga la colocaremos en un nodo al azar entre {1, . . . , n}.
 Todas las hormigas construirán soluciones, por lo tanto se trata de un proceso paralelo.
 Una vez termine cada hormiga su ruta se la colocará donde inición y calcularemos la longitud
de su solución.
 Se actualizan la evaporación y los depósitos de feromonas.
 Se almacena la mejor ruta hasta el momento y el valor de su distancia.

Lo primero que haremos será crear la matriz de feromonas y asignaremos a cada arco 𝜏𝑖𝑗 el valor de
1. Iniciaremos nuestros parámetros con los siguientes valores: α = 1, β =5, ρ = 0, 5.

Asignamos aleatoriamente a cada hormiga un nodo; sea para este caso: A, C, E, G e I.

Veamos como la hormiga que se encuentra en el nodo A construye su camino. La hormiga tendrá
que escoger uno de los nodos adyacentes: B, C, D, E, F, G, H o I; los datos y resultados se muestran
en la tabla 3.3

𝛼
No. 𝜏𝑖𝑗 𝑑𝑖𝑗 𝛼 𝛽 𝛼 𝑥 𝛽
𝑥 = [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ] 𝑦=∑ [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ]
𝑙∈𝒩𝑖𝑘 𝑦
B 1 12 0,000004 0,000438919 0,009156
C 1 5 0,000320 0,000123 2,602941
D 1 7 0,000059 0,000383 0,155172
E 1 10 0,000010 0,000433 0,023098
F 1 8 0,000031 0,000412 0,073996
G 1 10 0,000010 0,000433 0,023098
H 1 11 0,000006 0,000437 0,014218
I 1 13 0,000003 0,000440 0,006118
Tabla 3.3: Información que posee la hormiga para tomar su decisión partiendo de A

Cabe destacar que los valores de la columna derecha pueden ser mayores que 1, ya que no se trata
propiamente de una función de probabilidad.

La próxima visita de la hormiga es a la ciudad C, en este caso, obviamente no se considera la


conexión (C, A). Los datos que posee para tomar su decisión figuran en la tabla (3.4). La mejor opción
es seguir hacia la ciudad G.
𝛼
No. 𝜏𝑖𝑗 𝑑𝑖𝑗 𝛼 𝛽 𝛼 𝑥 𝛽
𝑥 = [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ] 𝑦=∑ [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ]
𝑙∈𝒩𝑖𝑘 𝑦
B 1 16 0,000001 0,000103 0,009221
D 1 12 0,000004 0,000100 0,040045
E 1 8 0,000031 0,000074 0,413199
F 1 11 0,000006 0,000098 0,063253
G 1 7 0,000059 0,000045 1,325870
H 1 14 0,000002 0,000103 0,018137
I 1 15 0,000001 0,000103 0,012778
Tabla 3.4: Información que posee la hormiga para tomar su decisión partiendo de C

Desde la ciudad G, la hormiga posee la información que se muestra en el tabla (3.5).


𝛼
No. 𝜏𝑖𝑗 𝑑𝑖𝑗 𝛼 𝛽 𝛼 𝛽 𝑥
𝑥 = [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ] 𝑦=∑ [𝜏𝑖𝑗 ] [𝓃𝑖𝑗 ]
𝑙∈𝒩𝑖𝑘 𝑦
B 1 13 0,000003 0,000371 0,007250
D 1 16 0,000001 0,000373 0,002555
E 1 8 0,000031 0,000344 0,088805
F 1 10 0,000010 0,000364 0,027460
H 1 10 0,000010 0,000364 0,027460
I 1 5 0,000320 0,000054 5,907924
Tabla 3.5: Información que posee la hormiga para tomar su decisión partiendo de G

Continuando con el proceso de construcción de la ruta, la hormiga obtiene la siguiente solución:


ACGIHFBDE, cuya distancia es 56. Ahora se aplica el mismo procedimiento a las hormigas restantes.
Los resultados se exponen en el Tabla (3.6).

Ciudad origen Solución Costo


A ACGIHFBDE 56
C CADBIGEFH 50
E EFHIGCADB 48
G GIHFEACDB 56
I IACBDEFHG 54
Tabla 3.6: Soluciones obtenidas en la primera iteración

Hasta ahora la mejor solución es: EFHIGCADB, cuyo costo es de 48. Como se trata de la primera
iteración, esta ruta es la mejor; por lo tanto se almacena, así como su costo.

La actualización de feromonas se efectúa una vez que todas las hormigas hayan completado su ruta,
ya que se trata de un proceso paralelo. Ahora se procede a actualizar las feromonas. Para ello se
𝑘
aplican las reglas (3.5),(3.6) y (3.7), donde ∆𝑖𝑗 = ∑𝑚
𝑘=1 𝛿𝑖𝑗 y m es el número de hormigas. La nueva
matriz simétrica de feromonas se expone en la tabla (3.7).

A B C D E F G H I
A - 0,5 0,59507 0,54083 0,51786 0,5 0,5 0,5 0,51852
B 0,5 - 0,51852 0,59507 0,5 0,51786 0,5 0,5 0,52
C 0,59507 0,51852 - 0,51786 0,5 0,5 0,53869 0,5 0,5
D 0,54083 0,59507 0,51786 - 0,53638 0,5 0,5 0,5 0,5
E 0,51786 0,5 0,5 0,53638 - 0,57721 0,52 0,5 0,5
F 0,5 0,51786 0,5 0,5 0,57721 - 0,5 0,59507 0,5
G 0,5 0,5 0,53869 0,5 0,52 0,5 - 0,51852 0,57655
H 0,5 0,5 0,5 0,5 0,5 0,59507 0,51852 - 0,55655
I 0,51852 0,52 0,5 0,5 0,5 0,5 0,57655 0,55655 -
Tabla 3.7: Matriz de feromonas actualizada

Las entradas de esta matriz que corresponden a arcos no visitados en esta iteración tienen el valor
0.5, de acuerdo con la ecuación (3.5), en donde 𝜌 = 0.5; 𝜏𝑖𝑗 = 1 y ∆𝑖𝑗 = 0

Este proceso debe continuar hasta un número máximo de iteraciones (tmax). En cada iteración se
seleccionan al azar un conjunto de ciudades, en donde se ubicará una hormiga, cada una de las
cuales construirá una nueva solución, ocasionando además cambios en el ambiente. En cada
iteración se mantendrá actualizada la mejor solución y su costo.

En el caso del problema del agente viajero se puede observar cómo intuitivamente se le asocia a
cada hormiga la tarea de construir la solución, lo cual significa hallar una ruta.
3.1.5. Conclusiones

Los algoritmos de Colonias de hormigas fueron diseñados para resolver problemas de optimización
combinatoria, para los cuales pueda llevarse a cabo la construcción de la solución paso a paso.

En ellos las hormigas asumen el papel de multi-agentes actuando asincrónicamente, tomando


información del ambiente modificado por los integrantes de la colonia. Se han probado en bancos de
problemas típicos y han demostrado generar muy buenos resultados. Existen otros modelos
inspirados en la búsqueda de alimento y marcaje de caminos, que ofrecen implementaciones
diferentes. Otros modelos están basados en la distribución del trabajo y en el sistema de transporte
cooperativo.

S-ar putea să vă placă și