.set_default_parameters+
BPR link performance function method
Travel time on a link segment for a particular mode is computed using a specific link performance function that relates flow uniquely to a travel time utilising a strictly increasing monotonic function know as the BPR1 function. This function looks like the following
\(\Large \tau_{a,m} = \tau_{a,m}^{ \textrm {freeflow}}(1+ \alpha({v_a \over C_a})^{\beta}) \qquad \textrm{where } \tau_{a,m}^{ \textrm {freeflow}}= {L_a \over \vartheta_{a,m}}\)
with
\(\tau_{a,m}= \textrm{travel time on link segment } a \textrm{ for mode } m,\\ \vartheta_{a,m} = \textrm{free flow speed on link } a \textrm{ for mode } m,\\ \alpha = \textrm {calibration parameter},\\ \beta = \textrm {calibration parameter},\\ v_a = \textrm {measured flow on link segment} a,\\ L_a = \textrm {length of link segment} a,\\ C_a = \textrm {saturation flow on link segment} a,\)
The \(\alpha\) and \(\beta\) parameters can be configured hierarchically, where the most specific configuration takes precedence. The hierarchy is as follows:
Whenever the more specific configuration is absentn the next most specific configuration is checked and applied, until we reach the simulation wide default which have been pre-set (or overridden by the user).
1 United States, Bureau of Public Roads, Traffic assignment manual. (1964). Washington.
Name | Default | Type | Unit |
---|---|---|---|
\(\alpha\) | 0.5 | float |
None |
\(\beta\) | 4 | float |
None |
Memory output formatter exposes the following methods
Name | Description |
---|---|
.set_default_parameters(+) |
Override the default \(\alpha\) and \(\beta\) in various ways |
.set_parameters(+) |
Override the \(\alpha\) and \(\beta\) for specific link segments |
This class has no properties (yet)
from planit import *
# choose to run PLANit with a traditional static traffic assignment method
planit_instance = PLANit()
planit_instance.set(TrafficAssignment.TRADITIONAL_STATIC)
# set physical cost to BPR link performance function
planit_instance.assignment.set(PhysicalCost.BPR)
# override the default alpha and beta
alpha = 0.87
beta = 5
planit_instance.assignment.physical_cost.set_default_parameter(alpha, beta)
Traffic assignment on assignments that support this physical cost implementation
PhysicalCost.<enum> for all available physical cost options
PhysicalCost landing page for all available physical cost implementations
Class BPRCostWrapper
in Wrappers.py
BPR link performance function method
BPR link performance function method