aco ist ein ISO C++-Algorithmus zur Ant Colony Optimization (ACO) (eine metaheuristische Optimierungstechnik, die vom Verhalten von Ameisen inspiriert ist) für das Problem des Handlungsreisenden. Es setzt nach und nach eine Reihe von Ameisen frei, aktualisiert gleichzeitig die Pheromonkonzentration und berechnet die beste Route im Diagramm. Am Ende wird die beste Route in der Befehlszeile ausgegeben.
aco wurde vor einigen Jahren für akademische und Forschungszwecke auf der Grundlage von „ Computational Intelligence: An Introduction “ (Erstausgabe von 2002) von Andries Engelbrecht entwickelt. Dieser Algorithmus steht jedem zur Verfügung, der sich für ACO-Methoden interessiert. Sie können ihn also gerne erkunden und Parameter optimieren.
aco wurde mit Standardbibliotheken und einer zusätzlichen Randoms.cpp
Datei entwickelt, die Methoden zur Generierung von Pseudozufallszahlen implementiert. Abgesehen davon kann das Programm einfach mit dem folgenden Befehl in einer Befehlszeile in src
kompiliert und ausgeführt werden:
g++ -Wall *.cpp -o aco; ./aco
. Die main
ist in der Datei main.cpp
enthalten, die einige Parameter des ACO-Algorithmus enthält, die nach Belieben geändert werden können. Diese Datei definiert auch programmatisch die Verbindungen der Städte, die letztendlich den Städtegraphen bilden. Die ACO-Algorithmusmethoden werden in der ACO
-Klasse implementiert, die sich in den Dateien ACO.h
und ACO.cpp
befindet.
@dfernan__