Ameisenalgorithmus

Aus Ameisenwiki
Version vom 13. Juli 2013, 20:35 Uhr von DmdM (Diskussion | Beiträge) (1 Version: gibt es hier noch nicht)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
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.

TSP mit ACO

Screendumps eines Laufs Traveling Salesman mit ACO

Das Problem des Handlungsreisenden (TSP) kann sehr effizient mit ACO 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 (siehe Kombinatorik).

Literatur

Weblinks

Einzelnachweise

  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.

Vorlage:Link FA Vorlage:Link FA