Seminar: Intelligente lgorithmen (WS03/04) Veranstalter: r. S. Kopp, N. Leßmann,. Kranstedt Heuristische Suche Tabu Suche 6.11.2003 Von Olaf Graeser
inleitung Tabu Verbot Meidungsgebot Suche einer guten Lösung Nicht optimale Lösung Wiederholungsvermeidung durch Verbote (Tabus) Nachbarschaftssuche
Nachbarschaftssuche Jede Lösung hat Nachbarlösungen Nachbarlösung durch move erreichbar bbruch, wenn keine bessere Nachbarlösung Lokales Optimum 6 9 5 4 6 5 Moves 4
Änderungen zur Nachbarschaftssuche este Nachbarlösung wird gewählt auch wenn sie schlechter ist Kein bbruch usbruchsmöglichkeiten aus lokalem Optimum Lang- und Kurzzeitgedächtnis
bbruch der Suche nzahl der Iterationsschritte nzahl der Iterationsschritte seit Finden der aktuellen besten Lösung
usbruchsmöglichkeit Lokale Suche: Optimum wird schnell erreicht und nicht wieder verlassen Tabu-Suche: Verschlechterungen werden in Kauf genommen, um lokale Optima zu verlassen Startlösung Globales Optimum Lokales Optimum
Tabu-Suche am eispiel des TSP Swap als move ttribute eines moves: (Hanover, Hamburg) Sind die vertauschten lemente Tabuisierung von ttributen Tabu gilt primär für die Umkehrung Gilt für eine nzahl von Iterationsschritten ielefeld Hamburg Hannover ielefeld Hannover Hamburg
Tabu-Suche am eispiel des TSP Swap als move ttribute eines moves: (Hanover, Hamburg) Tabuisierung von ttributen ie beste Lösung bleibt separat gespeichert Tabus können aufgehoben werden z.. wenn ein Tabu-Swap eine bessere Lösung ergibt, als alle bisher dagewesenen.
ie Kandidatenliste Zeigt eine uswahl von möglichen nächsten moves auf rstellung der Kandidatenliste erfolgt durch einen separaten lgorithmus (verschiedene nsätze) ie Gesamtkosten des lgorithmus können hier stark beeinflußt werden
ie Tabuliste als Kurzzeitgedächtnis bis Städte Jeder Swap bewirkt eine Tabusetzung Tabudauer, z.. 3 Iterationsschritte 3 2 und wurden z.. als letztes Vertauscht und sind daher noch für 3 Schritte tabu. und nur noch für 2, und nur noch für einen Schritt. 1
in konkretes eispiel 5 Städte bstand benachbarter Städte 7 km 7 km Sonstiger bstand 10 km 10 km rste (zufällige) Route: ->->->->
in konkretes eispiel 5 Städte bstand benachbarter Städte 7 km Sonstiger bstand 10 km rste (zufällige) Route: ->->->-> 5 * 10 km = 50 km
1. Iterationsschritt ktuelle Lösung: -> -> -> -> = 50 km Top 3 Kandidaten Swap Wertänderung, -6,, -6-6 Tabu-Struktur
1. Iterationsschritt ktuelle Lösung: -> -> -> -> = 44 km Top 3 Kandidaten Swap Wertänderung, -6,, -6-6 * Tabu-Struktur 3
2. Iterationsschritt ktuelle Lösung: -> -> -> -> = 44 km Top 3 Kandidaten Swap Wertänderung, -3,, -3-3 Tabu-Struktur 3
2. Iterationsschritt ktuelle Lösung: -> -> -> -> = 41 km Top 3 Kandidaten Swap Wertänderung, -3,, -3-3 * Tabu-Struktur 3 2
3. Iterationsschritt ktuelle Lösung: -> -> -> -> = 41 km Top 3 Kandidaten Swap Wertänderung, -6,, -6 +3 Tabu-Struktur 3 2
3. Iterationsschritt ktuelle Lösung: -> -> -> -> = 35 km Top 3 Kandidaten Swap Wertänderung, -6,, -6 +3 * Tabu Tabu-Struktur 2 3 1
4. Iterationsschritt ktuelle Lösung: -> -> -> -> = 35 km Top 3 Kandidaten Swap Wertänderung, +6,, +6 +6 Tabu-Struktur 2 3 1
4. Iterationsschritt ktuelle Lösung: -> -> -> -> = 35 km Top 3 Kandidaten Swap Wertänderung, +6,, +6 +6 Tabu Tabu Tabu, +6??? Tabu-Struktur 2 3 1
4. Iterationsschritt ktuelle Lösung: -> -> -> -> = 41 km Top 3 Kandidaten Swap Wertänderung, +6,, +6 +6 Tabu * Tabu Tabu Tabu-Struktur 3 2 0
Tabu-usnahmen Tabus dürfen gebrochen werden wenn dadurch eine neue beste Lösung gefunden wird wenn der lgorithmus sonst nicht weiterlaufen kann
Frequency, das Langzeitgedächtnis Speicher die nzahl der Swaps eines Tupels z.. & wurden 2 mal vertauscht iversification Suche in neue Regionen führen Strafterme für häufig auftretende Swaps Tabu-Struktur 3 2 2 1 0 1 Frequency
4. Iterationsschritt ktuelle Lösung: -> -> -> -> = 41 km Top 3 Kandidaten Swap Wertänderung,,, -6+2 +3 +3 Tabu * 3 2 2 1 0 1
5. Iterationsschritt ktuelle Lösung: -> -> -> -> = 44 km Top 3 Kandidaten Swap Wertänderung,,, -3-3+1-3+1 * Tabu 2 3 2 1 1 0 1 1
5. Iterationsschritt ktuelle Lösung: -> -> -> -> = 41 km Top 3 Kandidaten Swap Wertänderung,,... -6+1-6+1... * Tabu 1 2 2 0 3 1 0 1 1 1
6. Iterationsschritt ktuelle Lösung: -> -> -> -> = 35 km Top 3 Kandidaten Swap Wertänderung.................. 0 1 2 3 2 2 0 1 1 1
Tabuzeitbestimmung Zu kurze Tabuzeiten können das Verlassen lokaler Optima verhindern Zu lange Tabuzeiten können das nsteuern besserer Lösungen behindern Startlösung Globales Optimum Lokales Optimum
! " # $ % Feste Tabuzeit Möglichkeiten der Tabuzeitbestimmung bhängig von der nzahl der Städte z.. sqrt(n) Listenstrategie Folge von Tabuzeiten Zyklisch wiederholt vtl. mit Veränderung der Folge Zufallswert aus Intervall Intervall I = [t min, t max ] & ttribut erhält zufälligen Wert aus I
' ) + spirationskriterien rechen von Tabus spiration by default ( Wenn sonst kein Schritt mehr ausgeführt werden kann spiration by improved best * Wenn dadurch eine neue beste Lösung erreicht wird spiration by influence, Um Schritte von geringem influß zu ermöglichen
-. / 0 Intensification litelösungen werden in einer Liste gespeichert litelösungen können anhand weniger moves ineinander überführt werden este litelösung wird als Startlösung gewählt Nach Löschen der Tabuliste wird die Suche neu gestartet
1 2 3 4 Zusammenfassung rgebnis ist (meist) nicht optimal Kann lokales Optimum verlassen er lgorithmus läuft für eine vorher angegebene Zahl von Iterationsschritten Güte der Lösung ist abhängig von den lgorithmenparametern (z.. Tabudauer)