Modes
The modes the agents can choose from are listed in the
mode_choice.modes parameter.
For each mode, the preferences of the agents are defined by a constant (modes.<mode>.constant)
and a value of time (modes.<mode>.alpha), or read from a file
(modes.<mode>.preferences_file).
car_driver
The agent is traveling by car. They are driver and presumably have no passenger.
- PCE = 1
- HOV lanes cannot be taken
- Fuel cost = 100%
car_driver_with_passengers
The agent is traveling by car. They are driver and have at least one passenger.
- PCE = 1
- HOV lanes can be taken
- Fuel cost = 100% (the driver pays for the fuel)
car_passenger
The agent is traveling by car but they are not driver.
- PCE = 0 (congestion is already generated by the driver)
- HOV lanes can be taken
- Fuel cost = 0% (the driver pays for the fuel)
car_ridesharing
The agent is traveling by car.
There are m persons in the car, where m − 1 is given by
vehicle_types.car.ridesharing_passenger_count.
It is not known whether the agent is driver or passenger.
- PCE = 1 / m
- HOV lanes can be taken
- Fuel cost = 1 / m
For the three modes with passengers (car_driver_with_passengers, car_passenger and
car_ridesharing), a subsidy per trip can be added to the utility with
ridesharing.subsidy.
public_transit
The agent is traveling by public transit.
Public transit is not congested: travel times are exogenous and they are computed before the
simulation, either with OpenTripPlanner or R5 from GTFS data, or by applying a constant speed to the
road-network distances
(modes.public_transit.road_network_speed).
When available, the generalized travel time (e.g., with penalties for walking, waiting or
transfers) is used to compute the travel utility.
park_and_ride
The agent drives from home to a park-and-ride facility, parks their car, and continues by public
transit.
On the way back, they take public transit to the facility and drive home.
Intermediary trips of the tour are made by public transit.
The facility is the public-transit stop nearest to home, among the stops served by an allowed route
(see modes.park_and_ride.allowed_route_types and modes.park_and_ride.allowed_agencies).
The same facility is used for the whole tour.
Only tours starting and ending at home (or single-trip tours starting from home) can be made by
park-and-ride.
The mode follows the car-driver availability rules and is not available for joint tours.
- Car legs: same as
car_driver(PCE = 1, HOV lanes cannot be taken, fuel cost = 100%) - Public-transit legs: same as
public_transit - Transfer time between the car and public transit = configurable
(
modes.park_and_ride.transfer_time) - Values of time = those of
car_driverandpublic_transitfor the respective legs
walking
The agent is walking.
Travel time is the shortest-path distance on the pedestrian network divided by a constant speed
(modes.walking.speed).
bicycle
The agent is cycling.
Travel time is the shortest-path distance on the pedestrian network divided by a constant speed
(modes.bicycle.speed).
outside_option
The agent does not travel: the whole tour is canceled.
This alternative only has a constant utility
(modes.outside_option.constant).
It is typically used to make the demand elastic.
Mode availability
The mode_availability parameters restrict the modes available to each tour, based on the
characteristics of the person and their household:
| Parameter | Default | Effect |
|---|---|---|
mode_availability.car_driver.requires_car | true | Car-driver modes require at least one car in the household |
mode_availability.car_driver.requires_driving_license | true | Car-driver modes require a driving license |
mode_availability.car_driver.min_age | none (0) | Minimum age for car-driver modes |
mode_availability.car_passenger.requires_car | true | car_passenger requires at least one car in the household |
mode_availability.car_ridesharing.requires_car | true | car_ridesharing requires at least one car in the household |
mode_availability.no_solo_modes_for_joint_tours | true | Car modes without passenger are not available for tours done jointly with other household members |
mode_availability.bicycle.requires_bicycle | false | bicycle requires at least one bicycle in the household |
mode_availability.walking.max_distance | none (∞) | Maximum tour distance for walking (meters) |
mode_availability.bicycle.max_distance | none (∞) | Maximum tour distance for bicycle (meters) |
The car-driver modes are car_driver, car_driver_with_passengers and park_and_ride.
The tour distance is the sum of the Euclidean distances of its trips.
The rules rely on the columns nb_cars, has_driving_license, age and nb_bicycles of the
persons and households files, and on the joint-tours file.
When a column is missing (e.g., when the demand comes from an origin-destination matrix), the
corresponding rule is skipped, with a warning.
The same rules are used when estimating the mode-choice model and when generating the alternatives of the simulation, so that the choice sets are consistent.