Statische OD-Anpassung: Auswirkungen von Gewichtsfunktion und Gradientenabstiegsiterationen
Februar 2019: Mohammad Saifuzzaman untersucht die Verwendung von Anpassungsgewichtsfunktionen, um die GEH und nicht nur die R2 zu verbessern.
In Aimsun Next können sowohl statische Verkehrsumlegungen (IV-Fahrzeuge) als auch Fahrtenumlegungen (Fahrgäste) den Fahrzweck bei der Bewertung der Wegekosten berücksichtigen.
In unserer Technischen Mitteilung #53 haben wir Ihnen ein paar Tipps gegeben, wie Sie die Kosten statischer Verkehrsumlegungen nach Fahrzeugtypen anpassen können. Nachfragen werden in statischen Modellen mittels QZ-Matrizen kodiert, die wiederum nach Benutzergruppen (Fahrzeugtyp + Fahrzweck) angelegt werden. Die Abfrage des Fahrzwecks in einer CR-Funktion (VDF, TPF und JDF) ist daher genauso einfach wie die Abfrage des Fahrzeugtyps:
vehicle = context.userClass.getPurpose()
For example, in a BPR function that has an additional term for tolls, we can decrease the vehicle VoT (value of time), which converts a toll (coded in the first user defined cost) into time units including a weight, when the trip purpose is ‘Work’.
def vdf(context, section, funcVolume):
vehicleName = context.userClass.getVehicle().getName()
tripPurposeName = context.userClass.getPurpose().getName()
vehicleVoT = context.userClass.getVehicle().getValueOfTimeMean()
if vehiclePurpose==”Work”: #If trip purpose is “Work”
vehicleVoT = 0.5 * vehicleVoT
#coefficients alpha and beta must be modified accordingly
alpha = 0.15
beta = 4.0
freeflowTravelTime = ( 60.0 / section.getSpeed() ) * section.length3D() / 1000.0
volume = funcVolume.getVolume()
addVolume = section.getAdditionalVolume()
capacity = section.getCapacity()
cost = freeflowTravelTime * ( 1 + alpha * ((volume + addVolume) / capacity ) ** beta) + vehicleVoT * section.getUserDefinedCost()
return cost
Another option, if you want to define a different VoT or VOC (vehicle operating cost) per vehicle type and trip purpose, is to define these values as an attribute of the User Class instead of using the Vehicle Type parameter. Activate the Types window, find the User Class type and double-click on User Class (GKUserClass) to access the Type Editor.
Klicken Sie auf »Add«, und erstellen Sie ein neues Attribut des Datentyps »Double«.
Das Attribut steht jetzt für jede Benutzergruppe zur Verfügung. Sie finden dieses nun auf der Registerkarte »Attributes« im Benutzergruppen-Editor. Tragen Sie jetzt einfach die Werte ein, und fragen Sie das Attribut in den Kostenfunktionen ab (Strecke, Abbieger oder beides).
col = section.getModel().getColumn("GKUserClass::VoTperPurpose")
VoT = context.userClass.getDataValueDouble(col)
Transit cost functions can also access the trip purpose through the context parameter, and can access user class attributes, so you can still use the approaches presented above. In addition, another approach is available. In the User Class editor, for each Vehicle Type and Trip Purpose, a set of weights for Transit is available. These weights are automatically taken into account when adding up all cost components for the evaluation of the total cost of a transit trip.
Weitere Informationen zu statischen IV- und Fahrtenumlegungen finden Sie unter qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/FunctionEditing.html, oder besuchen Sie eines unserer Seminarangebote zur makroskopischen oder strategischen Modellierung.
Weitere Informationen zum Skripting finden Sie unter qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/ScriptIntro.html, oder besuchen Sie einen unserer Skripting-Lehrgänge.
Februar 2019: Mohammad Saifuzzaman untersucht die Verwendung von Anpassungsgewichtsfunktionen, um die GEH und nicht nur die R2 zu verbessern.
February 2023: Tessa Hayman explains different options for multiple centroid connections and the effects of different parameters and assignment algorithms.
TEILEN
Aimsun Next 23
Aimsun Next 20.0.5
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