Very Large-Scale Neighborhood Search

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Algorithmen für das Erfüllbarkeitsproblem SAT
Freie Universität Berlin Institut für Informatik
Christian Scheideler SS 2009
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Routing – Routing Protokolle
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Minimum Spanning Tree: MST
Zerlegung von Graphen.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Andreas Kalender Institut für Informatik FU Berlin Seminar über Algorithmen Durchschnittsverzögerung.
Algorithmen und Komplexität
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Seminar parallele Programmierung SS 2003
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Minimum Spanning Tree: MST
Teil I: Uninformierte Suche
The Rectilinear Steiner Tree Problem is NP-complete
Vortrag über Graphen Von Jörg Hendricks.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Optimierungs- Algorithmen
Chromatische Zahl.
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Institut für Theoretische Informatik
Jan Hinzmann – – GIS Praxis II – Slide 1/10 Der Algorithmus von Dijkstra (Berechnung kürzester Wege in bewerteten Graphen) GIS Praxis II, Jan Hinzmann,
A. Gebert / A. Henke Ant colony simulation.
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Das Traveling Salesman Problem (TSP)
Bipartite Graphen Der Satz von König.
Methodische Grundlagen und Graphen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
GIS-Seminar WS00/01 Routen- und Tourenplanung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Optimierungs- Algorithmen
Der A*-Algorithmus.
Binärbäume.
Kapitel 4 Traveling Salesman Problem (TSP)
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Kapitel 4 Traveling Salesman Problem (TSP)
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Der Dijkstra-Algorithmus
 Präsentation transkript:

Very Large-Scale Neighborhood Search Thorsten Krenek

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

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

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

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

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

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

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

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

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]

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

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

Dijkstra Algorithmus [Abb2]

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

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

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

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

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

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

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

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

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

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

VLSNS beim TSP Problem Nachbarschaftsdurchsuchung mittels Assignment Halin-Graph

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

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³)

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

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) )

Vielen Dank für ihre Aufmerksamkeit Das wars… Vielen Dank für ihre Aufmerksamkeit

Literatur [1] G. Raidl, LVA Heuristische Optimierungsverfahren WS08 http://www.ads.tuwien.ac.at/teaching/ws08/HeuOpt/HeuOptFolienWS08-4x4.pdf [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

Abbildungen [Abb1] Algodat 1 Übungblatt 4 Beispiel 31 http://www.ads.tuwien.ac.at Alle weiteren Abbildungen entstammen G. Raidl, Heuristische Optimierungsverfahren WS08 http://www.ads.tuwien.ac.at/teaching/ws08/HeuOpt/HeuOptFolienWS08-4x4.pdf