03.03.2013 Views

Preferred citation style - MATSim

Preferred citation style - MATSim

Preferred citation style - MATSim

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!