very large-scale neighborhood search thorsten krenek

31
Very Large-Scale Neighborhood Search Thorsten Krenek

Upload: melusina-zaring

Post on 06-Apr-2015

117 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Very Large-Scale Neighborhood Search Thorsten Krenek

Very Large-Scale Neighborhood Search

Thorsten Krenek

Page 2: Very Large-Scale Neighborhood Search Thorsten Krenek

Übersicht

Einleitung Kombinatorische Optimierungsprobleme Nachbarschafts-Suchalgorithmen Nachbarschaftsstrukturen

Very Large-Scale Neighborhood Search Cyclic-Exchange TSP

Halin-Graph Assignment

Page 3: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 4: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 5: Very Large-Scale Neighborhood Search Thorsten Krenek

Nachbarschaftssrukturen

Polynomielle Nachbarschaftsgröße

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

Page 6: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 7: Very Large-Scale Neighborhood Search Thorsten Krenek

Cyclic-Exchange Neighborhood

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

Nachbarschaft Anzahl der Nachbarn Beispiel für n=100 k=5 Two-Exchange 2n 10.000

Cyclic-Exchange kn 10.000.000.000

[Abb1]

Page 8: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 9: Very Large-Scale Neighborhood Search Thorsten Krenek

Improvement Graph

Gerichtete Kante (i,j) bedeutet

Daraus ergeben sich die Kosten

jj aaS ][a i

][][a i jjj aScaaSc

Page 10: Very Large-Scale Neighborhood Search Thorsten Krenek

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]

Page 11: Very Large-Scale Neighborhood Search Thorsten Krenek

Improvement Graph

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

Algorithmus

Page 12: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 13: Very Large-Scale Neighborhood Search Thorsten Krenek

Dijkstra Algorithmus

[Abb2]

Page 14: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 15: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 16: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 17: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 18: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 19: Very Large-Scale Neighborhood Search Thorsten Krenek

Adapted Dijkstra Algorithmus Akzeptanz besserer Lösungen

First-Improvement Best-Improvement

Gute Konstruktionsheuristik notwenig Wahl des Startknoten hat großen Einfluss

Page 20: Very Large-Scale Neighborhood Search Thorsten Krenek

Cyclic-Exchange Anwendungen

Vehicle-Routing

Capacitated MST(Network Design)

Page 21: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 22: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 23: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 24: Very Large-Scale Neighborhood Search Thorsten Krenek

VLSNS beim TSP Problem

Nachbarschaftsdurchsuchung mittels Assignment

Halin-Graph

Page 25: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 26: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 27: Very Large-Scale Neighborhood Search Thorsten Krenek

Halin-Graph Planarer Graph Kein Knoten hat

Knotengrad 2 Blattknoten werden zu

Zyklus verbunden Exponentielle

Nachbarschaftsgröße Linearer Aufwand für TSP

Page 28: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 29: Very Large-Scale Neighborhood Search Thorsten Krenek

Das wars…

Vielen Dank für ihre Aufmerksamkeit

Page 30: Very Large-Scale Neighborhood Search Thorsten Krenek

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

Page 31: Very Large-Scale Neighborhood Search Thorsten Krenek

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