1 capacity constrained routing algorithms for evacuation planning qingsong lu, betsy george adviser:...
Post on 22-Dec-2015
214 views
TRANSCRIPT
1
Capacity Constrained Routing Algorithms For Evacuation Planning
Qingsong Lu, Betsy George
Adviser: Prof. Shashi Shekhar
Spatial Database Research GroupDepartment of Computer Science and Engineering
University of Minnesota
December 2005
2
Outline
Introduction Motivation Problem Formulation Related Works Our contribution
Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions Conclusion and Future works
3
Motivation – Nature Disaster Lack of effective evacuation plans Traffic congestions on all highways Great confusions and chaos
"We packed up Morgan City residents to evacuate in the a.m. on the day that Andrew hit coastal Louisiana, but in early afternoon the majority came back home. The traffic was so bad that they couldn't get through Lafayette." Mayor Tim Mott, Morgan City, Louisiana ( http://i49south.com/hurricane.htm )( National Weather Services)
Hurricane AndrewFlorida and Louisiana, 1992
Hurricane Evacuation Route Signs
Hurricane RitaGulf Coast, 2005
( National Weather Services) ( FEMA.gov)
Hurricane Rita evacuees from Houston clog I-45.
( www.washingtonpost.com)
4
Preparation of response to a chem-bio attack
Plan evacuation routes and schedules
Help public officials to make important decisions
Guide affected population to safety
Base Map Weather Data
Plume Dispersion
Demographics Information
Transportation Networks
( Images from www.fortune.com )
Motivation - Homeland Security
5
Problem Formulation
Given A transportation network, a directed graph G = ( N, E ) with
Capacity constraint (non-negative integer) for each edge and node Travel time (non-negative integer) for each edge
Number of evacuees and their initial locations (source nodes) Evacuation destinations (destination nodes)
Output Evacuation plan consisting of a set of origin-destination routes and a scheduling
of evacuees on each route. ( Route scheduling should observe capacity constraints of network )
Objective Minimize evacuation egress time (time from start of evacuation to last evacuee
reaches destination) Minimize computational cost
Constraints Edge travel time observes FIFO property Limited computer memory
6
Example Input: Evacuation Network with Evacuees
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65 (15)
N12, 18
N11, 8N10, 30
(7,1)
(3,3)(3,3)
(7,1) (3,4)(5,4)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Dest #2
Dest #1
N13
N14
Node ID
Destination node
Node
Edge
7
Example Evacuation Plan:
Example Output : Evacuation Plan
8
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)
N6, 10 N7, 8
N9, 25
N8, 65 (15)
N12, 18
N11, 8N10, 30
(7,1)
(3,3)
(3,3)
(7,1)(3,4)(5,4)
(5,5)
(8,1)
(6,3)
(6,4)
(6,4)
(6,4)(3,5)
(3,2)
(3,3)
(3,3)
(14,4)
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Dest #2
Dest #1
N13
N14
Node ID
Node
Edge
Destination node
AB C
DE F
GH
I
Animation:
Time: t = 012345678910111213141516
9
Related Works: Linear Programming Approach (1/3)
G : evacuation network
GT : time-expanded
network ( T = 4 )( Source : H. Hamacher and S. Tjandra, “Mathematical Modeling of Evacuation Problems: A State of the Art”. Pedestrian and Evacuation Dynamics, pp. 227-266, 2002.)
Step 1:
Convert evacuation network G into time-expanded network GT with user provided time upper bound T.
with n nodes ( n = 4 )
with N = n(T+1) nodes ( N = 20 )
10
Related Works: Linear Programming Approach (2/3)
Step 2: Treat time-expanded network GT as a flow network and define the evacuation problem as a minimum cost flow problem on GT :
Step 3: Solve above problem using minimum cost flow solvers.e.g. NETFLO [Kennington and Helgason,1980], RELAX-IV [Bertsekas and Tseng, 1994].
N: set of nodes,S: set of sources; D: set of destinations,qi: initial # of evacuees at source node i ,xij(t) : flow from node i to j at time t ,yi (t) : # of evacuees stay at node i at time t ,ai : max. capacity of node i ,bij : max. capacity of arc from node i to j .
(minimize total evacuation time of all evacuees)
(initial occupancy at source nodes at time 0)
(all evacuees reach destination nodes by time T)
11
Based on Triple Optimization Theorem [Jarvis and Ratliff, 1982]:
Universal max. flow Min. cost flow Quickest flow Example:
Hoppe and Tardos (Cornell, 1994): ellipsoid method, theoretically polynomial time bounded: O(N6), N = n(T+1), poor scalability to metropolitan road network. EVACNET (U. of Florida, 1993): designed for building evacuation, use NETFLO.
Summary : Produce optimal solution: minimize evacuation egress time. Suitable for problem with small size network and require optimal solution
Limitations: Require time-expanded network:
Duplicate network for each time unit → large memory requirement
Increased problem size: N = n(T+1) → high computational complexity Require user to estimated evacuation time upper bound T :
Under-estimate → failure of finding a solution
Over-estimate → unnecessary storage and run-time
Related Works: Linear Programming Approach (3/3)
12
Our Contribution
Present overview of algorithm framework for evacuation planning Explore alternate optimal solution algorithm using A* search
Address limitation of LP algorithm Prove monotonicity and admissibility Experiment show poor scalability
Propose new heuristic approach (CCRP) Analyze design decisions for CCRP Prove CCRP computationally efficient than LP algorithm Prove CCRP require less memory than LP algorithm Experiment evaluation of CCRP design decisions:
Best implementation of CCRP:CCRP_S: single SP search, Dijkstra’s algorithm w/ double-bucket
Faster than LP algorithm High quality solution
13
Outline
Introduction Algorithm Framework and Design Decisions
Design space Representation of Temporal Network Choice of Optimal Pair (Source-Destination) Algorithm Choice of Shortest Path Algorithms
Our Approach Evaluation of Design Decisions Conclusion and Future works
14
Algorithm Design Space
Algorithm Framework Optimal algorithm: Linear Programming, A* based. Heuristic algorithm: CCRP
15
Representation of Temporal Network
G : evacuation network
GT : time-expanded
network ( T = 4 )
Time expanded networks
Time series representation
available capacity ( used capacity )
16
Design Decision: Choice of Optimal Pair Algorithm
S1
S2
Sk
d1
d2
dk
Sources Destinations
R
GThree choices:
1. k2 single-source single-destination shortest
path search: one per (Si , dj) pair.
2. k single-source all-destination shortest path search: one per source node.
3. Single shortest path search:
- Add super source node and super destination node to network.
- One shortest path search from super source node to super destination node.
• Heuristic algorithm based on shortest path search from source nodes to destination nodes• How to find quickest route between (source, destination) pair
17
S0
S1
S2
Sx
d1
d2
dy
d0
Sources Destinations
(0,∞)
(0,∞)
super source node
super destination node
(travel time, capacity)
R
If route < S0, Sx, …, dy, d0 > is the shortest route between S0 and d0,
then < Sx, …, dy > must be the shortest route R between any (source, destination) pair.
G
Single shortest path search:
(0,∞)
(0,∞)
(0,∞)
(0,∞)
(travel time, capacity)
Design Decision: Choice of Optimal Pair Algorithm
18
Label Correcting Algorithms:
Bellman-Ford-Moore algorithm [ O(mn) ] Maintains a set of labeled nodes in a FIFO queue.
Incremental Algorithms, Threshold Algorithm, Goldberg-Radzik
Algorithm [ O(mn) ] Partition the set of labeled nodes into two subsets. Algorithms differ in the data structures used to implement the two
subsets.
Design Decision: Choice of Shortest Path Algorithm
Survey of Shortest Path Algorithms:
(Source: B.V. Cherkassky, A.V. Goldberg, and T. Radzik. Shortest Paths Algorithms: Theory and Experimental Evaluation. Mathematical Programming, 73:129-174, 1996.)
19
Dijkstra’s Algorithm Implementations:
Naïve implementation [O(n2)] Using k-ary heaps [O(m log n) ] Using Fibonacci heaps [O(m + n log n) ] Using one level R-heaps [O(m + n log C) ] (C – largest edge weight)
Using buckets Dial’s algorithm [O(m + n C) ] With overflow bag [O(m + n(C/B)+B)) ] (B – number of buckets)
Approx bucket implementation [O(m + n(+C/)) ] ( - the range of label values of nodes in a bucket)
Double bucket implementation [O(m + n(+C/)) ]
Design Decision: Choice of Shortest Path Algorithm
Survey of Shortest Path Algorithms: (Cont’d)
(Source: B.V. Cherkassky, A.V. Goldberg, and T. Radzik. Shortest Paths Algorithms: Theory and Experimental Evaluation. Mathematical Programming, 73:129-174, 1996.)
20
Candidate selection: Based on run-time of SP algorithms on sparse networks and road networks.
(Source: B.V. Cherkassky, A.V. Goldberg, and T. Radzik. Shortest Paths Algorithms: Theory and Experimental Evaluation. Mathematical Programming, 73:129-174, 1996.)
Design Decision: Choice of Shortest Path Algorithm
21
Outline
Introduction Algorithm Framework and Design Decisions Our Approach
A* search based optimal algorithm Heuristic approach: CCRP
Evaluation of Design Decisions Conclusion and Future works
22
Definitions of A* Search Space: Start node:
Initial state of evacuation network: all evacuees at source nodes Goal node :
All evacuees at destination nodes Search space:
Consists of different states of the evacuation network. Each search node is the snapshot of the network at one instant of time
Expanding search node Given the occupancy (number of people at the node) of each source node
and capacity constraints of outgoing edges of the node, all possible feasible combinations are generated.
Cost function f( ) of each search node: f(n)= g(n) + h(n) g(n): actual cost from start node to n h(n) : estimated cost from n to goal node
h(n) should be admissible: never over-estimate h(n) is admissible → A* returns optimal solution.
Optimal Algorithm – A* search
23
Heuristic Function in A* Search
Definition of cost function: f(n) of a search node n: f(n) = g(n) + h(n)
g(n) = actual cost to reach n from the initial state. the depth of the search node n, which is the time instant that corresponds to the network state represented by n
h(n) = estimated cost from n to reach goal state. maximum h( ) value of all groups in search node n.
h( ) value of one group = shortest travel time to reach any destination, ignoring capacity constraints.
Lemma 1: h( ) is admissible.
h( ) never over-estimate the cost to reach goal state
Lemma 2: h( ) monotonic.
24
A* Search - Example (1/2)
12
3
4
Edge: (capacity, travel time)
(2, 1)
(2, 1)Node: (occupancy)
2
(2, 2)
(2, 1)
12
3
4
(2, 1)
(2, 1)
2
(2, 2)
(2, 1)
12
3
4
(2, 1)
(2, 1)2
(2, 2)
(2, 1)
12
3
4
(2, 1)
(2, 1)1
(2, 2)
(2, 1)1
12
3
4
(2, 1)
(2, 1)1
(2, 2)
(2, 1)
11
2
3
4
(2, 1)
(2, 1)
1
(2, 2)
(2, 1)1
f(n) = g(n) + h(n) = 0 + 2 = 2
T = 0
T = 1
f = g + h = 1 + 1 = 2 f = g + h = 1 + 2 = 3
Initial state
f = g + h = 1 + 2 = 3 f = g + h = 1 + 2 = 3 f = g + h = 1 + 2 = 3
Next search node to be expanded
25
A* Search - Example (2/2)
12
3
4
(2, 1)
(2, 1)
2
(2, 2)
(2, 1)
T = 1
f = g + h = 1 + 1 = 2
Next search node to be expanded
T = 2
12
3
4
(2, 1)
(2, 1)(2, 2)
(2, 1) 21
2
3
4
(2, 1)
(2, 1)(2, 2)
(2, 1) 11
f = g + h = 2 + 0 = 2 f = g + h = 2 + 1 = 3
Goal state
Optimal solution
26
Performance Evaluation of A* Search: Experiment Design
Goal: Compare A* Search algorithm with LP minimum cost flow solver (NETFLO):
1. Solution Quality: - Does A* algorithm produce optimal solution (same evacuation time as of NETFLO) ?
2. Performance: - How does the A* algorithm run-time compared with that of NETFLO ?
Experiment Platform: CPU: Pentium 4 2GHz, RAM: 2GB, OS: Linux.
Network Generator:NETGEN
Network Transform Tool
A* Search for Evacuation Planning
Minimum Cost Flow Solver: NETFLO
Data Analysis
Number of Source Nodes
Number of Nodes
Number of Evacuees
Evacuation network with capacity constraints and evacuees
T-time expanded evacuation network
Run-time Solution Run-time Solution
Estimated Evacuation Egress Time Limit T
If no solution, increase T
27
Performance Evaluation of A* Search: Experiment Results
Experiment: Compare solution and run-time of A* Search and NETFLO.
Varying network size: from 10 to 40 nodes.
Figure: Run-time of A* Search and NETFLO
Solution Quality:
• A* search produces optimal solution (same evacuation time as NETFLO) in all test cases.
Performance:
• Run-time of A* search is exponential to the network size.
• Current implementation of A* search has higher run-time than that of NETFLO.
28
Summary of A* Search Formulation
A* Search for evacuation route planning: Produce optimal solution.
Do not need user provided time upper bound.
Heuristic function is admissible and monotonic.
Experiment results show that run-time is exponential to the size of the network.
High memory requirement.
Possible to improve performance and memory usage.
Need for more efficient approach.
29
1. Model node capacity and edge capacity as a time series
Time series representation:
For a given node Ni :
Available_Node_Capacity ( Ni , t ) = Available capacity of node Ni at time t
For a given edge Ni -Nj :
Available_Edge_Capacity ( Ni -Nj , t ) = Available capacity of edge Ni -Nj at time t
2. Generalize shortest-path algorithm, e.g. Dijkstra’s algorithm, to account for capacity constraints
Capacity Constrained Routing Approach
Main ideas:
30
While (any source node has evacuees) do
Step 1: Find route R with earliest destination arrival time among routes between all (source, destination) pairs, based on current available capacity of nodes and edges.
Step 2: Compute actual flow amount on route R
flow = min { number of evacuees left at source node of route R ,
Available_Edge_Capacity( all edges on R ),
Available_Node_Capacity( all nodes on R ) }
Step 3: Make reservation of capacity on route R
Available capacity of each edge on R reduced by flow
Available capacity of each incoming nodes on R reduced by flow
Summary:
• Each iteration generate route and schedule for one group of evacuee.
• Produce sub-optimal solution.
• Solution evacuation plan observes capacity constraints of network.
New Heuristic Algorithm: Capacity Constrained Route Planner (CCRP)
31
Example Input: Evacuation Network with Evacuees
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65 (15)
N12, 18
N11, 8N10, 30
(7,1)
(3,3)(3,3)
(7,1) (3,4)(5,4)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Dest #2
Dest #1
N13
N14
Node ID
Destination node
Node
Edge
32
CCRP Execution Trace
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65 (15)
N12, 18
N11, 8N10, 30
(7,1)(3,3)(3,3)
(7,1) (3,4)(5,4)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Dest #2
N13
N14
Node:
Edge:
Dest #1
7 7 7 77 7 7 77 7 7 77 7 7 7
Iteration: 1
T0 T1 T2 T3
T4 T5 T6 T7
T8 T9 T10 T11
T12 T13 T14 T15
Edge reservation table:
Quickest route between source/destination pair:Source Destination Dest. Arrival Time No. of Evacuees
N1 N13 14 3
N1 N14 15 3
N2 N13 14 3
N2 N14 15 3
N8 N13 4 6
N8 N14 5 3
3 3 3 33 3 3 33 3 3 33 3 3 3 3 3 3 3
3 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
5 5 5 55 5 5 55 5 5 55 5 5 5
5 5 5 55 5 5 55 5 5 55 5 5 5
8 8 8 28 8 8 88 8 8 88 8 8 8
3 3 3 33 3 3 33 3 3 33 3 3 3
0 6 6 66 6 6 66 6 6 66 6 6 6
R : (route with earliest destination arrival time)
N8 N10 N13
Start Time: 0 3 4
Node:
Each cell represents one time point (T0 - T15):
8 8 5 88 8 8 88 8 8 88 8 8 8
e.g.
Available edge capacity at time 3 is reduced to 5
Number. of Evacuees on Route R: 6
7 7 7 77 7 7 77 7 7 77 7 7 7
33
CCRP Execution Trace
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65 (9)
N12, 18
N11, 8N10, 30
(7,1)(3,3)(3,3)
(7,1) (3,4)(5,4)
(5,5)
(8,1)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
Dest #2
N13
N14
Dest #1
7 7 7 77 7 7 77 7 7 77 7 7 7
Iteration: 2 Quickest route between source/destination pair:Source Destination Dest. Arrival Time No. of Evacuees
N1 N13 14 3
N1 N14 15 3
N2 N13 14 3
N2 N14 15 3
N8 N13 5 6
N8 N14 5 3
3 3 3 33 3 3 33 3 3 33 3 3 3 3 3 3 3
3 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
5 5 5 55 5 5 55 5 5 55 5 5 5
5 5 5 55 5 5 55 5 5 55 5 5 5
8 8 8 22 8 8 88 8 8 88 8 8 8
3 3 3 33 3 3 33 3 3 33 3 3 3
0 0 6 66 6 6 66 6 6 66 6 6 6
R : (route with earliest destination arrival time)
N8 N10 N13
Start Time: 1 4 5
Node:
Number. of Evacuees on Route R: 6
7 7 7 77 7 7 77 7 7 77 7 7 7
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Node:
Edge:
T0 T1 T2 T3
T4 T5 T6 T7
T8 T9 T10 T11
T12 T13 T14 T15
Edge reservation table:
Each cell represents one time point (T0 - T15):
8 8 5 88 8 8 88 8 8 88 8 8 8
e.g.
Available edge capacity at time 3 is reduced to 5
(6,3)
34
CCRP Execution Trace
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65 (3)
N12, 18
N11, 8N10, 30
(7,1)(3,3)(3,3)
(7,1) (3,4)(5,4)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
Dest #2
N13
N14
Dest #1
7 7 7 77 7 7 77 7 7 77 7 7 7
Iteration: 3 Quickest route between source/destination pair:Source Destination Dest. Arrival Time No. of Evacuees
N1 N13 14 3
N1 N14 15 3
N2 N13 14 3
N2 N14 15 3
N8 N13 6 3
N8 N14 5 3
3 3 3 33 3 3 33 3 3 33 3 3 3 3 3 3 3
3 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 03 3 3 33 3 3 33 3 3 3
5 5 5 55 5 5 55 5 5 55 5 5 5
5 5 5 55 5 5 55 5 5 55 5 5 5
8 8 8 22 8 8 88 8 8 88 8 8 8
0 3 3 33 3 3 33 3 3 33 3 3 3
0 0 6 66 6 6 66 6 6 66 6 6 6
R : (route with earliest destination arrival time)
N8 N11 N14
Start Time: 0 3 5
Node:
Number. of Evacuees on Route R: 3
7 7 7 77 7 7 77 7 7 77 7 7 7
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Node:
Edge:
T0 T1 T2 T3
T4 T5 T6 T7
T8 T9 T10 T11
T12 T13 T14 T15
Edge reservation table:
Each cell represents one time point (T0 - T15):
8 8 5 88 8 8 88 8 8 88 8 8 8
e.g.
Available edge capacity at time 3 is reduced to 5
35
CCRP Execution Trace
N1, 50(10)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65
N12, 18
N11, 8N10, 30
(7,1)(3,3
)
(3,3)
(7,1)(3,4)(5,4
)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
Dest #2
N13
N14
Dest #1
4 7 7 77 7 7 77 7 7 77 7 7 7
Iteration: 4 Quickest route between source/destination pair:Source Destination Dest. Arrival Time No. of Evacuees
N1 N13 14 3
N1 N14 15 3
N2 N13 14 3
N2 N14 15 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 0 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 03 3 3 33 3 3 33 3 3 3
5 5 5 55 5 5 52 5 5 55 5 5 5
5 5 5 52 5 5 55 5 5 55 5 5 5
8 8 8 22 8 8 88 8 8 88 5 8 8
0 3 3 33 3 3 33 3 3 33 3 3 3
0 0 6 66 6 6 66 6 6 66 6 6 6
R : (route with earliest destination arrival time)
N8 N3 N4
Start Time:
0 1 4
Node:
Number. of Evacuees on Route R: 3
7 7 7 77 7 7 77 7 7 77 7 7 7
N6 N10
8 13 14
N13
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Node:
Edge:
T0 T1 T2 T3
T4 T5 T6 T7
T8 T9 T10 T11
T12 T13 T14 T15
Edge reservation table:
Each cell represents one time point (T0 - T15):
8 8 5 88 8 8 88 8 8 88 8 8 8
e.g.
Available edge capacity at time 3 is reduced to 5
36
CCRP Execution Trace
N1, 50(7)
N3, 30 N5, 6N4, 8
N2, 50(5)N6, 10 N7, 8
N9, 25
N8, 65
N12, 18
N11, 8N10, 30
(7,1)(3,3)(3,3)
(7,1)(3,4)(5,4
)
(5,5)
(8,1) (6,3)
(6,4)
(6,4)
(6,4) (3,5)
(3,2)
(3,3)
(3,3)
(14,4)
Dest #2
N13
N14
Dest #1
1 7 7 77 7 7 77 7 7 77 7 7 7
Iteration: 5 Quickest route between source/destination pair:Source Destination Dest. Arrival Time No. of Evacuees
N1 N13 15 3
N1 N14 15 3
N2 N13 15 3
N2 N14 15 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 0 0 33 3 3 33 3 3 33 3 3 3
3 3 3 33 3 3 33 3 3 33 3 3 3
3 3 3 03 3 3 33 3 3 33 3 3 3
5 5 5 55 5 5 52 2 5 55 5 5 5
5 5 5 52 2 5 55 5 5 55 5 5 5
8 8 8 22 8 8 88 8 8 88 5 5 8
0 3 3 33 3 3 33 3 3 33 3 3 3
0 0 6 66 6 6 66 6 6 66 6 6 6
R : (route with earliest destination arrival time)
N8 N3 N4
Start Time:
0 2 5
Node:
Number. of Evacuees on Route R: 3
7 7 7 77 7 7 77 7 7 77 7 7 7
N6 N10
9 14 15
N13
(Max Capacity, Travel time)
Node ID, Max Capacity(Initial Occupancy)
Node:
Edge:
T0 T1 T2 T3
T4 T5 T6 T7
T8 T9 T10 T11
T12 T13 T14 T15
Edge reservation table:
Each cell represents one time point (T0 - T15):
8 8 5 88 8 8 88 8 8 88 8 8 8
e.g.
Available edge capacity at time 3 is reduced to 5
37
Outline
Introduction Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions
Analytical evaluation Experiment evaluation
Conclusion and Future works
38
Design Decisions for CCRP
39
Analytical Evaluation of CCRP Design Decisions
Heuristic vs. OptimalOptimal: Linear programming approach: at least
Heuristic: CCRP_SNumber of iterations: O(p) p : number of evacuees
Cost for each iteration: ( n: number nodes, m: number of edges )
Step 1 - Find route R with one Dijkstra search:
Dijkstra ( double bucket): , C : max. edge weight
Step 2 - Compute flow amount on route R : O(n)
Step 3 - Make reservations on route R : O(n)
Step 1 is dominant.
CCRP_S cost model:
The condition is always true for real evacuation scenarios.
40
Analytical Evaluation of CCRP Design Decisions
Time Expanded network vs. Time Series
Time Expanded network : Linear programming approach
Memory requirement (bytes): at least
Time series: CCRP_S
Memory requirement (bytes):
41
Analytical Evaluation of CCRP Design Decisions
Multiple SP search vs. Single SP search
Multiple SP search : CCRP_M
Cost model:
Single SP search: CCRP_S
Cost model:
42
Experiment Evaluation of CCRP Design Decisions:
Goal:
1. Compare heuristic CCRP with LP minimum cost flow solver (e.g. RelaxIV): - Performance: Run-time - Solution Quality: Evacuation egress time
2. Test effect of independent parameters on performance and solution quality - Number of evacuees, number of source/destination nodes, size of network of nodes).
Network Generator: NETGEN
Time Expanded Network Converter
CCRP
Minimum Cost Flow Solver: RelaxIV
Data Analysis
Number of Source Nodes
Number of Nodes
Number of Evacuees
Evacuation network with capacity constraints and evacuees
T-time expanded evacuation network
Run-time Solution
Run-time Solution
Evacuation Egress Time Upper-bound T
If no solution, increase T
Number of Destination Nodes
Heuristic vs. Optimal: Experiment Design
43
Heuristic vs. Optimal: Experiment Results 1
Experiment 1: Effect of Number of Evacuees
Setup: fixed network size = 5000 nodes, fixed number of source nodes = 2000 nodes, number of evacuees from 5,000 to 50,000.
Figure 1 Quality of solutionFigure 2 Run-time
• CCRP produces high quality solution, solution quality drops slightly as number of evacuees grows.
• Run-time of CCRP is less than 1/2 that of RelaxIV.
• CCRP is scalable to the number of evacuees.
0
50
100
150
200
250
5000 20000 35000 50000
Number of EvacueesA
lgo
rith
m R
un
-Tim
e
(se
co
nd
)
CCRP RelaxIV
320
340
360
380
400
5000 20000 35000 50000
Number of Evacuees
Eva
cuat
ion
Eg
ress
Tim
e (u
nit)
CCRP RelaxIV
44
Heuristic vs. Optimal : Experiment Results 2
Experiment 2: Effect of Number of Source Nodes
Setup: fixed network size = 5000 nodes, fixed number of evacuees = 5000, number of source nodes from 1,000 to 4,000.
Figure 1 Quality of solutionFigure 2 Run-time
• CCRP produces high quality solution, solution quality not affected by number of source nodes.
• Run-time of CCRP is less than half of RelaxIV.
• CCRP is scalable to the number of source nodes.
0
50
100
150
200
1000 2000 3000 4000
Number of Source NodesA
lgo
rith
m R
un
-Tim
e (
se
co
nd
)
CCRP RelaxIV
300
320
340
360
380
1000 2000 3000 4000
Number of Source Nodes
Ev
ac
ua
tio
n E
gre
ss
Tim
e
(un
it)
CCRP RelaxIV
45
Heuristic vs. Optimal : Experiment Results 3
Experiment 2: Effect of Number of Destination Nodes
Setup: fixed network size = 5000 nodes, fixed number of evacuees = 5000, number of destination nodes from 10 to 50.
Figure 1 Quality of solution Figure 2 Run-time
• CCRP produces high quality solution, solution quality not affected by number of destination nodes.
• Run-time of CCRP decrease as number destination nodes grows, while run-time of RelaxIV increases.
0
20
40
60
80
100
120
140
160
10 20 30 40 50
Number of Destination NodesA
lgo
rith
m R
un
-Tim
e (
se
co
nd
)
CCRP RelaxIV
300
320
340
360
380
10 20 30 40 50
Number of Destination Nodes
Ev
ac
ua
tio
n E
gre
ss
Tim
e (
un
it)
CCRP RelaxIV
46
Heuristic vs. Optimal : Experiment Results 4
Experiment 3: Effect of Network Size
Setup: fixed number of evacuees = 5000, fixed number of source nodes = 10 nodes, number of nodes from 50 to 50,000.
Figure 1 Quality of solution Figure 2 Run-time
• CCRP produces high quality solution, solution quality increases as network size grows.
• Run-time of CCRP is scalable to network size.
0.01
0.1
1
10
100
1000
10000
Number of Nodes (logscale)
Alg
ori
thm
Ru
n-T
ime
(s
ec
on
d)
(lo
gs
ca
le)
CCRP RelaxIV
CCRP 0.06 0.69 9.38 108.16
RelaxIV 0.13 6.39 189.51 6971.05
50 500 5000 50000100
150
200
250
300
350
400
50 500 5000 50000
Number of Nodes (logscale)
Ev
ac
ua
tio
n E
gre
ss
Tim
e (
un
it)
CCRP RelaxIV
47
Multiple SP search vs. Single SP search
Experiment Design:
Goal: Compare performance of single shortest path search at step 1 (CCRP_S) and multiple shortest path search at Step 1 (CCRP_M).
NetworkGenerator:NETGEN
CCRP_M: Multiple SP search at Step 1
(one search from each source node)
Data Analysis
Number of Nodes
Evacuation network
Run-time CCRP_S:
Single SP search at Step 1
Run-time
Experiment Evaluation of CCRP Design Decisions:
48
CCRP_S is strictly faster than CCRP_M.
Single SP search in CCRP is a better choice over Multiple SP search.
Experiment Result:
Figure: Run-time of CCRP_S and CCRP_M with respect to network size
Multiple SP search vs. Single SP search
0.01
0.1
1
10
100
1000
10000
Number of Nodes (logscale)Alg
ori
thm
Ru
n-T
ime
(s
ec
on
d)
(lo
gs
ca
le)
CCRP_S CCRP_M
CCRP_S 0.06 0.69 9.38 108.16
CCRP_M 0.11 2.85 77.43 1971.84
50 500 5000 50000
49
Choice of shortest path search algorithms
Candidate SP algorithms:
Dijkstra naïve implementation (for comparison)Dijkstra using k-ary heap(k=3)Dijkstra using Fibonacci heapDijkstra using double bucket Two Queue
Goal: Compare performance of CCRP with different shortest path algorithms.
Experiment Evaluation of CCRP Design Decisions:
Experiment Design:
50
Best choice for CCRP: Dijkstra’s algorithm using double bucket implementation.
Choice of shortest path search algorithms
Experiment Result:
0.01
0.1
1
10
100
1000
10000
Number of Nodes (logscale)
CC
RP
Ru
n-t
ime
(s
ec
on
ds
)(l
og
sc
ale
)
DIKQ (naive)
DIKF (Fibonacci heap)
DIKH (k-ary heap, k=3)
DIKBD (double bucket)
TwoQ
DIKQ (naive) 0.8 16.26 382.84 9532.8
DIKF (Fibonacci heap) 0.1 1.5 23.1 316.44
DIKH (k-ary heap, k=3) 0.08 1.06 15.14 200.49
DIKBD (double bucket) 0.06 0.69 9.38 108.16
TwoQ 0.49 9.02 190.73 3983.69
50 500 5000 50000
Figure: CCRP Run-time with Different Shortest Path Search Algorithms
51
Outline
Introduction Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions Conclusion and Future works
52
Conclusions
Explore alternate optimal solution algorithm using A* search Address limitation of LP algorithm Prove monotonicity and admissibility Experiment show poor scalability
Propose new heuristic approach (CCRP) Prove CCRP computationally efficient than LP algorithm Prove CCRP require less memory than LP algorithm Experiment evaluation of CCRP design decisions:
Best implementation of CCRP:CCRP_S: single SP search, Dijkstra’s algorithm w/ double-bucket
Faster than LP algorithm High quality solution
Has clear advantage over linear programming algorithm in real evacuation scenarios (e.g. number of destination nodes)
53
Future Works
CCRP Algorithm:• Assumptions:
• Edge travel time observe FIFO (First-In First-Out) property.
• Edge travel time incorporate delay at intersections.
• Effect of allowing time-varying edge capacity and travel time.
A* Search Algorithm:
• Performance tuning of current A* implementation:
• Improve algorithm run-time:
• Explore new data structures to reduce memory usage
• Analysis of cost model of A* search
Explore Assignment-simulation Approach
• Integrate CCRP with assignment-simulation Approach
54
Thank you !
Questions and Comments ?
56
A Simple Example – Building floor Map
Two-story building:
- Two staircases
- Two exits on first floor
( Building floor map from EVACNET User Manual )
57
A Simple Example – Node and Edge Definition
Nodes:
Edges:
Each room, hallway, staircase, etc.
Each available link between two nodes.
58
A Simple Example - Initial State
• Each node has:
Maximum node capacity ( max. number of people the node can hold)
Initial node occupancy ( number of people at the node )
• Each edge has:
Maximum edge capacity( max. number of people can travel through this edge simultaneously )
Edge Travel time( how long it takes to travel through this edge)
Init. Occupancy =10
Max. Capacity = 50
Max. Capacity = 50Init. Occupancy
= 5
Max. Capacity = 65 Init. Occupancy =
15
Capacity=6Travel
time=3
59
A Real Scenario: Nuclear Power Plant Evacuation Route Planning
Nuclear Power Plants in Minnesota
Twin Cities
60
A Real Scenario: Monticello Emergency Planning Zone and Population
Monticello EPZSubarea Population2 4,675 5N 3,9945E 9,6455S 6,7495W 2,23610N 39110E 1,78510SE 1,39010S 4,616 10SW 3,40810W 2,35410NW 707Total 41,950
Estimate EPZ evacuation time: Summer/Winter(good weather): 3 hours, 30 minutesWinter (adverse weather): 5 hours, 40 minutes
Emergency Planning Zone (EPZ) is a 10-mile radius around the plant divided into sub areas.
Data source: Minnesota DPS & DHS Web site: http://www.dps.state.mn.us
http://www.dhs.state.mn.us
61
A Real Scenario: Transportation Road Map
Affected Cities
Monticello Power Plant
Evacuation Destination
University of Minnesota
62
A Real Scenario : New Plan Routes
Source cities
Destination
Monticello Power Plant
Routes used only by old plan
Routes used only by result plan of capacity constrained routing
Routes used by both plans
Congestion is likely in old plan near evacuation destination due to capacity constraints. Our plan has richer routes near destination to reduce congestion and total evacuation time.
Twin Cities
Experiment Result
Total evacuation time:
- Existing Plan: 268 min.
- New Plan: 162 min.