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
OutlineIntroductionMotivationProblem StatementRelated WorksContributionsConclusion and Future works
Motivation Nature DisasterFlorida 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 AndrewHurricane Andrew, 1992 Traffic congestionHurricane Evacuation Route Sign in Florida
Motivation - Homeland Security Preparation of response to a chem-bio attack Plan evacuation routes and schedules after plume simulation Guide affected population and public officialsBase MapWeather DataPlume DispersionDemographics InformationTransportation Networks( Images from www.fortune.com )
Problem StatementGivenA transportation network, a directed graph G = ( N, E ) with Capacity constraint (non-negative integer) for each edge and nodeTravel time (non-negative integer) for each edgeNumber of evacuees and their initial locations (source nodes) Evacuation destinations (destination nodes) OutputEvacuation 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 ) ObjectiveMinimize evacuation egress time (time from start of evacuation to last evacuee reaches destination) Minimize computational overheadConstraintsLimited computer memory
A Simple Example Building floor MapTwo-story building:- Two staircases- Two exits on first floor( Building floor map from EVACNET User Manual )
A Simple Example Node and Edge DefinitionNodes:Edges:Each room, hallway, staircase, etc.Each available link between two nodes.
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 =10Max. Capacity = 50Max. Capacity = 50Init. Occupancy = 5Max. Capacity = 65 Init. Occupancy = 15Capacity=6Travel time=3
Example Input: Evacuation Network with Evacuees N1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (15)N12, 18N11, 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 #2Dest #1N13N14Node IDDestination nodeNode Edge
Example Evacuation Plan:Example Output : Evacuation Plan
N1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (15)N12, 18N11, 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 #2Dest #1N13N14Node IDNode Edge Destination nodeABCDEFGHIAnimation:Time: t = 012345678910111213141516
Related Works: Linear Programming Approach (1/3)G : evacuation networkGT : 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 )
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)
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 requirementIncreased problem size: N = n(T+1) high computational complexity Require user to estimated evacuation time upper bound T :Under-estimate failure of finding a solutionOver-estimate unnecessary storage and run-timeRelated Works: Linear Programming Approach (3/3)
OutlineIntroductionContributionsCapacity Constrained Routing Planner (CCRP)Algorithm Design DecisionsCost ModelPerformance EvaluationFormulation of A* Search AlgorithmConclusion and Future works
Main ContributionsNew 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 algorithmNew 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
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. Dijkstras algorithm, to account for capacity constraints Capacity Constrained Routing ApproachMain ideas:
While (any source node has evacuees) doStep 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 Rflow = 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 RAvailable capacity of each edge on R reduced by flow Available capacity of each incoming nodes on R reduced by flowSummary: 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)
Example Input: Evacuation Network with Evacuees N1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (15)N12, 18N11, 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 #2Dest #1N13N14Node IDDestination nodeNode Edge
CCRP Execution TraceN1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (15)N12, 18N11, 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 #2N13N14Node:Edge: Dest #1Iteration: 1Edge reservation table:Quickest route between source/destination pair:R : (route with earliest destination arrival time)N8N10N13Start Time:034Node:Each cell represents one time point (T0 - T15):e.g.Available edge capacity at time 3 is reduced to 5Number. of Evacuees on Route R: 6
7777777777777777
T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15
SourceDestinationDest. Arrival TimeNo. of EvacueesN1N13143N1N14153N2N13143N2N14153N8N1346N8N1453
3333333333333333
3333333333333333
3333333333333333
3333333333333333
3333333333333333
5555555555555555
5555555555555555
8882888888888888
3333333333333333
0666666666666666
8858888888888888
7777777777777777
CCRP Execution TraceN1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (9)N12, 18N11, 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 #2N13N14Dest #1Iteration: 2Quickest route between source/destination pair:R : (route with earliest destination arrival time)N8N10N13Start Time:145Node:Number. of Evacuees on Route R: 6(Max Capacity, Travel time)Node ID, Max Capacity(Initial Occupancy)Node:Edge: Edge reservation table:Each cell represents one time point (T0 - T15):e.g.Available edge capacity at time 3 is reduced to 5(6,3)
7777777777777777
SourceDestinationDest. Arrival TimeNo. of EvacueesN1N13143N1N14153N2N13143N2N14153N8N1356N8N1453
3333333333333333
3333333333333333
3333333333333333
3333333333333333
3333333333333333
5555555555555555
5555555555555555
8882288888888888
3333333333333333
0066666666666666
7777777777777777
T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15
8858888888888888
CCRP Execution TraceN1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 (3)N12, 18N11, 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 #2N13N14Dest #1Iteration: 3Quickest route between source/destination pair:R : (route with earliest destination arrival time)N8N11N14Start Time:035Node:Number. of Evacuees on Route R: 3(Max Capacity, Travel time)Node ID, Max Capacity(Initial Occupancy)Node:Edge: Edge reservation table:Each cell represents one time point (T0 - T15):e.g.Available edge capacity at time 3 is reduced to 5
7777777777777777
SourceDestinationDest. Arrival TimeNo. of EvacueesN1N13143N1N14153N2N13143N2N14153N8N1363N8N1453
3333333333333333
3333333333333333
3333333333333333
3333333333333333
3330333333333333
5555555555555555
5555555555555555
8882288888888888
0333333333333333
0066666666666666
7777777777777777
T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15
8858888888888888
CCRP Execution TraceN1, 50(10)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 N12, 18N11, 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 #2N13N14Dest #1Iteration: 4Quickest route between source/destination pair:R : (route with earliest destination arrival time)N8N3N4Start Time:014Node:Number. of Evacuees on Route R: 3N6N1081314N13(Max Capacity, Travel time)Node ID, Max Capacity(Initial Occupancy)Node:Edge: Edge reservation table:Each cell represents one time point (T0 - T15):e.g.Available edge capacity at time 3 is reduced to 5
4777777777777777
SourceDestinationDest. Arrival TimeNo. of EvacueesN1N13143N1N14153N2N13143N2N14153
3333333333333333
3333333333333333
3033333333333333
3333333333333333
3330333333333333
5555555525555555
5555255555555555
8882288888888588
0333333333333333
0066666666666666
7777777777777777
T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15
8858888888888888
CCRP Execution TraceN1, 50(7)N3, 30N5, 6N4, 8N2, 50(5)N6, 10N7, 8N9, 25N8, 65 N12, 18N11, 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 #2N13N14Dest #1Iteration: 5Quickest route between source/destination pair:R : (route with earliest destination arrival time)N8N3N4Start Time:025Node:Number. of Evacuees on Route R: 3N6N1091415N13(Max Capacity, Travel time)Node ID, Max Capacity(Initial Occupancy)Node:Edge: Edge reservation table:Each cell represents one time point (T0 - T15):e.g.Available edge capacity at time 3 is reduced to 5
1777777777777777
SourceDestinationDest. Arrival TimeNo. of EvacueesN1N13153N1N14153N2N13153N2N14153
3333333333333333
3333333333333333
3003333333333333
3333333333333333
3330333333333333
5555555522555555
5555225555555555
8882288888888558
0333333333333333
0066666666666666
7777777777777777
T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15
8858888888888888
Design Decision 1: Algorithm for Step 1 (1/2)Step 1:Finding route R among routes between all (source, destination) pairs.S1S2Snd1d2dmSourcesDestinationsRGThree 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 searchRationale: lower computational cost
Find Route R with one Shortest Path Search:S0S1S2Snd1d2dmd0SourcesDestinations(0,)(0,)super source nodesuper destination node(travel time, capacity)RIf 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)GFinding Route R among routes between all (source, destination) pairs:(0,)(0,)(0,)(0,)(travel time, capacity)
Design Decision 2 Choice of Shortest Path AlgorithmsShortest path algorithm for graph with non-negative edge length:Three Choices:1. Family of Dijkstras algorithm: Original Dijkstras 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: Dijkstras algorithmRationale: 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.
Capacity Constrained Route Planner (CCRP)
Performance Evaluation: Experiment DesignGoal: 1. Compare CCRP with LP minimum cost flow solver (e.g. NETFLO): - Solution Quality: Evacuation egress time - Performance: Run-time2. 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:NETGENNetwork Transform ToolCapacity Constrained Route Planner (CCRP) Minimum Cost Flow Solver: NETFLOData AnalysisNumber of Source NodesNumber of NodesNumber of EvacueesEvacuation network with capacity constraints and evacueesT-time expanded evacuation network Run-time Solution Run-time Solution Estimated Evacuation Egress Time Limit TIf no solution, increase T
Performance Evaluation : Experiment Results 1Experiment 1: Effect of Number of EvacueesSetup: 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/3 that of NETFLO. CCRP is scalable to the number of evacuees.
Chart1
330330
355354.2914171657
370367.8663750249
380376.2376237624
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
Chart2
91.7374
119.67520
141.54595
160.55791
CCRP
NETFLO
Number of Evacuees
Running Time (second)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
Performance Evaluation : Experiment Results 2Experiment 2: Effect of Number of Source NodesSetup: 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 NETFLO. CCRP is scalable to the number of source nodes.
Chart3
375373.8783649053
330328.3582089552
360358.2089552239
370368.1592039801
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
Chart4
44.93280.5
91.7374
143.57411
208.03519.5
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
Performance Evaluation : Experiment Results 3Experiment 3: Effect of Network SizeSetup: fixed number of evacuees = 5000, fixed number of source nodes = 10 nodes, number of nodes from 50 to 50,000. Figure 1 Quality of solutionFigure 2 Run-time CCRP produces high quality solution, solution quality increases as network size grows. Run-time of CCRP is scalable to network size.
Chart5
120127.2
245249.9
330331.65
39550000
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
Chart6
0.10.3
1.525.5
23.1962.2
316.450000
CCRP
NETFLO
Number of Nodes
Running Time (second)
NETGEN
Prob##Node#Source#Sink#ArcMin arc time (min)Max arc time (min)Total EvacueeT srcT sinkPerc max time arcPerc cap. arcMin arc capMax arc cap
VARVAR2120VAR00510010100
20%-80% #Node3 * #Node
100501521501204500510010100
2005001502150012045000510010100
30050001500215000120450000510010100
400500001500021500001204500000510010100
5005000001500002150000012045000000510010100
32150001000215000120500000510010100
322500010002150001202000000510010100
323500010002150001203500000510010100
324500010002150001205000000510010100
34150002000215000120500000510010100
342500020002150001202000000510010100
343500020002150001203500000510010100
344500020002150001205000000510010100
36150003000215000120500000510010100
362500030002150001202000000510010100
363500030002150001203500000510010100
364500030002150001205000000510010100
38150004000215000120500000510010100
382500040002150001202000000510010100
383500040002150001203500000510010100
384500040002150001205000000510010100
10150102150120500000510010100
2015001021500120500000510010100
301500010215000120500000510010100
10250402150120500000510010100
2025004021500120500000510010100
302500040215000120500000510010100
test
nmtime(2w)time(1w)(m+nlogn)/(n^2)new timeRelax
501500.0010.0050.17287712380.00086438560.01
50015001.050.850.02393156860.02034183330.87
5000150008706750.00305754252.063841171254.88
500000.00031219280
Data
Prob.#Node#Arc#Source#evacueeEgressTotal timeTotaltime/RelaxGroupRuntime(m+nlogn)/(n^2)timefactornewtimeRelax TotalRuntimeNETFLO
VARVARVAR
3215000150001000500042872301.00001146411044449.30.00305754250.144.938722956.1280.5source node
322500015000100020000423554841.00039116911754806.50.00305754250.180.6535534596.9
323500015000100035000426343121.000897840321891018.70.00305754250.1101.87633743123.3
324500015000100050000429132391.0015825908253511940.00305754250.1119.4911796132.7
0.1
341500015000200050003357463120009170.00305754250.191.75746378.8394
342500015000200020000332706941.000151485525401196.70.00305754250.1119.67270653116.1580.5evacuee number
343500015000200035000334694281.000579764529671415.40.00305754250.1141.54469156119595
344500015000200050000336880981.001477259733451605.50.00305754250.1160.55687083158.2791
0.1
361500015000300050003747094130001435.70.00305754250.1143.574709482.2411
362500015000300020000372001121.000119947231451507.70.00305754250.1150.7720008897.2
363500015000300035000383593901.000297815435681729.50.00305754250.1172.95359283119.9
364500015000300050000375160911.000480766438651878.70.00305754250.1187.87515843131.3
0.1
381500015000400050003750502140082080.30.00305754250.1208.0350502103.9519.5
382500015000400020000371668461.000005993640662065.60.00305754250.1206.5616684588.9
383500015000400035000383237381.0091552084428621600.00305754250.1216320801125.5
384500015000400050000374414091.0045927204448722500.00305754250.1225439391120.3
10150150105000341072841.0504856651050.010.17287712380.08643856191021280.050.3
2015001500105000641871051.03634017192221.610.02393156861.92649126981805444.2625.56n/w size
3015000150001050001253376901.0617846812257151.10.003057542523.0997334055318040160.34962.04
40150000150000105000170000.0003721928316.3638880654N/A
1025015040500020371091.0096588126720.010.17287712380.0864385619367540.010.1
2025001500405000491274101.00679573292111.330.02393156861.59144930991265501.817.6
302500015000405000692139751.0024455032318130.90.003057542520.011615504821345344.28560
evacuee number
CCRPNETFLOqualityNETFLO
341500091.73741330330
34220000119.675201.002355354.2914171657
34335000141.545951.0058370367.8663750249
34450000160.557911.01380376.2376237624
souce node
runtimeCCRPNETFLOCCRPNETFLO
321100044.93280.51.003375373.8783649053
341200091.73741.005330328.3582089552
3613000143.574111.005360358.2089552239
3814000208.03519.51.005370368.1592039801
N/W size
CCRPNETFLONETFLO
101500.10.31.06120127.2
2015001.525.51.02245249.9
301500023.1962.21.005330331.65
40150000316.41.005395
Data
CCRP
NETFLO
Number of Evacuees
Running Time (second)
CCRP
NETFLO
Number of Evacuees
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Source Nodes
Running Time (second)
CCRP
NETFLO
Number of Source Nodes
Evacuation Egress Time (unit)
CCRP
NETFLO
Number of Nodes
Running Time (second)
CCRP
NETFLO
Number of Nodes
Evacuation Egress Time (unit)
A Real Scenario: Nuclear Power Plant Evacuation Route PlanningNuclear Power Plants in MinnesotaTwin Cities
A Real Scenario: Monticello Emergency Planning Zone and PopulationMonticello 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 707Total41,950
Estimate EPZ evacuation time: Summer/Winter(good weather): 3 hours, 30 minutes Winter (adverse weather): 5 hours, 40 minutesEmergency 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
A Real Scenario: Transportation Road MapAffected CitiesMonticello Power PlantEvacuation DestinationUniversity of Minnesota
A Real Scenario : New Plan RoutesSource citiesDestinationMonticello Power PlantRoutes used only by old planRoutes used only by result plan of capacity constrained routing Routes used by both plansCongestion 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 CitiesExperiment ResultTotal evacuation time: - Existing Plan: 268 min.- New Plan: 162 min.
Summary of CCRP AlgorithmCapacity 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.
OutlineIntroductionMy ContributionsCapacity Constrained Routing Planner (CCRP)Formulation of A* Search AlgorithmDefinition of search spaceDefinition of heuristic functionAn examplePerformance evaluationConclusion and Future works
Definitions of A* Search Space: Start node: Initial state of evacuation network: all evacuees at source nodesGoal node : All evacuees at destination nodesSearch space:Consists of different states of the evacuation network.Each search node is the snapshot of the network at one instant of timeExpanding search nodeGiven 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 nh(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 stateLemma 2: h( ) monotonic.
A* Search - Example (1/2)1234Edge: (capacity, travel time)(2, 1)(2, 1)Node: (occupancy)2(2, 2)(2, 1)1234(2, 1)(2, 1)2(2, 2)(2, 1)1234(2, 1)(2, 1)2(2, 2)(2, 1)1234(2, 1)(2, 1)1(2, 2)(2, 1)11234(2, 1)(2, 1)1(2, 2)(2, 1)11234(2, 1)(2, 1)1(2, 2)(2, 1)1f(n) = g(n) + h(n) = 0 + 2 = 2T = 0T = 1f = g + h = 1 + 1 = 2f = g + h = 1 + 2 = 3Initial statef = g + h = 1 + 2 = 3f = g + h = 1 + 2 = 3f = g + h = 1 + 2 = 3Next search node to be expanded
A* Search - Example (2/2)1234(2, 1)(2, 1)2(2, 2)(2, 1)T = 1f = g + h = 1 + 1 = 2Next search node to be expandedT = 21234(2, 1)(2, 1)(2, 2)(2, 1)21234(2, 1)(2, 1)(2, 2)(2, 1)11f = g + h = 2 + 0 = 2f = g + h = 2 + 1 = 3Goal stateOptimal solution
Performance Evaluation of A* Search: Experiment DesignGoal: 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:NETGENNetwork Transform ToolA* Search for Evacuation PlanningMinimum Cost Flow Solver: NETFLOData AnalysisNumber of Source NodesNumber of NodesNumber of EvacueesEvacuation network with capacity constraints and evacueesT-time expanded evacuation network Run-time Solution Run-time Solution Estimated Evacuation Egress Time Limit TIf no solution, increase T
Performance Evaluation of A* Search: Experiment ResultsExperiment: 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 NETFLOSolution 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 FormulationA* 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.
ConclusionsNew 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
Future Works (1/2)CCRP Algorithm: Effect of using different shortest path algorithms in Step 1 of CCRP: Different Implementations of Dijkstras 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.
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
Thank you !
Questions and Comments ?
Top Related