aco es un algoritmo ISO C++ Ant Colony Optimization (ACO) (una técnica de optimización metaheurística inspirada en el comportamiento de las hormigas) para el problema del viajante. Libera una cantidad de hormigas de forma incremental mientras actualiza la concentración de feromonas y calcula la mejor ruta gráfica. Al final, la mejor ruta se imprime en la línea de comando.
aco fue desarrollado hace unos años con fines académicos y de investigación basándose en " Computational Intelligence: An Introducción " (primera edición de 2002) de Andries Engelbrecht. Este algoritmo está disponible para cualquier persona interesada en los métodos ACO, así que siéntase libre de explorarlo y modificar los parámetros.
aco fue desarrollado con bibliotecas estándar y un archivo Randoms.cpp
adicional que implementa métodos de generación de números pseudoaleatorios. Aparte de eso, el programa se puede compilar y ejecutar fácilmente con el siguiente comando en una línea de comando ubicada en src
:
g++ -Wall *.cpp -o aco; ./aco
. El método main
está incluido en el archivo main.cpp
que contiene algunos parámetros del algoritmo ACO que se pueden cambiar como mejor se considere. Ese archivo también define mediante programación las conexiones de las ciudades que finalmente conforman el gráfico de la ciudad. Los métodos del algoritmo ACO se implementan en la clase ACO
ubicada en los archivos ACO.h
y ACO.cpp
.
@dfernan__