Ameisenalgorithmus: Unterschied zwischen den Versionen
DmdM (Diskussion | Beiträge) K (+überarbeiten) |
DmdM (Diskussion | Beiträge) K (angepasst außer Literatur) |
||
Zeile 1: | Zeile 1: | ||
[[Datei:Safari ants.jpg|thumb|Bestimmte Verhaltensmuster der Ameisen bilden die Grundlage für Optimierungs-Algorithmen, hier ''Dorylus'')]] | [[Datei:Safari ants.jpg|thumb|Bestimmte Verhaltensmuster der Ameisen bilden die Grundlage für Optimierungs-Algorithmen, hier ''Dorylus'')]] | ||
'''Ameisenalgorithmen''' gehören zu den | '''Ameisenalgorithmen''' gehören zu den Metaheuristiken für Verfahren der kombinatorischen Optimierung, die auf dem modellhaften Verhalten von realen [[Ameise]]n bei der Futtersuche basieren. Die meisten Ameisenalgorithmen erfüllen auch die von Marco Dorigo vorgestellte ACO (Ant Colony Optimization)-Metaheuristik. | ||
== Natürliches Vorbild == | == Natürliches Vorbild == | ||
Zeile 11: | Zeile 9: | ||
Bei der Futtersuche scheiden einzelne Ameisen entlang ihres Weges einen Duftstoff ([[Pheromon]]) aus. Andere Ameisen wählen wahrscheinlicher einen Weg mit höherer Pheromonkonzentration. Verbindet man in einem Experiment eine Futterquelle mit zwei unterschiedlich langen Wegen mit dem Nest, so betreten die Ameisen auf ihrer Suche nach Futter beide Wege etwa gleich häufig. Die Ameisen auf dem kürzeren Weg kehren jedoch schneller von der Futterstelle zurück, so dass mit der Zeit auf dem kürzesten Pfad eine höhere Pheromonkonzentration als auf dem anderen vorherrscht. In der Folge wählen die nachkommenden Ameisen bevorzugt diesen Weg: Sie scheinen entlang einer Straße zu laufen, eine [[Ameisenstraße]] ist entstanden. | Bei der Futtersuche scheiden einzelne Ameisen entlang ihres Weges einen Duftstoff ([[Pheromon]]) aus. Andere Ameisen wählen wahrscheinlicher einen Weg mit höherer Pheromonkonzentration. Verbindet man in einem Experiment eine Futterquelle mit zwei unterschiedlich langen Wegen mit dem Nest, so betreten die Ameisen auf ihrer Suche nach Futter beide Wege etwa gleich häufig. Die Ameisen auf dem kürzeren Weg kehren jedoch schneller von der Futterstelle zurück, so dass mit der Zeit auf dem kürzesten Pfad eine höhere Pheromonkonzentration als auf dem anderen vorherrscht. In der Folge wählen die nachkommenden Ameisen bevorzugt diesen Weg: Sie scheinen entlang einer Straße zu laufen, eine [[Ameisenstraße]] ist entstanden. | ||
Diese Art von Ameisenoptimierung wurde schon in den | Diese Art von Ameisenoptimierung wurde schon in den 1940er Jahren vom späteren Physik-Nobelpreisträger Richard P. Feynman beobachtet und in seinem populären Buch [http://www.mathpages.com/home/kmath320/kmath320.htm ''Surely you are joking, Mr. Feynman''] anschaulich beschrieben. | ||
== Übertragung auf Algorithmen == | == Übertragung auf Algorithmen == | ||
Dieses Vorgehen lässt sich als [[Kollektive Intelligenz|Schwarmintelligenz]] beschreiben: eine höhere Leistung (hier als Beispiel die Lösung eines Optimierungsproblems, nämlich die Suche nach der kürzesten Route) wird durch das Zusammenspiel von vielen einfachen Akteuren erbracht, die jeweils nur einen Teil zur Gesamtlösung beisteuern können. Deswegen kann man Ameisenalgorithmen auch den | Dieses Vorgehen lässt sich als [[Kollektive Intelligenz|Schwarmintelligenz]] beschreiben: eine höhere Leistung (hier als Beispiel die Lösung eines Optimierungsproblems, nämlich die Suche nach der kürzesten Route) wird durch das Zusammenspiel von vielen einfachen Akteuren erbracht, die jeweils nur einen Teil zur Gesamtlösung beisteuern können. Deswegen kann man Ameisenalgorithmen auch den Agentenbasierten Modellen zuordnen. | ||
Der erste Ameisenalgorithmus, genannt ''Ant System'' (AS), wurde vom italienischen Wissenschaftler Marco Dorigo vorgestellt (1991, 1996). Er wandte AS auf das bekannte informatische | Der erste Ameisenalgorithmus, genannt ''Ant System'' (AS), wurde vom italienischen Wissenschaftler Marco Dorigo vorgestellt (1991, 1996). Er wandte AS auf das bekannte informatische Problem des Handlungsreisenden an, da eine Übertragung von der Suche nach kürzesten Wegen auf dieses Problem naheliegend ist. | ||
Wichtige Erweiterungen und Modifikationen lieferten in den Folgejahren | Wichtige Erweiterungen und Modifikationen lieferten in den Folgejahren Luca Maria Gamberdella mit ''Ant Colony System'' (ACS, 1997) und Thomas Stützle mit ''Max-Min Ant System'' (MMAS, 1999), mit dem bisher die besten Ergebnisse für das Problem des Handlungsreisenden erzielt wurden. | ||
Mit Ameisenalgorithmen lassen sich vor allem kombinatorische Optimierungsprobleme lösen, beispielsweise Projektplanungsprobleme oder das | Mit Ameisenalgorithmen lassen sich vor allem kombinatorische Optimierungsprobleme lösen, beispielsweise Projektplanungsprobleme oder das Quadratische Zuordnungsproblem, IP-Routing oder Probleme der Logistik. Da es sich um heuristische Optimierungsverfahren handelt, kann nicht garantiert werden, dass immer die optimale Lösung gefunden wird. Deshalb ist ein Einsatz auch nur dann sinnvoll, wenn eine optimale Lösung nicht unbedingt gefunden werden muss oder nicht in akzeptabler Rechenzeit gefunden werden kann. | ||
== Geschichte == | == Geschichte == | ||
Zeile 31: | Zeile 29: | ||
== Anwendungen == | == Anwendungen == | ||
[[Datei:Knapsack ants.svg|thumb|siehe auch | [[Datei:Knapsack ants.svg|thumb|siehe auch Rucksackproblem]] | ||
* Busrouten, Müllabfuhr, Post- und Auslieferungsrouten. | * Busrouten, Müllabfuhr, Post- und Auslieferungsrouten. | ||
* Maschinenbelegungsproblem: Minimierung der Transportzeit bei räumlich weit auseinander liegenden Produktionsstätten: Realisiert bei Unilever in England und Vincent Darley von der Bios-Gruppe in Santa Fe (New Mexico). | * Maschinenbelegungsproblem: Minimierung der Transportzeit bei räumlich weit auseinander liegenden Produktionsstätten: Realisiert bei Unilever in England und Vincent Darley von der Bios-Gruppe in Santa Fe (New Mexico). | ||
* Routenoptimierung zur Nachschubversorgung von Fertigungslinien mit minimalem Transportmitteleinsatz (Routenbildung, -führung, -taktung in Verbindung mit der Behälterauswahl); realisiert im layoutbasierten Logistikplanungssystem MALAGA mit Algorithmen von INPRO. | * Routenoptimierung zur Nachschubversorgung von Fertigungslinien mit minimalem Transportmitteleinsatz (Routenbildung, -führung, -taktung in Verbindung mit der Behälterauswahl); realisiert im layoutbasierten Logistikplanungssystem MALAGA mit Algorithmen von INPRO. | ||
* Beschickung von Lackieranlagen: Losbildung zur Minimierung der Farbwechsel: Realisiert bei DaimlerChrysler. | * Beschickung von Lackieranlagen: Losbildung zur Minimierung der Farbwechsel: Realisiert bei DaimlerChrysler. | ||
* Fertigungssteuerung: | * Fertigungssteuerung: Losbildung zur Minimierung der Rüstzeiten und der Einhaltung von Endterminen bei ebm-papst, St. Georgen; realisiert durch ein Programm von Carpe Retem. | ||
* [[Proteinfaltung]]: 20 Aminosäuren werden zu Proteinen mit 100 Aminosäuren kombiniert → 20<sup>100</sup>, dies ergibt etwa 10<sup>130</sup> verschiedene Proteine. | * [[Proteinfaltung]]: 20 Aminosäuren werden zu Proteinen mit 100 Aminosäuren kombiniert → 20<sup>100</sup>, dies ergibt etwa 10<sup>130</sup> verschiedene Proteine. | ||
* Telefonnetzwerk und Internet: Durch ACO können schnell freie Strecken gefunden werden und zwar während des Betriebs (z. B. ''[ | * Telefonnetzwerk und Internet: Durch ACO können schnell freie Strecken gefunden werden und zwar während des Betriebs (z. B. ''[https://de.wikipedia.org/wiki/Antnet Antnet]''). | ||
* Personaleinsatzplanung bei Fluggesellschaften: Flugbegleiter und Piloten werden unter Berücksichtigung von Ruhephasen etc. monatlich geplant. | * Personaleinsatzplanung bei Fluggesellschaften: Flugbegleiter und Piloten werden unter Berücksichtigung von Ruhephasen etc. monatlich geplant. | ||
* | * Staplerleitsysteme: Optimale Steuerung und Auslastung von Fahrzeugen und Fahrwegen. | ||
== | == Problem des Handlungsreisenden mit Ant Colony Optimization == | ||
[[Datei:TSP_screendump.jpg|thumb|500px|Screendumps eines Laufs Traveling Salesman mit ACO]] | [[Datei:TSP_screendump.jpg|thumb|500px|Screendumps eines Laufs Traveling Salesman mit ACO]] | ||
Das | Das Problem des Handlungsreisenden (Traveling Salesman Problem, TSP) kann sehr effizient mit Ant Colony Optimization bearbeitet werden. | ||
Im Beispiel wird TSP mit 30 „Städten“ bzw. Zielen berechnet (etwa 4,4·10<sup>30</sup> mögliche Wege). Die Stärke von ACO, Änderungen im laufenden Suchprozess selbstadaptiv zu verarbeiten, wird im Beispiel deutlich. Bei Verschieben eines Zielpunktes in der nach 20 Sekunden gefundenen Route wird bereits 10 Sekunden später (ohne Reinitialisierung) vom Algorithmus erneut ein guter Wegevorschlag gemacht | Im Beispiel wird TSP mit 30 „Städten“ bzw. Zielen berechnet (etwa 4,4·10<sup>30</sup> mögliche Wege). Die Stärke von ACO, Änderungen im laufenden Suchprozess selbstadaptiv zu verarbeiten, wird im Beispiel deutlich. Bei Verschieben eines Zielpunktes in der nach 20 Sekunden gefundenen Route wird bereits 10 Sekunden später (ohne Reinitialisierung) vom Algorithmus erneut ein guter Wegevorschlag gemacht. | ||
== Literatur == | == Literatur == | ||
{{Überarbeiten|an AWiki anpassen oder WP-Vorlage importieren}} | |||
* {{Literatur|Autor=M. Dorigo, M. Birattari, T. Stützle|Titel=Ant Colony Optimization: Artificial Ants as a Computational Intelligence Technique|Sammelwerk=IEEE Computational Intelligence Magazine|Band=volume 1, numéro 4|Jahr=2006|Seiten=28–39}} | * {{Literatur|Autor=M. Dorigo, M. Birattari, T. Stützle|Titel=Ant Colony Optimization: Artificial Ants as a Computational Intelligence Technique|Sammelwerk=IEEE Computational Intelligence Magazine|Band=volume 1, numéro 4|Jahr=2006|Seiten=28–39}} | ||
* {{Literatur|Autor=Johann Dréo, Alain Petrowski, Éric Taillard, Patrick Siarry|Titel=Métaheuristiques pour l'optimisation difficile|Ort=Paris|Verlag=Éd. Eyrolles|Jahr=septembre 2003|ISBN=2-212-11368-4|Originalsprache=frz.|Kommentar=Broché, 356 pages|Online=[http://www.eyrolles.com/Chapitres/9782212113686/chap4_Dreo.pdf extrait concernant les algorithmes de colonies de fourmis] (PDF; 933 kB)}} | * {{Literatur|Autor=Johann Dréo, Alain Petrowski, Éric Taillard, Patrick Siarry|Titel=Métaheuristiques pour l'optimisation difficile|Ort=Paris|Verlag=Éd. Eyrolles|Jahr=septembre 2003|ISBN=2-212-11368-4|Originalsprache=frz.|Kommentar=Broché, 356 pages|Online=[http://www.eyrolles.com/Chapitres/9782212113686/chap4_Dreo.pdf extrait concernant les algorithmes de colonies de fourmis] (PDF; 933 kB)}} | ||
Zeile 65: | Zeile 63: | ||
== Einzelnachweise == | == Einzelnachweise == | ||
''Dieser Artikel basiert auf der [https://de.wikipedia.org/wiki/Ameisenalgorithmus deutschen Wikipedia] und steht unter der Lizenz [https://de.wikipedia.org/wiki/Wikipedia:Lizenzbestimmungen_Commons_Attribution-ShareAlike_3.0_Unported CC-BY-SA], eine Liste der Autoren ist [https://de.wikipedia.org/w/index.php?title=Ameisenalgorithmus&action=history dort] verfügbar.'' | |||
<references /> | <references /> | ||
Aktuelle Version vom 9. Oktober 2013, 09:18 Uhr
Ameisenalgorithmen gehören zu den Metaheuristiken für Verfahren der kombinatorischen Optimierung, die auf dem modellhaften Verhalten von realen Ameisen bei der Futtersuche basieren. Die meisten Ameisenalgorithmen erfüllen auch die von Marco Dorigo vorgestellte ACO (Ant Colony Optimization)-Metaheuristik.
Natürliches Vorbild
Bei der Futtersuche scheiden einzelne Ameisen entlang ihres Weges einen Duftstoff (Pheromon) aus. Andere Ameisen wählen wahrscheinlicher einen Weg mit höherer Pheromonkonzentration. Verbindet man in einem Experiment eine Futterquelle mit zwei unterschiedlich langen Wegen mit dem Nest, so betreten die Ameisen auf ihrer Suche nach Futter beide Wege etwa gleich häufig. Die Ameisen auf dem kürzeren Weg kehren jedoch schneller von der Futterstelle zurück, so dass mit der Zeit auf dem kürzesten Pfad eine höhere Pheromonkonzentration als auf dem anderen vorherrscht. In der Folge wählen die nachkommenden Ameisen bevorzugt diesen Weg: Sie scheinen entlang einer Straße zu laufen, eine Ameisenstraße ist entstanden.
Diese Art von Ameisenoptimierung wurde schon in den 1940er Jahren vom späteren Physik-Nobelpreisträger Richard P. Feynman beobachtet und in seinem populären Buch Surely you are joking, Mr. Feynman anschaulich beschrieben.
Übertragung auf Algorithmen
Dieses Vorgehen lässt sich als Schwarmintelligenz beschreiben: eine höhere Leistung (hier als Beispiel die Lösung eines Optimierungsproblems, nämlich die Suche nach der kürzesten Route) wird durch das Zusammenspiel von vielen einfachen Akteuren erbracht, die jeweils nur einen Teil zur Gesamtlösung beisteuern können. Deswegen kann man Ameisenalgorithmen auch den Agentenbasierten Modellen zuordnen.
Der erste Ameisenalgorithmus, genannt Ant System (AS), wurde vom italienischen Wissenschaftler Marco Dorigo vorgestellt (1991, 1996). Er wandte AS auf das bekannte informatische Problem des Handlungsreisenden an, da eine Übertragung von der Suche nach kürzesten Wegen auf dieses Problem naheliegend ist.
Wichtige Erweiterungen und Modifikationen lieferten in den Folgejahren Luca Maria Gamberdella mit Ant Colony System (ACS, 1997) und Thomas Stützle mit Max-Min Ant System (MMAS, 1999), mit dem bisher die besten Ergebnisse für das Problem des Handlungsreisenden erzielt wurden.
Mit Ameisenalgorithmen lassen sich vor allem kombinatorische Optimierungsprobleme lösen, beispielsweise Projektplanungsprobleme oder das Quadratische Zuordnungsproblem, IP-Routing oder Probleme der Logistik. Da es sich um heuristische Optimierungsverfahren handelt, kann nicht garantiert werden, dass immer die optimale Lösung gefunden wird. Deshalb ist ein Einsatz auch nur dann sinnvoll, wenn eine optimale Lösung nicht unbedingt gefunden werden muss oder nicht in akzeptabler Rechenzeit gefunden werden kann.
Geschichte
- 2000: Sonderausgabe einer wissenschaftlichen Zeitschrift über Algorithmen Ameisenkolonie[1].
- 2000: Gutjahr führt ersten Nachweis Konvergenz für einen Ameisenalgorithmus[2].
- 2001: der ersten Verwendung der Algorithmen Ameisenkolonie von Unternehmen (Eurobios und AntOptima) (Eurobios et AntOptima).
- 2001: Iredi u.a. veröffentlichen den ersten Multi-Ziel-Algorithmus[3].
Anwendungen
- Busrouten, Müllabfuhr, Post- und Auslieferungsrouten.
- Maschinenbelegungsproblem: Minimierung der Transportzeit bei räumlich weit auseinander liegenden Produktionsstätten: Realisiert bei Unilever in England und Vincent Darley von der Bios-Gruppe in Santa Fe (New Mexico).
- Routenoptimierung zur Nachschubversorgung von Fertigungslinien mit minimalem Transportmitteleinsatz (Routenbildung, -führung, -taktung in Verbindung mit der Behälterauswahl); realisiert im layoutbasierten Logistikplanungssystem MALAGA mit Algorithmen von INPRO.
- Beschickung von Lackieranlagen: Losbildung zur Minimierung der Farbwechsel: Realisiert bei DaimlerChrysler.
- Fertigungssteuerung: Losbildung zur Minimierung der Rüstzeiten und der Einhaltung von Endterminen bei ebm-papst, St. Georgen; realisiert durch ein Programm von Carpe Retem.
- Proteinfaltung: 20 Aminosäuren werden zu Proteinen mit 100 Aminosäuren kombiniert → 20100, dies ergibt etwa 10130 verschiedene Proteine.
- Telefonnetzwerk und Internet: Durch ACO können schnell freie Strecken gefunden werden und zwar während des Betriebs (z. B. Antnet).
- Personaleinsatzplanung bei Fluggesellschaften: Flugbegleiter und Piloten werden unter Berücksichtigung von Ruhephasen etc. monatlich geplant.
- Staplerleitsysteme: Optimale Steuerung und Auslastung von Fahrzeugen und Fahrwegen.
Problem des Handlungsreisenden mit Ant Colony Optimization
Das Problem des Handlungsreisenden (Traveling Salesman Problem, TSP) kann sehr effizient mit Ant Colony Optimization bearbeitet werden. Im Beispiel wird TSP mit 30 „Städten“ bzw. Zielen berechnet (etwa 4,4·1030 mögliche Wege). Die Stärke von ACO, Änderungen im laufenden Suchprozess selbstadaptiv zu verarbeiten, wird im Beispiel deutlich. Bei Verschieben eines Zielpunktes in der nach 20 Sekunden gefundenen Route wird bereits 10 Sekunden später (ohne Reinitialisierung) vom Algorithmus erneut ein guter Wegevorschlag gemacht.
Literatur
Dieser Artikel wurde zur Überarbeitung vorgeschlagen. Hilf mit, ihn zu verbessern!
Begründung: an AWiki anpassen oder WP-Vorlage importieren |
Weblinks
- ameisenalgorithmus.de
- Java-Applet zum Vergleich von Simulated Annealing und Ameisenalgorithmen
- MIDACO-Solver Generelle Optimierungssoftware basierend auf dem Ameisenalgorithmus (Matlab, Excel, C/C++, Fortran, Python)
- AntSim v1.1 Simulation des Ameisenalgorithmus (Windows)
- http://www.m-boehmer.de/pdf/Schwarmintelligenz_Artikel.pdf (PDF; 640 KB)
- TU Kaiserslautern, AG Wehn: Ameisen Applet Traveling Salesman mit Ameisenalgorithmus und zahlreichen einstellbaren Parametern (Java Applet)
Einzelnachweise
Dieser Artikel basiert auf der deutschen Wikipedia und steht unter der Lizenz CC-BY-SA, eine Liste der Autoren ist dort verfügbar.
- ^ M. Dorigo , G. Di Caro et T. Stützle, special issue on "Ant Algorithms", Future Generation Computer Systems, volume 16, numéro 8, 2000
- ^ W.J. Gutjahr, A graph-based Ant System and its convergence, Future Generation Computer Systems, volume 16, pages 873-888, 2000.
- ^ S. Iredi, D. Merkle et M. Middendorf, Bi-Criterion Optimization with Multi Colony Ant Algorithms, Evolutionary Multi-Criterion Optimization, First International Conference (EMO’01), Zurich, Springer Verlag, pages 359-372, 2001.