Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Very Large-Scale Neighborhood Search

Ähnliche Präsentationen


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

1 Very Large-Scale Neighborhood Search
Thorsten Krenek

2 Übersicht Einleitung Very Large-Scale Neighborhood Search
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
[Abb1] Verallgemeinerung der 2-Opt Nachbarschaft wurde erstmals 1989 von Thompson und Orlin vorgeschlagen Vergleich 2-Opt vs. Cyclic-Exchange

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 di 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 Ziel: Matching mit minimalen Gesamtkosten
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 Vielen Dank für ihre Aufmerksamkeit
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


Herunterladen ppt "Very Large-Scale Neighborhood Search"

Ähnliche Präsentationen


Google-Anzeigen