Matchings, star par..ons, and clique covers in interval graphs: - - PowerPoint PPT Presentation

matchings star par ons and clique covers in interval
SMART_READER_LITE
LIVE PREVIEW

Matchings, star par..ons, and clique covers in interval graphs: - - PowerPoint PPT Presentation

Matchings, star par..ons, and clique covers in interval graphs: Graph theore.cal tools in transporta.on science. Irith Ben-Arroyo Hartman University of Haifa and NYU-


slide-1
SLIDE 1

Matchings, ¡star ¡par..ons, ¡and ¡clique ¡ covers ¡in ¡interval ¡graphs: ¡Graph ¡ theore.cal ¡tools ¡in ¡transporta.on ¡ science.

Irith ¡Ben-­‑Arroyo ¡Hartman ¡ University ¡of ¡Haifa ¡and ¡NYU-­‑ ¡Shanghai ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 1 ¡

slide-2
SLIDE 2

Applica.ons ¡of ¡graphs ¡in ¡transporta.on ¡ science

  • Minimum ¡path ¡decomposiHons ¡
  • OpHmal ¡assignment ¡for ¡carpooling ¡

¡ ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 2 ¡

slide-3
SLIDE 3

Minimum ¡Path ¡Decomposi.ons

Joint ¡work ¡with ¡Luk ¡Knapen ¡and ¡Tom ¡Bellemans ¡(IMOB, ¡Belgium) ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 3 ¡

slide-4
SLIDE 4

Background

  • In ¡choosing ¡a ¡uHlitarian ¡trip, ¡people ¡do ¡not ¡necessarily ¡choose ¡the ¡

shortest ¡(or ¡quickest) ¡path ¡from ¡origin ¡to ¡desHnaHon. ¡

  • People ¡tend ¡to ¡construct ¡routes ¡by ¡concatenaHng ¡a ¡small ¡number ¡of ¡

Basic ¡Path ¡Components ¡(BPC) ¡i.e. ¡shortest ¡paths. ¡

  • Nodes ¡connecHng ¡shortest ¡paths ¡have ¡special ¡significance ¡for ¡the ¡
  • user. ¡
  • General ¡moHvaHon: ¡building ¡realisHc ¡traffic ¡simulaHon ¡models. ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 4 ¡

slide-5
SLIDE 5

Defini.ons

  • G=(V,E) ¡directed ¡graph ¡with ¡edge ¡cost ¡c(e) ¡
  • Path, ¡cost ¡of ¡path ¡c(P) ¡
  • Least-­‑cost ¡path ¡
  • P-­‑shortcut, ¡minimal ¡shortcut ¡
  • Basic ¡Path ¡Component ¡
  • Path ¡Spli^ng ¡
  • Split ¡Vertex ¡
  • Interval ¡graph ¡
  • Proper ¡Interval ¡Graph ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 5 ¡

slide-6
SLIDE 6

v

l

v

SplitVertex Fork ¡vertex Join ¡vertex Edges ¡of ¡P Shortcuts ¡to ¡P

A ¡path ¡P ¡with ¡shortcuts, ¡join ¡and ¡fork ¡verHces ¡and ¡basic ¡path ¡components ¡

Q’ ¡ Q ¡ Shortcut ¡Q’ ¡is ¡not ¡a ¡ minimal ¡shortcut ¡ B(Q) ¡-­‑Bypassed ¡vertex ¡ set ¡of ¡a ¡shortcut ¡Q ¡

P-­‑shortcut, ¡minimal ¡shortcut, ¡bypassed ¡vertex ¡ set

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 6 ¡

slide-7
SLIDE 7

Defini.ons

Given ¡a ¡path ¡P, ¡a ¡subpath ¡of ¡P ¡is ¡a ¡Basic ¡Path ¡Component ¡(BPC) ¡if ¡it ¡is ¡a ¡ least ¡cost ¡path ¡connecHng ¡its ¡endpoints, ¡or ¡a ¡single ¡non-­‑least-­‑cost ¡

  • edge. ¡

A ¡path ¡spli9ng ¡of ¡P ¡ ¡is ¡a ¡parHHon ¡of ¡P ¡into ¡subpaths ¡which ¡are ¡BPC’s. ¡ A ¡vertex ¡separaHng ¡two ¡consecuHve ¡BPC’s ¡is ¡a ¡splitVertex. ¡ Lemma: ¡If ¡Q ¡is ¡a ¡shortcut ¡of ¡P, ¡any ¡path ¡spli^ng ¡of ¡P ¡will ¡contain ¡at ¡ least ¡one ¡vertex ¡in ¡B(Q) ¡as ¡a ¡splitVertex. ¡ Corollary: ¡A ¡minimum ¡path ¡spli^ng ¡of ¡P ¡is ¡obtained ¡by ¡a ¡minimum ¡set ¡

  • f ¡splitVerHces ¡which ¡meet ¡B(Q) ¡for ¡all ¡shortcuts ¡Q. ¡ ¡

¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 7 ¡

slide-8
SLIDE 8

1 3

j s

v v =

3 1

f s

v v =

4

f

v v

l

v

2

j

v

2

f

v

3

j

v

4

j

v

4

s

v

3

s

v

2

s

v

1

f

v

4

s

v

2

s

v

1

s

v

SplitVertex Fork ¡vertex Join ¡vertex Edges ¡of ¡P Shortcuts ¡to ¡P

A ¡path ¡P ¡with ¡shortcuts, ¡join ¡and ¡fork ¡verHces ¡and ¡basic ¡path ¡components ¡

Finding ¡a ¡par..on ¡of ¡P ¡into ¡a ¡minimum ¡ number ¡of ¡BPC’s

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 8 ¡

slide-9
SLIDE 9

1 3

j s

v v =

4

f

v v

l

v

2

j

v

2

f

v

3

j

v

4

j

v

4

s

v

3

s

v

2

s

v

1

f

v

4

s

v

2

s

v

1

s

v

SplitVertex Fork ¡vertex Join ¡vertex Edges ¡of ¡P Shortcuts ¡to ¡P

A ¡path ¡P ¡with ¡shortcuts, ¡join ¡and ¡fork ¡verHces ¡and ¡basic ¡path ¡components ¡

Finding ¡a ¡par..on ¡of ¡P ¡into ¡a ¡minimum ¡ number ¡of ¡BPC’s

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 9 ¡

SplitVertex ¡Suits ¡

slide-10
SLIDE 10

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 10 ¡

slide-11
SLIDE 11

SplitVertex ¡Suites ¡near ¡the ¡city ¡center

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 11 ¡

slide-12
SLIDE 12

Hypothesis

  • In ¡uHlitarian ¡trips, ¡individuals ¡tend ¡to ¡construct ¡their ¡route ¡as ¡a ¡

concatenaHon ¡of ¡a ¡small ¡number ¡of ¡basic ¡path ¡components. ¡

  • Was ¡found ¡to ¡be ¡true. ¡ ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 12 ¡

slide-13
SLIDE 13

Is ¡this ¡algorithm ¡sufficient ¡for ¡finding ¡all ¡shortcuts? ¡ For ¡finding ¡all ¡possible ¡minimum ¡path ¡spliOngs?

Not ¡really ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 13 ¡

slide-14
SLIDE 14

A ¡path ¡P ¡with ¡an ¡“invisible” ¡shortcut ¡v5 ¡-­‑>V8

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 14 ¡

slide-15
SLIDE 15

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Finding ¡the ¡minimum ¡number ¡of ¡BPC’s ¡and ¡the ¡splitVertex ¡Suits ¡is ¡not ¡

enough ¡to ¡enumerate ¡all ¡parHHons ¡into ¡BPC’s. ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 15 ¡

slide-16
SLIDE 16

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Stage ¡1: ¡Finding ¡the ¡endpoints ¡of ¡all ¡minimal ¡shortcuts ¡
  • Stage ¡2: ¡Defining ¡the ¡intervals ¡and ¡the ¡proper ¡interval ¡graph ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 16 ¡

slide-17
SLIDE 17

Stage ¡1 ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 17 ¡

Stage ¡2 ¡

Bypassed ¡vertex ¡set ¡of ¡ a ¡shortcut ¡

slide-18
SLIDE 18

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Stage ¡1: ¡Finding ¡the ¡endpoints ¡of ¡all ¡minimal ¡shortcuts ¡
  • Stage ¡2: ¡Defining ¡the ¡intervals ¡and ¡the ¡proper ¡integral ¡graph ¡
  • Stage ¡3: ¡EnumeraHng ¡relevant ¡cliques ¡

¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 18 ¡

slide-19
SLIDE 19

Stage ¡3: ¡Enumera.ng ¡ relevant ¡cliques ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 19 ¡

slide-20
SLIDE 20

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Stage ¡1: ¡Finding ¡the ¡endpoints ¡of ¡all ¡minimal ¡shortcuts ¡
  • Stage ¡2: ¡Defining ¡the ¡intervals ¡and ¡the ¡proper ¡integral ¡graph ¡
  • Stage ¡3: ¡EnumeraHng ¡relevant ¡cliques ¡
  • Stage ¡4: ¡ConstrucHng ¡the ¡directed ¡clique ¡graph: ¡

¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 20 ¡

slide-21
SLIDE 21

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Stage ¡1: ¡Finding ¡the ¡endpoints ¡of ¡all ¡minimal ¡shortcuts ¡
  • Stage ¡2: ¡Defining ¡the ¡intervals ¡and ¡the ¡proper ¡integral ¡graph ¡
  • Stage ¡3: ¡EnumeraHng ¡relevant ¡cliques ¡
  • Stage ¡4: ¡ConstrucHng ¡the ¡directed ¡clique ¡graph ¡Gc: ¡

If ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡there ¡is ¡an ¡edge ¡from ¡Ci ¡ ¡to ¡Ci ¡ if ¡and ¡only ¡if ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 21 ¡

Ci = {Ii, Ii+1,..., Ii+k} Cj = {I j, I j+1,..., I j+t} i < j ≤ i+ k +1 i+ k < j +t

slide-22
SLIDE 22

Stage ¡3: ¡Enumera.ng ¡ relevant ¡cliques ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 22 ¡

ab ¡ a ¡ abc ¡ bc ¡ cde ¡ bcd ¡ de ¡ bcde ¡ fg ¡ efg ¡ e ¡ ef ¡ g ¡

Stage ¡4: ¡Construc.ng ¡the ¡ directed ¡clique ¡graph

slide-23
SLIDE 23

How ¡do ¡we ¡enumerate ¡all ¡possible ¡minimum ¡ par..ons ¡into ¡BPC’s?

  • Stage ¡1: ¡Finding ¡the ¡endpoints ¡of ¡all ¡minimal ¡shortcuts ¡
  • Stage ¡2: ¡Defining ¡the ¡intervals ¡and ¡the ¡proper ¡integral ¡graph ¡
  • Stage ¡3: ¡EnumeraHng ¡relevant ¡cliques ¡
  • Stage ¡4: ¡ConstrucHng ¡the ¡directed ¡clique ¡graph ¡Gc: ¡

If ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡there ¡is ¡an ¡edge ¡from ¡Ci ¡ ¡to ¡Ci ¡ if ¡and ¡only ¡if ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡ ¡

  • Stage ¡5: ¡EnumeraHng ¡all ¡shortest ¡source-­‑sink ¡paths ¡in ¡ ¡Gc ¡

¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 23 ¡

Ci = {Ii, Ii+1,..., Ii+k} Cj = {I j, I j+1,..., I j+t} i < j ≤ i+ k +1 i+ k < j +t

slide-24
SLIDE 24

Stage ¡5: ¡Enumera.ng ¡all ¡shortest ¡source-­‑sink ¡ paths ¡in ¡Gc

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 24 ¡

ab ¡ a ¡ abc ¡ bc ¡ cde ¡ bcd ¡ de ¡ bcde ¡ fg ¡ efg ¡ e ¡ ef ¡ g ¡ ab ¡ a ¡ abc ¡ bc ¡ cde ¡ bcd ¡ de ¡ bcde ¡ fg ¡ efg ¡ e ¡ ef ¡ g ¡ 1 1 2 2 2 1 5 3 7

slide-25
SLIDE 25

Examples ¡of ¡minimum ¡clique ¡covers ¡(4 ¡out ¡

  • f ¡15)

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 25 ¡

slide-26
SLIDE 26

Enumera.ng ¡minimum ¡path ¡decomposi.ons

  • If ¡Ci,j ¡ ¡denotes ¡the ¡clique ¡containing ¡intervals ¡ ¡ ¡
  • Let ¡K( ¡Ci,j) ¡ ¡-­‑ ¡denote ¡the ¡set ¡of ¡bypassed ¡verHces ¡belonging ¡to ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡and ¡not ¡to ¡any ¡other ¡intervals. ¡

  • The ¡number ¡of ¡minimum ¡path ¡decomposiHons ¡is ¡: ¡

¡where ¡ ¡ ¡ ¡Pc ¡ ¡ ¡denotes ¡the ¡set ¡of ¡shortest ¡source-­‑sink ¡paths ¡in ¡Gc ¡ ¡ ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 26 ¡

Ii, Ii+1,..., Ii+j Ii, Ii+1,..., Ii+j

slide-27
SLIDE 27

Thank ¡you!

QuesHons? ¡

December ¡8, ¡2015 ¡ 27 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-28
SLIDE 28

Op.mal ¡ ¡Assignments ¡for ¡ Carpooling

(joint ¡work ¡with ¡A. ¡Abu ¡Dbai, ¡D. ¡Keren ¡(Univ. ¡of ¡Haifa) ¡and ¡L. ¡Knapen ¡(IMOB, ¡ Belgium) ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 28 ¡

slide-29
SLIDE 29

Why ¡carpool?

  • Reduces ¡the ¡number ¡of ¡cars ¡on ¡the ¡roads. ¡ ¡
  • Saves ¡Hme, ¡petrol, ¡traffic ¡congesHon, ¡noise, ¡air ¡polluHon, ¡parking ¡spaces, ¡

stress, ¡accidents. ¡

  • Encourages ¡sociability ¡

December ¡8, ¡2015 ¡ 29 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-30
SLIDE 30

Global ¡Carpooling ¡Matching ¡Service

  • An ¡automaHc ¡service ¡to ¡match ¡commuHng ¡trips ¡has ¡been ¡designed. ¡

Candidate ¡carpoolers ¡register ¡their ¡personal ¡profile ¡and ¡a ¡set ¡of ¡ periodically ¡recurring ¡trips. ¡ ¡

  • The ¡Global ¡Car ¡Pooling ¡Matching ¡Service ¡(GCPMS) ¡advises ¡registered ¡

candidates ¡how ¡to ¡combine ¡their ¡commuHng ¡trips ¡by ¡carpooling. ¡

  • The ¡potenHal ¡passenger ¡and ¡driver ¡negoHate ¡to ¡drive ¡together. ¡
  • Once ¡they ¡agree, ¡they ¡share ¡the ¡ride, ¡and ¡then ¡give ¡each ¡other ¡

feedback ¡which ¡is ¡used ¡in ¡the ¡next ¡round ¡of ¡the ¡GCPMS. ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 30 ¡

slide-31
SLIDE 31

Defining ¡the ¡Graph ¡Model

31 ¡

passenger x y Wxy C(y) Owner ¡of ¡vehicle ¡ (driver)

Wxy ¡takes ¡into ¡account ¡the ¡

  • rigins ¡ ¡and ¡desHnaHons ¡ ¡

¡of ¡x ¡and ¡y, ¡the ¡Hme ¡of ¡ departure ¡ ¡and ¡arrival, ¡maximal ¡ detour ¡distance, ¡Hme ¡flexibility, ¡ profiles ¡of ¡passenger ¡and ¡ potenHal ¡driver, ¡and ¡negoHaHon ¡

  • feedback. ¡

C(y) ¡is ¡the ¡capacity ¡of ¡the ¡car ¡– ¡ how ¡many ¡people ¡it ¡can ¡ ¡ contain ¡in ¡addiHon ¡to ¡the ¡driver.

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-32
SLIDE 32

The ¡problem ¡-­‑ ¡informal ¡ descrip.on

  • Given: ¡
  • ¡a ¡set ¡of ¡trips ¡(Periodic ¡Trip ¡ExecuHons), ¡ ¡
  • some ¡owners ¡of ¡trips ¡own ¡a ¡car, ¡and ¡some ¡don’t, ¡ ¡
  • compaHbility ¡measure ¡(wxy) ¡of ¡x ¡riding ¡in ¡the ¡ ¡car ¡owned ¡by ¡y ¡, ¡ ¡
  • capacity ¡of ¡every ¡car ¡, ¡
  • Can ¡we ¡match ¡between ¡people ¡so ¡as ¡to ¡minimize ¡the ¡number ¡of ¡cars, ¡

and ¡maximize ¡the ¡total ¡compaHbility ¡between ¡passengers ¡and ¡ drivers? ¡ ¡

December ¡8, ¡2015 ¡ 32 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-33
SLIDE 33

General ¡Problem ¡– ¡Formal ¡ descrip.on

¡ ¡

  • DefiniHons: ¡A ¡directed ¡star, ¡

¡ ¡ ¡ ¡ ¡ ¡A ¡Star ¡ParHHon ¡– ¡is ¡a ¡covering ¡of ¡V ¡by ¡ ¡ ¡ ¡ ¡ ¡disjoint ¡directed ¡stars. ¡ ¡ ¡ ¡ ¡Feasible ¡Star ¡ParHHon ¡is ¡a ¡star ¡parHHon ¡where ¡ ¡ ¡ ¡ ¡each ¡star ¡with ¡root ¡ ¡r ¡is ¡of ¡in-­‑degree ¡at ¡most ¡c(r). ¡ Problem ¡formulaHon: ¡ Given ¡G=(V,E), ¡c:V ¡-­‑> ¡N, ¡w:E ¡-­‑> ¡(0,1), ¡D:V ¡-­‑>{T,F} ¡ ¡ find ¡a ¡feasible ¡star ¡parHHon ¡of ¡V(G) ¡such ¡that ¡sum ¡of ¡the ¡ weights ¡of ¡all ¡the ¡edges ¡in ¡the ¡stars ¡is ¡maximized. ¡

33 ¡

c(r)=4 ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-34
SLIDE 34

General ¡Problem-­‑example

21/05/13 ¡ 34 ¡ WP5 ¡DATAsim ¡Piraeus, ¡May, ¡2013 ¡

slide-35
SLIDE 35

What ¡do ¡we ¡know ¡about ¡the ¡ general ¡problem?

There ¡are ¡8 ¡possible ¡scenarios, ¡depending ¡on ¡these ¡3 ¡quesHons: ¡

  • Capacity ¡0/1 ¡or ¡general? ¡
  • Capacity ¡0/1 ¡is ¡a ¡matching ¡problem. ¡– ¡there ¡exist ¡efficient ¡algorithms ¡
  • General ¡capacity ¡is ¡a ¡star ¡parHHon ¡problem-­‑ ¡Intractable ¡problem ¡
  • Edge ¡weights ¡0/1 ¡or ¡(0,1)? ¡
  • 0/1 ¡edge ¡weights ¡is ¡an ¡un-­‑weighted ¡graph. ¡ ¡
  • (0,1) ¡edge ¡weights ¡corresponds ¡to ¡a ¡weighted ¡graph ¡
  • Drivers ¡are ¡a-­‑priori ¡determined/undetermined? ¡
  • If ¡the ¡drivers ¡are ¡predetermined, ¡the ¡graph ¡is ¡biparHte. ¡(edges ¡among ¡passengers, ¡or ¡

among ¡drivers ¡are ¡irrelevant). ¡

  • If ¡the ¡drivers ¡are ¡not ¡known, ¡the ¡graph ¡is ¡general. ¡Intractable ¡problem ¡

December ¡8, ¡2015 ¡ 35 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-36
SLIDE 36

Summary ¡of ¡all ¡possible ¡scenarios

Unknown ¡Drivers Known ¡Drivers Max ¡matching ¡in ¡general ¡graphs Max ¡biparHte ¡matching 0/1 ¡capacity NP-­‑hard ¡(even ¡for ¡capacity ¡1) Can ¡be ¡reduced ¡to ¡max ¡biparHte ¡ matching General ¡Capacity

23/09/2013 ¡ 36 ¡

Unknown ¡Drivers Known ¡Drivers Max ¡weight ¡matching ¡in ¡general ¡ graphs Max ¡weighted ¡biparHte ¡ ¡matching ¡ (assignment ¡Pb) 0/1 ¡capacity NP-­‑hard ¡(even ¡for ¡capacity ¡1) Can ¡be ¡reduced ¡to ¡max ¡weighted ¡ biparHte ¡ ¡matching ¡ ¡ General ¡Capacity 0/1 ¡edge ¡weights General ¡edge ¡weights

slide-37
SLIDE 37

Proof ¡of ¡NP-­‑completeness ¡

Claim ¡1: ¡When ¡the ¡drivers ¡are ¡unknown, ¡and ¡ ¡the ¡edge ¡weights ¡are ¡0/1 ¡ the ¡problem ¡is ¡NP-­‑hard. ¡ Proof: ¡ReducHon ¡from ¡the ¡Minimum ¡DominaHng ¡Set ¡Problem. ¡ ¡ ¡ ¡ ¡ ¡

23/09/2013 ¡ 37 ¡

C(v)=max-­‑degree G

slide-38
SLIDE 38

Proof ¡of ¡NP-­‑completeness ¡

Claim ¡2: ¡When ¡the ¡drivers ¡are ¡unknown, ¡the ¡edge ¡weights ¡are ¡0/1 ¡and ¡ c(v) ¡≤ ¡2 ¡the ¡problem ¡is ¡NP-­‑hard. ¡ Proof: ¡ReducHon ¡from ¡the ¡problem ¡of ¡parHHoning ¡into ¡paths ¡of ¡length ¡

  • two. ¡

23/09/2013 ¡ 38 ¡

slide-39
SLIDE 39

Challenges

  • Scalability: ¡When ¡the ¡capacity ¡of ¡each ¡car ¡is ¡2 ¡(including ¡driver), ¡

exisHng ¡algorithms ¡are ¡too ¡slow ¡when ¡the ¡input ¡data ¡is ¡large ¡i.e. ¡ hundreds ¡of ¡thousands ¡or ¡millions ¡of ¡trips. ¡

  • Need ¡to ¡find ¡quick ¡and ¡efficient ¡algorithms, ¡or ¡heurisHcs. ¡
  • Need ¡to ¡find ¡quick ¡algorithms ¡when ¡a ¡ ¡small ¡part ¡of ¡the ¡input ¡data ¡

changes ¡– ¡“Incremental ¡Algorithms” ¡

  • Need ¡to ¡be ¡able ¡to ¡measure ¡how ¡good ¡our ¡heurisHc ¡algorithms ¡are. ¡ ¡

39 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-40
SLIDE 40

Our ¡progress ¡when ¡the ¡capacity ¡= ¡1 ¡ and ¡the ¡drivers ¡are ¡known

  • Implemented ¡an ¡algorithm ¡that ¡finds ¡opHmal ¡soluHon ¡(K-­‑M ¡alg.) ¡
  • Ran ¡the ¡algorithm ¡on ¡graphs ¡with ¡100,000 ¡verHces ¡
  • Implemented ¡quick ¡ ¡efficient ¡incremental ¡algorithms ¡
  • Implemented ¡a ¡very ¡quick ¡“greedy ¡algorithm” ¡and ¡got ¡excellent ¡

results ¡compared ¡to ¡the ¡opHmal ¡alg. ¡

40 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-41
SLIDE 41

Execu.on ¡II ¡– ¡10K ¡x ¡10K ¡bipar.te ¡graphs ¡

41 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-42
SLIDE 42

Execu.on ¡III ¡– ¡100K ¡x ¡100K ¡bipar.te ¡graphs ¡

42 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-43
SLIDE 43

Performance ¡of ¡the ¡Greedy ¡Algorithm ¡ for ¡bipar.te ¡matching

0.958 0.96 0.962 0.964 0.966 0.968 0.97 0.972 0.974 0.976 0.978 50 100 150 Accuracy (Greedy/K-M) Number of graphs Accuracy Histogram

December ¡8, ¡2015 ¡ 43 ¡

1000 ¡graphs, ¡each ¡of ¡size ¡ 500x500 ¡and ¡10% ¡edge ¡ density

Good ¡ news!!!

Shanghai ¡Jiao ¡Tong ¡University ¡

Surprizing ¡ news? ¡

slide-44
SLIDE 44

Heuris.cs ¡for ¡the ¡general ¡ problem

Challenges: ¡NP-­‑hard ¡problem ¡for ¡c ¡>1 ¡: ¡we ¡need ¡to ¡find ¡efficient ¡heurisHcs; ¡how ¡do ¡ we ¡know ¡how ¡good ¡is ¡our ¡heurisHcs? ¡Find ¡good ¡upper ¡bounds ¡to ¡the ¡problem. ¡

December ¡8, ¡2015 ¡ 44 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-45
SLIDE 45

Basic, ¡greedy ¡heuris.cs ¡for ¡the ¡ general ¡carpooling ¡problem

Given ¡G=(V,E), ¡c:V ¡-­‑> ¡N, ¡w:E ¡-­‑> ¡(0,1) ¡and ¡a ¡subset ¡D ¡of ¡V ¡consisHng ¡of ¡ potenHal ¡drivers. ¡ ¡ Take ¡heaviest ¡edge ¡as ¡long ¡as ¡it ¡does ¡not ¡violate ¡the ¡star ¡family

December ¡8, ¡2015 ¡ 45 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-46
SLIDE 46

Other ¡heuris.cs ¡in ¡a ¡nutshell

  • “Buckets” ¡– ¡a ¡linear ¡algorithm ¡using ¡bucket-­‑ ¡sort ¡
  • “Heaviest ¡driver ¡V1,V2,V3” ¡– ¡give ¡weights ¡to ¡the ¡potenHal ¡drivers, ¡and ¡

fill-­‑in ¡their ¡cars ¡according ¡to ¡their ¡weights. ¡

  • “Transformed ¡Greedy” ¡– ¡readjust ¡the ¡edge ¡weights ¡by ¡their ¡potenHal ¡

to ¡benefit ¡both ¡the ¡driver ¡and ¡passenger, ¡and ¡then ¡use ¡the ¡“greedy ¡ algorithm”. ¡

December ¡8, ¡2015 ¡ 46 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-47
SLIDE 47

Compu.ng ¡upper ¡bounds

To ¡the ¡general ¡problem ¡

47 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-48
SLIDE 48

Naïve ¡upper ¡bound

  • Find ¡the ¡maximum ¡number ¡of ¡passengers ¡that ¡can ¡fit ¡in ¡a ¡minimum ¡

number ¡of ¡cars. ¡(say ¡p) ¡

  • Add ¡up ¡the ¡top ¡p ¡weighted ¡edges. ¡

48 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-49
SLIDE 49

Another ¡upper ¡bound

  • Ignore ¡edge ¡direcHons. ¡Ignore ¡capaciHes. ¡Find ¡maximum ¡weight ¡

spanning ¡tree ¡(MST) ¡

49 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-50
SLIDE 50

Another ¡upper ¡bound

  • Ignore ¡edge ¡direcHons. ¡Ignore ¡capaciHes. ¡Find ¡maximum ¡weight ¡

spanning ¡tree ¡(MST) ¡

50 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-51
SLIDE 51

A ¡beeer ¡upper ¡bound

  • EsHmate ¡the ¡minimum ¡number ¡of ¡cars ¡needed ¡to ¡carry ¡all ¡the ¡
  • passengers. ¡(say ¡k-­‑ ¡lower ¡bound) ¡
  • Take ¡a ¡maximum ¡weight ¡spanning ¡forest, ¡containing ¡n-­‑k ¡edges. ¡

51 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-52
SLIDE 52

Another ¡good ¡upper ¡bound

  • Solve ¡the ¡LP ¡by ¡an ¡LP ¡solver. ¡(ignoring ¡the ¡integrality ¡constraints) ¡

52 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-53
SLIDE 53

How ¡do ¡we ¡compare ¡to ¡an ¡

  • p.mal ¡solu.on ¡

if ¡we ¡cannot ¡compute ¡the ¡opHmal ¡soluHon? ¡ ¡

53 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-54
SLIDE 54

Three ¡approaches

  • Assume ¡c=5, ¡w=1. ¡“Plant” ¡an ¡opHmal ¡soluHon, ¡and ¡

“hide” ¡it. ¡See ¡if ¡the ¡heurisHcs ¡finds ¡it. ¡

  • Compare ¡in ¡the ¡case ¡that ¡c=1 ¡(opHmal ¡soluHon ¡can ¡be ¡

computed) ¡

  • Compute ¡esHmated ¡upper ¡bounds ¡to ¡opHmal ¡soluHon, ¡

and ¡compare ¡to ¡the ¡best ¡(lowest) ¡upper ¡bound. ¡

54 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-55
SLIDE 55

“plant” ¡an ¡op.mal ¡solu.on

55 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-56
SLIDE 56

Add ¡edges ¡to ¡“hide” ¡it

56 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-57
SLIDE 57

Comparison ¡with ¡a ¡known ¡op.mal ¡ solu.on ¡(c=5)

57 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-58
SLIDE 58

Comparing ¡to ¡op.mal ¡solu.ons ¡ for ¡c=2

December ¡8, ¡2015 ¡ 58 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-59
SLIDE 59

Data ¡genera3on ¡

  • We ¡generated ¡100 ¡random ¡weighted ¡scale-­‑free ¡graphs: ¡5 ¡files ¡x ¡20 ¡

graphs, ¡each ¡of ¡size ¡1000 ¡verHces.

  • All ¡verHces ¡are ¡potenHal ¡driver ¡with ¡random ¡capacity ¡between ¡2 ¡and ¡
  • 5. ¡ ¡
  • Each ¡file ¡(20 ¡graphs) ¡has ¡an ¡average ¡degree ¡[20, ¡25, ¡…, ¡40]. ¡ ¡
  • The ¡weights ¡are ¡uniform ¡random ¡values ¡between ¡0.5 ¡and ¡1. ¡ ¡
  • The ¡opHmal ¡value ¡was ¡bounded ¡from ¡above ¡by ¡the ¡LP ¡bound ¡solved ¡

using ¡CVX. ¡

59 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-60
SLIDE 60

Comparing ¡the ¡heuris.cs ¡on ¡ scale-­‑free ¡networks

December ¡8, ¡2015 ¡ 60 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-61
SLIDE 61

Upper ¡bound ¡compared ¡to ¡

  • p.mal ¡solu.on

61 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-62
SLIDE 62

Open ¡Problems

  • Find ¡good ¡approximaHon ¡algorithms ¡for ¡the ¡general ¡star ¡parHHon ¡
  • problem. ¡
  • Prove ¡why ¡the ¡greedy ¡matching ¡algorithm ¡performs ¡so ¡well ¡on ¡the ¡

average ¡case? ¡

  • Find ¡a ¡beyer ¡model ¡for ¡the ¡problem ¡of ¡minimizing ¡the ¡number ¡of ¡cars ¡
  • n ¡the ¡road? ¡(The ¡star ¡parHHon ¡model ¡has ¡limitaHons) ¡

December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡ 62 ¡

slide-63
SLIDE 63

Experiments ¡on ¡real ¡data

  • We ¡used ¡the ¡syntheHc ¡data ¡generated ¡using ¡the ¡FEATHERS ¡acHvity ¡

based ¡model ¡that ¡predicts ¡the ¡daily ¡schedule ¡of ¡commuters ¡in ¡ Flanders, ¡Belgium. ¡ ¡

  • The ¡range ¡of ¡the ¡edge ¡weights ¡is ¡[0.8, ¡1.0]. ¡ ¡
  • The ¡data ¡contains ¡222947 ¡verHces ¡and ¡10104372 ¡weighted ¡edges ¡
  • Average ¡degree ¡is ¡45.3219 ¡and ¡the ¡density ¡of ¡edges ¡(compared ¡to ¡

complete ¡graph) ¡is ¡0.000203286. ¡ ¡

  • The ¡number ¡of ¡potenHal ¡drivers ¡is ¡220459 ¡(98.89%), ¡and ¡the ¡number ¡
  • f ¡potenHal ¡passengers ¡is ¡51258 ¡(22.99%) ¡ ¡

63 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-64
SLIDE 64

Comparing ¡the ¡heuris.cs ¡to ¡ es.mated ¡upper ¡bounds

64 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-65
SLIDE 65

Conclusions

  • If ¡we ¡know ¡in ¡advance ¡who ¡are ¡the ¡car ¡drivers ¡and ¡who ¡are ¡the ¡

potenHal ¡passengers, ¡matching ¡passengers ¡to ¡cars, ¡even ¡more ¡than ¡

  • ne ¡person ¡per ¡car, ¡is ¡feasible, ¡quick, ¡with ¡very ¡good ¡results. ¡ ¡
  • Matching ¡passengers ¡to ¡drivers, ¡one ¡per ¡car, ¡can ¡be ¡done ¡efficiently ¡

even ¡when ¡we ¡do ¡not ¡know ¡in ¡advance ¡who ¡are ¡the ¡drivers. ¡ ¡

  • We ¡have ¡devised ¡and ¡implemented ¡6 ¡different ¡heurisHcs ¡for ¡the ¡

general ¡problem ¡on ¡real ¡data, ¡and ¡several ¡upper ¡bounds. ¡

  • We ¡compared ¡between ¡the ¡heurisHcs ¡in ¡terms ¡of ¡running ¡Hme ¡and ¡

performance ¡relaHve ¡to ¡upper ¡bounds; ¡Beyer ¡than ¡90% ¡accuracy ¡was ¡

  • btained. ¡

65 ¡ December ¡8, ¡2015 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡

slide-66
SLIDE 66

Thank ¡you!

QuesHons? ¡

December ¡8, ¡2015 ¡ 66 ¡ Shanghai ¡Jiao ¡Tong ¡University ¡