Algoritm för insättning av ett tåg i en befintlig tidtabell Transportforum 2018-01-11 Fredrik Ljunggren, Kristian Persson
Introduktion Agenda Vilket behov uppfyller algoritmen? Hur fungerar algoritmen? Examensarbete Linköpings universitet, våren 2017 Handledare Christiane Schmidt, Examinator Anders Peterson En del av Shift2Rail Vi kommer under vår presentation motivera varför vi ser ett behov av en algoritm för att lägga in godståg i en befintlig tidtabell. Vi kommer också förklara hur algoritmen är uppbyggd.
Bakgrund Trängsel på spåren Ett års planeringscykel – passar (oftast) inte godståg Omplanerade/sent tillagda godståg kan skapa problem i systemet. Godstågs mål: Tid till slutkunden – inte i tid i varje punkt. Mål: Robust tidtabell – inte försena andra tåg. Godståg behöver varken komma fram så snabbt som möjligt till varje punkt eller på en exakt klockslag på olika delar av banan. Tid till slutkunden är det viktigaste. Vill därför hitta en tidtabell som gör att sannolikheten att komma fram i tid är så stor som möjligt – och samtidigt inte försena andra tåg.
Förutsättningar Tidsfönster avgång Tidsfönster ankomst Hastighetsprofil för valt tåg Fastställd tidtabell för övriga tåg Säkerhetsavstånd i tid (minsta headway) mellan tåg
Algoritmens mål Mål: Maximera robustheten för tåget. Vad är robusthet? Vår utgångspunkt: Så stort tidsavstånd som möjligt mellan vårt tåg och de närliggande tågen
Algoritmens mål Maximerar den minsta tidsluckan i den föreslagna tågvägen. Dvs Mellan varje par av stationer på sträckan definierar vi tidsluckor där det är möjligt för tåget att köra. Tidsluckorna sätts ihop till en sammankopplad väg från startstation till slutstation. Den tidsluckan i den sammansatta vägen som är minst ska vara så stor som möjligt. Exempel:
Bild med exempel
Lösningsmetod Lösningsmetod baserad på Dijkstras algoritm Problemformulering med grafstruktur (nätverksalgoritm) Noder och bågar där varje båge representerar en möjlig väg mellan stationer och tidsluckans storlek motsvaras av bågkostnaden.
Modellerat nätverk Tidtabell T15 Malmö-Hallsberg - 76 trafikplatser, 447 km 400 km dubbelspår (Malmö – Degerön) 47 km enkelspår (Degerön – Hallsberg) Totalt ca 250 tåg per riktning dagtid 07:00-18:00 Många olika sorters tåg (snabbtåg, regionaltåg lokaltåg och godståg) Periodvis stor trängsel Nämn: Verkligt fall.
Resultat Fungerar bra i nätverket – hittar robusta vägar. Behöver vara tillämpbart på ett generellt scenario Lösningens robusthet har ingen direkt koppling till tidsfönstrets storlek, en ökning av tidsfönstret möjliggör endast fler lösningar att inkluderas som möjliga lösningar. Ökning av tidsfönster senare än 7 ger endast en längre lösningstid till följd av större lösningsmängd
Resultat Teoretisk lösningskomplexitet: s = antal stationer, t = antal tåg Algoritmen dock tillräckligt snabb i praktiska fall: Snabbare vid högre trängsel Lösningstid Malmö – Hallsberg: Sekundnivå Teoretisk värsta lösningstid: Inte så bra, eftersom den ökar i kvadrat med stationer multiplicerat med tåg. Kan tänkas vara ett problem för komplexa tidtabeller. Men inget större problem i praktiken. Värsta fallet uppkommer bara när det är stora avstånd mellan tågen, dvs låg trängsel och det är lätt att manuellt/visuellt hitta bra lösningar. Vår algoritm är till för hög trängsel. Vid hög trängsel blir nämligen lösningstiden väsentligt kortare än den teoretiskt möjliga. Exempelvis Malmö-Hallsberg där lösningstiden aldrig översteg 10s. Algoritmen är till för hög trängsel.
Slutsatser Algoritmen fungerar bra för att lägga in extra godståg i en befintlig tidtabell. Lösningstiden gör metoden lämplig att använda nära avgångstid, dvs för korttidsplanering/trafikledning. Fortsatt arbete Utvärdering av algoritmen under dynamiska förhållanden Exempelvis genom simulering (med t.ex. Railsys). Vi hittar en optimala lösningen, dvs lösningen med störst flaskhals med avseende på robusthet Vi har förutsatt att alla befintliga tåg går enligt tidtabell och har inte inkluderat historisk förseningsstatistik i robustheten
Frågor Kontakt: Kristian Persson, kristian.persson@sweco.se Fredrik Ljunggren, fredrik.ljunggren@trafikverket.se