Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Julian Pfeiffer Geändert vor über 6 Jahren
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!
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.