Walk or take the bus? Modeling mode choice with dynamic transit assignment.

April 2024 — Technical note #86

Dimitris Triantafyllos

Senior Product Specialist

What are the main use cases for Dynamic Transit Assignment?

  • Building pedestrian models that are more comprehensive.
  • Calculating dynamic schemes for transit that can be fed back to the distribution and modal split stages of the Four Step Model.

How does Dynamic Transit Assignment work?

When Dynamic Transit Assignment is activated, at the time of starting their trip, each pedestrian chooses the path with the minimum cost from among all the available path options. The path options that each pedestrian evaluates are:

  1. Only walk.
  2. Walk and use transit.
    • Walk, use transit, and walk.
    • Walk, use transit, transfer within the same transit stop, use transit, and walk.
    • Walk, use transit, transfer to a different transit stop, use transit, and walk.

Note that the number of transfers may be more than one.

Figure 1: The main types of paths a pedestrian will consider

Depending on the configuration of the pedestrian area and on the transit schedules, some of these options may not be available. For example, the walk-only option is possible only if the origin and destination are inside the same pedestrian area – otherwise, a pedestrian will be forced to use transit to travel between two different Pedestrian Areas.

In a mesoscopic simulation, a single, wide pedestrian area must be defined to allow the creation of entrances and exits. The size of the pedestrian is irrelevant as it does not impact the calculations.

Figure 2: Examples of a single and two different pedestrian areas

In a mesoscopic simulation, when pedestrians enter the model, they walk to the closest section and then use that section to walk in free flow without considering any delays, i.e.: interactions between pedestrians and vehicles or delays in traffic lights. Some sections may be set as Not Allowed for all or some pedestrian types (Section > Main > Prohibited Vehicle and Pedestrian Types). In this case, pedestrians will discard the option of entering this section and they will walk to the next closest section. For more information, see the Mesoscopic Pedestrian Simulator.

In a microscopic simulation, a pedestrian may be forced to calculate a new path while on-trip if the transit vehicle that they planned to board has no spare capacity when serving the transit stop. In a mesoscopic simulation there is no rerouting possible, so in the same situation, the pedestrian will wait until the next transit vehicle of the same line arrives.

The cost of the different path options is evaluated at the beginning of the trip as described below. The minimum cost option depends on the exact departure time of the trip and on the transit schedule: for example, for the same OD pair and time slice, a pedestrian departing earlier may find it more convenient to walk to their destination rather than waiting for a long period of time at a transit stop, while one departing closer to the time at which a bus goes by will chose to take transit.

A.     Only Walk

The cost of a walk-only path is equal to the walking time (seconds) from origin to destination. This is calculated based on the Mean Walking Speed of the Pedestrian Type and the shortest distance within the same pedestrian area considering obstacles. In a mesoscopic simulation, pedestrians do not use any obstacles while walking but the shortest distance to the closest section.

B.     Walk and Transit

The cost of a path that uses transit is calculated by adding the cost components below:

1. Walking cost (in seconds): This is the time spent walking during the entire trip. This includes walking from the origin to the first transit stop, from the last transit stop to the destination, and between transit stops in case the path involves a transfer through different stops.


2. Waiting cost (in seconds): This is the time spent waiting at a transit stop. This cost is calculated subtracting:

 a. The arrival time of the transit vehicle at the boarding stop, which is calculated based on:

  • The departure times of this line according to the timetable
  • The free flow travel time of the transit vehicle to reach the stop
  • The sum of the scheduled dwell times at all previous stops according to the timetable

b. The arrival time of the pedestrian at the stop, which is calculated based on:

  • The departure time of the pedestrian agent from the origin
  • The walking time to reach the transit stop from the origin


3. Fare cost (cost): The fare is a sum of:

  • A Flat Fare if the option Apply Flat Fare is activated in the dynamic experiment, e.g. €2.50. 
Figure 3: Flat Fare cost is defined at Dynamic Experiment.

b. Boarding Fare cost if a Boarding Fare Function is selected in the Transit Stop

Figure 4: Boarding Cost Function is defined at Transit Stop.

The default Boarding Function reads the Boarding Fare value set in the Transit Line > Costs Tab > Line Fares. This function calculates the boarding cost at each stop. The cost can be different for each transit line.

Figure 5: Default Boarding Cost function reads the Boarding Fare value.

c. A Distance Fare cost if a Distance Fare Function is selected in the Transit Line The default Distance Fare Function reads the Distance Fare value set in the Transit Line dialog > Costs Tab > Line Fares. This function calculates the cost for the distance travelled between two stops. The function is defined for stop-to-stop segments.

Figure 6: Distance Fare Function reads the Distance Fare value and multiplies it by the distance.

4. In-Vehicle cost (seconds): The time spent inside the transit vehicle(s) during the entire trip. This cost is calculated considering the arrival time of the transit line at the origin and destination stop based on: 

The free flow travel time of the transit vehicle from the boarding to the alighting stop  

The sum of the scheduled dwell times at all in-between stops according to the timetable 

5. Transfer Penalty cost (cost): An additional penalty for making a transfer within the same transit stop or between different transit stops. The Transfer Penalty Function is defined at Dynamic Experiment > Behavior > Pedestrians > Transfer Penalty Function. The default function adds a 1.0 cost to the total trip cost. Transfer using a different stop is possible, provided that, in micro, the two stops are inside the same pedestrian area and accessible by walking from one to the other, or, in meso, there are road sections accessible to pedestrians connecting the two stops. The time to walk from one stop to the other is part of the walking time. When making a transfer, the waiting time and the boarding fare (if specified) are paid again for the subsequent line. 

Figure 6 (above) summarizes all cost components during the trip for the main path choices: 

Figure 7: All cost components for the main path options each pedestrian evaluates prior to beginning its trip.

To get a generalized cost, these components are multiplied by weights defined per user class (pedestrian type + trip purpose). The Crowd Discomfort Weight is not used in the Dynamic Transit Assignment (crowd discomfort cost is not considered). 

Figure 8: All weights for the cost components defined at User Class.

These weights can be used by the transport modeler to convert the Fare cost and the Transfer Penalty cost to seconds so that all costs are calculated with the same units. For more info, check the Cost Functions section. 

For example, consider the Apply Flat Fare option is activated and the fare cost is set to 2.5 EUR at a Dynamic Experiment. This 2.5 EUR should be converted to time based on the Value of Time (VoT) for each Pedestrian Type. So, the modeler may define various Pedestrian Types and define for each one a Fare Weight coding the VoT value to convert the monetary cost to seconds. For example, if the VoT for a pedestrian going to work is 50 EUR / hour, then the Fare Weight that should be set up for this Pedestrian Type is (2.5 EUR * 3600 seconds)/50 EUR = 180 seconds (about 3 minutes).  

Alternatively, if you do not use the Fare Weight this way, you need to make sure that the Fare units are consistent with the rest of cost components. 

How to activate the Dynamic Transit Assignment? 

  1. The pedestrian simulator input must already be set up in the model. See how in Simulating Pedestrians – Aimsun Next Users Manual 
  1. The transit stops, lines and timetables must be set up in the model. See how in Defining Transit – Aimsun Next Users Manual. 
  1. The user can simply activate the Dynamic Transit Assignment option by opening the Dynamic Experiment editor, selecting the Behavior tab, toggling on the Dynamic Transit Assignment option in the Pedestrians section and clicking OK.  
Figure 9: Dynamic Transit Assignment checkbox.

What are the Dynamic Transit Assignment outputs? 

The outputs are summarized in the Aimsun Next User´s manual section Simulating Pedestrians – Additional Pedestrian Simulator Outputs for Dynamic Transit Assignment.  


  • Dynamic Transit Assignment is not available in hybrid macroscopic-mesoscopic experiments nor hybrid mesoscopic-microscopic experiments nor for any DUE experiments. 
  • When the Dynamic Transit Assignment is considered, pedestrian OD routes will be ignored. 
  • Costs in Static Transit Assignment are considered in minutes while costs in Dynamic Transit Assignment are considered in seconds. 
  • Got a question? Get in touch.

    We are here to help!


Cite Aimsun Next

Aimsun Next 24

Aimsun (2024). Aimsun Next 24 User’s Manual, Aimsun Next Version 24.0.0, Barcelona, Spain. Accessed on: April. 16, 2024. [Online].

Available: https://docs.aimsun.com/next/24.0.0/

Aimsun Next 24

@manual {AimsunManual,
title = {Aimsun Next 24 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 24.0.0},
address = {Barcelona, Spain},
year = {2024. [Online]},
month = {Accessed on: Month, Day, Year},
url = {https://docs.aimsun.com/next/24.0.0},

Aimsun Next 24

T1 – Aimsun Next 24 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 24.0.0
Y1 – 2024
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spain
PB – Aimsun
UR – [In software]. Available: