aco est un algorithme ISO C++ Ant Colony Optimization (ACO) (une technique d'optimisation métaheuristique inspirée du comportement des fourmis) pour le problème du voyageur de commerce. Il libère un certain nombre de fourmis progressivement tout en mettant à jour la concentration de phéromones et en calculant le meilleur itinéraire graphique. En fin de compte, le meilleur itinéraire est imprimé sur la ligne de commande.
aco a été développé il y a quelques années à des fins académiques et de recherche sur la base de « Computational Intelligence : An Introduction » (première édition de 2002) d'Andries Engelbrecht. Cet algorithme est disponible pour toute personne intéressée par les méthodes ACO, alors n'hésitez pas à l'explorer et à modifier les paramètres.
aco a été développé avec des bibliothèques standards et un fichier Randoms.cpp
supplémentaire qui implémente des méthodes de génération de nombres pseudo-aléatoires. En dehors de cela, le programme peut être facilement compilé et exécuté avec la commande suivante sur une ligne de commande située dans src
:
g++ -Wall *.cpp -o aco; ./aco
. La méthode main
est incluse dans le fichier main.cpp
qui contient quelques paramètres de l'algorithme ACO qui peuvent être modifiés à volonté. Ce fichier définit également par programme les connexions des villes qui composent finalement le graphique de la ville. Les méthodes de l'algorithme ACO sont implémentées dans la classe ACO
située dans les fichiers ACO.h
et ACO.cpp
.
@dfernan__