Context-Aware Multi-Stage Routing - AAMAS2009 presentation by A .ter Mors (Almende) - Presentation Transcript
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Context-Aware Multi-Stage Routing
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen
Almende BV
Delft University of Technology
May 13, 2008
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Agents that can avoid collisions
Traffic jams and deadlocks can slow a system to a halt
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Agents that travel over an infrastructure network
G
G
?
(a) Single agent planning: dif- (b) Single agent planning:
ficult (PSPACE-complete) solvable in polynomial time
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Problem definition
Context-aware routing
Let An be an agent with a start location sn and a destination
location dn , and let Π = {π1 , . . . , πn−1 } be a set of conflict-free
route plans for agents A1 , . . . , An−1 . Find a shortest-time route
plan for agent An that does not conflict with any of the plans in Π.
Conflict: when two agents occupy the same location at the same
time
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Context-aware routing: applications
Airport taxi routing
AGVs in a warehouse
AGVs at a container terminal
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Infrastructure and resources
Infrastructure graph Resource Graph
G = (V , E ), where V is a set of GR = (R, ER ), where R is a set
intersections, and E is a set of of resources, and ER is a
lanes. successor relation.
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Path planning vs. Route planning
Shortest path planning: if B is on the shortest path from A to C,
then the shortest path from A to B can be expanded to the
shortest path from A to C.
[8, 10)
A B D
[7, 11)
C
Shortest route from A to B can only be expanded to C via D.
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Intersections have travel time 2, lanes have travel time 4, all
resources have capacity 1.
[8, 10)
A B D
[7, 11)
C
π1 = A, [0, 2) ; B, [6, 8) ; D, [12, 14) ; C , [18, 20)
∗
π = A, [0, 6) ; B, [10, 12) ; C , [16, 18)
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Free time windows
Free time window
A time interval in which the resource load is less than the capacity.
The interval should be at least as long as the minimum travel time.
cap(ri )
λ(ri , t)
0 1 2 3 4 5 6 7 8 9
t→
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Free time window graph
Which arcs between free time windows?
1 resources must be connected
2 free time windows must overlap
3 there must be sufficient time to traverse the second resource
A B tt(A)
fA
fB
tt(B)
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Free time window graph: example
[0, 8)
[8, 10) [10, ∞)
A B D
[0, 7) [11, ∞)
[7, 11)
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Search through free time window graph
Find the shortest path in the free time window graph.
Start of the search: the free time window on the start
resource containing the start time.
If free time window f (on some resource ri ) is on the shortest
path from A to B, then the shortest route from A to f can be
expanded to the shortest route from A to B.
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
A r1 r3 D
[10, ∞)
[0, 7) [11, ∞)
r2 r4
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
[0, 7) [11, ∞)
r2 r4
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
[0, 7) [11, ∞)
r2 r4
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
r2 r4
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
5 { B, 10 , D, 12 }
r2 r4
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
5 { B, 10 , D, 12 }
r2 r4 6 { r2 , 12 , D, 12 }
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
5 { B, 10 , D, 12 }
r2 r4 6 { r2 , 12 , D, 12 }
7 { D, 12 , C , 16 }
C
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
5 { B, 10 , D, 12 }
r2 r4 6 { r2 , 12 , D, 12 }
7 { D, 12 , C , 16 }
C
8 { r4 , 14 , C , 16 }
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Route planning example
Q: set of resource, start time
tuples
B
1 { A, 0 }
[0, 8)
2 { r1 , 2 }
A r1 r3 D
[10, ∞)
3 { B, 6 , B, 10 }
4 { r3 , 8 , B, 10 }
[0, 7) [11, ∞)
5 { B, 10 , D, 12 }
r2 r4 6 { r2 , 12 , D, 12 }
7 { D, 12 , C , 16 }
C
8 { r4 , 14 , C , 16 }
9 { C , 16 , C , 18 }
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Context-aware routing summary
A set of free time windows for every resource
Construct free time window graph GF = (F , EF )
Perform A*-like search through GF
Resources can be expanded multiple times, free time windows
once
Algorithm complexity: O(F log(F ) + EF )
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Problem definition
Multi-stage routing
Find a shortest-time, conflict-free route plan that visits a fixed
sequence of locations.
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Example application: airport de-icing
De-icing: removal of snow and ice
from aircraft, to ensure safe take
off
Outbound aircraft visiting
sequence: 1: gate, 2: de-icing
station, 3: runway
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Naive approach: concatenation
Algorithm 1 Multi-Stage Concatenation
Require: visiting sequence A, B, . . . , X , start time ts
1: current plan ← (A, ts )
2: while no plan to final stage yet do
3: t ← end time current plan
4: next plan ← starting from time t, plan route to next stage
5: if next plan is null then
6: return null
7: else
8: append next plan to current plan
9: return current plan
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Sub-optimality of concatenation
Given visiting sequence A, B, C, the concatenation approach will
will return a route via D.
[8, 10)
A B D
[7, 11)
C
πconcat = A, [0, 2) ; B, [6, 8) ; D, [12, 14) ; C , [18, 20)
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Incompleteness of concatenation
a
A3
A1 : (s, b, t)
A1 s b c
A2 : (t, a)
A3 : (c, a)
t
A2
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Incompleteness of concatenation
14 a
18
A3
A1 s b c 4
0 6
8
10
2 t A2
A1 arrives first at b, but cannot go to t (blocked by A2 ), nor c
(blocked by A3 ).
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Multiple-free time window visits
d
A1 a b
c
visiting sequence: a, c, a
free time window on b: two visits
in general: k stages → max k − 1 visits
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
k-layer Free time window graph
Free time window graph with three
layers
3 2
Infrastructure with three G1
F
stages 1
3 2
3 2
G2
F
1
1
3 2
G3
F
1
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Setup
Sequential planning: in each iteration, try both concatenation
and optimal multi-stage algorithm
Reserve only the plans of the optimal planner
Infrastructures:
Schiphol airport, 1219 resources; visiting sequences: runway,
gate, de-icing station, runway.
Random graph, 280 resources; random visiting sequences
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Schiphol airport layout
Polderbaan
Zwanenburgbaan
Buitenveldertbaan
n
aa
stb
Oo
Aalsmeerbaan
an
ba
ag
Ka
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Results: Schiphol
Null plans
Optimal plans
100
80 Sub−optimal plans
percentage plans
60
40
20
0
0 200 400 600 800
number of agents
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Results: random graph
Null plans Null plans
Optimal plans Optimal plans
100
100
Sub−optimal plans Sub−optimal plans
80
80
percentage plans
percentage plans
60
60
40
40
20
20
0
0
0 200 400 600 800 0 200 400 600 800
number of agents number of agents
Null plans
Optimal plans
100
Sub−optimal plans
80
percentage plans
60
40
20
0
0 200 400 600 800
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Results: plan quality
network type |σ| plan cost compared to optimum
random graph 4 102.73%
random graph 6 102.21%
random graph 8 102.09%
Schiphol 4 100.15%
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Conclusions
Context-aware routing: search through free time window
graph
Complexity single-stage algorithm: O(F log(F ) + EF )
Complexity k-stage routing: O(k − 1) times complexity of
single-stage
Concatenation approach: often fails to find solutions for long
visiting sequences, but good quality plans
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
Introduction
Free time window graph routing
Multi-stage routing
Experiments
Conclusions
Questions?
?
Adriaan ter Mors, Jeroen van Belle, and Cees Witteveen Context-Aware Multi-Stage Routing
This presentation given at AAMAS2009 by A. ter Mors (Almende / TU Delft) looks at context-aware route planning and presents a new polynomial-
time algorithm for the multi-stage routing problem that always returns the optimal (shortest-time) route for a single agent.
More info: http://www.almende.com/research/projects/casimir less
0 comments
Post a comment