Verwendung von Busreisezeiten aus einer dynamischen Simulation in einer ÖPNV-Verzögerungsfunktion für die Transitzuweisung

Technischer Hinweis #8

Januar 2015

Stell dir vor, du hast eine dynamische Simulation (Meso-, Mikro- oder Hybrid-Simulation) durchgeführt, die dir genaue Fahrzeiten für Transitfahrzeuge liefert, die Staus, reservierte Fahrspuren, Signale und Algorithmen zur Transitpriorisierung berücksichtigen. Wäre es nicht schön, diese Informationen zu nutzen, um eine genauere Schätzung der Fahrzeit von Haltestelle zu Haltestelle in einem makroskopischen Transitauftrag zu erhalten?

Dank der integrierten Modellierungsumgebung von Aimsun ist dies möglich. Du musst nur eine ÖPNV-Verspätungsfunktion schreiben, die die Busfahrzeit aus der von der dynamischen Simulation erzeugten Zeitreihe liest.


Zuordnung öffentlicher Verkehr

Zum Beispiel:

costCol = None
def pdf( context, line, ptsection ):
	global costCol
	if costCol == None:
		model = ptsection.getModel()
		vehicleType = model.getType("GKVehicle")
		vehicleId = model.getCatalog().findByName("Bus", vehicleType).getId()
		costCol = model.getColumn("DYNAMIC::SRC_GKSection_travelTime_%i" % vehicleId)
	res = 0.0
	fromStop = ptsection.getMaster().getOrigin()
	if fromStop != None:
		sectionLength = fromSection.length2D()
		fromSection = fromStop.getSection()
		fromFraction = (sectionLength - fromStop.getPosition()) / sectionLength
	else:
		fromSection = None
	toStop = ptsection.getMaster().getDestination()
	if toStop != None:
		toSection = toStop.getSection()
		toFraction = toStop.getPosition() / toSection.length2D()
	else:
		toSection = None
	for section in ptsection.getMaster().getRoute():
		fraction = 1.0
		if fromSection != None and section.getId() == fromSection.getId():
			fraction = fromFraction
		elif toSection != None and section.getId() == toSection.getId():
			fraction = toFraction
		ts = section.getDataValueTS(costCol)
		if ts != None:
			res += ts.getAggregatedValue()/60 * fraction
	if res == 0.0:
		print "No dynamic cost for PT Section %i" % ptsection.getId()
		res = 60.0 * ptsection.getDistance()/1000.0 / 20.0 #km/h
	return res
 

Die Funktion liest die Fahrzeit der letzten Simulation für den Busfahrzeugtyp aus dem Abschnitt. Da die Kosten für die ÖPNV-Zuordnung für ÖPNV-Abschnitte ausgedrückt werden, d.h. für Haltestellen-Segmente, addiert sie diese für alle Abschnitte zwischen den Haltestellen und berechnet einen Bruchteil für den ersten und letzten Abschnitt, abhängig von der Position der Bushaltestellen.

Eine wichtige Anwendung dieses Ansatzes ist die Abschätzung der Auswirkung auf die Verteilung und den Modussplit von betrieblichen Änderungen am Transitsystem, wie z.B. die Einführung von Signalpriorität und reservierten Fahrspuren entlang eines Korridors.

Weitere technische Hinweise

Zufällige Seeds in Verkehrsmodellen

In dieser technischen Notiz werden die verschiedenen Quellen der Stochastizität in Mikro- und Meso-Experimenten in Aimsun Next erklärt und wie Sie diese kontrollieren können.

Verteilung und modale Split Funktionen

Januar 2018: Margarida Delgado erklärt, wie die Schritte „Distribution“ und „Modal Split“ jetzt in zwei separate Prozesse aufgeteilt sind, um dir mehr Flexibilität bei der Wahl des Modells zu geben und mehr Kontrolle bei jedem Schritt zu haben.

  • Hast du eine Frage? Nimm Kontakt auf.

    Wir sind hier um zu helfen!

  • Hast du eine Frage? Nimm Kontakt auf.

    Wir sind hier um zu helfen!

TEILEN

Zitieren Aimsun Next

Aimsun Next 23

Aimsun (2023). Aimsun Next 23 User's Manual, Aimsun Next Version 23.0.0, Barcelona, Spanien. Zugriff am: July. 19, 2023. [Online].
Verfügbar: https://docs.aimsun.com/next/23.0.0/


Aimsun Next 20.0.5

Aimsun (2021). Aimsun Next 20.0.5 User's Manual, Aimsun Next Version 20.0.3, Barcelona, Spanien. Accessed on: May. 1, 2021. [In software].
Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html

Aimsun Next 23

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 23 User's Manual}​​​​​,
author = {​​​​​​​​Aimsun}​​​​​​​​,
edition = {​​​​​​​​​​​​​​​Aimsun Next 23.0.0}​​​​​​​​​​​​​​​,
address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,
year = {​​​​​​​​​​​​​​​2023. [Online]}​​​​​​​​​​​​​​​,
month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,
url = {​​​​​​​​​​​​​​​https://docs.aimsun.com/next/23.0.0/}​​​​​​​​​​​​​​​,
}​​​​​​​​​​​​​​​


Aimsun Next 20.0.5

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 20.0.5 User's Manual}​​​​​​​​,
author = {​​​​​​​​Aimsun}​​​​​​​​,
edition = {​​​​​​​​​​​​​​​Aimsun Next 20.0.5}​​​​​​​​​​​​​​​,
address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,
year = {​​​​​​​​​​​​​​​2021. [In software]}​​​​​​​​​​​​​​​,
month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,
url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,
}​​​​​​​​​​​​​​​

Aimsun Next 23

TY - COMP
T1 - Aimsun Next 23 User's Manual
A1 - Aimsun
ET - Aimsun Next Version 23.0.0
Y1 - 2023
Y2 - Accessed on: Month, Day, Year
CY - Barcelona, Spain
PB - Aimsun
UR - [In software]. Verfügbar: https://docs.aimsun.com/next/23.0.0/


Aimsun Next 20.0.5

TY - COMP
T1 - Aimsun Next 20.0.5 User's Manual
A1 - Aimsun
ET - Aimsun Next Version 20.0.5
Y1 - 2021
Y2 - Accessed on: Month, Day, Year
CY - Barcelona, Spanien
PB - Aimsun
UR - [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html