Train Timetabling Problem

Werbung
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Anwendungsbeispiel 3 – Train Timetabling Problem
TTP
Frank Fischer, Christoph Helmberg
TU Chemnitz
Vielen Dank an Frank Fischer für die Bereitstellung der Folien.
Anja Fischer, TU Dortmund, Veranstaltung Praxis der Optimierung
Problemstellung und Basismodell
Algorithmische Herausforderungen
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Graphengenerierung
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Das Problem
Ziel
Betriebsplan für das gesamte deutsche Streckennetz der Deutschen
Bahn erzeugen (Train Timetabling Problem).
Daten:
• Infrastrukturnetz
• Knoten (Bahnhöfe, Kreuzungen, . . . )
• Kanten (Gleise).
• Personen- und Güterzüge
• Zugtyp (ICE, RB, Güterzug, . . . )
• Fahrtstrecke
Restriktionen:
• Fahrzeiten, Mindestzugfolgezeiten,
• Knotenkapazitäten,
• Rahmenfahrplan für Personenzüge.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Das Problem
Ziel
Betriebsplan für das gesamte deutsche Streckennetz der Deutschen
Bahn erzeugen (Train Timetabling Problem).
Daten:
• Infrastrukturnetz
• Knoten (Bahnhöfe, Kreuzungen, . . . )
• Kanten (Gleise).
• Personen- und Güterzüge
• Zugtyp (ICE, RB, Güterzug, . . . )
• Fahrtstrecke
Restriktionen:
• Fahrzeiten, Mindestzugfolgezeiten,
• Knotenkapazitäten,
• Rahmenfahrplan für Personenzüge.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Das Problem
Ziel
Betriebsplan für das gesamte deutsche Streckennetz der Deutschen
Bahn erzeugen (Train Timetabling Problem).
Daten:
• Infrastrukturnetz
• Knoten (Bahnhöfe, Kreuzungen, . . . )
• Kanten (Gleise).
• Personen- und Güterzüge
• Zugtyp (ICE, RB, Güterzug, . . . )
• Fahrtstrecke
Restriktionen:
• Fahrzeiten, Mindestzugfolgezeiten,
• Knotenkapazitäten,
• Rahmenfahrplan für Personenzüge.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Das Problem
Ziel
Betriebsplan für das gesamte deutsche Streckennetz der Deutschen
Bahn erzeugen (Train Timetabling Problem).
Daten:
• Infrastrukturnetz
• Knoten (Bahnhöfe, Kreuzungen, . . . )
• Kanten (Gleise).
• Personen- und Güterzüge
• Zugtyp (ICE, RB, Güterzug, . . . )
• Fahrtstrecke
Restriktionen:
• Fahrzeiten, Mindestzugfolgezeiten,
• Knotenkapazitäten,
• Rahmenfahrplan für Personenzüge.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Das Problem
Ziel
Betriebsplan für das gesamte deutsche Streckennetz der Deutschen
Bahn erzeugen (Train Timetabling Problem).
Daten:
• Infrastrukturnetz
• Knoten (Bahnhöfe, Kreuzungen, . . . )
• Kanten (Gleise).
• Personen- und Güterzüge
• Zugtyp (ICE, RB, Güterzug, . . . )
• Fahrtstrecke
Restriktionen:
• Fahrzeiten, Mindestzugfolgezeiten,
• Knotenkapazitäten,
• Rahmenfahrplan für Personenzüge.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Besonderheiten: Richtungskapazitäten
• Gesamt- und Richtungskapazitäten
1
2
3
2
3
4
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Beispiele: Gesamt- und Richtungsgleiszahlen
a)
b)
c)
d)
e)
f)
Bsp.
a)
b)
c)
d)
e)
f)
Gleiszahl
2
3
4
3
4
5
Richtungsgleiszahl
von links von rechts
1
1
1
2
2
2
2
2
2
3
3
3
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten: Rahmenfahrplan
Für jeden Personenzug r ∈ R P und jeden Bahnhof gibt es
• Halteintervall Iur = [t ru , t ru ] ⊆ {−∞, . . . , 1, 2, . . . , ∞},
Zug r soll in diesem Intervall am Bahnhof stehen“,
”
• Mindesthaltezeit dur ∈ N0 ,
• können genutzt werden um Anschlussbedingungen“ zu
”
simulieren.
Beispiel: Mindesthaltezeit = 2 Minuten, Halteintervall = [1, 4]
Die folgenden Fahrten sind alle zulässig.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten: Rahmenfahrplan
Für jeden Personenzug r ∈ R P und jeden Bahnhof gibt es
• Halteintervall Iur = [t ru , t ru ] ⊆ {−∞, . . . , 1, 2, . . . , ∞},
Zug r soll in diesem Intervall am Bahnhof stehen“,
”
• Mindesthaltezeit dur ∈ N0 ,
• können genutzt werden um Anschlussbedingungen“ zu
”
simulieren.
Beispiel: Mindesthaltezeit = 2 Minuten, Halteintervall = [1, 4]
Die folgenden Fahrten sind alle zulässig.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten: Rahmenfahrplan
Für jeden Personenzug r ∈ R P und jeden Bahnhof gibt es
• Halteintervall Iur = [t ru , t ru ] ⊆ {−∞, . . . , 1, 2, . . . , ∞},
Zug r soll in diesem Intervall am Bahnhof stehen“,
”
• Mindesthaltezeit dur ∈ N0 ,
• können genutzt werden um Anschlussbedingungen“ zu
”
simulieren.
Beispiel: Mindesthaltezeit = 2 Minuten, Halteintervall = [1, 4]
Die folgenden Fahrten sind alle zulässig.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten: Rahmenfahrplan
Für jeden Personenzug r ∈ R P und jeden Bahnhof gibt es
• Halteintervall Iur = [t ru , t ru ] ⊆ {−∞, . . . , 1, 2, . . . , ∞},
Zug r soll in diesem Intervall am Bahnhof stehen“,
”
• Mindesthaltezeit dur ∈ N0 ,
• können genutzt werden um Anschlussbedingungen“ zu
”
simulieren.
Beispiel: Mindesthaltezeit = 2 Minuten, Halteintervall = [1, 4]
Die folgenden Fahrten sind alle zulässig.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten: Rahmenfahrplan
Für jeden Personenzug r ∈ R P und jeden Bahnhof gibt es
• Halteintervall Iur = [t ru , t ru ] ⊆ {−∞, . . . , 1, 2, . . . , ∞},
Zug r soll in diesem Intervall am Bahnhof stehen“,
”
• Mindesthaltezeit dur ∈ N0 ,
• können genutzt werden um Anschlussbedingungen“ zu
”
simulieren.
Beispiel: Mindesthaltezeit = 2 Minuten, Halteintervall = [1, 4]
Die folgenden Fahrten sind alle zulässig.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten
Verhaltensabhängige FZ und MZFZ
• Fahrzeiten (FZ) abhängig vom Zugtyp und vom
Fahrverhalten
• Mindestzugfolgezeiten (MZFZ) abhängig von Zugtyp und
Fahrverhalten beider Züge
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Besonderheiten
Verhaltensabhängige FZ und MZFZ
• Fahrzeiten (FZ) abhängig vom Zugtyp und vom
Fahrverhalten
• Mindestzugfolgezeiten (MZFZ) abhängig von Zugtyp und
Fahrverhalten beider Züge
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Daten
• Infrastrukturnetzwerk G I = (V I , AI ),
• Knoten V I (Bahnhöfe, Weichen, . . . ),
˙ I ,2 , eingleisig oder zweigleisig,
• Strecken AI = AI ,1 ∪A
• Züge R mit
• Zugtyp m : R → {1, . . . , 16},
• Strecke G r ⊂ G I ,
• Halteintervalle, Mindesthaltezeit für Personenzüge (aus
Fahrplan),
• Zeiten: für B = {SS, FS, SF , FF },
• Fahrzeiten f : AI × R × B → R+ ,
• MZFZ h, hcr : AI × (R × B)2 → R+ ,
• Kapazitäten: (aus Knotentyp berechnet)
• absolut: c A : V I → N,
• Richtung: c R : AI → N.
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Daten
• Infrastrukturnetzwerk G I = (V I , AI ),
• Knoten V I (Bahnhöfe, Weichen, . . . ),
˙ I ,2 , eingleisig oder zweigleisig,
• Strecken AI = AI ,1 ∪A
• Züge R mit
• Zugtyp m : R → {1, . . . , 16},
• Strecke G r ⊂ G I ,
• Halteintervalle, Mindesthaltezeit für Personenzüge (aus
Fahrplan),
• Zeiten: für B = {SS, FS, SF , FF },
• Fahrzeiten f : AI × R × B → R+ ,
• MZFZ h, hcr : AI × (R × B)2 → R+ ,
• Kapazitäten: (aus Knotentyp berechnet)
• absolut: c A : V I → N,
• Richtung: c R : AI → N.
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Daten
• Infrastrukturnetzwerk G I = (V I , AI ),
• Knoten V I (Bahnhöfe, Weichen, . . . ),
˙ I ,2 , eingleisig oder zweigleisig,
• Strecken AI = AI ,1 ∪A
• Züge R mit
• Zugtyp m : R → {1, . . . , 16},
• Strecke G r ⊂ G I ,
• Halteintervalle, Mindesthaltezeit für Personenzüge (aus
Fahrplan),
• Zeiten: für B = {SS, FS, SF , FF },
• Fahrzeiten f : AI × R × B → R+ ,
• MZFZ h, hcr : AI × (R × B)2 → R+ ,
• Kapazitäten: (aus Knotentyp berechnet)
• absolut: c A : V I → N,
• Richtung: c R : AI → N.
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Daten
• Infrastrukturnetzwerk G I = (V I , AI ),
• Knoten V I (Bahnhöfe, Weichen, . . . ),
˙ I ,2 , eingleisig oder zweigleisig,
• Strecken AI = AI ,1 ∪A
• Züge R mit
• Zugtyp m : R → {1, . . . , 16},
• Strecke G r ⊂ G I ,
• Halteintervalle, Mindesthaltezeit für Personenzüge (aus
Fahrplan),
• Zeiten: für B = {SS, FS, SF , FF },
• Fahrzeiten f : AI × R × B → R+ ,
• MZFZ h, hcr : AI × (R × B)2 → R+ ,
• Kapazitäten: (aus Knotentyp berechnet)
• absolut: c A : V I → N,
• Richtung: c R : AI → N.
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Modell: Zuggraphen
Klassisches Modell mittels zeitdiskretisierter Netzwerke für
jeden einzelnen Zug:
Für jeden Zug r ∈ R ein Graph GTr = (VTr , ArT ) mit
• VTr enthält
• künstlichen Startknoten σ r ,
• künstlichen Endknoten τ r ,
• einen Warteknoten und einen Durchfahrtsknoten für jeden
Infrastrukturknoten, Zeitschritt.
•
ArT
enthält
• Startkanten von σ r zu den Knoten des ersten Bahnhofs,
• Endkanten von den Knoten des letzten Bahnhofs zu τ r ,
• Wartekanten zwischen zwei aufeinanderfolgenden
Warteknoten eines Bahnhofs,
• Fahrtkanten zwischen Knoten aufeinanderfolgender Bahnhöfe.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Modell: Zuggraphen
Klassisches Modell mittels zeitdiskretisierter Netzwerke für
jeden einzelnen Zug:
Für jeden Zug r ∈ R ein Graph GTr = (VTr , ArT ) mit
• VTr enthält
• künstlichen Startknoten σ r ,
• künstlichen Endknoten τ r ,
• einen Warteknoten und einen Durchfahrtsknoten für jeden
Infrastrukturknoten, Zeitschritt.
•
ArT
enthält
• Startkanten von σ r zu den Knoten des ersten Bahnhofs,
• Endkanten von den Knoten des letzten Bahnhofs zu τ r ,
• Wartekanten zwischen zwei aufeinanderfolgenden
Warteknoten eines Bahnhofs,
• Fahrtkanten zwischen Knoten aufeinanderfolgender Bahnhöfe.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Modell: Zuggraphen
Klassisches Modell mittels zeitdiskretisierter Netzwerke für
jeden einzelnen Zug:
Für jeden Zug r ∈ R ein Graph GTr = (VTr , ArT ) mit
• VTr enthält
• künstlichen Startknoten σ r ,
• künstlichen Endknoten τ r ,
• einen Warteknoten und einen Durchfahrtsknoten für jeden
Infrastrukturknoten, Zeitschritt.
•
ArT
enthält
• Startkanten von σ r zu den Knoten des ersten Bahnhofs,
• Endkanten von den Knoten des letzten Bahnhofs zu τ r ,
• Wartekanten zwischen zwei aufeinanderfolgenden
Warteknoten eines Bahnhofs,
• Fahrtkanten zwischen Knoten aufeinanderfolgender Bahnhöfe.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Zuggraphen: Knoten
Station 2 Station 3
t=1
t=2
Stopknoten
Zug hält am Bahnhof
t=3
t=4
Durchfahrtsknoten
Zug durchfährt den Bahnhof
t=5
t=6
t=7
Knoten
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Zuggraphen: Wartekanten
Bhf 2
Bhf 3
t=1
t=2
1
0
0
1
t=3
t=4
1
0
0
1
1
0
0
1
t=5
1
0
0
1
1
0
0
1
t=6
1
0
0
1
t=7
1
0
0
1
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Zuggraphen: Fahrtkanten
Fahrt-Fahrt
Bhf 2
Bhf 3
t=1
Bhf 2
Bhf 3
t=2
t=2
t=3
1
0
0
1
t=3
1
0
0
1
t=4
1
0
1
0
1
0
1
0
t=4
1
0
1
0
1
0
1
0
t=5
1
0
1
0
1
0
1
0
t=5
1
0
1
0
1
0
1
0
1
0
0
1
t=6
1
0
1
0
t=7
t=6
t=7
Stop-Fahrt
Fahrt-Stop
t=1
Bhf 2
Bhf 3
t=1
1
0
0
1
1
0
1
0
Bhf 2
Bhf 3
t=1
t=2
t=2
t=3
1
0
0
1
t=3
1
0
0
1
t=4
1
0
1
0
1
0
1
0
t=4
1
0
1
0
1
0
1
0
t=5
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
t=5
t=6
1
0
0
1
t=6
1
0
0
1
t=7
1
0
1
0
t=7
1
0
1
0
Stop-Stop
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Zuggraphen: Modellierung
• Fahrplan entspricht σ r -τ r -Weg in GTr ,
• Binärvariable xa ∈ {0, 1} für jede Kante aus ArT ,
• Flusserhaltungsgleichungen →
Xr = {char. Vektoren zulässiger Pfade} in GTr .
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Modell: Rahmenfahrplan
• Züge dürfen nicht zu früh losfahren:
x(u,t)(u0 ,t 0 ) = 0 falls t < t ru ,
• Mindestwartezeit: wird in eingehenden Fahrtkanten
berücksichtigt: FZ d von u nach v , Mindesthaltezeit δ
(u, t)(v , t + d + δ) ∈ ArT , t ∈ N0 .
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Knotenkapazitäten
• absolut:
höchstens cu Züge dürfen Bahnhof u ∈ V I zur Zeit t ∈ T
erreichen,
X
xa ≤ cu ,
a=((u 0 ,t 0 ),(u,t))
• richtungsabhängig:
höchstens c(u,v ) Züge dürfen Bahnhof u ∈ V I von Bahnhof
v ∈ V I zur Zeit t ∈ T erreichen,
X
xa ≤ c(u,v ) .
a=((u,t 0 ),(v ,t))
1
2
3
2
3
4
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Knotenkapazitäten
• absolut:
höchstens cu Züge dürfen Bahnhof u ∈ V I zur Zeit t ∈ T
erreichen,
X
xa ≤ cu ,
a=((u 0 ,t 0 ),(u,t))
• richtungsabhängig:
höchstens c(u,v ) Züge dürfen Bahnhof u ∈ V I von Bahnhof
v ∈ V I zur Zeit t ∈ T erreichen,
X
xa ≤ c(u,v ) .
a=((u,t 0 ),(v ,t))
1
2
3
2
3
4
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Nebenbedingungen: Mindestzugfolgezeiten
Zwei Modellierungsmöglichkeiten
• Konfigurationsnetzwerke,
• Konfliktungleichungen.
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Ausschlussbedingungen von in Konflikt stehenden Kanten.
(Beispiel: Zug 1 vor Zug 2 - 3 Minuten, Zug 2 vor Zug 1 - 2 Minuten):
Station 42 Station X Station Y
1
0
11
00
t=20 0
1
11
00
Station 23 Station X
11
00
t=20 00
11
Station Y
1
0
1
0
t=21
1
0
1
0
11
00
11
00
t=21
11
00
11
00
1
0
1
0
t=22
1
0
0
1
11
00
00
11
t=22
11
00
00
11
1
0
0
1
t=23
1
0
0
1
1
0
0
1
11
00
00
11
t=23
11
00
00
11
1
0
0
1
1
0
0
1
t=24
1
0
1
0
1
0
1
0
11
00
11
00
t=24
11
00
11
00
1
0
1
0
1
0
1
0
t=20
0
1
1
0
0
1
0
1
1
0
0
1
t=21
1
0
0
1
0
1
1
0
0
1
0
1
t=22
1
0
1
0
1
0
1
0
t=23
1
0
1
0
1
0
1
0
t=24
0
1
1
0
0
1
X
e∈{rote Kanten}
Ziel: Maximale Cliquen im Konfliktgraphen finden.
xe ≤ 1
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Bisher: Modelliert mittels Konfigurationsnetzwerken (Borndörfer, Schlechte
2007):
• ein Konfigurationsnetzwerk für jede Infrastrukturkante,
• Fahrtkanten werden durch Konfigurationskanten freigeschaltet“.
”
Typ 1
Typ 2
Konfigurationsgraph
Nebenbedingung: xa = xa0
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Bisher: Modelliert mittels Konfigurationsnetzwerken (Borndörfer, Schlechte
2007):
• ein Konfigurationsnetzwerk für jede Infrastrukturkante,
• Fahrtkanten werden durch Konfigurationskanten freigeschaltet“.
”
Typ 1
Typ 2
Typ 1
Konfigurationsgraph
Beispielkonfiguration
Nebenbedingung: xa = xa0
Typ 2
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Bisher: Modelliert mittels Konfigurationsnetzwerken (Borndörfer, Schlechte
2007):
• ein Konfigurationsnetzwerk für jede Infrastrukturkante,
• Fahrtkanten werden durch Konfigurationskanten freigeschaltet“.
”
Zug 1
Typ 1
Zug 2
Zug 3
Zuggraph
Beispielkonfiguration
Nebenbedingung: xa = xa0
Typ 2
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Cliques: Gut: funktionieren gut mit Lagrange-Relaxation,
Bündelverfahren,
Schlecht: sehr viele, sehr schwer zu separieren →
schlechtes Modell
Konfigurationsnetzwerke:
Gut: einfach zu separieren, starkes Modell,
Schlecht: Dualraum extrem hochdimensional, sehr
langsame Konvergenz bei Verfahren erster Ordnung,
Umsetzung in der Praxis: meist Cliques, da anfangs viel schnellerer
Fortschritt.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Cliques: Gut: funktionieren gut mit Lagrange-Relaxation,
Bündelverfahren,
Schlecht: sehr viele, sehr schwer zu separieren →
schlechtes Modell
Konfigurationsnetzwerke:
Gut: einfach zu separieren, starkes Modell,
Schlecht: Dualraum extrem hochdimensional, sehr
langsame Konvergenz bei Verfahren erster Ordnung,
Umsetzung in der Praxis: meist Cliques, da anfangs viel schnellerer
Fortschritt.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Nebenbedingungen: Mindestzugfolgezeiten
Cliques: Gut: funktionieren gut mit Lagrange-Relaxation,
Bündelverfahren,
Schlecht: sehr viele, sehr schwer zu separieren →
schlechtes Modell
Konfigurationsnetzwerke:
Gut: einfach zu separieren, starkes Modell,
Schlecht: Dualraum extrem hochdimensional, sehr
langsame Konvergenz bei Verfahren erster Ordnung,
Umsetzung in der Praxis: meist Cliques, da anfangs viel schnellerer
Fortschritt.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Lösungmethode
Algorithmus basierend auf Lagrange-Relaxation der koppelnden
Nebenbedingungen, gelöst mittels eines Bündelverfahrens:

inf ϕ(y1 , y2 ) := d1T y1 + d2T y2 +
y1 ≥0,y2
X
r ∈R∪AI

T T
T
max
w r − D1r y1 − D2f y2 x r  .
x f ∈Xr
für koppelnde Nebenbedingungen D1 ≤ d1 , D2 = d2 .
pro Iteration des Bündelverfahrens: Lösung von unabhängigen
Kürzester-Weg-Probleme in den Zug- und
Konfigurationsnetzwerken
T X
T
r
rT
ϕ(y ) = d y +
max
w −D y
xr .
r
r
r ∈R∪AI
x ∈X
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Lösungmethode
Algorithmus basierend auf Lagrange-Relaxation der koppelnden
Nebenbedingungen, gelöst mittels eines Bündelverfahrens:

inf ϕ(y1 , y2 ) := d1T y1 + d2T y2 +
y1 ≥0,y2
X
r ∈R∪AI

T T
T
max
w r − D1r y1 − D2f y2 x r  .
x f ∈Xr
für koppelnde Nebenbedingungen D1 ≤ d1 , D2 = d2 .
pro Iteration des Bündelverfahrens: Lösung von unabhängigen
Kürzester-Weg-Probleme in den Zug- und
Konfigurationsnetzwerken
T X
T
r
rT
max
w −D y
xr .
ϕ(y ) = d y +
r
r
r ∈R∪AI
x ∈X
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Herausforderungen
• enorme Problemgröße (ca. 30.000 Züge pro Tag in
Deutschland),
• extrem große, zeitexpandierte Graphen,
• hoher Speicherbedarf,
• lange Rechenzeiten
Ziel: Verbesserung des algorithmischen Schemas
Bündelverfahren
Asynchrones, paralleles
Bündelverfahren
Aufruf
Fischer und Helmberg, 2012
Black Box Orakel
GrT1
GrT2
GrT3
Dynamische
Graphengenerierung
Kürzeste-Wege-Unterprobleme
Fischer und Helmberg 2010, 2012
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Herausforderungen
• enorme Problemgröße (ca. 30.000 Züge pro Tag in
Deutschland),
• extrem große, zeitexpandierte Graphen,
• hoher Speicherbedarf,
• lange Rechenzeiten
Ziel: Verbesserung des algorithmischen Schemas
Bündelverfahren
Asynchrones, paralleles
Bündelverfahren
Aufruf
Fischer und Helmberg, 2012
Black Box Orakel
GrT1
GrT2
GrT3
Dynamische
Graphengenerierung
Kürzeste-Wege-Unterprobleme
Fischer und Helmberg 2010, 2012
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Herausforderungen
• enorme Problemgröße (ca. 30.000 Züge pro Tag in
Deutschland),
• extrem große, zeitexpandierte Graphen,
• hoher Speicherbedarf,
• lange Rechenzeiten
Ziel: Verbesserung des algorithmischen Schemas
Bündelverfahren
Asynchrones, paralleles
Bündelverfahren
Aufruf
Fischer und Helmberg, 2012
Black Box Orakel
GrT1
GrT2
GrT3
Dynamische
Graphengenerierung
Kürzeste-Wege-Unterprobleme
Fischer und Helmberg 2010, 2012
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Motivation
Betrachten GrT für ein festes r ∈ R
(lassen Index r weg)
Beobachtung:
• zeitexpandierte Netzwerke sehr
groß ∼ T ,
• Verspätung wird bestraft
⇒ Züge fahren früh“
”
⇒ nur kleine Teile von G T
benötigt
Ziel:
• nur notwendige Teile von G T
speichern,
• dynamisch weitere Teile
hinzufügen, falls nötig,
• Korrektheit der Unterprobleme
erhalten
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Motivation
Betrachten GrT für ein festes r ∈ R
(lassen Index r weg)
Beobachtung:
• zeitexpandierte Netzwerke sehr
groß ∼ T ,
• Verspätung wird bestraft
⇒ Züge fahren früh“
”
⇒ nur kleine Teile von G T
benötigt
Ziel:
• nur notwendige Teile von G T
speichern,
• dynamisch weitere Teile
hinzufügen, falls nötig,
• Korrektheit der Unterprobleme
erhalten
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Motivation
Betrachten GrT für ein festes r ∈ R
(lassen Index r weg)
Beobachtung:
• zeitexpandierte Netzwerke sehr
groß ∼ T ,
• Verspätung wird bestraft
⇒ Züge fahren früh“
”
⇒ nur kleine Teile von G T
benötigt
Ziel:
• nur notwendige Teile von G T
speichern,
• dynamisch weitere Teile
hinzufügen, falls nötig,
• Korrektheit der Unterprobleme
erhalten
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Dynamische Zuggraphen: Funktionsweise
Ziel
Alle Orakelauswertungen sollen weiterhin exakt sein.
• konvexe Kostenstruktur: Verspätung ist teuer,
• Kosten impliziter“ Kanten dürfen nicht verringert werden
”
(durch Lagrange-Multiplikatoren), hier: nur Strafkosten,
• Arbeitsweise:
• speichern Kern“-graph, der beliebige Kosten enthält,
”
• zusätzlichen Rand mit unveränderten Kosten,
• falls Lösung den Rand nutzt → Kerngraph erhöhen, Graph
wächst, Weg neu berechnen.
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Beispielgraph
voll zeitexpandiert
einfacher Ansatz
Abbildung : Beispiel eines Güterzuges
Ansatz mit Shift
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Effizienz
Dynamische Graphengenerierung für allgemeine azyklische
Graphen kann sehr effizient implementiert werden.
Theorem (Fischer, Helmberg 2012)
Die Konstruktion von G mem (Graph im Speicher) ist möglich in
O(|A| · max d) Schritten mit d max. Zeitschritt.
Bemerkung
Die Berechnung eines kürzesten Weges in G mem benötigt
Θ(|Kanten in G mem |) Schritte (abhängig von der Größe des
gespeicherten Teilgraphen G mem )!
Theorem (Fischer, Helmberg 2012)
Enthält G nur eine Route, dann gilt
|V mem \ V act | = O(|V | · max d).
(G act – Teilgraph, in dem die bisherigen kürzesten Wege liegen)
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Effizienz
Dynamische Graphengenerierung für allgemeine azyklische
Graphen kann sehr effizient implementiert werden.
Theorem (Fischer, Helmberg 2012)
Die Konstruktion von G mem (Graph im Speicher) ist möglich in
O(|A| · max d) Schritten mit d max. Zeitschritt.
Bemerkung
Die Berechnung eines kürzesten Weges in G mem benötigt
Θ(|Kanten in G mem |) Schritte (abhängig von der Größe des
gespeicherten Teilgraphen G mem )!
Theorem (Fischer, Helmberg 2012)
Enthält G nur eine Route, dann gilt
|V mem \ V act | = O(|V | · max d).
(G act – Teilgraph, in dem die bisherigen kürzesten Wege liegen)
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Rechenergebnisse
Effizienz
Dynamische Graphengenerierung für allgemeine azyklische
Graphen kann sehr effizient implementiert werden.
Theorem (Fischer, Helmberg 2012)
Die Konstruktion von G mem (Graph im Speicher) ist möglich in
O(|A| · max d) Schritten mit d max. Zeitschritt.
Bemerkung
Die Berechnung eines kürzesten Weges in G mem benötigt
Θ(|Kanten in G mem |) Schritte (abhängig von der Größe des
gespeicherten Teilgraphen G mem )!
Theorem (Fischer, Helmberg 2012)
Enthält G nur eine Route, dann gilt
|V mem \ V act | = O(|V | · max d).
(G act – Teilgraph, in dem die bisherigen kürzesten Wege liegen)
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Testinstanzen
• Rhein-Main Schiene (Fern- und Güterverkehrsstrecke),
• Süd-West Teilnetz der Deutschen Bahn,
• jeweils 6 Stunden Zeithorizont
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Testinstanzen
• Rhein-Main Schiene (Fern- und Güterverkehrsstrecke),
• Süd-West Teilnetz der Deutschen Bahn,
• jeweils 6 Stunden Zeithorizont
Teilnetz
RM
SW
|V I |
|AI |
445
1776
744
3852
# Güter
81
752
Personenverkehr
# Fern # Nah
23
28
102
2320
Tabelle : Testinstanzen
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
Testinstanzen
• Rhein-Main Schiene (Fern- und Güterverkehrsstrecke),
• Süd-West Teilnetz der Deutschen Bahn,
• jeweils 6 Stunden Zeithorizont
Teilnetz
RM
SW
|V I |
|AI |
445
1776
744
3852
# Güter
81
752
Personenverkehr
# Fern # Nah
23
28
102
2320
Tabelle : Testinstanzen
Teilnetz
RM
SW
Vollständig
5443680
42637613
Einfache DG
288289
2135821
DG
205681
1092926
Tabelle : Anzahl aller Kanten am Ende des Lösungsprozesses
Reduktion um Faktor 40!
Rechenergebnisse
Problemstellung und Basismodell
Algorithmische Herausforderungen
Dynamische Graphengenerierung
400
300
200
100
0
5
10
Instanz
15
Maximum Fernverkehr
Maximum Nahverkehr
Verspätung in Sekunden
Verspätung in Sekunden
Rhein-Main
Rechenergebnisse
Süd-West
·104
1.5
1
0.5
0
5
10
Instanz
∅ Fernverkehr
∅ Nahverkehr
• RM fast alle Züge ohne signifikante Verspätung,
• SW 99% aller Züge ohne signifikante Verspätung,
• Durschnittlich ca. eine Stunde Einsparung bei Güterzügen.
15
Herunterladen