Ameisenalgorithmus: Unterschied zwischen den Versionen

Aus Ameisenwiki
Zur Navigation springen Zur Suche springen
K (1 Version: gibt es hier noch nicht)
 
K (angepasst außer Literatur)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
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 [[Metaheuristik]]en für Verfahren der [[Kombinatorische Optimierung|kombinatorischen Optimierung]], die auf dem [[modell]]haften 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.
'''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 9: 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 [[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.
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 [[Agentenbasierte Modelle|Agentenbasierten Modellen]] zuordnen.
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 [[Problem des Handlungsreisenden]] an, da eine Übertragung von der Suche nach kürzesten Wegen auf dieses Problem naheliegend ist.
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.
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 [[Quadratisches Zuordnungsproblem|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.
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 29: Zeile 29:
== Anwendungen ==
== Anwendungen ==


[[Datei:Knapsack ants.svg|thumb|siehe auch [[Rucksackproblem]] ]]
[[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: [[Losbildung]] zur Minimierung der Rüstzeiten und der Einhaltung von Endterminen bei ebm-papst, St. Georgen; realisiert durch ein Programm von Carpe Retem.
* 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&nbsp;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&nbsp;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.&nbsp;B. ''[[Antnet]]'').
* Telefonnetzwerk und Internet: Durch ACO können schnell freie Strecken gefunden werden und zwar während des Betriebs (z.&nbsp;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.
* [[Staplerleitsystem]]e: Optimale Steuerung und Auslastung von Fahrzeugen und Fahrwegen.
* Staplerleitsysteme: Optimale Steuerung und Auslastung von Fahrzeugen und Fahrwegen.


== TSP mit ACO ==
== 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 [[Problem des Handlungsreisenden]] (TSP) kann sehr effizient mit ACO bearbeitet werden.
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&nbsp;Sekunden gefundenen Route wird bereits 10&nbsp;Sekunden später (ohne Reinitialisierung) vom Algorithmus erneut ein guter Wegevorschlag gemacht (siehe [[Kombinatorik]]).
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&nbsp;Sekunden gefundenen Route wird bereits 10&nbsp;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&nbsp;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&nbsp;kB)}}
Zeile 63: 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 />
[[Kategorie:Optimierungsalgorithmus]]
{{Link FA|ca}}
{{Link FA|fr}}

Aktuelle Version vom 9. Oktober 2013, 09:18 Uhr

Bestimmte Verhaltensmuster der Ameisen bilden die Grundlage für Optimierungs-Algorithmen, hier Dorylus)

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

1) die erste Ameise findet eine Futterquelle (F), benutzt den Weg (a), dann erreicht sie das Nest (N), und hinterlässt eine Pheromonspur. 2) andere Ameisen folgen der ersten auf 4 möglichen Pfaden. 3) Die Ameisen folgen dem kürzesten Pfad.
Bestimmtes Verhalten von Ameisen wurde zur Formulierung von Optimierungs-Algorithmen verwendet. Hier wird mit einem Ameisenkolonie-Algorithmus (ACS) der kürzeste Weg in einem Graphen zwischen zwei Punkten A und B, gesucht.

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

siehe auch Rucksackproblem
  • 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

Screendumps eines Laufs Traveling Salesman mit ACO

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

Einzelnachweise

Dieser Artikel basiert auf der deutschen Wikipedia und steht unter der Lizenz CC-BY-SA, eine Liste der Autoren ist dort verfügbar.

  1. ^ M. Dorigo , G. Di Caro et T. Stützle, special issue on "Ant Algorithms", Future Generation Computer Systems, volume 16, numéro 8, 2000
  2. ^ W.J. Gutjahr, A graph-based Ant System and its convergence, Future Generation Computer Systems, volume 16, pages 873-888, 2000.
  3. ^ 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.