Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Subgradientenmethoden zur Dynamischen Spaltengenerierung für die Echtzeitfähigkeit von Pannehilfefahrzeugen 24.02.2019.

Ähnliche Präsentationen


Präsentation zum Thema: "Subgradientenmethoden zur Dynamischen Spaltengenerierung für die Echtzeitfähigkeit von Pannehilfefahrzeugen 24.02.2019."—  Präsentation transkript:

1 Subgradientenmethoden zur Dynamischen Spaltengenerierung für die Echtzeitfähigkeit von Pannehilfefahrzeugen

2 Inhalt Problemvorstellung Problemspezifikation Modellierung Dynamische Spaltengenerierung Tourengenerierung Lagrange Ansatz

3 I. Problemstellung

4 Situation einer Pannehilfezentrale
I. Problemstellung Situation einer Pannehilfezentrale Hilfesuchender ruft an Auftrag wird aufgenommen (Datenermittlung) Auftrag wird Helfer zugewiesen Hilfesuchender bekommt Zeitschätzung bis Hilfe eintrifft

5 Zu treffende Entscheidungen
I. Problemstellung Zu treffende Entscheidungen Von wem wird der Auftrag bearbeitet? → Set Partitioning Wann wird der Auftrag bearbeitet? → Tourenplanung

6 Ansatz: Soft Time Window
I. Problemstellung Ziel: Minimierung von Fahrtkosten Servicekosten Wartezeiten Überstunden Ansatz: Soft Time Window

7 Lösungsidee: Reoptimierung
I. Problemstellung Problem der Daten Zukünftige Aufträge sind unbekannt und können bei der Tourenbestimmung nicht berücksichtigt werden.  Online Problem Lösungsidee: Reoptimierung

8 II. Problemspezifikation

9 Daten einer Einheit u  U
II. Problemspezifikation Daten einer Einheit u  U tustart - logon time tuend – shift end time cuot – overtime costs cudrv – driving costs cusrv – serving costs ou – current position du – home position

10 Daten eines Auftrages e  E
II. Problemspezifikation Daten eines Auftrages e  E xe – position er – release time ed – deadline celate – lateness costs e – service time

11 ue1e2 – Fahrtzeit von u von e1 nach e2 (Entfernungsmatrizen)
II. Problemspezifikation Weitere Daten ue1e2 – Fahrtzeit von u von e1 nach e2 (Entfernungsmatrizen) uoue – Fahrtzeit von u von ou nach e uedu – Fahrtzeit von u von e nach du

12 Dispatch = zulässige Lösung
II. Problemspezifikation Dispatch = zulässige Lösung Partition der Menge E (set partitioning) in Anordnung der Menge Eu (Tourenbestimmung) in Eu = (ou, e1, … , eRn, du) =: Ru

13 Kosten einer Tour Ru Fahrtkosten: Kosten für Service: lateness:
II. Problemspezifikation Kosten einer Tour Ru Fahrtkosten: Kosten für Service: lateness: overtime:

14 Beispiel Help! Help! Help! Help! II. Problemspezifikation
cdrv=5 csrv =10 cot =15 tstart = 5 tend=240 cdrv = 10 csrv = 20 cot = 15 tstart = tend =120 r = -10 d = 20 clate = 15  = 30 r = -15 d = 15 clate = 50  = 40 r = 0 d = 30 clate = 10  = 30 r = 15 d = 45 clate = 40  = 5 Beispiel u2 u1 10 7,5 17,5 25 22,5 5 12 15 20 17 10 5 17,5 12,25 20 18 22,5 23 25 15 17 e2 Help! e3 Help! e1 Help! e4 Help!

15 III. Modellierung

16 III. Modellierung Snapshotproblem Betrachte alle Aufträge, die schon bekannt sind und noch nicht bearbeitet werden. Versuche für diese eine kostenminimale Zerlegung durch Touren zu bestimmen.

17 III. Modellierung Touren Modell Betrachte für Einheit u  U die Menge Ru aller möglichen Touren Setze die Menge aller Touren Führe für jede Tour R  R eine binäre Variable xR die, ob die Tour ausgewählt wird Setze cR als Kosten dieser Tour Setze aRe = 1, falls Auftrag e in Tour R bedient wird und 0 sonst Analog aRu = 1, falls Tour R zu Einheit u gehört und 0 sonst

18 III. Modellierung Touren Problem Minimiere s.t.

19 Lineare Relaxation Minimiere s.t.

20 Beispiel Zwei Snapshotprobleme
III. Modellierung Beispiel Zwei Snapshotprobleme Anzahl der Touren im ersten Snapshotproblem: 2( )=32 Die Anzahl hängt exponentiell von der Auftragszahl ab Alle Touren zu generieren ist in der Praxis unmöglich

21 IV. Dynamische Spaltengenerierung

22 Starte mit einer kleinen Menge von Touren
IV. Dynamische Spaltengenerierung Idee Starte mit einer kleinen Menge von Touren Nehme solange Touren hinzu, bis eine Optimallösung für die lineare Relaxation gefunden wurde

23 Reduziertes Problem R  R aktuelle Teilmenge aller Touren Minimiere
s.t.

24 Welche Touren sollen hinzugenommen werden?
IV. Dynamische Spaltengenerierung Fragen Welche Touren sollen hinzugenommen werden? Wie erkennt man, dass man bereits optimal ist?

25 Duales reduzierte Problem
IV. Dynamische Spaltengenerierung Duales reduzierte Problem Maximiere s.t.

26 IV. Dynamische Spaltengenerierung
Optimalitätstest π sei duale Optimallösung des reduzierten dualen Problems Betrachte reduzierte Kosten für Tour R Ru Sind alle reduzierten Kosten nicht negativ, so ist π zulässig für das nicht reduzierte duale Problem Statt alle reduzierte Kosten zu berechnen, überprüfe, ob das Minimum nicht negativ ist

27 Interessant nur Touren mit negativen reduzierten Kosten
IV. Dynamische Spaltengenerierung Wahl neuer Touren Interessant nur Touren mit negativen reduzierten Kosten Suche für jede Einheit mittels Branch and Bound mit maximaler Suchtiefe l und –breite d, erhöhe diese falls nötig

28 V. Tourengenerierung

29 Top – Level - Algorithmus
V. Tourengenerierung Top – Level - Algorithmus Nimm zu Suchbreite d und Suchtiefe l alle Touren mit negativen reduzierten Kosten zu LP hinzu Löse LP und aktualisiere die dualen Preise Falls sich über mehrere Iterationen keine Verbesserung des LP‘s einstellt, versuche Optimalitätstest Falls l > L und keine Verbesserung von LP, erhöhe d und setze l auf Startwert, sonst erhöhe l

30 Touren Branch and Bound
V. Tourengenerierung Touren Branch and Bound Ignoriere beim Suchen die Heimfahrkosten  Präkosten Jeder Knoten entspricht Folge R=(e1,…,ek) Wurzel entspricht () Deep First Search Sortiere die Kindsknoten geeignet und nehme die besten d Falls Knoten negative reduzierte Kosten hat, nehme Tour zum LP hinzu

31 Untere Schranke für Teilbaum von u U
V. Tourengenerierung Untere Schranke für Teilbaum von u U Betrachte Knoten R=(e1,…,ek) Zu e E\R definiere die Primalkosten: Falls so schneide den Teilbaum unterhalb von R ab.

32 Beispiel Heuristische Lösung Go-Home Touren Help! Help! Help!
V. Tourengenerierung Beispiel Heuristische Lösung Go-Home Touren u2 e2 Help! e3 Help! e1 Help! u1

33 V. Tourengenerierung LP Primale Optimallösung: x1=1, x2=1 alle anderen 0. Optimalwert: 4022,5. Duale Optimallösung πe1 = 312,5 πe2= 700 πe3 = 2760 πu1 = 50 πu2= 200 Starte Tourengenerierung mit l=d=1 und Sortierung nach Fertigstellungszeiten

34 Keine bessere Tour für u1 gefunden
V. Tourengenerierung Tour für u1 Tour: () Reduzierte Kosten: 0 Untere Schranke: -2147,5 Keine bessere Tour für u1 gefunden Tour: (e1) Reduzierte Kosten: 0

35 Keine bessere Tour für u2
V. Tourengenerierung Tour für u2 Tour: () Reduzierte Kosten: 0 Untere Schranke: -2060 Keine bessere Tour für u2 Tour: (e2) Reduzierte Kosten: 0

36 Tour für u1 Nehme Tour (e1,e2) hinzu V. Tourengenerierung Tour: ()
Reduzierte Kosten: 0 Untere Schranke: -2147,5 Nehme Tour (e1,e2) hinzu Tour: (e1) Reduzierte Kosten: 0 Untere Schranke: -540 Tour: (e1,e2) Kosten: 992,5 Reduzierte Kosten: -70

37 Keine bessere Tour für u2 gefunden
V. Tourengenerierung Tour für u2 Tour: () Reduzierte Kosten: 0 Untere Schranke: -2060 Keine bessere Tour für u2 gefunden Tour: (e2) Reduzierte Kosten: 0 Untere Schranke: -97,5 Tour: (e2,e3) Reduzierten Kosten: 0

38 Neue Tour e2 Help! e3 Kosten: 992,5 Help! e1 Help! u1

39 V. Tourengenerierung LP Primale Optimallösung x1=1 x2=2. Optimalwert 4022,5. Duale Optimallösung πe1 = 312,5 πe2 = 630 πe3= 2830 πu1 = 50 πu2 = 200

40 Keine bessere Tour für u1 gefunden
V. Tourengenerierung Tour für u1 Tour: () Reduzierte Kosten: 0 Untere Schranke: -2147,5 Keine bessere Tour für u1 gefunden Tour: (e1) Reduzierte Kosten: 0 Untere Schranke: -540 Tour: (e1,e2) Reduzierte Kosten: 0 Untere Schranke: 0  CUT

41 Keine bessere Tour für u2 gefunden
V. Tourengenerierung Tour für u2 Tour: () Reduzierte Kosten: 0 Untere Schranke: -2060 Keine bessere Tour für u2 gefunden Tour: (e2) Reduzierte Kosten: 70 Untere Schranke: -167,5 Tour: (e2,e3) Reduzierten Kosten: 0 Untere Schranke: 0  CUT

42 Tour für u1 Nehme Tour (e2) hinzu V. Tourengenerierung Tour: ()
Reduzierte Kosten: 0 Untere Schranke: -2147,5 Nehme Tour (e2) hinzu Tour: (e1) Reduzierte Kosten: 0 Tour: (e2) Kosten: 475 Reduzierte Kosten: -205

43 Tour für u2 Nehme Tour (e3) hinzu V. Tourengenerierung Tour: ()
Reduzierte Kosten: 0 Untere Schranke: -2060 Nehme Tour (e3) hinzu Tour: (e2) Reduzierte Kosten: 70 Tour: (e3) Kosten: 1025 Reduzierte Kosten: -1805

44 Neue Touren e2 Help! e3 Help! e1 Help! Kosten: 1025 Kosten: 475 u1

45 V. Tourengenerierung LP Primale Optimallösung x6=1, x8=1. Optimalwert 2017,5. Duale Optimallösung: πe1 = 517,5 πe2 = 700 πe3 = 825 πu1 = -225 πu2 = 200

46 Optimalitätstest für u1
V. Tourengenerierung Optimalitätstest für u1 Tour: () Reduzierte Kosten: 275 Untere Schranke: -617,5 Es gibt keine bessere Tour für u1 bzgl. π Tour: (e1) Reduzierte Kosten: 70 Untere Schranke: -180 Tour: (e2) Reduzierte Kosten: 0 Untere Schranke: 0  CUT Tour: (e3) Reduzierte Kosten: 437,5 Untere Schranke: 437,5  CUT Tour: (e1,e2) Reduzierte Kosten: 0 Untere Schranke: 0  CUT Tour: (e1,e3) Reduzierte Kosten: 1807,5 Untere Schranke: 1807,5  CUT

47 Optimalitätstest für u2
V. Tourengenerierung Optimalitätstest für u2 Tour: () Reduzierte Kosten: 0 Untere Schranke: -125 Es gibt keine bessere Tour für u2 bzgl. π. Wir sind also optimal für LP Relaxation und unser Lösung ist binär. Tour: (e2) Reduzierte Kosten: 0 Untere Schranke: 0  CUT Tour: (e3) Reduzierte Kosten: 0 Untere Schranke: 0  CUT Tour: (e1) Reduzierte Kosten: 395 Untere Schranke: 395  CUT

48 Optimale Lösung für Snapshot Problem 1
V. Tourengenerierung Optimale Lösung für Snapshot Problem 1 u2 e2 Help! e3 Help! e1 Help! Optimalwert: 2017,5 u1

49 Optimale Lösung für Snapshot Problem 2
V. Tourengenerierung Optimale Lösung für Snapshot Problem 2 e2 Help! u2 Help! u1 e4 Help! Optimalwert: 1392,5

50 Gesamtlösung Help! Help! Help! Help! V. Tourengenerierung u2 e2 e3 e1
Optimalwert: 2567,5

51 Offlinelösung Help! Help! Help! Help! V. Tourengenerierung u2 e2 e3 e1
Optimalwert: 2492,5 Gap von 3%

52 VI. Lagrange Ansatz

53 Lösung des reduzierten Problems
VI. Lagrange Ansatz Lösung des reduzierten Problems Primaler revidierter Simplex: Vorteile: alte Basislösung bleibt zulässig liefert duale Optimallösung Nachteile: auf Basislösungen beschränkt Duale Lösungen „springen“ sehr stark

54 Minimax Theorem: (x,π) Sattelpunkt von L
VI. Lagrange Ansatz Lagrange Funktion: Sattelpunktsaussage: x primal optimal, π dual optimal  L(x,π)≤L(x,π)≤L(x,π) für alle x≥0 und π frei. Minimax Theorem: (x,π) Sattelpunkt von L  maxπ infx≥0 L(x,π) = L(x,π) = minx≥0 supπ L(x,π) Lagrange Dualfunktion: Konvexes Dualproblem: Maximiere L(π)

55 Ist π nicht dual zulässig, so ist L(π) = -.
VI. Lagrange Ansatz Ist π nicht dual zulässig, so ist L(π) = -. Ersetze infx≥0 L(x,π) durch minx≥0,x≤K L(x,π) infx≥0 L(x,π) = minx≥0,x≤K L(x,π) Zu zeigen ist π = argmaxπ minx≥0,x≥k L(x,π) ist zulässig für das duale reduzierte Problem.

56 VI. Lagrange Ansatz Lagrange Ansatz Löse das reduzierte Touren Problem über die Langrange Dualfunktion. Vorteile: letzte duale Optimallösung kann direkt verwendet werden  lokale Nachoptimierung Wir hoffen, dass lokale Optimierung „springen“ reduziert Keine Beschränkung auf Basislösungen Nachteile: Langrange Dualfunktion ist konkav, stückweise linear aber nicht differenzierbar  Verfahren der nichtdifferenzierbaren Optimierung nötig Da nicht auf Basislösungen beschränkt, liefert Ansatz nur Näherungslösungen

57 Vielen Dank für Eure Aufmerksamkeit!


Herunterladen ppt "Subgradientenmethoden zur Dynamischen Spaltengenerierung für die Echtzeitfähigkeit von Pannehilfefahrzeugen 24.02.2019."

Ähnliche Präsentationen


Google-Anzeigen