Network Assignment - bellevuewa/BKRCast GitHub Wiki
This section describes two network models used in the BKRCast model system:
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 four assignment periods, which are listed below:
Assignment Time Periods
| Period | Description | Start Time | End Time | Label in Emme | Highway Duration (hour) | Transit Duration (hour) |
|---|---|---|---|---|---|---|
| AM | AM Peak | 6:00 a.m. | 9:00 a.m. | 6to9 | 3 | 3 |
| MD | Mid Day | 9:00 a.m. | 3:30 p.m. | 9to1530 | 6.5 | 6.5 |
| PM | PM Peak | 3:30 p.m. | 6:30 p.m. | 1530to1830 | 3 | 3 |
| NI | Night | 6:30 p.m. | 6:00 a.m. | 1830to6 | 11.5 | 3.5 |
*The night period has only 3.5 hours of transit service (until 10:00 p.m.)
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 multiclass assignment is performed for 21 vehicle classes (if tnc is turned off), which are developed based on mode and income group:
Highway Vehicle Classes
| Matrix | Name | Description | Value-of-Time (cents/hr) |
|---|---|---|---|
| mf1 | svtl1 | SOV Toll Income Level 1 | 1200 |
| mf2 | svtl2 | SOV Toll Income Level 2 | 2400 |
| mf3 | svtl3 | SOV Toll Income Level 3 | 4000 |
| mf4 | svnt1 | SOV No Toll Income Level 1 | 1200 |
| mf5 | svnt2 | SOV No Toll Income Level 2 | 2400 |
| mf6 | svnt3 | SOV No Toll Income Level 3 | 4000 |
| mf7 | h2tl1 | HOV 2 Toll Income Level 1 | 2000 |
| mf8 | h2tl2 | HOV 2 Toll Income Level 2 | 3000 |
| mf9 | h2tl3 | HOV 2 Toll Income Level 3 | 5000 |
| mf10 | h2nt1 | HOV 2 No Toll Income Level 1 | 2000 |
| mf11 | h2nt2 | HOV 2 No Toll Income Level 2 | 3000 |
| mf12 | h2nt3 | HOV 2 No Toll Income Level 3 | 5000 |
| mf13 | h3tl1 | HOV 3 Toll Income Level 1 | 2400 |
| mf14 | h3tl2 | HOV 3 Toll Income Level 2 | 3500 |
| mf15 | h3tl3 | HOV 3 Toll Income Level 3 | 5500 |
| mf16 | h3nt1 | HOV 3 No Toll Income Level 1 | 2400 |
| mf17 | h3nt2 | HOV 3 No Toll Income Level 2 | 3500 |
| mf18 | h3nt3 | HOV 3 No Toll Income Level 3 | 5500 |
| mf19 | lttrk | Light Trucks | 4000 |
| mf20 | metrk | Medium Trucks | 4500 |
| mf21 | hvtrk | Heavy Trucks | 5000 |
| mf22 | walk | Walk Trips | NA |
| mf23 | bike | Bike Trips | NA |
Value of time can be found here.
perception_factor
In EMME traffic assignment specification, perception_factor is set to the reciprocal of VOT converted to cents/minute.
Stopping Criteria
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.0001). This is the difference between the current assignment and a perfect equilibrium assignment.
- The normalized gap or trip time difference is less than 0.01. This is the difference between the mean trip time of the current assignment and the mean minimal trip time.
- The relative gap is the % difference between total travel time on network and that on the shortest paths.
Turn Penalty
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.
Time of Day (TOD)
Use the following factors to convert period volume to peak hour volume.
| AM | MD | PM | NI |
|---|---|---|---|
| 0.380 | 0.184 | 0.350 | 0.354 |
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)
Transit Submodes in EMME
| Sub-mode | Description | Assignment Specs | Trip Table | Trip Table Name | Trip Table Description |
|---|---|---|---|---|---|
| b | Local Bus | extended_transit_assignment_bus.json |
mf24 | trnst | Transit Trips (regular bus) |
| p | Passenger only Ferry | extended_transit_assignment_passenger_ferry.json |
mf28 | passenger_ferry | Passenger ferry trips |
| r | Light Rail | extended_transit_assignment_light_rail.json |
mf25 | litrat | Light rail trips |
| c | Commuter Rail | extended_transit_assignment_commuter_rail.json |
mf27 | commuter_rail | Commuter rail trips |
| f | Ferry | extended_transit_assignment_ferry.json |
mf26 | ferry | Ferry trips |
Assignmnet spec files (.json) are saved in inputs\skim_params folder. Some factors are further revised as follows when SkimsAndPaths.py is running:
| spec factor | extra attribute | initial value |
|---|---|---|
| waiting time headway_fraction | @hdwfr |
0.5 |
| waiting time perception_factor | @wait |
2 |
| in_vehicle_time perception_factor | @invt |
1 |
Network Skimming
Network skims are produced by time period in HDF5 format and are stored inputs/[tod].h5. The files contain both highway and transit skims. The seed skims are stored in [base_inputs]\seed_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) |
|---|---|---|---|---|---|
| svtl1 | SOV Toll Income Level 1 | x | x | x | |
| svtl2 | SOV Toll Income Level 2 | x | x | x | x |
| svtl3 | SOV Toll Income Level 3 | x | x | x | |
| svnt1 | SOV No Toll Income Level 1 | x | x | x | |
| svnt2 | SOV No Toll Income Level 2 | x | x | x | |
| svnt3 | SOV No Toll Income Level 3 | x | x | x | |
| h2tl1 | HOV 2 Toll Income Level 1 | x | x | x | |
| h2tl2 | HOV 2 Toll Income Level 2 | x | x | x | |
| h2tl3 | HOV 2 Toll Income Level 3 | x | x | x | |
| h2nt1 | HOV 2 No Toll Income Level 1 | x | x | x | |
| h2nt2 | HOV 2 No Toll Income Level 2 | x | x | x | |
| h2nt3 | HOV 2 No Toll Income Level 3 | x | x | x | |
| h3tl1 | HOV 3 Toll Income Level 1 | x | x | x | |
| h3tl2 | HOV 3 Toll Income Level 2 | x | x | x | |
| h3tl3 | HOV 3 Toll Income Level 3 | x | x | x | |
| h3nt1 | HOV 3 No Toll Income Level 1 | x | x | x | |
| h3nt2 | HOV 3 No Toll Income Level 2 | x | x | x | |
| h3nt3 | HOV 3 No Toll Income Level 3 | x | x | x | |
| lttrk | Light Trucks | x | x | x | x |
| metrk | Medium Trucks | x | x | x | x |
| hvtrk | 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
There is transit submode hierarchy in place when travel time skims are calculated. For example, light rail journey must include light rail mode and could includes a combination of regular bus, BRT, street car, light rail, walk or walk access mode. If certain submode is not available, travel time on that particular submode would be much higher than other applicable submode, which makes that particular submode much less attractive.
| Transit Journey | b | c | p | n | o | r | f | w | x |
|---|---|---|---|---|---|---|---|---|---|
| b | X | X | X | X | X | ||||
| c | X | X | X | X | X | X | X | ||
| p | X | X | X | X | X | X | X | X | |
| f | X | X | X | X | X | X | X | X | X |
| r | X | X | X | X | X | X |
Transit skims are produced for all four time periods by submodes and pathtype (except transit fare which is generated only for AM period). The following table presents a list of transit skims produced by the model:
| Skim | Description |
|---|---|
| ivtw[Journey-type]* | Total actual in-vehicle time on Journey-type(journey must including that specific journey-type) |
| ivtw[Journey-type][sub-mode]* | actual in-vehicle time of sub-mode on path-type (journey including sub-mode on that specific journey-type) |
| xfrw[Journey-type]* | Total transfer wait time on specific journey-type. xfrw[Journey-type] = twtw[Journey-type] - iwtw[Journey-type] |
| ndbw[Journey-type]* | Avg. boardings (all applicable mode) on specific journey-type |
| iwtw[Journey-type]* | First wait time (all applicable modes) on specific journey-type |
| twtw[Journey-type]* | Total wait time (all applicable modes) on specific journey-type |
| auxw[Journey-type]* | Auxiliary transit time on specific journey-type |
| mfafarbx | Transit fare (generated only for AM period) |
*Journey-type: local bus (a), passenger ferry (p), commuter rail (c), light rail (r), and ferry (f).
*Transit sub-modes: local bus (b), passenger ferry (p), commuter rail (c), light rail (r), and ferry (f).
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 |
|---|---|
| mf'biket' | Bike travel time |
| mf'walkt' | Walk travel time |
| mf'bkat' | Actual auxiliary transit times |
| mf'bkpt' |