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