Skip to content

Network

Brice Nichols edited this page Oct 23, 2024 · 20 revisions

This section describes two network models used in Soundcast:

Network Assignment

A network assignment model estimates volume on each link in the transportation system for both highway and transit modes. In addition, the model generates performance measures such as congested speed or travel time on a highway link or the boardings and alightings on a transit route.

Network assignment is performed separately for each mode (auto and transit) and time period. The model system has 12 assignment periods, which are listed below:

Assignment Time Periods

Period Start Time End Time Label
AM 5:00 a.m. 6:00 a.m. 5to6
AM 6:00 a.m. 7:00 a.m. 6to7
AM 7:00 a.m. 8:00 a.m. 7to8
AM 8:00 a.m. 9:00 a.m. 8to9
Mid-Day 9:00 a.m. 10:00 a.m. 9to10
Mid-Day 10:00 a.m. 2:00 p.m. 10to14
Mid-Day 2:00 p.m. 3:00 p.m. 14to15
PM 3:00 p.m. 4:00 p.m. 15to16
PM 4:00 p.m. 5:00 p.m. 16to17
PM 5:00 p.m. 6:00 p.m. 17to18
Evening 6:00 p.m. 8:00 p.m. 18to20
Off-Peak 8:00 p.m. 5:00 a.m. 20to5
  • Transit trips are not assigned in off-peak periods

Highway Assignment

The highway assignment uses an equilibrium procedure to assign vehicle trips to the roadway network for different time periods. This is a user-optimal procedure that is based on the assumption that each traveler chooses a route that is the shortest time path. The highway assignment is performed in the Emme software and utilizes the gradient-based path analysis.

The highway assignment procedure is applied iteratively; travel times are updated after each iteration to reflect congestion occurring on the network. These updates to travel time are based on a volume-delay function for each link. The majority of roads use a derivative of the volume-delay function originally developed by the Bureau of Public Roads (BPR). The free-flow time is based initially on the network data provided for each link and then updated in each iteration to represent the travel time from the last iteration. This process continues until “equilibrium" is reached, which is based on achieving one of the following criteria:

  • The best relative gap is less than 0.01% (0.001). This is the difference between the current assignment and a perfect equilibrium assignment.
  • The normalized gap or trip time difference is less than 0.001. This is the difference between the mean trip time of the current assignment and the mean minimal trip time.

The multi-class assignment is performed for 12 vehicle classes, which are developed based on mode and income group. Three income stratifications are used as follows

Standard User Classes

User Class Definition Value of Time ($/hr)
sov_inc1 SOV Income Level 1 $13.07
sov_inc2 SOV Income Level 2 $26.14
sov_inc3 SOV Income Level 3 $43.56
hov2_inc1 HOV 2 Income Level 1 $21.78
hov2_inc2 HOV 2 Income Level 2 $32.67
hov2_inc3 HOV 2 Income Level 3 $54.45
hov3_inc1 HOV 3 Income Level 1 $26.14
hov3_inc2 HOV 3 Income Level 2 $38.11
hov3_inc3 HOV 3 Income Level 3 $59.89
tnc_inc1 TNC Income Level 1 $21.78
tnc_inc2 TNC Income Level 2 $32.67
tnc_inc3 TNC Income Level 3 $54.45
medium_truck Medium Trucks $49.00
heavy_truck Heavy Trucks $54.45
walk Walk Trips
bike Bike Trips

Optional User Classes

Autonomous Vehicles

Users may run scenarios with autonomous vehicles (AVs), which are assigned as separate classes. These will not be available unless provided in input_configuration.py include_av = True. Values of time are assumed the same as conventional (non-AV) user classes.

User Class Definition
av_sov_inc1 AV SOV Income Level 1
av_sov_inc2 AV SOV Income Level 2
av_sov_inc3 AV SOV Income Level 3
av_hov2_inc1 AV HOV 2 Income Level 1
av_hov2_inc2 AV HOV 2 Income Level 2
av_hov2_inc3 AV HOV 2 Income Level 3
av_hov3_inc1 AV HOV 3 Income Level 1
av_hov3_inc2 AV HOV 3 Income Level 2
av_hov3_inc3 AV HOV 3 Income Level 3

Delivery Vehicles

A rudimentary model to measure impacts of increased at-home delivery trips can be activated by setting include_deliery = True in input_configuration.py. Doing so will add another user class as follows. Delivery trips are calculated in the truck model, but are only assigned to the network and included in the model when this configuration is active. Total number of regional delivery trips can be assigned in the total_delivery_trips field in emme_configuration.py

User Class Definition
delivery_truck Delivery Trucks

Turn Penalty Functions

Turn penalties are included in the trip assignment model to either prohibit certain turn movements or to penalize certain turn movements. These are included in the model by identifying specific turn movements by their node numbers, and then coding the penalty function that will apply to these turn movements. The current model includes turn penalty functions to prohibit turns that cannot be made under “real world” conditions and to prohibit direct access from interchanges to HOV lanes where direct access ramps do not exist. Examples of different types of turn penalty functions are listed in the following table:

Penalty Function Definition Function Range of Delay
tp 1 Fixed Delay Turn Delay = Delay/100 0.1-1.5
tp 2 Prohibited Turns Turn Delay = 0 0

Transit Assignment

The model system uses Emme to perform a frequency-based transit assignment using optimal strategies and variants. The assignment results are saved in Emme database. The following network results are available:

  • Transit times on segments (timtr), in minutes; the transit time is the sum of the travel time (given by the transit time function) plus the dwell time at the J-node
  • Transit boardings (board) and alightings (alight) at I-node of segments
  • Transit volumes on segments (voltr)
  • Initial boardings (inboaj) and final alightings (fialij) at nodes
  • Auxiliary transit volumes on links (volax)

The transit mode contains five transit submodes:

Transit Submodes

User Class Definition
LightRail Light Rail Trips
Ferry Ferry Trips
PassengerFerry Passenger Ferry Trips
CommuterRail Commuter Rail Trips

Network Skimming

Network skims are produced by time period in HDF5 format and are stored in the input directory. The files contain both highway and transit skims.

Highway

Four travel attributes are skimmed for every highway vehicle class: travel time (t), distance (d), cost (c), and generalized cost (g). The following table presents highway skims produced by the model. In the table, an x represents availability of the attribute for the vehicle class. For example, three skims are available for svtl1: travel time (svtl1t), travel distance (svtl1d), and travel cost (svtl1c).

Mode Description Time(t) Distance(d) Cost(c) Generalized Cost(g)
sov_inc1 SOV Toll Income Level 1 x x x
sov_inc2 SOV Toll Income Level 2 x x x x
sov_inc3 SOV Toll Income Level 3 x x x
hov2_inc1 HOV 2 Toll Income Level 1 x x x
hov2_inc2 HOV 2 Toll Income Level 2 x x x
hov2_inc3 HOV 2 Toll Income Level 3 x x x
hov3_inc1 HOV 3 Toll Income Level 1 x x x
hov3_inc2 HOV 3 Toll Income Level 2 x x x
hov3_inc3 HOV 3 Toll Income Level 3 x x x
medium_truck Medium Trucks x x x x
heavy_truck Heavy Trucks x x x x

Note:

  • Travel time (t) and cost (c) skims are produced for all four time periods
  • Distance (d) and generalized cost (g) skims are produced only for the AM and PM time periods

Transit

Transit skims are produced for all four time periods (except transit fare which is generated only for AM period), and for each transit submode. The naming convention is to substitue a string for the submode:

*Transit sub-modes: local bus (b), express bus (p), commuter rail (c), light rail (r), and passenger ferry (f), all transit (a)

Skim Description
ivtw[*] In-vehicle time by mode
xfrw[*] Transfer wait time
ndbw[*] Avg. boardings all mode
iwtw[*] First wait time all modes
twtw[*] Total wait time all modes
ivtw[*] Actual IVTs all modes
mfafarbx Transit fare (generated only for AM period and only for transit in general, not for submodes)

[*] = sub-mode string

Other

The model also produces travel time skims for bike and walk modes. The skims are produced only for the AM period and are shown in the following table.

Skim Description
biket Bike travel time
walkt Walk travel time
mfbkat Actual auxiliary transit times
mfbkpt Perceived biking time

Bike Model

Soundcast has a separate bike assignment model that uses generalized cost based on multiple attributes that affect likelihood of biking on a roadway. Three important attributes are used in the calculation of bike cost (bike weight):

  1. Total vehicles on the roadway
  2. Bike facility - premium (Trail/Separated bike lane), standard (bike lane striped, Bike shoulder, and Wider lane/shared shoulder), or none
  3. Elevation gain (up slope) on the roadway

The weights (perception factor) for the above attributes are provided by a user in input_configuration.py. Based on the weights for the three attributes, a total weight for biking on a link is calculated. This total weight is then used to assign bike trips on the network. After the assignment , bike skims are also generated based on the total weight.


Previous: Daysim | Next: Submodels

Clone this wiki locally