Вы находитесь на странице: 1из 12

ANT COLONY

OPTIMIZATION

Daniel Reyes Velarde


TRAVELLING SALESMAN PROBLEM (TSP)

“El problema del viajante consiste en encontrar la ruta


más corta que debe llevar a cabo un vendedor que,
comenzando por un ciudad de origen visite un
determinado y preestablecido conjunto de ciudades y
vuelva a la ciudad original, con la restricción de que por
cada ciudad sólo pase una vez”
TEORÍA DE LA COMPLEJIDAD
En un TSP cuanto mayor sea el número de nodos, mayor va a ser el
número de rutas posibles, y por lo tanto mayor será el esfuerzo
requerido para calcular todas ellas.

N = Número de N! = Número de
nodos o ciudades combinaciones o rutas

Basta una red simple de 7 ciudades para que sea necesario calcular
más de 5000 combinaciones, por lo tanto se utiliza otros
procedimientos que dan una respuesta óptima aproximada en un
tiempo bajo
COMPORTAMIENTO DE HORMIGAS

1 Una hormiga exploradora


encuentra de manera
aleatoria comida y retorna a
la colonia dejando un rastro
de feromonas.
COMPORTAMIENTO DE HORMIGAS

2 Las feromonas atraen a las


hormigas más cercanas y
seguirán su pista de manera
más o menos directa hacia la
fuente de comida.
COMPORTAMIENTO DE HORMIGAS

Al regreso, si existen dos


3 rutas para llegar a la misma
fuente de alimentos, la ruta
más corta será recorrida por
más hormigas que la ruta
más larga , aumentando la
cantidad de feromonas.
COMPORTAMIENTO DE HORMIGAS

La ruta más larga irá


4 desapareciendo debido a que
las feromonas son volátiles.
Finalmente, todas las
hormigas habrán
determinado y escogido
el camino más corto.
ALGORITMO DE OPTIMIZACIÓN
Los algoritmos de optimización por colonias de hormigas (AOC) son una metodología basada en el
comportamiento colectivo de las mismas en búsqueda de sus alimento. Para entenderlo mejor en un TSP:

Considerando Ci = (Xi, Yi) y Cj = (Xj, Yj) entonces:


N = Número de ciudades
Dij = (Xi − Xi)2 + (Yi − Y𝑗)2
Ciudades = {Co , … , CN-1}
El caso más común es que ir de Ci a Cj cuesta lo
Dij = Distancia entre Ci y Cj
mismo que ir de Cj a Ci. Aunque existen ciudades que
no son accesibles desde otras.
ALGORITMO DE OPTIMIZACIÓN
La transición de la ciudad i a la ciudad j depende de las siguientes condiciones:

Cada hormiga mantiene en memoria las ciudades que ya ha visitado en el


• Si la ciudad ha sido ya visitada, o no, recorrido actual, y únicamente considera en cada paso las ciudades que no
en el ciclo que está construyendo ha visitado todavía, que denotaremos por Ji

Puede ser usada por las hormigas para que la distancia entre ciudades
• La inversa de la distancia, conocida consecutivas sea una característica que intervenga en la selección del
como visibilidad (Vij = 1/Dij) recorrido que está construyendo. Esta información suele ser estática pero
es fácil imaginar escenarios en los que los costes de paso de un nodo a
otro del grafo sean cambiantes.
• La cantidad de feromona que hay Mide la inteligencia colectiva del hormiguero, ya que es información que
depositada en la arista que une depende de la ejecución del algoritmo. La feromona que tiene una arista
ambos nodos Tij(t) indica lo buena que es en conjunción para una buena solución.
ALGORITMO DE OPTIMIZACIÓN
La probabilidad de que la hormiga k vaya de Ci a Cj en la construcción del recorrido actual viene dada
por la siguiente expresión:

Si α = 0, se utiliza el método clásico donde Si β = 0, se utiliza únicamente el método


las ciudades más cercanas tienen mayor de la feromonas del conjunto de hormigas.
probabilidad de ser seleccionadas. Sin opción de mejora.
ALGORITMO DE OPTIMIZACIÓN
La actualización de Feromonas se dada por la siguiente expresión:

𝑇𝑖𝑗 = 1 − 𝜌 𝑇𝑖𝑗 + ∆𝑇𝑖𝑗


Donde:
• 𝑇𝑖𝑗 = Cantidad de feromona en el camino de Ci a Cj

• 𝜌 = Porcentaje de Feromona evaporada

• ∆𝑇𝑖𝑗 = Cantidad de feromona depositada dada por:

{ 1/Lk si hormiga k pasa por camino i,j


0 sino
Lk = Costo por viaje
EFICIENCIA DEL ALGORITMO

Existen algunas variantes para mejorar la eficiencia de este algoritmo, las más utilizadas son:

• Sistema Elitista: Añadir en cada paso feromona a las aristas del mejor recorrido encontrado hasta el
momento, haya sido encontrado en el paso actual o no.

• Sistema por Ranking: Es el usado en esta entrada, cada hormiga deposita feromona proporcional a la
bondad de la solución encontrada.

• Sistema de Colonias: Todas las hormigas dejan la misma cantidad de feromona, independientemente de la
bondad de la solución, pero la ejecución no es sincronizada, sino que las hormigas que acaban antes pueden
volver a comenzar una nueva generación de camino. De esta forma, los caminos más cortos, tendrán más
posibilidad de ser repetidos. Es el sistema que ocurre en la naturaleza