Super detailliert | Prinzip des Ameisenkolonie-Optimierungsalgorithmus und seine Implementierung (Matlab)

Fügen Sie hier eine Bildbeschreibung ein

Algorithmus zur Optimierung von Ameisenkolonien ACO (Ant Colony Optimization Algorithm) ist ein bionischer Optimierungsalgorithmus, der Anfang der 1990er Jahre vom italienischen Wissenschaftler M. Dorigo et al. [1] vorgeschlagen wurde und vom Futtersuchverhalten echter Ameisen in der Natur inspiriert ist. Der Algorithmus verwendet einen verteilten parallelen Rechenmechanismus, der eine hohe Robustheit aufweist und sich leicht mit anderen Optimierungsalgorithmen kombinieren lässt. Es wurden eine Reihe guter experimenteller Ergebnisse erzielt, und seine vielen hervorragenden Eigenschaften haben dazu geführt, dass der Ameisenkolonie-Algorithmus bei Forschern große Besorgnis erregt [2].

Der Ameisenkolonie-Optimierungsalgorithmus wurde erstmals zur Lösung diskreter Problemoptimierungen wie dem Travelling Sales-Man Problem (TSP) eingesetzt und hat gute Anwendungsergebnisse erzielt. Mit der Entwicklung des Algorithmus haben Wissenschaftler viele Verbesserungsstrategien basierend auf dem grundlegenden Ameisenkolonie-Algorithmus vorgeschlagen, die die Lösungsleistung des Algorithmus effektiv verbessert und seine Anwendung schrittweise auf viele Bereiche wie Jobplanung, Pfadplanung und Data Mining ausgeweitet haben. Es wurden umfangreiche Forschungsergebnisse erzielt [3].

00 Artikelverzeichnis

1 Prinzip des Ameisenkolonie-Optimierungsalgorithmus
2 Codeverzeichnis
3 Algorithmusleistung
4 Quellcodeerfassung
5 Zusammenfassung

01 Prinzip des Ameisenkolonie-Optimierungsalgorithmus

Der Ant Colony Algorithm (ACO) ist ein heuristischer Zufallssuchalgorithmus, der den Wegfindungsprozess von Ameisen in der Natur simuliert. Grundprinzip: Wenn Ameisen nach Futter suchen, wählen sie zunächst einen zufälligen Weg und scheiden eine chemische Substanz namens Pheromon aus, die auf dem Weg verbleibt, den sie zurücklegen. Später, wenn die Anzahl der Iterationen zunimmt, werden die Informationen auf einem bestimmten Weg immer mehr Elemente . Am Ende wählen diese Ameisen einen Weg mit den meisten Pheromonen und finden so einen optimalen Weg.
Fügen Sie hier eine Bildbeschreibung ein

[D. Pal, P. Verma, D. Gautam und P. Indait, „Verbesserte Optimierungstechnik mit hybridem ACO-PSO“, 2. Internationale Konferenz zu Next Generation Computing Technologies (NGCT) 2016, Dehradun, Indien, 2016, S. 277 -282, doi: 10.1109/NGCT.2016.7877428. Finden Sie den kürzesten Weg im Ameisennest und in der Nahrung.]
(1) Um den Lösungsraum zu konstruieren,
ist zunächst die Startposition jeder Ameise willkürlich und dann wird jede Ameise k gezählt, die sie besucht nächsten Städte, bis alle Ameisen alle festgelegten Städte besucht haben. Zum Zeitpunkt t beträgt die Wahrscheinlichkeit, dass Ameise k von Stadt i in Stadt j wechselt, pkij(t):Fügen Sie hier eine Bildbeschreibung ein

Unter diesen ist α der Pheromonfaktor, β der heuristische Funktionsfaktor; i, j sind jeweils der Startpunkt und der Endpunkt; nij(t) ist der Kehrwert der Länge zwischen zwei Punkten; t ist die maximale Anzahl von Iterationen ; τij(t) ist die Zeit t Der Pheromongehalt von i bis j; Jk(i) ist die Menge aller Knoten, die nicht besucht wurden, und bedeutet das Ende eines Zyklus nach dem vollständigen Besuch. (2) Update Die beste Lösung des Pheromon-
Datensatzes
auf der aktuellen Iterationsnummer (kürzeste Route) und der Pheromongehalt in den Routen verschiedener Städte angepasst.Fügen Sie hier eine Bildbeschreibung ein

Unter diesen ist ρ der Pheromon-Verflüchtigungsfaktor, und der Wertebereich liegt im Allgemeinen zwischen [0,2 und 0,5]; 1-ρ ist der Pheromon-Restkoeffizient; die Gesamtzahl der auf dem Weg verbleibenden Pheromone. Δτkij ist die Menge an Informationen, die von hinterlassen werden ant k auf dem Pfad in diesem Zyklus, ausgedrückt durch die folgende Formel: wobei Q eine Fügen Sie hier eine Bildbeschreibung ein
normale Zahl ist und Lk der Pfad ist, den ant k in der aktuellen Zykluslänge durchläuft.

(3) Beurteilen, ob es vorbei ist.
Wenn die Anzahl der Iterationen geringer als die maximale Anzahl von Iterationen ist, addieren Sie 1 zur Anzahl der Iterationen, löschen Sie gleichzeitig die Aufzeichnungstabelle aller Ameisenrouten und kehren Sie zu Schritt 1 zurück ; andernfalls beenden Sie die Berechnung und geben die erhaltene optimale Lösung aus.

02 Codeverzeichnis

Fügen Sie hier eine Bildbeschreibung ein
Der Code ist vollständig kommentiert und einige der Programme lauten wie folgt:

Fügen Sie hier eine Bildbeschreibung ein

Am Ende des Artikels erfahren Sie, wie Sie den Code erhalten.

03 Algorithmusleistung

Testen Sie seine Leistung mit einem typischen TSP-Problem, das heißt, den Pfad zu finden, der alle Städte mit der Mindestentfernung durchquert.
Die Ergebnisse der Ausführung des Programms sind wie folgt:
Fügen Sie hier eine Bildbeschreibung ein

04 Zusammenfassung

In diesem Artikel wird die Anwendung des Ameisenkolonie-Algorithmus auf TSP-Probleme vorgestellt. Obwohl der Ameisenkolonie-Algorithmus viele Vorteile hat, wie z. B. Offenheit, Robustheit, verteiltes Rechnen usw., weist er auch eine geringe Sucheffizienz, eine langsame Konvergenzgeschwindigkeit und eine einfache Handhabung auf Es gibt Mängel wie das lokale Optimum, sodass Raum für eine kontinuierliche Verbesserung des Algorithmus besteht. Gleichzeitig kann der Ameisenkolonie-Algorithmus nicht nur auf verschiedene Pfadoptimierungsprobleme, sondern auch auf kontinuierliche Probleme angewendet werden. Der Autor wird in Zukunft auch Artikel in diesem Bereich aktualisieren, also achten Sie bitte darauf.

Verweise

[1] COLORNI A, DORIGO M, MANIEZZO V. Verteilte Optimierung durch Ameisenkolonien[C]. Europäische Konferenz über künstliches Leben, 1991. [2] Wang Yong. Forschung zum Optimierungsalgorithmus für Ameisenkolonien bei Routingproblemen mit mehreren Zielen[ D
] ]. Changsha: Hunan University, 2009.
• [3] Qiao Dongping, Pei Jie, Xiao Yanqiu usw. Ein Überblick über den Ameisenkolonie-Algorithmus und seine Anwendung [J]. Software Guide, 2017, 16(12): 217 -221.

Ameisenkolonie-Algorithmus MATLAB-Quellcode-Erfassung: Antwort an ACO (Großbuchstaben)
im Hintergrund des öffentlichen Kontos des Autors auf der Cloud-Experimentierplattform von KAU

Noch ein Hinweis: Wenn Partner Optimierungsprobleme haben, die gelöst werden müssen (in irgendeinem Bereich), können Sie diese an mich senden, und ich werde Artikel, die Optimierungsalgorithmen verwenden, um diese Probleme zu lösen, gezielt aktualisieren.

Wenn dieser Artikel für Sie hilfreich oder inspirierend ist, können Sie unten rechts auf „Gefällt mir“ (ง •̀_•́)ง klicken (Sie müssen nicht klicken).

Guess you like

Origin blog.csdn.net/sfejojno/article/details/132433743