Upload
katina
View
87
Download
3
Tags:
Embed Size (px)
DESCRIPTION
T-Share: A Large-Scale Dynamic Taxi Ridesharing Service. Shuo Ma, Yu Zheng , Ouri Wolfson Microsoft Research Asia University of Illinois at Chicago. Background. Taxi-sharing is of great social and environmental importance Serving more demands: Peak hours vs Off-peak hours - PowerPoint PPT Presentation
Citation preview
T-Share: A Large-Scale Dynamic Taxi Ridesharing Service
Shuo Ma, Yu Zheng, Ouri WolfsonMicrosoft Research Asia
University of Illinois at Chicago
Background• Taxi-sharing is of great social and environmental importance
– Serving more demands: Peak hours vs Off-peak hours– Reduce energy consumption and air pollutants emission– Could save taxi fares while increasing the income of taxi drivers
T -Share
Driver
Rider
Pick your role
Original route Pickup PointNewly scheduled route
Number of riders added: 2
Travel time delay: 2 min Fare saving: $1.5
Ride Joining Request
Accept Reject
Next Pickup Point : in 1.2km Next Delivery Point : in 6.3km, $13.2
From
To
Current Position
Huaxing Cinema
Number of riders 2
Latest arrival
Earliest departure Now
09:30
Ride Request
Send Cancel
Taxi ID: 京B 1203785
Estimated taxi fare: $ 5.3Estimated pickup time: 08:32
OK
Scheduled route Delivery Point
Confirmation ZX3G18126781
Background
• Challenges– Dynamic:
• Dynamic queries: anytime and anywhere, lazy users • Dynamic taxis• Real-time query processing
– large-scale: millions of users and tens of thousands of taxis
• Wide range of applications – Private vehicles– Logistic industry for transporting goods
Value
• Government– Save 800 million liter gasoline per year
• Supporting 1M cars for 10 months• Worth about 1 billion USD• 1.64 billion KG CO2 emission
• Passengers– Serving rate increased 300%– Save 42% expense on average
• Taxi drivers increase profit 16% on average
Problem Definition
• Query =< , , >– Origin and destination: and – Time window for pickup: , – Time window for delivery: ,
Given a fixed number of taxis traveling on a road network and a stream of queries, we aim to serve each query in the stream by dispatching the taxi which satisfies with the minimum increase
in travel distance.
Architecture
Q
Taxi Searching
Scheduling Index Updating
Q=<t, o, wp , d, wd>;
Communication Interface
Spatio-Temporal index of taxis
Q
R {V}
Ru
Rv Rv
R=Ru || Rv;
Service providing data flow Taxi status updating flow
V V
Rv
{Taxis}
V=real time pos
Spatio-Temporal Index
• Grid-based approximation• Select an anchor node in each grid
Dij
D01
D10M =
D0n
D1n
Di1Di0
DnjDn1Dn0
ci
g0 g1 gn
g0
g1
gn
cj
gi Din
gj
D0j
D1j
gi
gj
A) Grid-partitioned map B) Grid distance matrix
Dij = ( tij , dij )
Spatio-Temporal Index
• For each Grid– Spatially-ordered grid cell list (spatial closeness)– Temporally-ordered grid cell list (temporal closeness)– Taxi list sorted by the arrival time
gi
g2
g7
gn
t2i
t7i
tni
Taxi2 :ta
Taxi7 :ta
Taxim :ta
earliest
latest
g7
g2
gn'
d7i
d2i
dn'i
nearest
furthestspatial temporal
Dij
D01
D10M =
D0n
D1n
Di1Di0
DnjDn1Dn0
ci
g0 g1 gn
g0
g1
gn
cj
gi Din
gj
D0j
D1j
gi
gj
A) Grid-partitioned map B) Grid distance matrix
Dij = ( tij , dij )
Taxi Searching
Q
Taxi Searching
Scheduling Index Updating
Q=<t, o, wp , d, wd>;
Communication Interface
Spatio-Temporal index of taxis
Q
R {V}
Ru
Rv Rv
R=Ru || Rv;
Service providing data flow Taxi status updating flow
V V
Rv
{Taxis}
V=real time pos
Taxi Searching
• Single-side taxi search– is located in – Merge taxi lists
• Problem– Many candidate taxis– Scheduling process is heavy g3
Taxi5
Taxi8
Taxiy
earliest
latest
Q.wp.l-t37
tcur
Selected Taxies
g7
Taxi2
Taxi7
Taxix
earliest
latest
Q.wp.l
tcur
Selected Taxies
g7
O
g7
g3
g5
gn
nearest
furthest
g9
Tem
pora
l Clo
sene
ss𝑔3
𝑔5
𝑔9
g3
Taxi5
Taxi8
Taxiy
earliest
latest
Q.wp.l-t37
tcur
Selected Taxies
g7
Taxi2
Taxi7
Taxix
earliest
latest
Q.wp.l
tcur
Selected Taxies
gi
g2
g7
gn
t2i
t7i
tni
Taxi2 :ta
Taxi7 :ta
Taxim :ta
earliest
latest
g7
g2
gn'
d7i
d2i
dn'i
nearest
furthestspatial temporal
Dual-Side Taxi Searching
• Origin side – in
• Destination side– in
𝑔3
𝑔5
𝑔9
𝑔7g7
O
g7
g3
g9
nearest
furthest
Spat
ial C
lose
ness
g8
g5
gn
𝑔6
D𝑔2
g2
g1
g6
gm
nearest
furthest
Spat
ial C
lose
ness
𝑔1
g7
g3
g5
gn
nearest
furthest
g9
Tem
pora
l Clo
sene
ss
g7
Taxi2
Taxix latest
tcurearliest
Taxi7
Q.wp.l
g3 g9 g5
Taxi2
Taxi7 So
g6 g2
Taxi3
Taxim latest
tcur earliest
Taxi11
Taxi3
Taxi11
Sd
Step 1: So ∩ Sd = {}
g7 g2
Taxi10 Q.wd.l
g3
Taxi5
Taxiy latest
tcurearliest
Taxi8
Q.wp.l-t37
g3 g9 g5
Taxi2 Taxi7 So
g6 g6
Taxi10
Taxin latest
tcur earliest
Taxi21
Taxi3 Taxi11 Sd
Step 2: So ∩ Sd = {}
g7 g2
Taxi10
Q.wd.l-t62
Taxi5 Taxi8 Taxi17 Taxi21
Taxi17
g9
Taxi7
Taxiz latest
tcurearliest
Taxi10
Q.wp.l-t97
g9 g5
Taxi2 Taxi7
So
Taxi3 Taxi11 Sd
Step 3: So ∩ Sd = {Taxi10 , Taxi17}
g7 g2
Taxi10 Taxi5 Taxi8 Taxi21
Taxi17
g6g3
Taxi17 Taxi10 Taxi17
A) B)
D)C)
E) F)
g7
Taxi2
Taxix latest
tcurearliest
Taxi7
Q.wp.l
g3 g9 g5
Taxi2
Taxi7 So
g6 g2
Taxi3
Taxim latest
tcur earliest
Taxi11
Taxi3
Taxi11
Sd
Step 1: So ∩ Sd = {}
g7 g2
Taxi10 Q.wd.l
g3
Taxi5
Taxiy latest
tcurearliest
Taxi8
Q.wp.l-t37
g3 g9 g5
Taxi2 Taxi7 So
g6 g6
Taxi10
Taxin latest
tcur earliest
Taxi21
Taxi3 Taxi11 Sd
Step 2: So ∩ Sd = {}
g7 g2
Taxi10
Q.wd.l-t62
Taxi5 Taxi8 Taxi17 Taxi21
Taxi17
g9
Taxi7
Taxiz latest
tcurearliest
Taxi10
Q.wp.l-t97
g9 g5
Taxi2 Taxi7
So
Taxi3 Taxi11 Sd
Step 3: So ∩ Sd = {Taxi10 , Taxi17}
g7 g2
Taxi10 Taxi5 Taxi8 Taxi21
Taxi17
g6g3
Taxi17 Taxi10 Taxi17
A) B)
D)C)
E) F)
g7
Taxi2
Taxix latest
tcurearliest
Taxi7
Q.wp.l
g3 g9 g5
Taxi2
Taxi7 So
g6 g2
Taxi3
Taxim latest
tcur earliest
Taxi11
Taxi3
Taxi11
Sd
Step 1: So ∩ Sd = {}
g7 g2
Taxi10 Q.wd.l
g3
Taxi5
Taxiy latest
tcurearliest
Taxi8
Q.wp.l-t37
g3 g9 g5
Taxi2 Taxi7 So
g6 g6
Taxi10
Taxin latest
tcur earliest
Taxi21
Taxi3 Taxi11 Sd
Step 2: So ∩ Sd = {}
g7 g2
Taxi10
Q.wd.l-t62
Taxi5 Taxi8 Taxi17 Taxi21
Taxi17
g9
Taxi7
Taxiz latest
tcurearliest
Taxi10
Q.wp.l-t97
g9 g5
Taxi2 Taxi7
So
Taxi3 Taxi11 Sd
Step 3: So ∩ Sd = {Taxi10 , Taxi17}
g7 g2
Taxi10 Taxi5 Taxi8 Taxi21
Taxi17
g6g3
Taxi17 Taxi10 Taxi17
A) B)
D)C)
E) F)
Scheduling Module• Calculate schedule for each candidate taxi
Q
Taxi Searching
Scheduling Index Updating
Q=<t, o, wp , d, wd>;
Communication Interface
Spatio-Temporal index of taxis
Q
R {V}
Ru
Rv Rv
R=Ru || Rv;
Service providing data flow Taxi status updating flow
V V
Rv
{Taxis}
V=real time pos
Scheduling Module• Feasibility check
– Two steps: first insert and then – Do not change the order of an existing schedule– Minimize the increase of travel distance
• Given a schedule composed of points– positions to insert – positions to insert – possible ways of insertion
Q.o Q.o Q.oQ.o Q.o
Q2.o Q1.d Q2.dQ1.o
Scheduling Module• Feasibility check (using as an example)
– : the time spent on waiting for the passenger
– If , failOriginal schedule One possible way to insert a new
query Q into the original schedule leg1 leg2
leg3 leg4
Q.o
Q.dQ2.o Q1.d
Q2.d
Points for slack time checkPoints for time window check
Scheduling Module
• Lazy Shortest Path Calculation – Find a lower bounder of travel time between two points
Dij
D01
D10M =
D0n
D1n
Di1Di0
DnjDn1Dn0
ci
g0 g1 gn
g0
g1
gn
cj
gi Din
gj
D0j
D1j
gi
gj
A) Grid-partitioned map B) Grid distance matrix
Dij = ( tij , dij )
O
D)+
1. )
-
3.
Pricing Scheme• Taxi fare per mile is higher for multiple passengers than for a
single passenger• The taxi fare of shared distances is evenly split among the
riding passengers
Evaluation• Settings
– A trajectory dataset generated by over 33,000 taxis in Beijing over 3 months
– Built experimental platform based on the data
• Big data– 400 million kilometres – 790 million points– 20 million trips (46% occupied)
Evaluation• Experimental platform
– Learn the distribution of queries on the road network over time of day from the data
– Assume the arrival of queries follows a Poisson distribution – Learn the transition probability between different road segments
𝒓 𝒊
𝒓𝟏
𝒓𝟐
𝒑 𝒊𝟏
𝒑 𝒊𝟐
0 5 10 15 200K
10K
20K
30K
40K
50K
60K
# Q
uery
hour of day
extracted 2-inflated
#. O
f que
ries
Settings of experimental platform
Definition Value
The start time of simulation 9 am
The end time of simulation 9:30 am
The number of taxis 2,980
The pickup window size 5 minute
The length of a time bin 5 minute
The # of time bins in a frame 12
Number of queries 27,000
Evaluation
• Baselines– No ridesharing– Single-side and First Fit Ridesharing (SF)– Single-side and Best-fit Ridesharing (SB)– Dual-side and First Fit Ridesharing (DF)– Dual-side and Best-fit Ridesharing (DB)
Results
• Effectiveness
1 2 3 4 5 6
10%
20%
30%
40%
50%
60%
Satis
fact
ion
Rat
e
delta
SF SB DF DB NR
1 2 3 4 5 6
88%90%92%94%96%98%
100%102%104%
Rel
ativ
e D
ista
nce
Rat
e
delta
SF SB DF DB NR
Results• Efficiency
1 2 3 4 5 6
30
45
60
75
90
# G
rid C
ells
Acc
esse
d Pe
r Que
ry
delta
SF SB DF DB
1 2 3 4 5 6
10K
20K
30K
40K
50K
60K
# R
oad
Nod
es A
cces
sed
Per Q
uery
delta
SF SB DF DB
1 2 3 4 5 6
5
10
15
20
#Tax
i Acc
esse
d Pe
r Que
ry
delta
SF SB DF DB
15*15 20*20 25*25 30*300K
50K
100K
150K
200K
# R
oad
Nod
es A
cces
sed
Per Q
uery
Grid Size
w/o lazy strategy with lazy strategy
Conclusion• Win-win-win scenario• Candidate taxi selection based on a spatio-temporal index
– Dual-side search saves 50% computational load – Have the similar effectiveness as compared with the single-side search
• Taxi scheduling based on – Feasibility check– Lazy shortest path computing saves 83% computational load
• Serve 720k queries per hour on a single machine
• Future work– Consider more constraints: monetary constraints– Dynamic time estimation– Other factors: like social trust and credit