Large-scale models and simulation methods for transportation
Sebastian Hörl
6 September 2023
Spring 2024
Université Gustave Eiffel
IRT SystemX
Context
Context
Context
Context
Context
Context
Goals of this course
Topics and tools
Topics and tools
IntelliJ
VSCode
Topics and tools
Data
Agenda and course structure
18 January
19 January
23 January
25 January
8 February
10h45 CM
Trip generation & distribution
14h00 TD
Working with transport data
14h00 CM
Mode choice & Traffic assignment
16h15 TD
Modeling with transport data
14h00 CM
Synthetic populations and demand
16h15 TD
Working with synthetic demand data
14h00 CM
Agent-based transport simulation
16h15 TD
Working with MATSim
14h00 CM
On-demand service simulation
16h15 TD
On-demand service simulation
31 March
Submission of course project
Agenda and course structure
18 January
19 January
23 January
25 January
8 February
10h45 CM
Trip generation & distribution
14h00 TD
Working with transport data
14h00 CM
Mode choice & Traffic assignment
16h15 TD
Modeling with transport data
14h00 CM
Synthetic populations and demand
16h15 TD
Working with synthetic demand data
14h00 CM
Agent-based transport simulation
16h15 TD
Working with MATSim
14h00 CM
Q&A
16h15 TD
Q&A
31 March
Submission of course project
Course project
1.1 Four-step model
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
Four-step model
Trip generation
Trip distribution
Mode choice
Traffic assignment
1.2 Trip generation
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Characteristics of zone i
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Characteristics of zone i
Model
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Generated trips for zone i
Characteristics of zone i
Model
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Growth factor
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Growth factor
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Growth factor
Reference value
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Growth factor
Linear regression
Ordinary least squares
Trip generation
Trip generation
Trip distribution
Mode choice
Traffic assignment
Population in zone i
Growth factor
Linear regression
Ordinary least squares
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Commuters in Île-de-France
Source: INSEE RP
Source: INSEE MOBPRO
12,262,544
5,420,092
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Source: INSEE RP
12,262,544
5,420,092
Commuters in Île-de-France
Source: INSEE MOBPRO
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Source: INSEE RP
Model results
12,262,544
5,420,092
Commuters in Île-de-France
Source: INSEE MOBPRO
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Source: INSEE RP
Difference
Commuters in Île-de-France
Source: INSEE MOBPRO
12,262,544
5,420,092
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Source: INSEE RP
Commuters in Île-de-France
Source: INSEE MOBPRO
12,262,544
5,420,092
Trip generation
Population in Île-de-France by municipality
Source: INSEE RP
Source: INSEE RP
Commuters in Île-de-France
Source: INSEE MOBPRO
Are we happy with this model?
12,262,544
5,420,092
Trip generation
Source: INSEE
Population by socio-professional category in Île-de-France
CSP = Catégorie socio-professionelle
The socio-professional category is a common statistical tool in France to perform analyses based on different employment levels in France with eight categories
Trip generation
Population by CSP
Source: INSEE
Population by socio-professional category in Île-de-France
CSP = Catégorie socio-professionelle
The socio-professional category is a common statistical tool in France to perform analyses based on different employment levels in France with eight categories
Trip generation
Growth factor by CSP
Source: INSEE
Population by socio-professional category in Île-de-France
CSP = Catégorie socio-professionelle
The socio-professional category is a common statistical tool in France to perform analyses based on different employment levels in France with eight categories
Population by CSP
Trip generation
Intellectual professions (CSP 3)
Workers (CSP 6)
Employees (CSP 5)
Trip generation
CSP Model
Commuters in Île-de-France
Source: INSEE MOBPRO
Simple model
Trip generation
Commuters in Île-de-France
Source: INSEE MOBPRO
CSP Model
Trip generation
Trip generation
1.3 Trip distribution
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Origin characteristics
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Destination characteristics
Origin characteristics
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Destination characteristics
Model
Origin characteristics
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Destination characteristics
Model
Flow
Origin characteristics
Trip distribution
Trip generation
Trip distribution
Mode choice
Traffic assignment
Destination characteristics
Model
Flow
Origin characteristics
Trip distribution
Trip distribution
Outflow / Origins
Inflow / Destinations
Trip distribution
Outflow / Origins
Inflow / Destinations
Trip distribution
Source: INSEE MOBPRO
Paris 13e
Alfortville
Melun
Trip distribution
Trip distribution
Production term
Trip distribution
Production term
Attraction term
Trip distribution
Production term
Attraction term
Friction / Resistance term
Trip distribution
Production term
Attraction term
Friction / Resistance term
Trip distribution
Trip distribution
The probability of observing a commute between two municipalities in Île-de-France decreases exponentially with the distance between these municipalities
Trip distribution
The probability of observing a commute between two municipalities in Île-de-France decreases exponentially with the distance between these municipalities
Trip distribution
Trip distribution
Trip distribution
Trip distribution
Trip distribution
Emploiment in zone j
Trip distribution
Emploiment in zone j
Model parameter
Trip distribution
Emploiment in zone j
Model parameter
Trip distribution
(used in the following example)
Trip distribution
Trip distribution
Alfortville
Data
Model
Trip distribution
Trip distribution
1.3 Mode choice
Mode choice
Trip generation
Trip distribution
Mode choice
Traffic assignment
Mode choice
Trip generation
Trip distribution
Mode choice
Traffic assignment
Characteristics of alternative k
Mode choice
Trip generation
Trip distribution
Mode choice
Traffic assignment
Characteristics of alternative k
Probability of choosing k
Mode choice
Trip generation
Trip distribution
Mode choice
Traffic assignment
Characteristics of alternative k
Probability of choosing k
Model
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Source: Felix Becker, Institute for Transport Planning and Systems, ETH Zurich.
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
Value of variable q
Mode choice
Influence weight of variable q
Value of variable q
Mode choice
Influence weight of variable q
Value of variable q
Systematic utility of alternative k for decision-maker i
Mode choice
Systematic utility of alternative k for decision-maker i
Influence weight of variable q
Value of variable q
Mode choice
Systematic utility of alternative k for decision-maker i
Influence weight of variable q
Value of variable q
Mode choice
Systematic utility of alternative k for decision-maker i
Influence weight of variable q
Value of variable q
Chosen alternative
Mode choice
Connection A
Connection B
Mode choice
Connection A
Connection B
-0.6
-1.0
Mode choice
Connection A
Connection B
-0.6
-1.0
-0.6 * 20 - 1.0 * 1 = -13
-0.6 * 30 - 1.0 * 0 = -19
Mode choice
Connection A
Connection B
-0.6
-1.0
-0.6 * 20 - 1.0 * 1 = -13
-0.6 * 30 - 1.0 * 0 = -19
Mode choice
Find
such that
!
Mode choice
Find
such that
Parameters we want to find
!
Mode choice
Find
such that
Parameters we want to find
Characteristics of all alternatives
!
Mode choice
Find
such that
Parameters we want to find
Characteristics of all alternatives
Systematic utility per alternative
!
Mode choice
Find
such that
Parameters we want to find
Characteristics of all alternatives
Systematic utility per alternative
Actual choice taken by the person
!
Mode choice
Find
such that
Parameters we want to find
Characteristics of all alternatives
Systematic utility per alternative
Actual choice taken by the person
!
No exact solution can exist!
Mode choice
with
Mode choice
(Lots of math)
[Daniel McFadden in the 70s]
Mode choice
(Lots of math)
[Daniel McFadden in the 70s]
Mode choice
Mode choice
Mode choice
Mode choice
Mode choice
[1/min] * [min]
[1/EUR] * [EUR]
[EUR/min]
[1]
Mode choice
Mode choice
13 CHF/h
AMoD
Taxi
19 CHF/h
Conventional
Car
12 CHF/h
Public
Transport
AMoD
Mode choice
13 CHF/h
AMoD
Taxi
19 CHF/h
Conventional
Car
12 CHF/h
Public
Transport
AMoD
21 CHF/h
32 CHF/h
Mode choice
13 CHF/h
AMoD
Taxi
19 CHF/h
Conventional
Car
12 CHF/h
Public
Transport
AMoD
Note on ML/DL models
21 CHF/h
32 CHF/h
Mode choice
Mode choice
Mode choice
Mode choice
1.4 Traffic assignment
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Movements from zone r to zone s
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Movements from zone r to zone s
Travel times on road a
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Movements from zone r to zone s
Travel times on road a
Vehicle flow on road a
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Traffic assignment
Trip generation
Trip distribution
Mode choice
Traffic assignment
Traffic assignment
S
E
Route A
Route B
Traffic assignment
S
E
Route A
Route B
How many cars use routes A and B and what is the travel time?
Traffic assignment
S
E
Route A
Route B
Traffic assignment
S
E
Route A
Route B
Traffic assignment
S
E
Route A
Route B
How many cars use routes A and B and what is the travel time?
Traffic assignment
Traffic assignment
There are k different routes to go from origin r to destination s and the route flow must be non-negative
Traffic assignment
There are k different routes to go from origin r to destination s and the route flow must be non-negative
The flow on the route alternatives k between r and s must some to the overall zonal flow between r and s
Traffic assignment
There are k different routes to go from origin r to destination s and the route flow must be non-negative
The flow on the route alternatives k between r and s must some to the overall zonal flow between r and s
Does route k between r and s pass through link a?
Traffic assignment
There are k different routes to go from origin r to destination s and the route flow must be non-negative
The flow on the route alternatives k between r and s must some to the overall zonal flow between r and s
Does route k between r and s pass through link a?
The link flow of a is the sum of all route flows passing through
Traffic assignment
All link flows must be non-negative
There are k different routes to go from origin r to destination s and the route flow must be non-negative
The flow on the route alternatives k between r and s must some to the overall zonal flow between r and s
Does route k between r and s pass through link a?
The link flow of a is the sum of all route flows passing through
Traffic assignment
All link flows must be non-negative
There are k different routes to go from origin r to destination s and the route flow must be non-negative
The flow on the route alternatives k between r and s must some to the overall zonal flow between r and s
Does route k between r and s pass through link a?
The link flow of a is the sum of all route flows passing through
The "first" vehicle on link a as low travel time, the "second" one a bit longer, and so on ...
Traffic assignment
Traffic assignment
Sketch for Method of Successive Averages (MSA)
2.1 Disaggregated demand
Disaggregated demand
Disaggregated demand
Disaggregated demand
Disaggregated demand
(1) Flow matrix
Disaggregated demand
(1) Flow matrix
(2) Long format
Disaggregated demand
(1) Flow matrix
(3) Probability
Disaggregated demand
(4) Sampling
Disaggregated demand
* geopandas has a new method called sample_points
Disaggregated demand
Disaggregated demand
Disaggregated demand
Disaggregated demand
Disaggregated demand
N = 100
Disaggregated demand
N = 100
N = 1,000
Disaggregated demand
N = 100
N = 1,000
N = 100,000
N = 10,000
Disaggregated demand
Disaggregated demand
EGT: Household travel survey for Île-de-France (not open)
ENTD: National household travel survey
Disaggregated demand
EGT: Household travel survey for Île-de-France (not open)
ENTD: National household travel survey
Mixture of three Gaussians
Disaggregated demand
Disaggregated demand
N = 100
N = 1,000
N = 10,000
Disaggregated demand
N = 100
N = 1,000
N = 10,000
Disaggregated demand
N = 100
N = 1,000
N = 10,000
Disaggregated demand
N = 100
N = 1,000
N = 10,000
Disaggregated demand
Disaggregated demand
Disaggregated demand
Disaggregated demand
Transport demand is generated by the need of people to perform activities
Disaggregated demand
Transport demand is generated by the need of people to perform activities
x 12,000,000
Disaggregated demand
Transport demand is generated by the need of people to perform activities
Disaggregated demand
Transport demand is generated by the need of people to perform activities
0:00 - 9:00
10:00 - 17:30
17:45 - 21:00
22:00 - 0:00
Disaggregated demand
Transport demand is generated by the need of people to perform activities
0:00 - 9:00
10:00 - 17:30
17:45 - 21:00
22:00 - 0:00
Disaggregated demand
2.2 Synthetic travel demand for France
Synthetic travel demand for France
Population census (RP)
> Truncate-Replicate-Sample (TRS)
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
> Imputation by quantile
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
> Direct sampling from OD matrix
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
Household travel survey (EDGT)
0:00 - 8:00
08:30 - 17:00
17:30 - 0:00
0:00 - 9:00
10:00 - 17:30
17:45 - 21:00
22:00 - 0:00
> Assignment of activity chains through statistical matching
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
Household travel survey (EDGT)
Enterprise census (SIRENE)
Address database (BD-TOPO)
> Specifically designed approach to find secondary locations
Hörl, S., Axhausen, K.W., 2021. Relaxation–discretization algorithm for spatially constrained secondary location assignment. Transportmetrica A: Transport Science 1–20. https://doi.org/10.1080/23249935.2021.1982068
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
Household travel survey (EDGT)
Enterprise census (SIRENE)
Address database (BD-TOPO)
Person ID
Age
Gender
Home (X,Y)
1
43
male
(65345, ...)
2
24
female
(65345, ...)
3
9
female
(65345, ...)
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
Household travel survey (EDGT)
Enterprise census (SIRENE)
Address database (BD-TOPO)
Person ID
Activity
Start
End
Loc.
523
home
08:00
(x,y)
523
work
08:55
18:12
(x,y)
523
shop
19:10
19:25
(x,y)
523
home
19:40
(x,y)
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
Household travel survey (EDGT)
Enterprise census (SIRENE)
OpenStreetMap
GTFS (SYTRAL / SNCF)
Address database (BD-TOPO)
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
National HTS (ENTD)
Enterprise census (SIRENE)
OpenStreetMap
GTFS (SYTRAL / SNCF)
Address database (BD-TOPO)
EDGT
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
National HTS (ENTD)
Enterprise census (SIRENE)
OpenStreetMap
GTFS (SYTRAL / SNCF)
Address database (BD-TOPO)
EDGT
Open
Data
Open
Software
+
=
Reproducible research
Integrated testing
Synthetic travel demand for France
Population census (RP)
Income data (FiLoSoFi)
Commuting data (RP-MOB)
National HTS (ENTD)
Enterprise census (SIRENE)
OpenStreetMap
GTFS (SYTRAL / SNCF)
Address database (BD-TOPO)
EDGT
Open
Data
Open
Software
+
=
Reproducible research
Integrated testing
Synthetic travel demand for France
Synthetic travel demand for France
Synthetic travel demand for France
Synthetic travel demand for France
Nantes
Synthetic travel demand for France
Lille
Synthetic travel demand for France
Toulouse
Synthetic travel demand for France
Rennes
Synthetic travel demand for France
Paris / Île-de-France
Synthetic travel demand for France
Paris / Île-de-France
Synthetic travel demand for France
Paris / Île-de-France
Synthetic travel demand for France
Lyon (IRT SystemX)
Synthetic travel demand for France
Synthetic travel demand for France
Balac, M., Hörl, S. (2021) Synthetic population for the state of California based on open-data: examples of San Francisco Bay area and San Diego County, presented at 100th Annual Meeting of the Transportation Research Board, Washington, D.C.
Sallard, A., Balac, M., Hörl, S. (2021) Synthetic travel demand for the Greater São Paulo Metropolitan Region, based on open data, Under Review
Sao Paulo, San Francisco Bay area, Los Angeles five-county area, Switzerland, Montreal, Quebec City, Jakarta, Casablanca, ...
Synthetic travel demand for France
Synthetic travel demand for France
Synthetic travel demand for France
Synthetic travel demand for France
3.1 Agent-based transport simulation
Agent-based transport simulation
Agent-based transport simulation
Agent-based transport simulation
Agent-based transport simulation
is your current speed, and is the speed limit
Agent-based transport simulation
is your current distance to the leading car , and is the desired distance
Agent-based transport simulation
Agent-based transport simulation
Agent-based transport simulation
3.2 MATSim
MATSim
http://www.matsim.org
matsim-org/matsim-libs
MATSim
http://www.matsim.org
matsim-org/matsim-libs
MATSim
Mobility simulation
Decision-making
Analysis
Scenario
MATSim
Mobility simulation
Decision-making
Analysis
Scenario
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
MATSim
3.3 On-demand service simulation
On-demand service simulation
Questions?
sebastian.horl@irt-systemx.fr