610 likes | 715 Views
Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group Department of Computer Science and Engineering University of Minnesota December 2005. Introduction Motivation Problem Formulation
E N D
Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group Department of Computer Science and Engineering University of Minnesota December 2005
Introduction Motivation Problem Formulation Related Works Our contribution Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions Conclusion and Future works Outline
Motivation – Nature Disaster Hurricane Andrew Florida and Louisiana, 1992 • 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 Rita Gulf Coast, 2005 ( www.washingtonpost.com) Hurricane Rita evacuees from Houston clog I-45. ( National Weather Services) ( FEMA.gov) Hurricane Evacuation Route Signs
Motivation - Homeland Security Base Map Weather Data Plume Dispersion • 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 Demographics Information Transportation Networks ( Images from www.fortune.com )
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 Problem Formulation
Example Input: Evacuation Network with Evacuees N1, 50 (10) Node Node ID, Max Capacity (Initial Occupancy) (7,1) N4, 8 (3,3) N3, 30 (3,3) N5, 6 (7,1) (3,4) (5,4) Edge N2, 50 (5) (Max Capacity, Travel time) N6, 10 N7, 8 N9, 25 (3,5) (5,5) (6,4) Destination node (14,4) (6,4) Node ID N11, 8 (8,1) (3,3) N13 N10, 30 (6,3) N8, 65 (15) Dest #1 (3,2) (6,4) N12, 18 (3,3) N14 Dest #2
Example Output : Evacuation Plan Example Evacuation Plan:
N1, 50 (10) Node Time: t = 16 15 7 13 12 11 10 9 14 6 5 4 3 8 2 1 0 D E F I Node ID, Max Capacity (Initial Occupancy) Animation: (3,3) (7,1) N5, 6 N4, 8 N3, 30 Edge (3,3) (5,4) (3,4) (7,1) (Max Capacity, Travel time) N6, 10 N2, 50 (5) N7, 8 H G Destination node (5,5) (3,5) Node ID N9, 25 (14,4) (6,4) (6,4) (6,3) (3,3) N13 N8, 65 (15) N10, 30 A N11, 8 C B (8,1) (3,2) Dest #1 N12, 18 (6,4) N14 (3,3) Dest #2
Related Works: Linear Programming Approach (1/3) Step 1: Convert evacuation network G into time-expanded network GT with user provided time upper bound T. G : evacuation network with n nodes ( n = 4 ) 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.) with N = n(T+1) nodes ( N = 20 )
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 : (minimize total evacuation time of all evacuees) (initial occupancy at source nodes at time 0) (all evacuees reach destination nodes by time T) 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 . Step 3: Solve above problem using minimum cost flow solvers. e.g. NETFLO [Kennington and Helgason,1980], RELAX-IV [Bertsekas and Tseng, 1994].
Related Works: Linear Programming Approach (3/3) • 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
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
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 Outline
Algorithm Design Space • Algorithm Framework • Optimal algorithm: Linear Programming, A* based. • Heuristic algorithm: CCRP
Representation of Temporal Network • Time expanded networks G : evacuation network • Time series representation GT: time-expanded network ( T = 4 ) available capacity ( used capacity )
Design Decision: Choice of Optimal Pair Algorithm • Heuristic algorithm based on shortest path search from source nodes to destination nodes • How to find quickest route between (source, destination) pair G Three choices: 1. k2single-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. S1 d1 R S2 d2 dk Sk Destinations Sources
Design Decision: Choice of Optimal Pair Algorithm Single shortest path search: G S1 d1 (travel time, capacity) (travel time, capacity) (0,∞) R (0,∞) S0 S2 d2 d0 (0,∞) (0,∞) super source node super destination node (0,∞) (0,∞) dy Sx Sources Destinations 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.
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. Label Correcting Algorithms: 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.)
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/)) ] Dijkstra’s Algorithm Implementations: 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.)
Candidate selection: Based on run-time of SP algorithms on sparse networks and road networks. Design Decision: Choice of Shortest Path Algorithm (Source: B.V. Cherkassky, A.V. Goldberg, and T. Radzik. Shortest Paths Algorithms: Theory and Experimental Evaluation. Mathematical Programming, 73:129-174, 1996.)
Introduction Algorithm Framework and Design Decisions Our Approach A* search based optimal algorithm Heuristic approach: CCRP Evaluation of Design Decisions Conclusion and Future works Outline
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
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.
A* Search - Example (1/2) (2, 1) 2 (2, 1) Initial state 1 4 2 T = 0 Node: (occupancy) 3 (2, 1) (2, 2) Edge: (capacity, travel time) f(n) = g(n) + h(n) = 0 + 2 = 2 2 (2, 1) 2 (2, 1) (2, 1) 2 (2, 1) T = 1 1 4 1 4 2 3 3 (2, 1) (2, 1) (2, 2) (2, 2) Next search node to be expanded f= g + h = 1 + 2 = 3 f=g + h = 1 + 1 = 2 1 1 (2, 1) 2 (2, 1) (2, 1) 2 (2, 1) (2, 1) 2 (2, 1) 1 1 1 4 1 4 1 4 1 1 3 3 3 (2, 1) (2, 1) (2, 1) (2, 2) (2, 2) (2, 2) f= g + h = 1 + 2 = 3 f= g + h = 1 + 2 = 3 f= g + h = 1 + 2 = 3
A* Search - Example (2/2) 2 (2, 1) 2 (2, 1) 1 4 T = 1 Next search node to be expanded 3 (2, 1) (2, 2) f=g + h = 1 + 1 = 2 1 T = 2 (2, 1) 2 (2, 1) (2, 1) 2 (2, 1) 2 1 1 4 1 4 3 3 (2, 1) (2, 1) (2, 2) (2, 2) f=g + h = 2 + 0 = 2 f=g + h = 2 + 1 = 3 Goal state Optimal solution
Performance Evaluation of A* Search: Experiment Design Number of Nodes Number of Source Nodes Number of Evacuees Network Generator: NETGEN Estimated Evacuation Egress Time Limit T Evacuation network with capacity constraints and evacuees Network Transform Tool If no solution, increase T A* Search for Evacuation Planning T-time expanded evacuation network Minimum Cost Flow Solver: NETFLO Solution Run-time Solution Run-time Data Analysis 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.
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.
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.
1. Model node capacity and edge capacity as a time series Time series representation: For a given nodeNi: Available_Node_Capacity ( Ni , t ) =Available capacity of node Ni at time t For a given edgeNi -Nj: Available_Edge_Capacity ( Ni -Nj , t ) = Available capacity of edge Ni -Njat time t 2. Generalize shortest-path algorithm, e.g. Dijkstra’s algorithm, to account for capacity constraints Capacity Constrained Routing Approach Main ideas:
While (any source node has evacuees) do Step 1: Find route Rwith 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 New Heuristic Algorithm: Capacity Constrained Route Planner (CCRP) Summary: • Each iteration generate route and schedule for one group of evacuee. • Produce sub-optimal solution. • Solution evacuation plan observes capacity constraints of network.
Example Input: Evacuation Network with Evacuees N1, 50 (10) Node Node ID, Max Capacity (Initial Occupancy) (7,1) N4, 8 (3,3) N3, 30 (3,3) N5, 6 (7,1) (3,4) (5,4) Edge N2, 50 (5) (Max Capacity, Travel time) N6, 10 N7, 8 N9, 25 (3,5) (5,5) (6,4) Destination node (14,4) (6,4) Node ID N11, 8 (8,1) (3,3) N13 N10, 30 (6,3) N8, 65 (15) Dest #1 (3,2) (6,4) N12, 18 (3,3) N14 Dest #2
CCRP Execution Trace Quickest route between source/destination pair: Iteration: 1 R: (route with earliest destination arrival time) Node: N8 N10 N13 Start Time: 0 3 4 N1, 50 (10) Number. of Evacuees on Route R: 6 (7,1) Node: (3,3) (3,3) N4, 8 N3, 30 N5, 6 Node ID, Max Capacity (Initial Occupancy) (5,4) (7,1) (3,4) Edge: N2, 50 (5) (Max Capacity, Travel time) N6, 10 N7, 8 Edge reservation table: (14,4) N9, 25 (6,4) (5,5) (3,5) Each cell represents one time point (T0 - T15): (6,4) (6,3) (8,1) (3,3) N11, 8 N10, 30 N13 N8, 65 (15) e.g. Dest #1 (3,2) (6,4) N12, 18 Available edge capacity at time 3 is reduced to 5 N14 (3,3) Dest #2
CCRP Execution Trace Quickest route between source/destination pair: Iteration: 2 R: (route with earliest destination arrival time) Node: N8 N10 N13 Start Time: 1 4 5 N1, 50 (10) Number. of Evacuees on Route R: 6 (7,1) Node: (3,3) (3,3) N4, 8 N3, 30 N5, 6 Node ID, Max Capacity (Initial Occupancy) (5,4) (7,1) (3,4) Edge: N2, 50 (5) (Max Capacity, Travel time) N6, 10 N7, 8 Edge reservation table: (14,4) N9, 25 (6,4) (5,5) (3,5) Each cell represents one time point (T0 - T15): (6,4) (6,3) (8,1) (3,3) N11, 8 N10, 30 N13 N8, 65 (9) e.g. Dest #1 (3,2) (6,4) N12, 18 Available edge capacity at time 3 is reduced to 5 N14 (3,3) Dest #2
CCRP Execution Trace Quickest route between source/destination pair: Iteration: 3 R: (route with earliest destination arrival time) Node: N8 N11 N14 Start Time: 0 3 5 N1, 50 (10) Number. of Evacuees on Route R: 3 (7,1) Node: (3,3) (3,3) N4, 8 N3, 30 N5, 6 Node ID, Max Capacity (Initial Occupancy) (5,4) (7,1) (3,4) Edge: N2, 50 (5) (Max Capacity, Travel time) N6, 10 N7, 8 Edge reservation table: (14,4) N9, 25 (6,4) (5,5) (3,5) Each cell represents one time point (T0 - T15): (6,4) (3,3) (8,1) N11, 8 N10, 30 (6,3) N13 N8, 65 (3) e.g. Dest #1 (3,2) (6,4) N12, 18 Available edge capacity at time 3 is reduced to 5 N14 (3,3) Dest #2
CCRP Execution Trace Quickest route between source/destination pair: Iteration: 4 R: (route with earliest destination arrival time) Node: N8 N3 N4 N6 N10 N13 Start Time: 0 1 4 8 13 14 N1, 50 (10) Number. of Evacuees on Route R: 3 (7,1) (3,3) Node: N4, 8 (3,3) N5, 6 Node ID, Max Capacity (Initial Occupancy) N3, 30 (5,4) (3,4) Edge: (7,1) (Max Capacity, Travel time) N2, 50 (5) N7, 8 N6, 10 Edge reservation table: (14,4) N9, 25 (6,4) (5,5) (3,5) Each cell represents one time point (T0 - T15): (6,4) (3,3) N11, 8 (8,1) (6,3) N13 N10, 30 N8, 65 e.g. Dest #1 (3,2) (6,4) N12, 18 Available edge capacity at time 3 is reduced to 5 N14 (3,3) Dest #2
CCRP Execution Trace Quickest route between source/destination pair: Iteration: 5 R: (route with earliest destination arrival time) Node: N8 N3 N4 N6 N10 N13 Start Time: 0 2 5 9 14 15 N1, 50 (7) Number. of Evacuees on Route R: 3 (7,1) (3,3) Node: N4, 8 (3,3) N5, 6 Node ID, Max Capacity (Initial Occupancy) N3, 30 (5,4) (3,4) Edge: (7,1) (Max Capacity, Travel time) N2, 50 (5) N7, 8 N6, 10 Edge reservation table: (14,4) N9, 25 (6,4) (5,5) (3,5) Each cell represents one time point (T0 - T15): (6,4) (3,3) N11, 8 (8,1) (6,3) N13 N10, 30 N8, 65 e.g. Dest #1 (3,2) (6,4) N12, 18 Available edge capacity at time 3 is reduced to 5 N14 (3,3) Dest #2
Introduction Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions Analytical evaluation Experiment evaluation Conclusion and Future works Outline
Analytical Evaluation of CCRP Design Decisions Heuristic vs. Optimal Optimal: Linear programming approach: at least Heuristic: CCRP_S Number of iterations:O(p) p : number of evacuees Cost for each iteration: ( n: number nodes, m: number of edges ) Step 1 - Find route Rwith 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.
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):
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:
Experiment Evaluation of CCRP Design Decisions: Heuristic vs. Optimal: Experiment Design Number of Nodes Number of Evacuees Number of Source Nodes Number of Destination Nodes Network Generator: NETGEN Evacuation Egress Time Upper-bound T Evacuation network with capacity constraints and evacuees Time Expanded Network Converter CCRP If no solution, increase T T-time expanded evacuation network Minimum Cost Flow Solver: RelaxIV Run-time Solution Run-time Solution Data Analysis 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).
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 solution Figure 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.
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 solution Figure 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.
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.
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.
Experiment Evaluation of CCRP Design Decisions: Multiple SP search vs. Single SP searchExperiment Design: Number of Nodes Run-time CCRP_S: Single SP search at Step 1 Network Generator: NETGEN Data Analysis Evacuation network CCRP_M: Multiple SP search at Step 1 (one search from each source node) Run-time Goal: Compare performance of single shortest path search at step 1 (CCRP_S) and multiple shortest path search at Step 1 (CCRP_M).
Multiple SP search vs. Single SP search Experiment Result: Figure: Run-time of CCRP_S and CCRP_M with respect to network size • CCRP_S is strictly faster than CCRP_M. • Single SP searchin CCRP is a better choice over Multiple SP search.
Choice of shortest path search algorithms Experiment Evaluation of CCRP Design Decisions: Experiment Design: Goal:Compare performance of CCRP with different shortest path 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
Best choice for CCRP: Dijkstra’s algorithm using double bucket implementation. Choice of shortest path search algorithms Experiment Result: Figure: CCRP Run-time with Different Shortest Path Search Algorithms