Vasúti menetrendek optimalizálása Jüttner Alpár ELTE TTK Operációkutatási Tsz. Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 1 / 10
Vasúti menetrendek tervezése Bemenet A vasúthálózat leírása állomások, összeköttetések, min/max menetidők... Járatok leírása honnan hova, milyen állomások érintésével A járatok menetrendjével kapcsolatos elvárások min/max állásidő az egyes állomásokon, min/max átszállási idő, teljes menetidő,... Biztonsági feltételek és kapacitáskorlátok min. követési idők Feladat: a menetrend megtervezése Pontos útvonaltervek megadása (érkezési/indulási idők minden állomáson) Célfüggvény: teljes menetidők és átszállási idők minimalizálása Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 2 / 10
A modellezés szintjei Makró modell Nagy területet (pl. egész ország) modellezünk Mikró modell Részletesebb modell, de csak kisebb terület Kontroll feladat Valós idejű döntéshozatal Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 3 / 10
A modellezés szintjei Makró modell Nagy területet (pl. egész ország) modellezünk Nem teljes részletességgel Állomások: A kapacitásokat nézzük csak Vágányok: Az állomások közötti összeköttetéseket osztatlan szakaszoknak tekintjük (plusz adott a párhuzamos vágányok száma) Mikró modell Részletesebb modell, de csak kisebb terület Kontroll feladat Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 3 / 10
A modellezés szintjei Makró modell Nagy területet (pl. egész ország) modellezünk Mikró modell Részletesebb modell, de csak kisebb terület Váltók, vonalszakaszok, biztonsági zónák modellezése Állomások részletes leírása Vonatok fizikai paramétereinek (gyorsulás, fékezés, hossz) modellezése Kontroll feladat Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 3 / 10
A modellezés szintjei Makró modell Nagy területet (pl. egész ország) modellezünk Mikró modell Részletesebb modell, de csak kisebb terület Kontroll feladat Valós idejű döntéshozatal Ismerjük a szerelvények aktuális pozícióját és sebességét Döntések: Kereszteződéseknél melyik szerelvényt engedjük előre Az állomásokról mikor indítsuk a vonatokat Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 3 / 10
A modellezés szintjei Makró modell Nagy területet (pl. egész ország) modellezünk Mikró modell Részletesebb modell, de csak kisebb terület Kontroll feladat Valós idejű döntéshozatal A magasabb szinten kapott megoldás az alacsonyabb szinten realizálató legyen Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 3 / 10
Példa: Rio Tinto Rails 14 bányát szolgál ki kb. 1,400 kilométernyi vágánnyal Kb. 228 millió tonna vasércet szállítanak A szerelvények Egy ember vezeti Max 234 vagon, mindegyik kb. 112 tonna kapacitású. Teljes kapacitás 31 000 tonna Kb. 2.4 kilométer hosszú szerelvények Kb. 35 óra menetidő Átlagosan 25 percenként jár egy szerelvény minden vonalon. Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 4 / 10
Periodikus (ütemes) menetrendek Az emberek/vállalatok szeretik, ha a járatok minden órában ugyanakkor indulnak Ez megoldható a járatok közötti szigorú követési idők definiálásával, ami viszont jelentősen megnöveli a probléma méretét. Lehetnek egyszerre periodikus és nem periodikus járatok Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 5 / 10
Megoldási módszerek: Egészértékű programozási feladat Az egyes eseményekhez egy t i változót rendelünk, ami az esemény idejét jelöli. Menetidő egy vágányon: min t i+1 arrival tleave i max Várakozás egy állomáson: W min tleave i ti arrival W max Átszállás: C min t j t i C max Követési idő: H t j t i Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 6 / 10
Megoldási módszerek: Egészértékű programozási feladat Az egyes eseményekhez egy t i változót rendelünk, ami az esemény idejét jelöli. Menetidő egy vágányon: min t i+1 arrival tleave i max Várakozás egy állomáson: W min tleave i arrival W max Átszállás: C min t j t i C max Követési idő: H t j t i p ij {0, 1}, H t j t i + Mp ij, H t i t j + M(1 p ij ) Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 6 / 10
Megoldási módszerek: Egészértékű programozási feladat Az egyes eseményekhez egy t i változót rendelünk, ami az esemény idejét jelöli. Menetidő egy vágányon: min t i+1 arrival tleave i max Várakozás egy állomáson: W min tleave i arrival W max Átszállás: C min t j t i C max Követési idő: H t j t i p ij {0, 1}, H t j t i + Mp ij, H t i t j + M(1 p ij ) Jump constraint : Egy vonat nem ugorhat át egy másikat egy vágányon Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 6 / 10
Megoldási módszerek: PESP modell Periodic Event Scheduling Problem Adott egy P periódusidő, minden feltételt mod P nézünk A feltételek általános alakja: l ij t j t i u ij (mod P) Ez felírható egészértékű programozási feladatként: l ij t j t i + Pp ij u ij, p ij {0, 1} Tenzió alapú felírás (gyakorlatban hatékonyabb) A változók az időkülönbségek lesznek: π ij := t j t i l ij π ij u ij, p ij {0, 1} (1) π ij = Pp ij C C (2) (ij) C Hogyan válasszuk a C körbázist? Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 7 / 10
Megoldási módszerek: PESP modell Periodic Event Scheduling Problem Adott egy P periódusidő, minden feltételt mod P nézünk A feltételek általános alakja: l ij t j t i u ij (mod P) Ez felírható egészértékű programozási feladatként: l ij t j t i + Pp ij u ij, p ij {0, 1} Tenzió alapú felírás (gyakorlatban hatékonyabb) A változók az időkülönbségek lesznek: π ij := t j t i l ij π ij u ij, p ij {0, 1} (1) π ij = Pp ij C C (2) (ij) C Hogyan válasszuk a C körbázist? Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 7 / 10
Téridő-gráf modell Téridő(sebesség)-gráf Diszkrét időpontok: t 1, t 2,... t k Csúcsok: (t, l) idő-pozíció párok Élek: (t 1, l 1 ) (t 2, l 2 ), ha t 1 időben l 1 -ben tartózkodunk, akkor l 2 -ben lehetünk a t 2 -időben. Egy járat menetrendje: Egy út (sáv) ebben a gráfban. Feladat: Constrained Integer Multi-Commodity Flow Problem Minden járatra keresünk egy 1 értékű egész folyamot (utat) Az utak diszjunktak kell legyenek... (egyéb feltételek) Oszlopgeneráción alapuló megoldási módszerek Alkalmas az extra feltételek kezelésére Egész megoldás keresése: Branch&Cut&Price eljárás Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 8 / 10
Kihívások Makró mikró felbontás: Feladat aggregálás Klaszterezés Extra flexibilitás biztosítása a makró szinten PEST modell: alkalmas körbázisok keresése Részletek és hatékony mikró szintű modellezés Oszlopgenerálás hatékony megvalósítása Branching módszerek Időskála adaptív finomítása (vágósíkos módszer) Heurisztkus megközelítések Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 9 / 10
Köszönöm a figyelmet! Jüttner Alpár (ELTE TTK) Vasúti menetrendek optimalizálása 10 / 10