Algorithme bidirectionnel pour le plus court chemin multimodal - - PowerPoint PPT Presentation

algorithme bidirectionnel pour le plus court chemin
SMART_READER_LITE
LIVE PREVIEW

Algorithme bidirectionnel pour le plus court chemin multimodal - - PowerPoint PPT Presentation

Algorithme bidirectionnel pour le plus court chemin multimodal bi-objectif contraint par un langage rgulier Christian Artigues 1 Marie-Jos Huguet 1 Sandra Ulrich Ngueveu 1 Dominik Kirchler 2 , 3 , 4 Roberto Wolfler Calvo 3 1 LAAS - CNRS &


slide-1
SLIDE 1

Algorithme bidirectionnel pour le plus court chemin multimodal bi-objectif contraint par un langage régulier

Christian Artigues1 Marie-José Huguet 1 Sandra Ulrich Ngueveu1 Dominik Kirchler 2,3,4 Roberto Wolfler Calvo3

1LAAS - CNRS & Université de Toulouse, France 2LIX, Ecole Polytechnique 3 LIPN, Université Paris 13 4 Mediamobile, Ivry sur Seine

{artigues,huguet,ngueveu}@laas.fr, kirchler@lix.polytechnique.fr, roberto.wolfler@lipn.univ-paris13.fr

ROADEF 2012 - Angers

1/38

slide-2
SLIDE 2

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

2/38

slide-3
SLIDE 3

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

3/38

slide-4
SLIDE 4

Our Goal

◮ Find exact shortest path (two

  • bjectives: time and mode changes)

...

◮ ... by using car, bike, rental bike,

public transport, walking

◮ ... respecting constraints/preferences

(viability, e.g. private bike)

◮ ... and considering traffic conditions,

time-tables.

◮ Speed-up techniques

4/38

slide-5
SLIDE 5

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

5/38

slide-6
SLIDE 6

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

6/38

slide-7
SLIDE 7

Multimodal transportation network

◮ Multi-Layer

Graph

◮ G = (V, A) ◮ transfer arcs

7/38

slide-8
SLIDE 8

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

8/38

slide-9
SLIDE 9

Bi-objective Regular Language Constrained Shortest Path Problem

BI-RegL-CSPP

◮ GΣ = (V, A), nodes v ∈ V, arcs (i, j, l) ∈ A, i, j ∈ V ◮ labels l ∈ Σ = {l1, l2, . . . } assigned to arcs (representing modes) ◮ restrictions/preferences modelled by regular language L0 : concatenated

labels on SP ∈ L0

◮ objective: min total cost (travel time) AND number of mode changes

(transfers)

◮ Single obj. variant effic. solvable by a generalisation of Dijkstra’s

algorithm DRegLC

s0 s2 s1 s3 s4 t f t t p t f b ftv

f foot t transfer b bike p public transportation v rental bike (velib)

◮ Barrett et al. Formal-language-constrained path problems, 2000 ◮ Barrett et al. Engineering Label-Constrained SP Algorithms, 2008 ◮ Lozano, Storchi Shortest viable path algorithm in multimodal networks, 2001

9/38

slide-10
SLIDE 10

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

10/38

slide-11
SLIDE 11

BI-RegL-CSPP Example

x1 x4 x5 x6 x7 x2 x3

4 4 5 3 1 1 1 1 1 1 1 1

(a) multi-modal network

s0 s1 s2

s w, b s w, b w, b (b) NFA for mode scenario M2 = {w, b, s}

Figure: a BI-REGL-CSPP with 7 nodes, 12 arcs, 3 modes and a 3 state-NFA

path (x1, x4, x5): 0 transfer, travel time 8, path (x1, x6, x7, x5): 2 transfers, travel time 5 path (x1, x2, x4, x3, x5): 4 transfers, travel time 4 path (x1, x6, x4, x7, x5): infeasible

11/38

slide-12
SLIDE 12

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

12/38

slide-13
SLIDE 13

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

13/38

slide-14
SLIDE 14

Extending Dijkstra algorithm: Labels and dominance rules

Labels

◮ Label (i, s, k)

◮ tk

is arrival time on i in state s with k transfers

◮ pk

is predecessor of (i, s, k) on the shortest path from O to i. ◮ Only one label (i, s, k) must be kept (Bellman condition)

BI-RegL-CSPP is polynomial Pareto dominance

◮ Discard any label (i, s, k) such that there exists an already visited label

(i, s, k ′) with k ′ ≤ k and tk′

js ≤ tk js

State-based dominance rule

◮ Lozano and Storchi 2001 proposed the concept of preference between

states aiming at discarding a label (i, s, k) with a label (i, s′, k ′) with s = s′ but some issued were detected

◮ The application causes implementation issues (need of knowing the set of

modes taken in a partial path represented by a label)

◮ Dominated labels may be not discarded (a label is discarded only if it is

dominated by all its preferred labels)

◮ The theorem only applies to the automaton used in Lozano and Storchi 2001 14/38

slide-15
SLIDE 15

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

15/38

slide-16
SLIDE 16

State-based dominance: example

A preorder on the automaton states S

◮ s s′ if δ(m, m′, s′) ⊆ δ(m, m′, s) for any transition (m, m′) in the

automaton. State-based dominance rule

◮ A label (i, s′, k ′) such that there is another label (i, s, k) with tisk ≤ ti,s′k′,

k ≤ k ′ and s s′ can be discarded

16/38

slide-17
SLIDE 17

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

17/38

slide-18
SLIDE 18

State-based dominance: example

x1 x4 x5 x6 x7 x2 x3

4 4 5 3 1 1 1 1 1 1 1 1

(a) Simple multimodal nework

s0 s1 s2

s w, b s w, b w, b (b) 3-state NFA

s0 s1 s2 w, w id ∅ id w, b id ∅ id w, s s1 ∅ ∅ b, b id ∅ id b, w id ∅ id s, s ∅ id ∅ s, w ∅ s2 ∅

(c) Function δf

◮ s0 s2 but s2 s0. ◮ (x1, x6, x4) (k ′=2, t′=2, s′=2) is dominated by (x1, x2, x4) (k=2, t=2, s=0)

18/38

slide-19
SLIDE 19

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

19/38

slide-20
SLIDE 20

A bidirectional algorithm

Forward and backward labels

◮ Forward labels (issued from O) are stored in a set of priority queues Qf

such that Qf

k ∈ Qf stores labels with exactly k transfers. ◮ Backward labels (issued from D) are stored in a set of priority queues Qb

such that Qb

k ∈ Qb stores labels with exactly k transfers.

Backward path viability

◮ Backward automaton can be obtained by reversing the automaton

Connection of a forward and a backward label

◮ State compatibility theorem Forward state sf x and backward state sb y are

compatible if sf

x sf y in the forward automaton or if sb y sb x in the

backward automaton.

◮ Connection condition If a label (if, h, sf) and a label (ib, q, sb) such that

state sf is compatible with state sb and fth

i,sf + btq i,sb ≤

min

(i′,s′,k′)∈FQ ftk′ i′,s′ +

min

(i′,s′,k′)∈BQ btk′ i′,s′

all priority queues FQk′ and BQk′ with k ′ ≥ h + q can be discarded

20/38

slide-21
SLIDE 21

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

21/38

slide-22
SLIDE 22

Computational experiments: compared algorithms and data

Compared agorithm

◮ The bidirectional algorithm, the unidirectional variant with multiple

queues, the topological unidirectional variant (see Pallottino and Scutellà 1998 & Lozano and Storchi 2001), basic A* variants (only for unidirectional algorithms) Data instances

◮ Toulouse urban area network 63 048 nodes and 159 368 arcs. ◮ Mode set {w, b, c, s} (walking, bus, private car, subway) ◮ Three different mode scenarios/automaton M1 = {w, b} (walk and bus),

M2 = {w, b, s} (walk, bus and subway) and M3 = {w, b, c, s} (all modes)

22/38

slide-23
SLIDE 23

Computational experiments: results

Mode scenario M1 = {w, b}, no NFA

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ FB-­‑MQLS-­‑ND ¡ TLS-­‑A* ¡ MQLS-­‑A* ¡ TLS ¡ MQLS ¡ Basic ¡dom ¡

  • Bell. ¡cond ¡

Mode scenario M2 = {w, b, s}, 3 state-NFA

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 350 ¡ 400 ¡ FB-­‑MQLS-­‑D ¡FB-­‑MQLS-­‑ND ¡ TLS-­‑A* ¡ MQLS-­‑A* ¡ TLS ¡ MQLS ¡ State ¡dom ¡ Basic ¡dom ¡

  • Bell. ¡cond ¡

Mode scenario M3 = {w, b, c, s}, 4 state-NFA

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 350 ¡ 400 ¡ 450 ¡ FB-­‑MQLS-­‑D ¡ FB-­‑MQLS-­‑ND ¡ TLS-­‑SD-­‑A* ¡ MQLS-­‑SD-­‑A* ¡ TLS-­‑A* ¡ MQLS-­‑A* ¡ TLS ¡ MQLS ¡ State ¡dom ¡ Basic ¡dom ¡

  • Bell. ¡cond ¡

Figure: Impact of dominance rules and algorithms on CPU time (ms) for different NFAs

23/38

slide-24
SLIDE 24

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

24/38

slide-25
SLIDE 25

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

25/38

slide-26
SLIDE 26

uniALT: Landmarks and triangle inequality

◮ G = (V, A), nodes v, w ∈ V, arcs (i, j) ∈ A, i, j ∈ V ◮ A∗ similar to Dijkstra but uses key k(v) = dr(v) + π(v) ◮ potential function π(v) is lower bound on distance to target ◮ uniALT uses landmarks L ⊂ V and triangle inequality to produce bounds

v ℓ t d(ℓ, v) d(ℓ, t) d(v, t) v ℓ t d(v, ℓ) d(t, ℓ) d(v, t)

◮ π(v) = maxℓ∈L(d(ℓ, t) − d(ℓ, v), d(v, ℓ) − d(t, ℓ)) ◮ Goldberg et al., Computing the SP: A∗ Search Meets Graph Theory, 2003 ◮ Delling, Nannicini Bidirectional A∗ Search for Time-Dependent Fast Paths, 2008

26/38

slide-27
SLIDE 27

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

27/38

slide-28
SLIDE 28

Structure

◮ SDALT = DRegLC + uniALT

constrained landmark dis- tances d′ landmarks L0 π(v, s) 4 strategies A∗-type algo. based on DRegLC r, t, τstart, L0 1) Preprocessing phase on labeled graph GΣ with

  • min. weight function

2) Query phase

  • n labeled graph GΣ

28/38

slide-29
SLIDE 29

Constrained Landmark Distances (1)

v ℓ t d′(ℓ, v, s), Lℓ→v

s

d′(ℓ, t, s), Lℓ→t

s

d′(v, t, s), Lv→t

s

v ℓ t d′(v, ℓ, s), Lv→ℓ

s

d′(t, ℓ, s), Lt→ℓ

s

d′(v, t, s), Lv→t

s

◮ d′(v, w, s): distance from v to w for state s constrained by Lv→w s ◮ Potential function:

π(v, s) = maxℓ∈L(d′(ℓ, t, s) − d′(ℓ, v, s), d′(v, ℓ, s) − d′(t, ℓ, s))

◮ How to go from L0 to Lℓ→t s

, Lℓ→v

s

, Lv→ℓ

s

,Lt→ℓ

s

?

◮ Answer:

◮ Proposition 1 For all s ∈ S, if the concatenation of Lℓ→v

s

and Lv→t

s

is included in Lℓ→t

s

then d′(ℓ, t, s) − d′(ℓ, v, s) is a lower bound for the distance d′(v, t, s).

◮ 4 methods: standard (no constraints), basic , advanced , specific ◮ today: only basic

29/38

slide-30
SLIDE 30

Constrained Landmark Distances (2)

basic

v ℓ t d′(ℓ, v, s), Lℓ→v

s

d′(ℓ, t, s), Lℓ→t

s

d′(v, t, s), Lv→t

s

v ℓ t d′(v, ℓ, s), Lv→ℓ

s

d′(t, ℓ, s), Lt→ℓ

s

d′(v, t, s), Lv→t

s

◮ Lℓ→v s

= Lℓ→t

s

= Lv→ℓ

s

= Lt→ℓ

s

= Lbas = {Σ∗

0} ◮ For landmark distance calculation: transportation modes used in L0. ◮ Works well if L0 excludes fast transportation modes.

◮ Example:

s0 s2 s1 s3 s4 t f t t p t f b ftv s0 fbtpv

30/38

slide-31
SLIDE 31

Outline

Introduction Problem definition Multi-Modal Transportation Network Bi-objective regular Language Constrained SPP Example State-based bidirectionnal algorithm for the time-independent BI-RegL-CSPP Extending dijkstra algorithm: Labels and pareto dominance A new state-based dominance rule Example of state-based dominance Bidirectional algorithm Computational experiments SDALT for the time-dependent BI-RegL-CSPP uniALT algorithm Our Contribution: SDALT Experiments

34/38

slide-32
SLIDE 32

Real World Data of Ile-de-France (France) (1)

◮ Cycle lanes and foot paths: Open Street Map ◮ Rental bikes stations: Velib (Paris) ◮ Streets: Mediamobile

◮ Road classes ◮ Traffic data

◮ Public transportation: Syndicat des Transports d’Ile-de-France (STIF)

◮ Tramway, metro, regional trains, bus, other ◮ Timetable information 35/38

slide-33
SLIDE 33

Real World Data of Ile-de-France (France) (2)

layer nodes arcs labels walking 275 606 751 144 f (all arcs except 20 arcs with label z) public transport 109 922 292 113 pb (bus, 72 512 arcs), pm (metro, 1 746), pr (tram, 1 746), pt (train, 8 309), pc (connection between stations, 32 490), pw (walking sta- tion intern, 176 790), time-dependent 82 833 private bike 250 206 583 186 b rental bike 38 097 83 928 v car 613 972 1 273 170 ctoll (toll roads, 3 784), cfast (fast roads, 16 502), cpav (paved roads except toll and fast roads, 1 212 957), cunpav (unpaved roads, 27 979), time-dependent 188 197 transfers

  • 1 107 457

t (walking↔private bike 493 601, walking↔rental bike 2 404, walking↔car 572 604, walking↔public transportation 38 848) tot 1 287 803 4 095 971 time-dependent arcs 271 030 (7 687 204 time points)

36/38

slide-34
SLIDE 34

Experimental Results

scenario algo runtime (s) settNo maxSett touchNo touchEd A dij 5,216 2 224 620 4 798 617 1 187 520 8 854 840 uniALT 4,651 1 873 530 4 670 779 1 142 180 7 501 210 bas 3,752 1 605 300 4 530 140 1 100 710 6 463 260 B dij 0,933 632 573 1 120 309 608 105 2 787 970 uniALT 1,067 588 338 1 094 769 585 884 2 602 330 bas 0,487 269 375 964 959 462 893 1 267 800 C dij 1,967 1 076 780 2 036 284 1 751 800 4 298 790 uniALT 1,287 558 127 1 496 067 1 568 580 2 485 020 bas 1,157 538 138 1 348 593 1 565 660 2 414 710 s0 s2 s1 s3 s4 t f t t p t f b ftv s0 s2 s1 t t f b f s0 s1 s2 s3 s4 s5 f t t t t pc t t t t pbptpw pbptpw b cfastcpav fvt

In order: scenarios A, B, C Note: 50 runs, preprocessing space 350 MB, labels pbpmprptpw have been substituted by p and ctollcfastcpav by c.

37/38