Download presentation
Presentation is loading. Please wait.
Published byFelicity Marian Cannon Modified over 9 years ago
1
October 2014 Implementing the Sydney Strategic Transport Model (STM) in Emme 4 Dr Peter Hidas Bureau of Transport Statistics, Transport for NSW
2
Acknowledgements Team Effort Model Development & Estimation RAND Europe Frank Milthorpe, BTS Implementation in Emme4 and Python Peter Hidas and Ting Yu Validation, testing The BTS Modelling Team
3
History of STM First developed in 1970s Major Updates 1986 & 1994/95 Redesigned in late 1990s –Known as STM2 –Still in use Extended and re-estimated in 2012-14 –Known as STM3 –Implemented – validation in progress
4
Study Area – Sydney GMA 2006 zoning (24,443 km 2 ) : –2715 Travel Zones –25,000 Nodes –90,000 Links –1,350 Transit Lines –445 Stations Rail, LR, Ferry 2011 zoning (31,407 km 2 ) –+ 400 zones Sydney Newcastle Wollongong 400 km 250 mi
5
Key Features of STM2 Tour based model system –Home to Primary destination and return Disaggregate model –Person and household segmentation –Forecasting of licence holdings –Forecasting of car ownership –Segmentation: Population Synthesiser Joint mode-destination choice models –Nested/Multinomial Logit choice Demand is not constant –Tour frequency depends on accessibility
6
STM3 Enhancements Use most recent travel survey data (HTS) Model base year: 2011 Explicit modelling of toll roads –Toll-users, non-toll-users separate modes –(STM2: only one car driver option) Explicit modelling of access mode to rail –Park-&-Ride, Kiss-&-Ride, Bus, Walk –(STM2: only bus and walk)
7
STM3 Travel Purposes Home based purposes (to primary destination) –Work –Business –Education Primary, Secondary, Tertiary –Shopping –Other Non-Home based purposes –Work based business –Business detours as part of work tour
8
STM3 Travel Modes Modes –Car Driver Toll users, Non-toll users –Car Passenger –Train (includes Light Rail & Ferry) Park-&-Ride, Kiss-&-Ride, Walk, Bus –Bus –Walk –Bicycle –Taxi (Crowding on PT not modelled)
9
Segmentation Extensive segmentation –Different by purpose –Additional segments for frequency model Home Based work –Mode Destination Models Car availability/Licence holding (8 segments) Work status (full time, part time) Income (5 segments) –Frequency Models Age (3 segments) Adult status (1/5 segments)
10
Number of Segments Purpose Mode Destination Additional FrequencyTotal Work803/15720 Business24 576 Primary Education10440 Secondary Education326 Tertiary Education12 144 Shopping36 1296 Other25561400
11
Top-level model structure
12
Home- based travel demand models Utilities by mode, by OD-pair
13
Mode- Destination Structure Example: Home-based Work Mode choice first Destination after Some other purposes Destination first Mode choice after
14
STM3 Values of Time Values of Time Vary –Personal Income –Journey Purpose –Mode of Travel Use log and linear cost terms –Better fit for demand estimation –More difficult for economic benefit calculation
15
Commute Car Values-of-Time
16
Commute Rail Values-of-Time
17
Commute Bus Values-of-Time
18
STM3 - Implementation Model Development & Estimation –ALOGIT software (RAND Europe) –No direct linkage to Emme STM2 –Implemented using Emme macros STM3 – Emme 4 available –How best to utilise?
19
STM3 - Software Platform Combination of Multiple Tools Emme-4 API + Python Python 2.7 64-bit –Needed for memory requirements (min 20 Gb) Numpy –Efficient matrix operations library Cpython –Python library written in C (faster) –For some special methods (sorting) Run from DOS Batch file
20
STM-3 Model Structure
21
STM3 Model Processes in Emme 4 Input Data –Networks, Freight Demand Matrices –Still loaded using Emme macros Create Car & PT skims –Python using Emme 4 API Car & PT assignments –Python using Emme 4 API
22
STM3 Model Processes in Python Tour Frequency & Mode-Destination Choice –7 HB + 2 NHB trip purposes – separate models –6 purposes include car access to rail –Models are similar but many differences OOP structure –Shared code in base classes –Differences in derived classes
23
CarSkims Hierarchy cCarSkims_ZZ cCarAccSkims_ZS cCarNoTollSkims_ZZ cCarTollSkims_ZZ cHWcarNoTollSkims_ZZ cHWcarAccSkims_ZS cHWcarTollSkims_ZZ Basic properties abstract class not for use common methods for all sub-classes Input Matrices abstract class not for use Different by Purpose Specific properties daily averages
24
Matrices in Emme vs Python TZ to TZ TZ to Stn Stn to Stn Stn to TZ External Zones Emme: Full matrix Travel Zones Station Zones External Zones Python: ZZ: TZ to TZ ZS: TZ to SZ SZ: SZ to TZ Freq/Mode-Dest. Models: ZZ Station choice: ZS + SZ
25
Car Access to Rail: Station Choice
26
Station Choice For each OD-pair –Calculate utility (car + rail) through each station –Select N (2-5) “best” stations By OD-pair (7.3 million) Select from 450 stations Run time –If done by single OD-pair: ~ 9 hours –3D matrix calc: from 1 O to all D: ~ 3 hours –3D + Cpython partsort method:~ 20 min –( ALOGIT: ~ 3 days )
27
Calculate Car Access to Rail utility Gen.time from O to D = Car time from O to S + Rail time from S to D Must be ZZ-matrix Car time stations z o n e s Gen. time Rail time stations z o n e s + = Selected Station z o n e s
28
Calculate Utility – the easy way For each OD-pair: get S from stations matrix Gt(OD) = Ct(OS) + Rt(SZ) 7.3 million OD-pairs! Car time stations z o n e s Gen. time Rail time stations z o n e s Selected Station z o n e s + Rt O S O S Ct D OO S D O O D Gt =
29
Ct Calculate Utility – a faster way Process Select all OD-pairs that use S (mask) Get car times from All-O to S re-shape vector to 2D (ZZ) Get rail times from S to All-D re-shape vector to 2D (ZZ) Add the two matrices = Gt Repeat for each station S Max 450 iterations! Masking, re-shape are standard methods in Numpy This process is applied at several places Car time stations z o n e s Rail time stations Selected Stations z o n e s Rt S Ct S = S S S S S Gen. Time z o n e s Gt + Rt
30
Current Status STM3 model coded and tested Validation: –ALOGIT vs Emme/Python – finished –Comparison with Observed (HTS) data Key issues for further improvement –Run time –Use for PT Project Model (PTPM)
31
Model Run Time STM2: –~ 19 hours (macros, without car access to rail!) STM3: –Full Model (4-cycles): ~ 17 hours –One-cycle: ~ 7 hours New zoning system TZ11: +400 zones –Further increase in run time How to reduce? –Multi-threading?
32
STM-3 Current Model Structure Input Data Hb-Other Final Car/PT assignments Create CAR LOS Skims Hb-SecEd Hb-PrimEd Hb-Business Hb-Work Hb-Shop Hb-TerEd NHb-Work NH-Business Collate new CAR Demand
33
STM-3 Parallel Model Structure Input Data Hb-Other Final Car/PT assignments Create CAR LOS Skims Hb-SecEd Hb-PrimEdHb-BusinessHb-WorkHb-Shop Hb-TerEdNHb-WorkNH-Business Collate new CAR Demand
34
Summary STM3 Implemented Emme 4 API: major benefits –Easy, user-friendly, powerful methods –Easy to combine with external code –New methods faster than macros Python, NumPy: major benefits –User-friendly, powerful, fast methods Run time less than for STM2 but still very long Next challenges –Improve run time –Implement Peak Spreading
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.