Preferred citation style - MATSim
Preferred citation style - MATSim
Preferred citation style - MATSim
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Preferred</strong> <strong>citation</strong> <strong>style</strong><br />
<strong>MATSim</strong> development team (ed.) (2007) MATSIM-T: Aims,<br />
approach and implementation, IVT, ETH Zürich, Zürich.<br />
1
MATSIM-T: Aims, approach and implementation<br />
August 2007
Overview<br />
• Structure and team<br />
• Task and solution methods<br />
• MATSIM aims<br />
• System architecture<br />
• Examples<br />
• Switzerland<br />
• Berlin/Brandenburg<br />
• Outlook and next steps<br />
• Progress on shortest path calculations<br />
• Traffic flow model<br />
• Improving the convergence<br />
3
Structure<br />
Software:<br />
• Open-source project under GNU public licence<br />
Coordination:<br />
Data:<br />
• Kai Nagel, TU Berlin<br />
• Public sources, where available<br />
• Private sources, when needed or as occasion arises<br />
4
Current team<br />
Strategy:<br />
• Kai Nagel, TU Berlin<br />
• Kay Axhausen, ETH Zürich<br />
• Fabrice Marchal, LET, Lyon<br />
Coordination of the implementation and project management:<br />
• Michael Balmer, ETH Zürich<br />
• Marcel Rieser, TU Berlin<br />
5
Current team: Implementation (1/2)<br />
• Michael Balmer, ETH<br />
• David Charypar, ETH<br />
• Francesco Ciari, ETH<br />
• Dominik Grether, TU Berlin<br />
• Jeremy Hackney, ETH<br />
• Andreas Horni, ETH<br />
• Gregor Lämmel, TU Berlin<br />
• Nicolas Lefebvre, ETH<br />
• Michael Löchl, ETH<br />
6
Current team: Implementation (2/2)<br />
• Fabrice Marchal, LET<br />
• Konrad Meister, ETH<br />
• Kai Nagel, TU Berlin<br />
• Marcel Rieser, TU Berlin<br />
• Nadine Schüssler, ETH<br />
• David Strippgen, TU Berlin<br />
7
Current funding sources<br />
• Basic research support for the chairs<br />
• (competitive) ETH research fund<br />
• Swiss National Fund<br />
• German Research Society<br />
• EU Framework funding<br />
• VW Foundation<br />
• Swiss Commission for Technology and Information (KTI)<br />
(datapuls, Lucerne)<br />
8
Task and solution methods<br />
9
What we would like to do ?<br />
Personal<br />
worlds of<br />
others<br />
Social captial:<br />
stock of joint<br />
abilities,<br />
shared<br />
histories and<br />
commitments<br />
Personal<br />
world<br />
Biography<br />
Projects Learning<br />
Household locations<br />
Social network geography<br />
Mobility tools<br />
10
What would we like to do ? Personal daily dynamics<br />
Physiological needs<br />
Commitments<br />
Desires<br />
Pending activities<br />
Scheduling<br />
Activity repertoire (t) ................ Activity repertoire (t+1)<br />
Activity<br />
calendar (t)<br />
Activity<br />
schedule (t)<br />
Rescheduling,<br />
Execution<br />
Unexecuted<br />
activities<br />
Networks, Opportunities<br />
Mental map (t) ................ Mental map (t+1)<br />
Updates,<br />
Innovations<br />
11
Understanding scheduling<br />
• Budget constraints<br />
• Capability constraints<br />
• Generalised costs of the schedule<br />
• Generalised cost of travel<br />
• Generalised cost of activity participation<br />
• Risk and comfort-adjusted weighted sums of time,<br />
expenditure and social content<br />
12
Degrees of freedom of activity scheduling<br />
• Number and type of activities<br />
• Sequence of activities<br />
• Start and duration of activity<br />
• Composition of the group undertaking the activity<br />
• Location of the activity<br />
• Connection between sequential locations<br />
• Location of access and egress from the mean of<br />
transport<br />
• Vehicle/means of transport<br />
• Route/service<br />
• Group travelling together<br />
13
Understanding supply<br />
Slot: A path in the time-space environment, which allows moving<br />
or activity performance<br />
• Regulated slots (e.g. table in a restaurant, reserved seat in a<br />
theatre, gate position of a plane, green light at a junction)<br />
• Emergent slots (e.g. trajectory of a car on a motorway,<br />
players in a pub-soccer tournament)<br />
Waiting time ~ Reserve capacity = Capacity – Demand for slots<br />
14
What do we (generally) do ?<br />
“Scenario”<br />
Competition for<br />
slots on networks<br />
and in facilities<br />
k(t,r,j) i,n<br />
q i _ (t,r,j) i,n<br />
Mental map<br />
Activity<br />
scheduling<br />
Population<br />
_i,t, r,j,k<br />
Demand q are the i th movements of person p from the current location<br />
at time t on route (connection) r to location j. The resulting<br />
generalised costs k are used to adjust the schedules and to change<br />
the capacities C and prices P of facilities f<br />
15
Classification criteria<br />
• Steady state (equilibrium) ?<br />
• Aggregate demands ?<br />
• Complete and perfect knowledge ?<br />
• Optimised schedules ?<br />
• Degrees of freedom and detail of scheduling<br />
• Modelling of capacity restrictions (movement, activities) ?<br />
16
MATSIM-T aims (1): Steady-state version<br />
• Steady state within 12 hours on a small multi-CPU machine<br />
• 7.5 mio agents, parcels, navigation networks<br />
• Shared time-of-day dependent generalised costs of travel<br />
and activity participation<br />
• Optimised schedules<br />
• Continuous time resolution; space: parcels; social networks<br />
• Queuing for slots for movement and activities<br />
17
MATSIM-T aims (2): Path-dependent version<br />
• Path-dependent development; precise estimates within 12h<br />
on a small multi-CPU machine<br />
• Large scale scenario<br />
• Agent-specific, learned time-of-day dependent generalised<br />
cost of travel and activity participation<br />
• Optimised schedules at multiple decision points<br />
• Continuous time resolution; space: parcels; social networks<br />
• Queuing for slots for movement and activities<br />
18
System architecture<br />
• XML standards<br />
• Data handling tools (aggregation/disaggregation)<br />
• Data base<br />
• Iteration handling and control of convergence<br />
• Models<br />
19
Architecture: JAVA - packages<br />
20
Architecture: Data flow<br />
JAVA C++<br />
21
Current task allocation: Initial demand generation<br />
• Number and type of activities<br />
• Sequence of activities<br />
• Start and duration of activity<br />
• Composition of the group undertaking the activity<br />
• Location of the activity<br />
• Connection between sequential locations<br />
• Location of access and egress from the mean of<br />
transport<br />
• Vehicle/means of transport<br />
• Route/service<br />
• Group travelling together<br />
22
Current task allocation: activity scheduling<br />
• Number and type of activities<br />
• Sequence of activities<br />
• Start and duration of activity<br />
• Composition of the group undertaking the activity<br />
• Location of the activity<br />
• Connection between sequential locations<br />
• Location of access and egress from the mean of<br />
transport<br />
• Vehicle/means of transport<br />
• Route/service<br />
• Group travelling together<br />
23
Current ability: competition for slots<br />
Shortest paths:<br />
• A* dynamic algorythm<br />
Movement:<br />
• Queue-based simulation of car traffic<br />
• No representation of cycling, walking, public transport<br />
vehicles<br />
Activities<br />
• No competition for facilities yet<br />
24
Result of each iteration: Plan<br />
<br />
<br />
<br />
<br />
1900 1899 1897<br />
<br />
<br />
<br />
1899 1848 1925 1924 1923 1922 1068<br />
<br />
<br />
<br />
1067 1136 1137 1921 1922 1923 1925 1848 1899<br />
<br />
<br />
<br />
<br />
25
Scheduling and its utility function<br />
26
Utility function: Individual schedules<br />
U<br />
plan<br />
=<br />
n<br />
!<br />
i=<br />
1<br />
U<br />
act,<br />
i<br />
+<br />
n<br />
!<br />
i=<br />
2<br />
,,.,actidurilateariUUU=+<br />
U<br />
trav,<br />
i"<br />
1,<br />
i<br />
27
Utility function: Travel<br />
U<br />
trav,<br />
i&1,<br />
i<br />
=<br />
# 'trav<br />
% ttrav,<br />
i&1,<br />
i if ttrav,<br />
i&1,<br />
i $<br />
"<br />
! 0<br />
else<br />
"<br />
trav<br />
= ! 12<br />
0<br />
Euro / h<br />
28
29<br />
Utility function: Late arrival<br />
( )<br />
!<br />
"<br />
# $<br />
%<br />
&<br />
=<br />
else<br />
t<br />
t<br />
if<br />
t<br />
t<br />
U<br />
i<br />
ar<br />
latest<br />
i<br />
start<br />
i<br />
ar<br />
latest<br />
i<br />
start<br />
ar<br />
late<br />
i<br />
ar<br />
late<br />
0<br />
,<br />
.<br />
,<br />
,<br />
.<br />
,<br />
.<br />
,<br />
.<br />
'<br />
h<br />
Euro<br />
ar<br />
late<br />
/<br />
18<br />
.<br />
!<br />
=<br />
"
30<br />
Utility function: Activity performance<br />
( )<br />
( )<br />
!<br />
"<br />
!<br />
#<br />
$<br />
><br />
%<br />
<<br />
&<br />
&<br />
%<br />
%<br />
=<br />
0<br />
0<br />
0<br />
ln<br />
,<br />
,<br />
0<br />
,<br />
,<br />
,<br />
0<br />
,<br />
0<br />
,<br />
*<br />
,<br />
'<br />
'<br />
(<br />
else<br />
t<br />
t<br />
t<br />
if<br />
t<br />
t<br />
if<br />
t<br />
t<br />
t<br />
U<br />
i<br />
dur<br />
i<br />
i<br />
dur<br />
i<br />
dur<br />
i<br />
i<br />
i<br />
dur<br />
dur<br />
i<br />
dur<br />
h<br />
Euro<br />
h<br />
Euro<br />
dur<br />
/<br />
6<br />
/<br />
10<br />
=<br />
=<br />
!<br />
"
Scheduling: Current planomat(s)<br />
Version 1:<br />
• GA optimiser of durations and starting times<br />
• Retains time-of-day profile of generalised costs<br />
Version 2:<br />
• CMA-ES (Covariance Matrix Adaptation Evolutionary<br />
strategy) of durations and starting times<br />
• Retains time-of-day profile of generalised costs<br />
31
Examples (scenarios):<br />
• CH: Switzerland and subsets<br />
• Base tests for Kanton Zürich<br />
• B/B: Berlin/Brandenburg<br />
• Tolling case studies<br />
32
CH: Facilities for 140!000 hectares<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
33
CH: Comparisons at the aggregate levels<br />
34
CH: Network<br />
Simplification:<br />
Results:<br />
• Remove unconnected links and subnetworks<br />
• Remove nodes between unchanging link types<br />
• Cut off dead ends<br />
• Navteq (882!120 links) (25% loss of links/nodes)<br />
• Teleatlas (1!288!757 links) (currently not in use)<br />
35
CH: Population<br />
Alternatives:<br />
• Artificial sample generation from Census marginals<br />
• Census<br />
• Private census with additional imputations (datapuls,<br />
Lucerne) plus household “formation”<br />
36
CH: Mobility tools<br />
Approach:<br />
Data:<br />
• MNL of mobility tool packages (Beige)<br />
• Socio-demographics<br />
• Location types<br />
• Travel times to main centre by road and public transport<br />
• National travel survey (MZ 2000)<br />
37
CH: Structure of the chains, activity durations<br />
Data<br />
• MZ 2000<br />
• MZ 2005<br />
Approach:<br />
• Selection via conditional probability distribution from Chains<br />
* Person types frequencies<br />
• ca. 50 activity chains for MZ 2000 (>95% of all cases)<br />
• Specified with activity durations given by MZ 2000<br />
! xxxx different activity chains (weighted)<br />
38
CH: Activity location choice<br />
Home:<br />
• Random location in hectare<br />
Work/school<br />
• Random allocation from census commuter matrices<br />
• Disaggregation to facilities inside municipality<br />
Other locations<br />
• “Neighbourhood search” from given home/work/school<br />
locations (a variation of Gravity Model)<br />
39
CH: Mode choice<br />
Approach:<br />
Fixed mode choice at the tour level as a function of<br />
• Driving licence<br />
• Mobility tool ownership<br />
• Distance<br />
• Age * season ticket<br />
• Current set of chains include no subtours<br />
Data:<br />
• MZ 2005<br />
40
R: Hectare; M: Municipality<br />
CH: Kt. Zürich – Basic test<br />
41
CH: Kt. Zürich<br />
42
CH: Kanton Zürich<br />
43
CH: Kanton Zürich (planomat - Iteration 0)<br />
44
CH: Kanton Zürich (planomat - Iteration 400)<br />
45
B/B: Network<br />
• Source: “Senatsverwaltung für Stadtentwicklung Berlin”<br />
• 11596 nodes<br />
• 27770 links<br />
46
B/B: Population and demand<br />
• Generated from “Kutter-Nachfragemodell für Berlin”,<br />
• only commuters (work, education) in Berlin/Brandenburg,<br />
• only car-trips simulated,<br />
• 10% sample: 160!171 agents, each with 2 trips<br />
• Facilities = traffic analysis zones<br />
47
B/B: Tolling in Berlin/Brandenburg<br />
• Scenario: As described above<br />
• Aims: Impacts of distance and area tolls<br />
48
B/B: Tolling in Berlin/Brandenburg<br />
49
B/B: Trip length within toll area with distance tolls<br />
50
B/B: total trip lengths with distance tolls<br />
51
Outlook<br />
52
Current tasks: Functionality<br />
• Improving the realism of the scenario (e.g. opening hours,<br />
parameter distributions)<br />
• Validation of the current scenarios<br />
• Switzerland scenario in 12h to steady state<br />
• Functional expansion the planomat (mode choice,<br />
destination choice)<br />
• Parameter estimation for planomat<br />
• Interface to UrbanSim<br />
53
Future tasks: Functionality<br />
• Integration of social network data structures<br />
• Explicit social network choices<br />
• Addition of supply agents (car sharing, demand responsive<br />
transport, retail location, parking pricing, road pricing) (Traffic<br />
control)<br />
54
Current tasks: Usability (Shareability)<br />
• Analysis tools<br />
• Anonymous test data sets<br />
• Improved documentation<br />
• Web and sourceforge maintenance<br />
• User support, including visits to ETH/TU Berlin<br />
55
Acknowledgements (1/3)<br />
System architecture: Michael Balmer<br />
System integration: Michael Balmer, Marcel Rieser<br />
System management: Michael Balmer, Marcel Rieser<br />
Facilities: Konrad Meister<br />
Mobility tools: Francesco Ciari<br />
Tour mode choice: Francesco Ciari<br />
Counter infrastructure: Andreas Horni<br />
KML – interfaces: Konrad Meister, Dominik Grether<br />
56
Acknowledgements (2/3)<br />
Router: Nicolas Lefebvre<br />
Traffic flow model: David Charypar<br />
Planomat: Konrad Meister, David Charypar<br />
Supply agents: Michael Löchl, Francesco Ciari<br />
Social networks: Jeremy Hackney<br />
57
Acknowledgements (3/3)<br />
Past contributors:<br />
• Michael Bernard, ETH<br />
• Sigrun Beige, ETH<br />
• Ulrike Beuck, TU-Berlin<br />
• Dr. Nurhan Cetin (ETH)<br />
• Phillip Fröhlich, Modus, Zürich (ETH)<br />
• Dr. Christian Gloor (ETH)<br />
• Dr. Bryan Raney, HP America (ETH)<br />
• Marc Schmitt (ETH)<br />
• Arnd Vogel, PTV (TU Berlin)<br />
58
More information<br />
www.matsim.org<br />
www.vsp.tu-berlin.de<br />
www.ivt.ethz.ch/vpl/publications/reports<br />
59
Progress on shortest – path calculation<br />
Possibilities:<br />
" Bounding boxes: Find out whether certain nodes can at all be on<br />
a shortest path and if not, do not consider them.<br />
" Multi-level approach: Add shortcuts to the network where<br />
possible to bypass several edges at a time when routing.<br />
" Bi-directed search: Start routing at the end and at the start node<br />
at the same time.<br />
" Goal-directed search: Change the way the nodes are ranked such<br />
that nodes which are less likely to be on the shortest path are also<br />
less likely to be visited. The most popular algorithm that uses this<br />
technique is A*.<br />
60
Speed-up<br />
Basic algorithm: A*<br />
Step 1: Improve data structure for list of candidate nodes (7%<br />
reduction)<br />
Step 2: Improve handling of the “visited flag” (~ length of route)<br />
Step 3: Detect dead ends (1/4 of nodes in the NavTeq network)<br />
(50% reduction)<br />
Step 4: Use euclidian-distance to destination to rank candidates<br />
(50-80% reduction)<br />
Step 5: Use intermediate landmarks (80-90% reduction)<br />
61
Landmark selection<br />
• Divide network into sectors<br />
containing an equal number<br />
of nodes<br />
• For each sector, choose<br />
a node that is farthest<br />
away from the center<br />
• Check that the<br />
landmarks are not<br />
too close to each<br />
other. If so, narrow<br />
one sector and choose<br />
a new landmark within the sector<br />
62
Speed up of shortest-path calculations<br />
Free flow conditions: 97-99% reductions<br />
Loaded conditions: 95% reductions<br />
on navigation networks<br />
63
Traffic flow model<br />
“Scenario”<br />
Competition for<br />
slots on networks<br />
and in facilities<br />
k(t,r,j) i,n<br />
q i _ (t,r,j) i,n<br />
Mental map<br />
Activity<br />
scheduling<br />
Population<br />
_i,t, r,j,k<br />
64
Approach<br />
Resolution<br />
physical<br />
(VISSIM)<br />
CA<br />
(TRANSIMS)<br />
Q<br />
(Cetin)<br />
Q event<br />
(MATSIM)<br />
meso<br />
(METROPOLIS)<br />
parallel<br />
Q event<br />
(MATSIM)<br />
macro<br />
(VISUM)<br />
Speed<br />
65
Parallel q-event driven simulation with gaps<br />
• Approach<br />
• Fundamental diagram (on a ring motorway)<br />
• Domain decomposition<br />
• Test<br />
66
Q-event: Approach without gaps<br />
t<br />
Link 1 Link 2<br />
v free
Q-event: Approach with gaps<br />
t<br />
Link 1 Link 2<br />
v gap
Q-event: Implementation details<br />
• Squeezing to avoid grid-lock<br />
• Inflow capacity = 110% of outflow capacity (1800 veh/h*<br />
lanes)<br />
• Vehicles are served in order of arrival at the junctions<br />
• C++ with binary data interface to <strong>MATSim</strong>-T<br />
69
Q-event: Fundamental diagram<br />
70
Q-event: Test setup<br />
• Road network of the federal states of Germany Berlin and<br />
Brandenburg<br />
• 11.6k nodes, 27.7k links<br />
• 7.05M person days<br />
• Average number of trips per agent: 2.02<br />
• Average length of a trip: 17.5 links<br />
• Total: 249M road segments to be traveled<br />
• 77 min on a single dual-core CPU (1.6GH; 256 GB RAM)
Q-event: Integrated domain decomposition<br />
72
Q-event: Parallelisation
Improving the convergence<br />
74
Initial approach<br />
Method:<br />
• Plan everybody at Iteration 1<br />
• Replan for a fixed share<br />
Convergence:<br />
• On mean performance<br />
75
Improved approach<br />
Method:<br />
• Plan for everyone at Iteration 1<br />
• Replan for a predetermined, but decreasing share over the<br />
number of iterations<br />
Measurement:<br />
• Aggregates<br />
76
Impact of improved approach<br />
77
Support graphs and further ideas<br />
78
What should we do, when we do what we do ?<br />
Competition for<br />
slots on networks<br />
and in facilities<br />
k(t,r,j) i,n<br />
q i _ (t,r,j) i,n<br />
Activity<br />
scheduling<br />
_ i,t, r,j,k<br />
Observed<br />
schedules and<br />
generalised costs<br />
Parameter<br />
calibration<br />
79
What would we like to do ?<br />
Locating, sizing<br />
and pricing of<br />
slots<br />
k(t,r,j) i,n<br />
C f (t); P f (t)<br />
Competition for<br />
slots on networks<br />
and in facilities<br />
k(t,r,j) i,n<br />
q _ (t,r,j) i,n<br />
Mental map<br />
Activity scheduling<br />
(private,<br />
commercial)<br />
80
What would we like to do ? Personal long-term dynamics<br />
Definition of „Self“<br />
Desires<br />
Pending projects<br />
Planning,<br />
Negotiation<br />
(Life) goals (t) ................ (Life) goals (t+1)<br />
Projects (t)<br />
[committments]<br />
Project<br />
sequence (t)<br />
Replanning,<br />
Execution<br />
Unexecuted<br />
projects<br />
Markets and networks<br />
Updates,<br />
Innovations,<br />
Reflection<br />
Personal world (t) ................ Personal world (t+1)<br />
81
Architecture: Initial data preparation<br />
82
Architecture: Learning, search for consistency<br />
83
CH: Car availability (Census)<br />
84
CH: Mode choice – Observed share public transport<br />
85
Scheduling: Once and future Planomat<br />
• Number and type of activities out of an agenda<br />
• Sequence of activities<br />
• Start and duration of activity<br />
• Composition of the household group undertaking the activity<br />
• Location of the activity<br />
• Connection between sequential locations<br />
• Location of access and egress from the mean of<br />
transport<br />
• Vehicle/means of transport<br />
• Route/service<br />
• Group travelling together<br />
86
CH: Facilities – Data sources<br />
Three tables of Enterprise Cernsus:<br />
NOGA Description Firms FT-equivalents<br />
Code<br />
10-45 (sector 2) 6 200<br />
19 Leather and shoe production 2 0-9<br />
20 Chemical industry 3 50-249<br />
19.10 Leather production yes<br />
19.20 Leather goods no<br />
19.30 Shoe production no<br />
87
CH: Facilities – current allocation<br />
• Read census of employment for each hectare<br />
• Generate the required number of facilities<br />
• Add activity work<br />
• Set number of work place to minimum of class<br />
• Distribute remainder proportionally to class size<br />
• Add activity of use<br />
• Add standard opening hours<br />
• Randomly distribute on the hectare and attach to nearest link<br />
88
CH: Facilities - results<br />
89
CH: Facilities - results<br />
90
CH: Facilities - results<br />
91