Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Very Large-Scale Neighborhood Search Thorsten Krenek.

Ähnliche Präsentationen


Präsentation zum Thema: "Very Large-Scale Neighborhood Search Thorsten Krenek."—  Präsentation transkript:

1 Very Large-Scale Neighborhood Search Thorsten Krenek

2 Übersicht  Einleitung Kombinatorische Optimierungsprobleme Nachbarschafts-Suchalgorithmen Nachbarschaftsstrukturen  Very Large-Scale Neighborhood Search Cyclic-Exchange TSP  Halin-Graph  Assignment

3 Kombinatorische Optimierungsprobleme  Ziel, aus einer großen Menge von diskreten Elementen eine Teilmenge konstruieren, die gewissen Nebenbedingungen erfüllt und bezüglich einer Kostenfunktion optimal ist.  Große Bedeutung in der Praxis (Routenplanung, Maschinenbelegung, ….)  Probleme meist NP-Schwer Exakte Lösungsansätze Heuristiken -> u.a. Nachbarschafts- Suchalgorithmen

4 Nachbarschafts-Suchalgorithmen  Verbesserungsheuristiken Gültige Lösung als Input Schrittweise Verbesserung z.B. einfache Lokale Suche, SA, Tabu-Suche  Meist gut geeignet für Partitionierungsprobleme  Definition einer geeigneten Nachbarschaftsstruktur notwendig

5 Nachbarschaftssrukturen  Polynomielle Nachbarschaftsgröße  Exponentielle Nachbarschaftsgröße => Very Large-Scale Neighborhood Search

6 Very Large-Scale Neighborhood Search  Wesentlich größere Nachbarschaften als bei „gewöhnlichen“ Nachbarschaftsstrukturen  Nachbar-Lösungen können nicht enumeriert werden  Neue Techniken notwendig um besseren Nachbarn zu finden

7 Cyclic-Exchange Neighborhood  Verallgemeinerung der 2-Opt Nachbarschaft  wurde erstmals 1989 von Thompson und Orlin vorgeschlagen  Vergleich 2-Opt vs. Cyclic-Exchange [Abb1]

8 Cyclic-Exchange Neighborhood  exponentielle Nachbarschaftsgröße  effiziente Methode notwendig, die besseren bzw. besten Nachbarn findet  Improvement Graph G(S) Es existiert eine gültige Partitionierung S Knoten: alle Elemente aus S Kanten:  gerichtet  repräsentieren zyklischen Tausch

9 Improvement Graph  Gerichtete Kante (i,j) bedeutet  Daraus ergeben sich die Kosten

10 Improvement Graph  Es entsteht gerichteter Teilmengen disjunkter Zyklus W  Bedingung: alle Knoten aus W in unterschiedlichen Teilmengen von S (14,4) (4,18) (18,2) (2,14) [Abb1]

11 Improvement Graph  Ziel – Teilmengen disjunkter Zyklus mit negativen Kosten NP-Vollständig Heuristik notwendig Lösung: Modifizierter Dijkstra Algorithmus

12 Dijkstra Algorithmus  Findet den kürzesten Pfad von a nach b in polynomieller Zeit  d(x) gibt Distanz vom Startknoten a zu Knoten x an  p(x) gibt Vorgängerknoten von Knoten x im Pfad an  Schritt für Schritt werden Distanzwerte der Knoten überschrieben wenn gilt d(x) > d(y) + a_xy

13 Dijkstra Algorithmus [Abb2]

14 Adapted Dijkstra Algorithmus  Anpassung an das Zyklus Problem Der gerichtete Pfad P[j] von a zu jedem Knoten j muss ein Teilmengen-disjunkter Pfad sein Es existieren Kanten mit negativen Kosten Knoten die bereits aus der Liste entnommen wurden können im weiteren Verlauf wieder eingefügt werden

15 Adapted Dijkstra Algorithmus  Wird ein Knoten i aus der Liste entfernt, muss überprüft werden ob P[i] ein Teilmengen-disjunkter Pfad ist => Alle Knoten sind in unterschiedlichen Mengen Falls nicht  Knoten i wird nicht überprüft Falls schon  d(i) wird aktualisiert  Ausgehende Kanten werden überprüft

16 Adapted Dijkstra Algorithmus  Bei Überprüfung der Kante (i,j) wird Distanz d(j) < d(i) + a_ij überprüft Falls Bedingung erfüllt -> nächste Kante Falls nicht gibt es 3 Fälle zu unterscheiden  j ist ein Ausgangsknoten  j ist ein regulärer Knoten und Teilmengen- disjunkt  j ist ein regulärer Knoten und nicht Teilmengen-disjunkt

17 Adapted Dijkstra Algorithmus  Fall1: j ist Anfangsknoten Kompletter Zyklus profitabler Tausch wenn Zyklus negative Kosten hat  Fall2: j Teilmengen-disjunkt Erweiterung des Pfades um j Kosten Update d(j) Vorgänger p(j) = i setzen

18 Adapted Dijkstra Algorithmus  Fall3: j nicht Teilmengen-disjunkt Entweder Knoten j gehört zu Teilmenge aus der bereits ein Knoten von P[i] enthalten ist  => ungültiger Zug Oder Knoten j ist bereits selbst in P[i] enthalten  => Neuer besserer Teilmengen-disjunkter Zyklus gefunden

19 Adapted Dijkstra Algorithmus  Akzeptanz besserer Lösungen First-Improvement Best-Improvement  Gute Konstruktionsheuristik notwenig  Wahl des Startknoten hat großen Einfluss

20 Cyclic-Exchange Anwendungen  Vehicle-Routing  Capacitated MST (Network Design)

21 Vehicle-Routing  Vollständiger, (gerichteter) Graph G  Knoten repräsentieren Kunden  Jede Route startet und endet im Depot ( Knoten 0 )  Jeder Kunde wird genau einmal besucht  Optional Zu jedem Kunden/Knoten wird gespeichert:  Anzahl der zu befördernden Güter  Zeitfensterfunktion Penalty p(t)  Zeit die zum Abladen benötigt wird Fahrzeuge haben Beladungsgrenze

22 Vehicle-Routing  Zu minimierende Kosten setzen sich zusammen aus Distanz die insgesamt zurückgelegt wird Optional  Penalty Time (Time Window)  Zusätzlich benötigte Kapazitäten  Gültiger Zug – Zwei oder mehr Kunden können getauscht werden, wenn diese verschiedenen Fahrzeugen zugeordnet sind.  Gute Ausgangslösung notwendig

23 Capacitated MST – Network  Jeder Knoten i (Terminal) hat Bedarf d i an Netzwerk-Traffic  Zentraler Knoten, mehrere Terminals  Bandbreiteneinschränkung (Kante)  Minimierung der Gesamtkosten (Kantengewichte) mit Einhaltung der Einschränkungen  Gültiger Zug Knoten oder Teilbäume können getauscht werden, wenn diese in unterschiedlichen Unterbäumen sind

24 VLSNS beim TSP Problem  Nachbarschaftsdurchsuchung mittels Assignment  Halin-Graph

25 Assignment  Gültige Ausgangslösung  Bipartiter Improvement Graph  Entferne k-Knoten (P1) mit dazugehörenden Kanten aus Ausgangslösung und verbinde die restlichen Knoten durch Kanten (P2)  Für jeden Knoten aus P1 trenne eine Kante aus P2, sodass Kosten minimal sind  k darf maximal Anzahl der (Knoten / 2)-1 betragen

26 Assignment  Improvement Graph Knotenmenge  P1: gelöschte Knoten  P2: Kanten der reduzierten Tour Kantenmenge  Kanten (a, (x,y) ) a є P1, (x,y) є P2 Kantenkosten  Änderung der Tourlänge wenn a zwischen x und y eingefügt wird  c(a, (x, y)) = d(x, a) + d(a, y) − d(x, y) Ziel: Matching mit minimalen Gesamtkosten Aufwand: O (n³)

27 Halin-Graph  Planarer Graph  Kein Knoten hat Knotengrad 2  Blattknoten werden zu Zyklus verbunden  Exponentielle Nachbarschaftsgröße  Linearer Aufwand für TSP

28 Halin-Graph  Allgemeines TSP Problem NP-schwer  Erweiterung einer TSP Ausgangslösung um Halin-Graph Eigenschaften zu erfüllen  => Halin-Graph enthält Ursprungslösung als Teilgraph  Berechne neue Tour ( Aufwand O(n) )

29 Das wars… Vielen Dank für ihre Aufmerksamkeit

30 Literatur  [1] G. Raidl, LVA Heuristische Optimierungsverfahren WS08  [2] R. Ahuja, J. Orlin, and D. Sharma. Very large-scale neighborhood search.  [3] R. Ahuja, O. Ergun, J. Orlin, A. Punnen. A survey of very large-scale neighborhood search techniques  [4] Ravindra K. Ahuja, James B. Orlin, Dushyant Sharma, New Neighborhood Search Structures for the Capacitated Minimum Spanning Tree Problem, 1998  [5] G. CORNUEJOLS, D. NADDEF, W.R. PULLEYBLANK, Halin Graphs and the Travelling Salesman Problem, 1982

31 Abbildungen  [Abb1] Algodat 1 Übungblatt 4 Beispiel 31  Alle weiteren Abbildungen entstammen G. Raidl, Heuristische Optimierungsverfahren WS08 uOptFolienWS08-4x4.pdf


Herunterladen ppt "Very Large-Scale Neighborhood Search Thorsten Krenek."

Ähnliche Präsentationen


Google-Anzeigen