• No results found

Tidtabellskonstruktion. Emme. Sampersdagen Daniel Sahlgren, Plep. TMALL 0145 Presentation Widescreen v 1.0

N/A
N/A
Protected

Academic year: 2022

Share "Tidtabellskonstruktion. Emme. Sampersdagen Daniel Sahlgren, Plep. TMALL 0145 Presentation Widescreen v 1.0"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

ntation Widescreenv 1.0

Tidtabells-

konstruktion i Emme

Sampersdagen 2019-10-22

Daniel Sahlgren,

Plep

(2)

• Rutt (itinerary):

– nod_1, nod_2,…,nod_n

• Antal avgångar (#nr_trips)

• Gångtider

– TTF (Transit Time Function)

– Hårdkodad tid mellan uppehåll A och B

• Finns det noder mellan a och b?

Tidtabell i Emme

a

b

(3)

• Nod

– Namn – Id (Emme)

• Länk:

– node_i-node_j

• Segment:

– line_x: node_i_node_j

• Rutt (itinerary)

– {nod_1, nod_2,…, nod_n}

Grundläggande begrepp

(4)

• Linjedel:

– den del av en linje där trafikens blandning och/eller antalet tåg – infrastrukturen inklusive signalsystem är oförändrad

– Kopplar till en dimensionerande sträcka

• Dimensionerande sträcka:

– Sträckan mellan två mötesstationer som har längst gångtid för tågen

Grundläggande begrepp, forts.

(5)

• Tid från A till B

• Tar ej hänsyn till kapacitetsbrist

– Tidspåslag

Gångtider

(6)

Tidspåslag ”tdt” – enkelt!

self.segment.link.length * gamma / 10

(7)

Tidspåslag 2 – lite svårare

@property

def extra_time(self):

# check if segments assigned LD is dsp or esp

# print('L'+str(int(self.segment['@ld'])))

try:

LD = self.network.transit_line('L' + str(int(self.segment['@ld']))) if LD['#track_type'] == 'esp':

alfa = self.segment.line.vehicle['#esp_alfa']

beta = self.segment.line.vehicle['#esp_beta']

elif LD['#track_type'] == 'dsp':

alfa = self.segment.line.vehicle['#dsp_alfa']

beta = self.segment.line.vehicle['#dsp_beta']

extra_time = (LD['@capacity'] * alfa - beta) * (self.segment.link.length / 10)

(8)

Tidpåslag

• Gångtider tas fram externt i RailSys

– inkluderar ej ”trängsel på spåren”

– Baseras på fysikaliska samband (dragkraft, motstånd, etc)

• Tidspåslag:

– Typ 1: ”tdt”:

• self.segment.link.length * γ

– Typ 2: kapacitet ↓⇒ restid ↑

• (LD['@capacity']* α - β) * (self.segment.link.length)

(9)

• Järnvägen delas upp i linjedelar med en mängd attribut X:

– Inner/ytter, hw, tillåtna tågtyper, # tåg,…,,x_n, ∈ 𝑋

• Kapacitet = 𝑓 𝑋

Kapacitet

def total_time_esp(self):

if tr.is_single_track(self.ld):

total_time_esp = self.total_gangtid + self.esp_meeting + self.esp_inf_fbj def esp_meeting(self):

if tr.is_single_track(self.ld):

esp_meeting = self.ld['@sum_speed'] * self.t_values['#m_speed'] + \ +self.ld['@sum_freight'] * self.t_values['#m_freight'] + \ +self.ld['@sum_iron'] * self.t_values['#m_freight'] + \ +self.ld['@sum_other'] * self.t_values['#m_other'] + \ +self.ld['@sum_local'] * self.t_values['#m_local']

(10)

• För att beräkna tidspåslag behövs:

– Kapacitet på linjedelen som länken tillhör

• För att beräkna kapaciteten behövs:

– Antal persontåg på resp. linjedel (dimensionerande sträckan) – Antal godståg går på resp. linjedel (dimensionerande sträckan)

• Vilka tåg går på resp linjedel?

Kapacitet och tidspåslag, forts

(11)

Linjedelars sträckning – nuv metod

• Manuell nyckel

– Länk -> linjedel – Ca 2 500 länkar

• Tilldelar kapacitetspåslag

– Per segment

(12)

• Ca 300 linjedelar

• Ca 150 tåglinjer

• Ger ca 45 000 celler (sic!)

Vilka persontåg går på resp. linjedel?

– nuv metod

(13)

Vilka godståg på resp. linjedel?

– nuv metod

• Indata från Samgods via Bangods

– Mätpunkter med antal tåg

• Manuell nyckel

– Mätpunkter till linjedel – Ca 350 mätpunkter

– Manuell mappning mha klarta?

(14)

•Kör makro

•Spara linjer.txt

•Läs in linjer.txt

•Exportera fil

•Klistra in fil

•Kör makro

•Spara linjer.txt

Läs in fil Kör Sampers

När det är klart…

Tidtabell med gångtider mellan ”paths”

Skapa rutt - länklängder

Tidtabell med

tidspåslag Klart!

(15)

• Men…

– En länk (i Emme) kan tillhöra flera linjedelar

• Om en länk tillhör flera linjedelar vilken väljer man?

– Varje segment tillhör max en linjedel

• För att beräkna kapaciteten behövs:

– Antal tåg på resp. linjedel

– Antal godståg går på resp. linjedel – (Linjedelarnas sträckning i nätet)

En alternativ ansats

(16)

• Läs in linjedelar som ”vanliga” linjer i Emme

– Startnod – Slutnod

• Skapa extraattribut för kapacitetsberäkningar

– @hw_x – @gamma – @ld

– @ds

Linjedelars sträckning

(17)

• med seg[”@ld”] är vi (nästan) klara:

– Vi söker f(s) s.a.:

∀ 𝑠 ∈ 𝑁: 𝑓 𝑠 = 𝑙𝑑 if ∃ 𝑠. 𝑙𝑖𝑛𝑘. 𝑙𝑑, 𝑙𝑑 ∈ 𝐿𝐷 g

Tilldela varje segment en linjedel

For line in network_transit_lines():

for line_segment in line.segments():

for link_segment in line_segment.link:

If link_segment.line is LD:

ld_cand.append(segment.line.id) If len(ld_can)==1:

segm[@ld]=segment.line.id Else:

(18)

Så istället för…

(19)

En verktygslåda i Emme modeller

(20)

• Vi slipper Excel!

– Allt på ett ställe

• ”drag-and-drop” för att skapa/ändra tåglinjer, linjedelar, etc

• Ändra linjedelsattribut, antal tåg, m.m. direkt i Emme

– Uppdatera kapacitet och tidtabeller direkt

– Förenklar integration med gods vid iteration mellan god/person

• ”På köpet”:

– Verktyg för kapacitetsanalyser

– Extra attribut inlästa (#station, #sign, mm)

– Godstrafik inlagd i nätet

– Loggfiler

Vad innebär detta?

(21)

• Ny efterfrågeberäkning snabbar upp…

• VDF på j-väg? Beräkna gångtider direkt i Emme?

• Integrering av gods och persontrafik???

Framtida möjligheter

(22)

Tack för er uppmärksamhet!

Kontakt

daniel.sahlgren@trafikverket.se

References

Related documents

För varje linjedel beräknas ett matematiskt kapacitetsutnyttjande som gäller för den dimensionerande sträckan och detta används för hela linjedelen.. I de fall en åtgärd

• Ny gång- och cykelväg mellan Ransta (vid korsningen till Kärrbäcksbovägen) och Kumla kyrkby (vid hållplats.. Parkvägen), längs med

Som dimensionerande för denna vagnstyp används en brandtillväxt enligt NFPA slow upp till 40 MW vilket motsvarar ungefär 2 vagnar. Brandeffekt öppna vagnar

Antal utrymmande från respektive station dimensioneras utifrån ett personantal motsvarade två fullsatta tåg på brandutsatt plattform samt ett fullsatt tåg på ej

Finns det ett väl dokumenterat underlag som bygger på politiskt beslutade antaganden avseende implementering av andra förutsättningar som avviker från Trafikverkets basprognoser,

För att undersöka samverkan mellan geosyntet och jord bör både skjuvförsök och utdrags försök (pullout test) utföras..

För moderna fordon med obrännbara tak och väggar antas en stor tändkälla kunna ge upphov till en brandtillväxt enligt medium upp till 2MW därefter bedöms en. brandtillväxt

Om de längsgående skikten har olika värden för elasticitetsmodulen