Title: 20th International EMME Users Conference
1Modeling Station-to-Station Fares for a
Non-additive Fare System
- Shuguang He, Michael Florian
- INRO Solutions Inc.
- In collaboration with Perry Poon
- Ove ARUP Partners Hong Kong Ltd.
2Motivation
- In Hong Kong, the metro system (MTR) has fixed
station-to-station(S2S) fares. The Hong Kong
Comprehensive Study Model requires - The exact computation of the fare for all O-D
pairs which use the MTR - This fare is used in the route choice.
3Hong Kong MTR System Map
4Partial Fare Matrix - Hong Kong MTR
5S2S Fares as a Function of Distance
6S2S Fares as a Function of No. of Stations
Traveled
7Computing the Exact Fare for O-D Using the MTR
- Code the MTR network in a special way
- Find the entry and exit station for each O-D
pair - Prepare a look-up table with g registers
- Compute the O-D fare matrix.
8Coding the MTR Base Network
- Node
- each station is defined as a node
- Links
- mode m all MTR
- mode i transfers between MTR stations
- mode w enter/exit links for MTR
9Find the Entry and Exit Stations for Each O-D Pair
D
_at_mentr9113
9113
_at_mexit9113
- Link attribute on mode w
- _at_mentr station code
- _at_mexit station code
9353
9300
9115
9114
9000
9003
9004
9005
9001
9002
_at_mexit9000
_at_mentr9000
mode w
O
10Save the Entry and Exit Station Matrices
- Path analysis with shortest path assignments
- Save a matrix (mfmEnter) for entering stations
- Save a matrix (mfmExit) for exiting stations
- With the given station-to-station fare table, we
can have the results. - How to implement?
11Prepare a Look-up Table with g Registers
- Convert fares from one station to all stations
in the g registers
s2sfare.mac
HK s2s fare data g1 is for station 9000 g2
is for station 9001 shift
8999 gt1 9000-1 g10 g23.8 g33.8 g4
4.6 g54.6
12Compute the OD Fare Matrix
- Looping over all the entering stations
- for each entry station, look up all the exiting
stations
t09000 9001 9002 9003 9004 9005 9006 9007 9008
9009 9010 9011 9012 9013 x0
/number of stations Station-Loop
/start the
loop ?x0gtDone /no
more stations, done /for zones enter station
x 3.21 get in data (1-250) in g
registers lts2sfare.mac x-1
/read fare data in g registers 1ymfs2sFar
n /save to result
matrix get(int(mfmExit-8999))
/look up exit stations mfmEnterx,x,
inn2 /constrain on enter
stations q x-1 Station-Loop
/go back to loop again Done
- save results in mfs2sFar.
13Exact Station to Station Fare Results
Fare of ODs entering at station 9000 and exiting
at 9113 takes the exact fare of HK6.8 from
station 9000 to 9113
14Modeling the Fare in the Route Choice
- In order to include the segment fare in the
route choice, one needs to find a set of proxy
fares that fit the station to station fares when
used in a transit assignment. This is done by - Coding the network in a special way
- Algorithm for estimating the segment based proxy
fares - Producing the results.
15Coding the Proxy Fare Estimation Network
- Dummy zones
- create a zone for each station
zone station - 8900 - Dummy connectors
- mode Z for dummy connectors between zone and
station node - Note do this in another emmebank (sub-network
with MTR only) - The procedure can be done with a macro
16Estimate the Segment Based Proxy Fare (1)
We designed an algorithm as follows 1.
Initialize entry MTR fare, such as HK3.5 on
entering links (connectors) set segment fare
us30, where us3 is added on the transit
functions.
initial fares entering fare t83.5 entering
fare of MTR 2.4222_at_mfare?!efare
entering MTRq /initialize
_at_mfare 2.411y_at_mfarent8j9000,9400and
modZ4q /_at_mfare3.5 segment fare in
us3 2.411yus304q
/us30
Note us3 can be initialized or fixed to a fare
on crossing river line segment. Transfer fares
can be set on links of mode i for transfer within
MTR.
17Estimate the Segment Based Proxy Fare (2)
- 2. Do transit assignments with mfdemand1 for
each O-D - save station-to-station distance matrix
mfmDist
/transit assignment for metro distance 5.112
?q22mfdemandmiZ11010.5111y
length1mf"mDist"n /additional
options to save distance 5.312
- save fare matrix (segment) mfmFare
us31mf"mSfare"n /additional
options to save segment fare
- update fare matrix (segmententer) mfmFare
3.211ymfmFarenmf"mFare"t8(p.ne.q)m
fs2sHKF0,0,exygm1gm12q
/where mfs2sHKF is the real fare matrix, gm1 is
metro zone group
- voltr is the number of OD using the segment.
2.4224_at_nods?!eod pairs using the
segmentq 2.411y_at_nodsnvoltr4q
/_at_nods, number of O-Ds
18Estimate the Segment Based Proxy Fare (3)
3. Update segment fare a. compute the
difference matrix between the real fare and
estimated fare (Values can be positive or
negative) b. divide the difference by the s2s
distance (or stops) matrix
fare differences 3.211ymfmFarenmfs2sH
KF-mfmFareygm1gm12q fare by
distance 3.211ymfmFaren
mfmFare/mf"mDist"mf"mDist"0,0,exygm1gm1
2q
c. assign the matrix computed in b, and get
voltr (fare difference) d. then, voltr/_at_nods
is the average fare difference on the segment
e. update segment fare us3 with us3
length(voltr/_at_nods)/x, x is the number of
iterations, (if stops matrix is used, remove
length).
2.411yus3abs(us3length(voltr/_at_nods)/x)
modmmodem4q
19Estimate the Segment Based Proxy Fare (4)
- 4. Stop,
- if number of loops is reached, or
- if the sum of the absolute value of the
difference between the current and last estimated
fare matrix is small enough - 5. Loop to 2, if not stopped
- 6. Results in us3, estimated segment based fare.
This data can be used in the transit assignment
(with value of time factor). - Note If user prefers to use estimated fare for
input of his mode choice model, it can be
computed with this us3 by doing additional
options assignments.
20Resultsx - given farey - estimated
Comparison of Estimated and Given Fare
21Conclusions
- Station to station fare modeling is complex
because the fare between stations is not linearly
increased with either distances or stations
traveled - The exact fare of all O-D pairs can be computed
and can be used in the mode choice model - The segment fare can be estimated automatically
in Emme, using the algorithm presented and macros
(partial) - The estimation can be improved by setting some
initial values on some segments, such as those of
passing the harbor.