27
T-Share: A Large-Scale Dynamic Taxi Ridesharing Service Shuo Ma, Yu Zheng, Ouri Wolfson Microsoft Research Asia University of Illinois at Chicago

T-Share: A Large-Scale Dynamic Taxi Ridesharing Service

  • Upload
    katina

  • View
    87

  • Download
    3

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

Page 1: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

T-Share: A Large-Scale Dynamic Taxi Ridesharing Service

Shuo Ma, Yu Zheng, Ouri WolfsonMicrosoft Research Asia

University of Illinois at Chicago

Page 2: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 3: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 4: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service
Page 5: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 6: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 7: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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.

Page 8: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 9: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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 )

Page 10: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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 )

Page 11: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 12: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 13: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 14: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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)

Page 15: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 16: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 17: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 18: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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.

Page 19: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 20: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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)

Page 21: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 22: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 23: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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)

Page 24: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 25: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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

Page 26: T-Share: A  Large-Scale Dynamic  Taxi Ridesharing Service

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