Cómo definir diferentes costes por propósito de viaje en los modelos estáticos

Nota técnica nº 55
Enero de 2021

By Marga Delgado

En los modelos estáticos, es posible que desee incluir las diferentes percepciones del coste que los usuarios de la red tendrán sobre determinados componentes de la misma, en función del propósito del viaje. Un viajero puede considerar el uso de una autopista de peaje, pero puede ser más reacio a utilizarla cuando va a comprar.

En Aimsun Next, tanto las asignaciones estáticas (vehículos privados) como las asignaciones de tránsito (pasajeros) pueden tener en cuenta el propósito del viaje cuando se evalúa el costo de la ruta.

En la Nota Técnica nº 53, dimos algunos consejos sobre cómo modificar el coste de la asignación estática en función del tipo de vehículo. Las demandas en los modelos estáticos se codifican a través de matrices OD y éstas se dan por clase de usuario (tipo de vehículo + propósito del viaje). Acceder al propósito del viaje en una función de retardo de volumen, función de penalización de giro y función de retardo de cruce es, por tanto, tan fácil como acceder al tipo de vehículo:

				
					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.

Cómo definir diferentes costes por propósito de viaje en los modelos estáticos

Haga clic en el botón Añadir y cree un nuevo atributo del tipo Doble.

Cómo definir diferentes costes por propósito de viaje en los modelos estáticos

Este atributo estará ahora disponible para cualquier Clase de Usuario. Puede encontrarlo en la pestaña de Atributos en el Editor de Clases de Usuario. Basta con rellenar los valores y acceder a este atributo en las funciones de coste (para la sección, el turno o ambos).

Cómo definir diferentes costes por propósito de viaje en los modelos estáticos

				
					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.

Cómo definir diferentes costes por propósito de viaje en los modelos estáticos

Para más información sobre las funciones estáticas privadas y de tránsito, consulte qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/FunctionEditing.html o asiste a uno de nuestros cursos de modelado macroscópico o estratégico.

Para más información sobre el scripting, consultaqthelp://aimsun.com.aimsun.20.0/doc/UsersManual/ScriptIntro.html o asiste a uno de nuestros Cursos de Scripting.

Más notas técnicas

Funciones de distribución y división modal

Enero 2018: Margarida Delgado explica que los pasos de distribución y división modal ahora son dos procesos independientes, con el objetivo de disponer de mayor flexibilidad al elegir con qué modelo trabajar y ofrecerle más control en cada paso.

  • ¿Tienes alguna pregunta? Ponte en contacto.

    ¡Estamos aquí para ayudarte!

  • ¿Tienes alguna pregunta? Ponte en contacto.

    ¡Estamos aquí para ayudarte!

SHARE

Citar Aimsun Next

Aimsun Next 23

Aimsun (2023). Aimsun Next 23 Manual del usuario, Aimsun Next Versión 23.0.0, Barcelona, España. Acceso: 19, 2023. [Online].
Disponible en: https://docs.aimsun.com/next/23.0.0/


Aimsun Next 20.0.5

Aimsun (2021). Aimsun Next 20.0.5 Manual del usuario, Aimsun Next Versión 20.0.3, Barcelona, España. Acceso: May. 1, 2021. [En software].
Disponible: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html

Aimsun Next 23

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

título = {​​​​​​​​Aimsun Next 23 User's Manual}​​​​​,
autor = {​​​​​​​​Aimsun}​​​​​​​​,
edición = {​​​​​​​​​​​​​​​Aimsun Next 23.0.0}​​​​​​​​​​​​​​​,
domicilio = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,
año = {​​​​​​​​​​​​​​​2023. [Online]}​​​​​​​​​​​​​​​,
mes = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,
url = {​​​​​​​​​​​​​​​https://docs.aimsun.com/next/23.0.0/}​​​​​​​​​​​​​​​,
}​​​​​​​​​​​​​​​


Aimsun Next 20.0.5

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

título = {​​​​​​​​Aimsun Next 20.0.5 User's Manual}​​​​​​​​,
autor = {​​​​​​​​Aimsun}​​​​​​​​,
edición = {​​​​​​​​​​​​​​​Aimsun Next 20.0.5}​​​​​​​​​​​​​​​,
domicilio = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,
año = {​​​​​​​​​​​​​​​2021. [En software]}​​​​​​​​​​​​​​​,
mes = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,
url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,
}​​​​​​​​​​​​​​​

Aimsun Next 23

TY - COMP
T1 - Manual del usuario de Aimsun Next 23
A1 - Aimsun
ET - Aimsun Next Version 23.0.0
Y1 - 2023
Y2 - Acceso: Mes, Día, Año
CY - Barcelona, España
PB - Aimsun
UR - [En software]. Disponible en: https://docs.aimsun.com/next/23.0.0/


Aimsun Next 20.0.5

TY - COMP
T1 - Manual del usuario de Aimsun Next 20.0.5
A1 - Aimsun
ET - Aimsun Next Version 20.0.5
Y1 - 2021
Y2 - Acceso: Mes, Día, Año
CY - Barcelona, España
PB - Aimsun
UR - [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html