Skip to content

Mode & destination choice

Travel behavior plays a central role in the performance of cities. The decision of people where to travel (destination choice) and how to get there (mode choice) directly influences how busy different parts of the city become, how full each transport mode is, and how easy it is to reach jobs, shops, and services from a given location.

The Mode & Destination choice model calculates the joint choice of destination and mode for all trips generated in the network, using a (nested) logit formulation to estimate choice probabilities based on travel time, cost, and destination attractiveness, and iterating to ensure consistency with generated trip totals.

The model enables planners to interactively evaluate the impact of policy changes related to infrastructure and pricing to the mode choice of different traveler segments (such as population and trip purpose combinations). This helps to assess how network and land-use changes affect trip distribution and modal split.

Controls

The model responds to the following controls:

  • Fuel pricing

    Change the fuel pricing for vehicles.

  • Transit fares

    Change the fare pricing for public transit.

  • Parking pricing

    Change mode-specific parking pricing on zones.

  • Mode availability

    Add new modes to the city.

Parameters

Parameters are defined in the parameters key/value sets and are scenario specific.

Parameter Description Default value
calculateNHBProductions Instead of using precalculated productions for the NHB purposes, calculate them based on the HB to NHB factors defined in the collection
convergenceThreshold Threshold for the total model loop convergence
modes A list of the modes that should be included in the calculation
numIterations The maximum number of iterations for the doubly constrained loop
pivot Enables or disables pivoting results to a reference matrix
purposes A list of purposes that should be included in the calculation
referenceRun Calculate the CalibratedTripsDemand (Synthetic base scenario trips, used for pivoting). In this mode the model will automatically shut off after a succesful run
timePeriodID Specifies the time period for which to calculate the trips, -1 is equivelent to 24h matrix.

Methodology

The Mode Destination Choice model is a nested multinomial logit model consisting of two steps: 1. Mode Choice 2. Destination Choice The upper-level is the mode choice, and the lower-level is destination choice

Terms:

Name Symbol Description
Purpose p Reason for travel
Day Part t The Time of Day (Morning, Evening, etc.)
Mode m The modality used to travel
Origin o The starting point of the trip
Destination d The end point of the trip
Population Group g Segment of the population
Demand Strata ds Combination of purpose and population group
Production P the amount of trips departing from a zone
Attraction A The amount of trips being attracted to a zone
Trips T The amount of trips going from o to d
Utility U The relative "attractiveness" of a trip for one of the possible choices
Lambda λ Similarity parameter for the nest

Utility

\[U_{m,ds,o,d}\]

Utility per Mode

\[U_{m,ds,o}=\frac{1}{\lambda}_{p,d}\ln(\sum_{j} A_{p,d} e^{\lambda_{p,d} \times U_{m,ds,o,d}})\]

Trips per Mode

\[T_{m,ds,o} = P_{ds,o} \times \frac{e^{\lambda_{p,M} U_{m,ds,o}}}{\sum_{m} e^{\lambda_{p,d} \times U_{m,ds,o}}}\]

Trips

\[T_{m,ds,o,d} = T_{m,ds,o} \times \frac{A_{p,d} \times e^{\lambda_{p,M} U_{m,ds,o,d}}}{\sum_{j} (A_{p,d} \times e^{\lambda_{p,d} \times U_{m,ds,o,d}})}\]

Balancing Schemes

Singly

Only productions are matched to the input, the attractions are used weights, but they most likely won't match the absolute value provided as input

Doubly

Both productions and attractions are made to match the absolute values of the input provided to the model. The model balances the productions and attractions with a Furness-style loop, where the trips are calculated once, and scaling factors are balanced based on those values to match the Productions and Attractions

Aggregation to Dimensions

Not all calculated matrices are stored per purpose, population group, mode combination as this is an impractical amount of data, especially on a GPU where memory sizes are smaller. Instead these matrices are aggregated to a set of dimensions, defined in one of the store collections, mapping the purpose, mode combinations to the dimensions they should be aggregated to. All population groups are always aggregated to a single value as this level of detail is also impractical.