capacity constrained routing algorithms for evacuation planning: a summary of results

50
1 Capacity Constrained Routing Algorithms For Evacuation Planning: A Summary of Results Qingsong Lu, Betsy George, Shashi Shekhar Spatial Database Research Group http://www.cs.umn.edu/research/shashi-group/ Department of Computer Science and Engineering University of Minnesota August 2005

Upload: lloyd

Post on 20-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Capacity Constrained Routing Algorithms For Evacuation Planning: A Summary of Results Qingsong Lu, Betsy George, Shashi Shekhar Spatial Database Research Group http://www.cs.umn.edu/research/shashi-group/ Department of Computer Science and Engineering University of Minnesota August 2005. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

1

Capacity Constrained Routing Algorithms For Evacuation Planning: A Summary of Results

Qingsong Lu, Betsy George, Shashi Shekhar

Spatial Database Research Grouphttp://www.cs.umn.edu/research/shashi-group/

Department of Computer Science and Engineering University of Minnesota

August 2005

Page 2: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

2

Outline

Introduction Motivation Problem Statement Related Works

Contributions Conclusion and Future works

Page 3: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

3

Motivation – Nature Disaster

Florida and Louisiana, 1992 No effective evacuation planning 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." Morgan City, Louisiana Mayor Tim Mott ( http://i49south.com/hurricane.htm )

( National Weather Services)

( www.washingtonpost.com)

Hurricane Andrew

Hurricane Andrew, 1992 Traffic congestion Hurricane Evacuation Route Sign in Florida

Page 4: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

4

Preparation of response to a chem-bio attack

Plan evacuation routes and schedules after plume simulation

Guide affected population and public officials

Base Map Weather Data

Plume Dispersion

Demographics Information

Transportation Networks

( Images from www.fortune.com )

Motivation - Homeland Security

Page 5: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

5

Problem Statement

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 overhead

Constraints Limited computer memory

Page 6: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

6

A Simple Example – Building floor Map

Two-story building:

- Two staircases

- Two exits on first floor

( Building floor map from EVACNET User Manual )

Page 7: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

7

A Simple Example – Node and Edge Definition

Nodes:

Edges:

Each room, hallway, staircase, etc.

Each available link between two nodes.

Page 8: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

8

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 9: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

9

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 10: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

10

Example Evacuation Plan:

Example Output : Evacuation Plan

Page 11: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

11

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 12: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

12

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 13: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

13

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 14: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

14

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 moderate 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 15: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

15

Outline

Introduction Contributions

Capacity Constrained Routing Planner (CCRP) Algorithm Design Decisions Cost Model Performance Evaluation

Formulation of A* Search Algorithm Conclusion and Future works

Page 16: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

16

Main Contributions

New heuristic algorithm (CCRP): Develop new heuristic algorithm (CCRP) to find sub-optimal solution Performance evaluation:

Reduce computational cost compared with optimal solution algorithm High quality solution

Do not require user provided time upper bound Provided upper bound of evacuation egress time for optimal solution algorithm

New optimal solution algorithm (A* Search): Designed and implemented A* Search algorithm for evacuation planning problem. Proved admissibility and monotonicity of heuristic function. Performance evaluation:

Produce optimal solution in all test cases. Current implementation has exponential run-time and requires high memory usage.

Do not require user provided time upper bound

Page 17: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

17

1. Model node capacity and edge capacity as a time series instead of a fixed number.

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 18: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

18

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 19: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

19

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 20: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

20

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 21: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

21

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 22: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

22

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 23: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

23

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 24: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

24

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 25: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

25

Design Decision 1: Algorithm for Step 1 (1/2)

Step 1:Finding route R among routes between all (source, destination) pairs.

S1

S2

Sn

d1

d2

dm

Sources Destinations

R

G Three choices:

1. n x m single-source single-destination

shortest path search: 1 per (Si , dj) pair.

2. n single-source all-destination shortest path search: 1 per source node.

3. One 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.

Choice: one shortest path search

Rationale: lower computational cost

Page 26: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

26

Find Route R with one Shortest Path Search:

S0

S1

S2

Sn

d1

d2

dm

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.

Design Decision 1: Algorithm for Step 1 (2/2)

G

Finding Route R among routes between all (source, destination) pairs:

(0,∞)

(0,∞)

(0,∞)

(0,∞)

(travel time, capacity)

Page 27: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

27

Design Decision 2 – Choice of Shortest Path Algorithms

Shortest path algorithm for graph with non-negative edge length:

Three Choices:

1. Family of Dijkstra’s algorithm: Original Dijkstra’s algorithm: [Dijkstra, 1959].

Survey of implementations: [Cherkassky, Goldberg and Radzik, 1993].

2. A* search algorithm for shortest path: [Nilsson, 1980], [Goldberg, 2004].

3. Hierarchical routing algorithm: [Shekhar, 1997], [Rundensteiner, 1998],

Choice: Dijkstra’s algorithm

Rationale:• A* search: effectiveness of heuristic function deteriorate in later iterations of CCRP due to change of available capacity.

• Hierarchical routing: pre-computed shortest path between partitions no longer hold in later iterations of CCRP due to change of available capacity.

Page 28: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

28

Capacity Constrained Route Planner (CCRP)

Page 29: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

29

Cost Model of CCRP

Number of iterations: O(p) p : number of evacuees

Each iteration generates one group of evacuees,

Upper bound of number of groups = number of evacuees

Cost for each iteration: ( n: number nodes, m: number of edges )

Step 1 - Find route R with one Dijkstra search:

Dijkstra ( naïve implementation): O(n2)

Dijkstra ( with heap structure): O(m+nlogn)

for sparse graphs (e.g. road network) : m << nlogn

Cost of Step 1: O(nlogn)

Step 2 - Compute flow amount on route R : O(1)

Step 3 - Make reservations on route R : O(n)

Step 1 is dominant.

CCRP cost model: O( p nlogn )

Page 30: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

30

Performance Evaluation: Experiment Design

Goal:

1. Compare CCRP with LP minimum cost flow solver (e.g. NETFLO): - Solution Quality: Evacuation egress time - Performance: Run-time

2. Test effect of independent parameters on solution quality and performance: - Number of evacuees, number of source nodes, size of network (number of nodes).

Experiment Platform: CPU: Pentium 4 2GHz, RAM: 2GB, OS: Linux.

Network Generator:NETGEN

Network Transform Tool

Capacity Constrained Route Planner (CCRP)

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 31: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

31

Performance Evaluation : 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

300

310

320

330

340

350

360

370

380

390

5000 20000 35000 50000

Number of Evacuees

Ev

ac

ua

tio

n E

gre

ss

Tim

e (

un

it)

CCRP

NETFLO

0

100

200

300

400

500

600

700

800

900

5000 20000 35000 50000

Number of EvacueesR

un

nin

g T

ime

(s

ec

on

d)

CCRP

NETFLO

• CCRP produces high quality solution, solution quality drops slightly as number of evacuees grows.

• Run-time of CCRP is less than 1/3 that of NETFLO.

• CCRP is scalable to the number of evacuees.

Page 32: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

32

Performance Evaluation : 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

270

290

310

330

350

370

390

410

1000 2000 3000 4000

Number of Source Nodes

Ev

ac

ua

tio

n E

gre

ss

Tim

e (

un

it)

CCRP

NETFLO

0

100

200

300

400

500

600

1000 2000 3000 4000

Number of Source Nodes

Ru

nn

ing

Tim

e (

se

co

nd

)

CCRP

NETFLO

• CCRP produces high quality solution, solution quality not affected by number of source nodes.

• Run-time of CCRP is less than half of NETFLO.

• CCRP is scalable to the number of source nodes.

Page 33: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

33

Performance Evaluation : Experiment Results 3

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.

100

150

200

250

300

350

400

50 500 5000 50000

Number of Nodes

Ev

ac

ua

tio

n E

gre

ss

Tim

e(u

nit

)

CCRP

NETFLO

0

200

400

600

800

1000

Number of Nodes

Ru

nn

ing

Tim

e (

se

co

nd

)

CCRP

NETFLO

CCRP 0.1 1.5 23.1 316.4

NETFLO 0.3 25.5 962.2

50 500 5000 50000

Page 34: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

34

A Real Scenario: Nuclear Power Plant Evacuation Route Planning

Nuclear Power Plants in Minnesota

Twin Cities

Page 35: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

35

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 36: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

36

A Real Scenario: Transportation Road Map

Affected Cities

Monticello Power Plant

Evacuation Destination

University of Minnesota

Page 37: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

37

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.

Page 38: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

38

Summary of CCRP Algorithm

Capacity Constrained Route Planner (CCRP): A heuristic algorithm that produce sub-optimal solution. Experiment results show:

High quality solutions. Scalable to number of evacuees and network size. Lower run-time compared to linear programming algorithms.

Suitable for evacuation scenarios do not require optimal solution. Do not require user provided evacuation time upper bound. Output can be used as upper-bound for optimal evacuation egress time.

Page 39: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

39

Outline

Introduction My Contributions

Capacity Constrained Routing Planner (CCRP) Formulation of A* Search Algorithm

Definition of search space Definition of heuristic function An example Performance evaluation

Conclusion and Future works

Page 40: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

40

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 41: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

41

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 42: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

42

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 43: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

43

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 44: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

44

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 45: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

45

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 46: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

46

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.

Current implementation requires high memory usage.

Page 47: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

47

Conclusions

New heuristic algorithm (CCRP): Developed new heuristic algorithm (CCRP) to find sub-optimal solution. Performance evaluation:

Reduce computational cost compared with optimal solution algorithm High quality solution

Do not require user provided time upper bound. Provided upper bound of evacuation egress time for optimal solution algorithm.

New optimal solution algorithm (A* Search): Designed and implemented A* Search algorithm for evacuation planning problem. Proved admissibility and monotonicity of heuristic function. Performance evaluation:

Produce optimal solution in all test cases. Current implementation has exponential run-time and requires high memory usage.

Do not require user provided time upper bound

Page 48: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

48

Future Works (1/2)

CCRP Algorithm:

• Effect of using different shortest path algorithms in Step 1 of CCRP:• Different Implementations of Dijkstra’s algorithm:

e.g. Binary heap, Fibonacci heap, Double-bucket, etc.

• A* search for shortest path

• Assumptions:• Edge travel time observe FIFO (First-In First-Out) property.

• Constant maximum capacity for nodes and edges.

• Constant edge travel time.

• Effect of allowing time-varying edge capacity and travel time.

Page 49: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

49

Future Works (2/2)

Related Problem:• Contra-flow problem:

New algorithm to find optimal network configuration to reduce evacuation time.

A* Search Algorithm:

• Performance tuning of current A* implementation:

• Improve algorithm run-time:

e.g. pruning in search node expansion.

• Explore new data structures to reduce memory usage

• Analysis of cost model of A* search

Page 50: Capacity Constrained Routing Algorithms  For Evacuation Planning: A Summary of Results

50

Thank you !

Questions and Comments ?