1 capacity constrained routing algorithms for evacuation planning qingsong lu, betsy george adviser:...

61
1 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

Post on 22-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 2: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 3: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 4: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 5: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 6: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 7: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

7

Example Evacuation Plan:

Example Output : Evacuation Plan

Page 8: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 9: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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 )

Page 10: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 11: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 12: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 13: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 14: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

14

Algorithm Design Space

Algorithm Framework Optimal algorithm: Linear Programming, A* based. Heuristic algorithm: CCRP

Page 15: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

15

Representation of Temporal Network

G : evacuation network

GT : time-expanded

network ( T = 4 )

Time expanded networks

Time series representation

available capacity ( used capacity )

Page 16: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 17: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 18: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.)

Page 19: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.)

Page 20: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 21: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 22: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 23: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.

Page 24: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 25: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 26: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 27: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.

Page 28: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.

Page 29: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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:

Page 30: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 31: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 32: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 33: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 34: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 35: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 36: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 37: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

37

Outline

Introduction Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions

Analytical evaluation Experiment evaluation

Conclusion and Future works

Page 38: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

38

Design Decisions for CCRP

Page 39: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.

Page 40: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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):

Page 41: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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:

Page 42: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 43: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 44: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 45: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 46: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 47: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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:

Page 48: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 49: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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:

Page 50: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 51: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

51

Outline

Introduction Algorithm Framework and Design Decisions Our Approach Evaluation of Design Decisions Conclusion and Future works

Page 52: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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)

Page 53: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 54: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

54

Thank you !

Questions and Comments ?

Page 55: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

56

A Simple Example – Building floor Map

Two-story building:

- Two staircases

- Two exits on first floor

( Building floor map from EVACNET User Manual )

Page 56: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

57

A Simple Example – Node and Edge Definition

Nodes:

Edges:

Each room, hallway, staircase, etc.

Each available link between two nodes.

Page 57: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 58: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

59

A Real Scenario: Nuclear Power Plant Evacuation Route Planning

Nuclear Power Plants in Minnesota

Twin Cities

Page 59: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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

Page 60: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

61

A Real Scenario: Transportation Road Map

Affected Cities

Monticello Power Plant

Evacuation Destination

University of Minnesota

Page 61: 1 Capacity Constrained Routing Algorithms For Evacuation Planning Qingsong Lu, Betsy George Adviser: Prof. Shashi Shekhar Spatial Database Research Group

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.