Algoritmo ACO
Introducción
El problema del viajero consiste en una persona que tiene como objetivo
pasar por “n” lugares sin repetir alguno y regresar a su origen además de
encontrar la ruta óptima ya sea en tiempo, recorrido y dinero sea cual sea
su situación.
Es muy importante para conseguir rutas de optimización y obtener
la solución a problemas donde se tenga que encontrar los caminos mas adecuados.
Algunas aplicaciones que podría tener serian en el traslado de mercancía a
ciertas rutas de entrega que tienen que seguir para dejar su producto. El problema del viajero es difícil debido que se tienen muchas series de
opciones o rutas que pueden ser elegidas.
ACO es un algoritmo de optimización basado en la colonia de hormigas, esto
se trata de que cierta cantidad de hormigas salen a buscar alimento dejando una
feromona ya que son ciegas las hormigas rastrean esta feromona optan por tomar
la que esta impregnada con mas fuerza ya que esta ya siguió un recorrido y
volvió a su origen. ACO sirve para resolver problemas de este tipo es decir en donde se tenga
cierta cantidad de caminos opcionales y sean los más factibles y fáciles a
usar.
Se puede usar para darte una ruta de acceso especifica optimizada y
dejando atrás la fuerza bruta.
Las secciones en las que se dividirá la entrada serán Introducción, Marco
teórico, Desarrollo y Conclusión.
Marco Teórico
El problema del viajero es un problema NP-completo ya que cuenta con muchas combinaciones de caminos y se tiene que encontrar el más óptimo o el más corto.
Este problema se trata de encontrar el camino más corto en un mapa con diferentes ciudades conectadas entre sí y el viajero tiene que comenzar y terminar en la misma ciudad. EL mapa se representa mediante un grafo.
Las instancias de este problema consisten en darle pesos o valores a las aristas y encontrar el más óptimo por ejemplo:
Debe pasar por 4 ciudades diferentes y regresar a la misma.
Por fuerza bruta:
MTGCM= 29
MCGTM= 29
MGCTM= 28*
MGTCM= 39
MTCGM= 28*
MCTGM= 39
CMTGC= 29
CGTMC= 29
CTGMC= 39
CTMGC= 28*
CGMTC= 28*
CMGTC= 39
GTMCG= 28*
GCMTG= 28*
GMTCG= 28*
GMCTG= 39
GTCMG= 39
GCTMG= 28*
TMCGT= 29
TGCMT= 29
TCMGT= 39
TCGMT= 28*
TGMCT= 39
TMGCT= 28*
ACO significa optimización basado en colonia de hormigas, es un tipo de técnica metauristica que se basa en el comportamiento natural de las hormigas para resolver un problema de optimización, esta técnica fue inventada por Dorigo etal en 1991, esta técnica se inspiró en el comportamiento de las colonias de hormigas.
El proceso a seguir en esta técnica es la siguiente como se muestra en el siguiente pseudocódigo:
1. Inicio
Hacer (Do)
2. Comienzo de recorrido de hormigas
3. Camino más corto para el regreso
4. Búsqueda de objetivo
5. Si se encontró el objetivo(if)
6. Dejar rastro de feromona
7. Regresar al origen
8. Hormigas escogen camino con más feromona
9. Se eliminan rastros de feromona
10. Se cumple el objetivo(while)
11. Fin
Las fórmulas más importantes para esta técnica son:
Selección de camino
Donde Ti es la cantidad de feromona y n es la distancia o costo
Actualización de feromona:
En donde p es el coeficiente de evaporación de feromonas.
Código
Conclusión
De la práctica desarrollada nos dejó de aprendizaje que el algoritmo basado en colonias de hormigas (ACO) puede tener diferentes aplicaciones como optimizar algún proceso, en la teoría y explicación de cómo funcionaba el algoritmo lo entendimos bien pero en lo que se batallo fue en el comprender las formulas y también un poco en la codificación, para entender mejor el algoritmo se pueden buscar libros o videos para poder tener más en claro y afianzar lo hecho en esta practica.Referencias
Un video de la funcion de ACO











