Carpooling: the 2 Synchronization Points Shortest Paths Problem Arthur Bit-Monnot Christian Artigues Marie-Jos´ e Huguet Marc-Olivier Killijian September 5, 2013 1 of 20
Carpooling Two users: • a passenger • a driver With their own origin and destination Goal Find paths minimizing the travel time Including: • pick-up point • drop-off point 2 of 20
Outline Shortest Paths: pre-requisites Solving our carpooling problem Experiments Conclusion 3 of 20
Multi-modal graph • Mixed car, foot and public transportation edges • FIFO • Public transportation → time-dependent 4 of 20
Shortest Path Problem Dijkstra Shortest Path from one node to all (One-to-All) Properties • Nodes are settled only once • Nodes are settled with increasing cost • Time-independent: backward search (All-to-One) 5 of 20
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival 6 of 20
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 2 , t = 2) o 1 t = 2 → ∆ = 2 t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 0 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 2 , t = 2) o 1 t = 2 → ∆ = 2 t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 2 , t = 2) ( c = 0 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 2 , t = 2) o 1 t = 2 → ∆ = 2 ( c = 4 , t = 4) t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 2 , t = 2) ( c = 0 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 2 , t = 2) o 1 t = 2 → ∆ = 2 t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 2 , t = 2) ( c = 0 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 2 , t = 2) o 1 t = 2 → ∆ = 2 t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 2 , t = 2) ( c = 12 , t = 12) ( c = 0 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 5 , t = 2) o 1 t = 2 → ∆ = 2 t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 6 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 5 , t = 2) o 1 t = 2 → ∆ = 2 ( c = 7 , t = 4) t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 6 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 5 , t = 2) o 1 t = 2 → ∆ = 2 ( c = 7 , t = 4) ( c = 21 , t = 18) t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 6 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 5 , t = 2) o 1 t = 2 → ∆ = 2 ( c = 7 , t = 4) ( c = 21 , t = 18) t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 8 , t = 2) ( c = 6 , t = 0)
Best Origin Problem (BOP) Given several origins with initial cost and arrival times, select the origin minimizing the cost at the arrival ( c = 5 , t = 2) o 1 t = 2 → ∆ = 2 ( c = 7 , t = 4) ( c = 21 , t = 18) t = 4 → ∆ = 14 x d t = 2 → ∆ = 10 t = 0 → ∆ = 2 o 2 ( c = 8 , t = 2) ( c = 18 , t = 12) ( c = 6 , t = 0) 6 of 20
Best Origin Problem (BOP) Consistency between cost and arrival time Given 2 labels ( c , t ) et ( c ′ , t ′ ), Consistency if : c < c ′ ⇔ t < t ′ 7 of 20
Best Origin Problem (BOP) Consistency between cost and arrival time Given 2 labels ( c , t ) et ( c ′ , t ′ ), Consistency if : c < c ′ ⇔ t < t ′ Need to take cost and arrival time into account Mono-objective variant of Martins’ algorithm 7 of 20
Best Origin Problem (BOP) Consistency between cost and arrival time Given 2 labels ( c , t ) et ( c ′ , t ′ ), Consistency if : c < c ′ ⇔ t < t ′ Need to take cost and arrival time into account Mono-objective variant of Martins’ algorithm Properties • Finds best origin for all nodes • Labels settled by increasing cost • Node’s best cost → first settled label 7 of 20
Best Origin Problem (BOP) Dominance rules ( c x , t x ) dominates ( c ′ x , t ′ x ) if and only if: . 8 of 20
Best Origin Problem (BOP) Dominance rules ( c x , t x ) dominates ( c ′ x , t ′ x ) if and only if: . Exact t x ≤ t ′ x and c x − c ′ x ≤ t x − t ′ x 8 of 20
Best Origin Problem (BOP) Dominance rules ( c x , t x ) dominates ( c ′ x , t ′ x ) if and only if: . Exact t x ≤ t ′ x and c x − c ′ x ≤ t x − t ′ x Heuristic t x ≤ t ′ x and c x ≤ c ′ x 8 of 20
Best Origin Problem (BOP) Dominance rules ( c x , t x ) dominates ( c ′ x , t ′ x ) if and only if: . Exact t x ≤ t ′ x and c x − c ′ x ≤ t x − t ′ x Heuristic t x ≤ t ′ x and c x ≤ c ′ x Complexity O ( | E | · | V | 2 ) 8 of 20
Outline Shortest Paths: pre-requisites Solving our carpooling problem Experiments Conclusion 9 of 20
Problem definition O p D p P P 5 1 P 3 r s P P 2 4 O c D c Cost to be minimized arrival(pedestrian) - departure(pedestrian) + arrival(driver) - departure(driver) cost = c ( P 1 ) + c ( P 2 ) + waiting time + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) 10 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) O p D p O c D c 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 P 1 O p r 2 D p r 3 O c D c 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 P 1 O p r 2 D p r 3 r 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 P 1 O p r 2 r 2 D p r 3 r 3 r 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 s 1 P 1 O p r 2 r 2 s 2 D p P 3 r 3 r 3 s 3 r 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 s 1 P 1 O p r 2 r 2 s 2 D p P 3 r 3 r 3 s 3 r 4 s 4 P 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 s 1 P 1 O p r 2 r 2 s 2 s 2 D p P 3 r 3 r 3 s 3 s 3 r 4 s 4 P 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 s 1 P 1 O p r 2 r 2 s 2 s 2 D p P 5 P 3 r 3 r 3 s 3 s 3 r 4 s 4 P 4 O c D c P 2 11 of 20
Solving principle cost = c ( P 1 ) + c ( P 2 ) + wait + 2 × c ( P 3 ) + c ( P 4 ) + c ( P 5 ) r 1 s 1 P 1 O p r 2 r 2 s 2 s 2 D p P 5 P 3 r 3 r 3 r 3 s 3 s 3 s 3 r 4 s 4 P 4 O c D c P 2 11 of 20
Solving principle Algo Source Dest. Settled Nodes Problem A 1 o p All N 1 SPP A 2 o c All N 2 SPP A 3 X in = N 1 ∩ N 2 All N 3 Best Orig. (Dijkstra) A 4 d c All N 4 SPP (backward) X off = N 3 ∩ N 4 Best Orig. (Martins) A 5 d p N 5 12 of 20
Solving principle Algo Source Dest. Settled Nodes Problem A 1 o p All N 1 SPP A 2 o c All N 2 SPP A 3 X in = N 1 ∩ N 2 All N 3 Best Orig. (Dijkstra) A 4 d c All N 4 SPP (backward) X off = N 3 ∩ N 4 Best Orig. (Martins) A 5 d p N 5 Integrated approach: select the algorithm with lowest cost in heap. 12 of 20
Restrictions on pick-up and drop-off points Integrating knowledge of the problem Goal: restrain the considered pick-up and drop-off point A 1 r 2 s 2 O p D p Z up Z off A 5 A 3 r 3 s 3 A 2 A 4 r 4 s 4 O c D c Stop conditions: • Z up explored → stop A 1 and A 2 • Z off explored → stop A 3 and A 4 13 of 20
A*: guided search Guiding towards a node d Principle Explore nodes close to the destination first Heuristic h d ( n ) : lower bound of the distance n → d 14 of 20
A*: guided search Guiding towards a node d Principle Explore nodes close to the destination first Heuristic h d ( n ) : lower bound of the distance n → d Guiding towards an area Z H Z ( n ) = min z ∈ Z h z ( n ) Guiding towards the closest node in the area 14 of 20
A*: guided search Guiding towards a node d Principle Explore nodes close to the destination first Heuristic h d ( n ) : lower bound of the distance n → d Guiding towards an area Z H Z ( n ) = min z ∈ Z h z ( n ) Guiding towards the closest node in the area Landmarks: H Z ( n ) computed only once. 14 of 20
Outline Shortest Paths: pre-requisites Solving our carpooling problem Experiments Conclusion 15 of 20
Recommend
More recommend