710 likes | 855 Views
Estimating Capacity and Routing Flows Among Known and Probabilistic Constraints. Valentin Polishchuk Joint work with Joseph S.B. Mitchell, Ph.D. and Jimmy Krozel, Ph.D. Problem Statement. Given airspace constraints (“obstacles”) Estimate capacity Find air routes. Airspace. 2D
E N D
Estimating Capacity and Routing Flows Among Known and Probabilistic Constraints Valentin Polishchuk Joint work with Joseph S.B. Mitchell, Ph.D. and Jimmy Krozel, Ph.D.
Problem Statement • Given • airspace • constraints (“obstacles”) • Estimate • capacity • Find • air routes
Airspace • 2D • en-route • A simple polygon • Polygonal obstacles • no-fly zones • always there • weather • stochastic • moving • Source and Sink • boundary edges
Versions • Deterministic vs. stochastic • Static vs. dynamic • Depends on look-ahead time
Overview • Network Flows • Flows in 2D • Airspace capacity estimation • deterministic case • stochastic case • Route planning • deterministic case (many routes) • stochastic case (one route) • Future work • dynamic setting • stochastic case • route planning (many routes)
1 4 1 3 1 4 2 1 Network / Graph • Nodes • source s and sink t • Arcs (i,j) • capacities uij • integers s t
1 4 1 3 1 4 2 1 Cut • Partition nodes into sets S and T, with • s in S • t in T • Arc (i,j) crosses the cut if • i in S • j in T • Capacity of the cut: • sum of capacities • of arcs that cross the cut s t 6
1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Flow • Assignment • integer fij • for each arc (i,j) • Respect capacities • fij≤ uij • Conserve at the nodes • node i ≠ s,t • flow in = flow out • ∑(j,i) fij = ∑(i,k) fik • Value • ∑(s,i) fsi = ∑(j,t) fjt 1 1 s t 1 1 1
Two Basic Problems • Max Flow • maximize value • Min-Cost Flow • costs cij • minimize cost ∑ cij fij Efficient algorithms known
1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Maxflow-Mincut Theorem maxflow = mincut 2 = 2 1 1 1 s t 1 1 1
1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Flow Decomposition Theorem flow = union of paths “carrying” pieces of the flow 1 1 1 s t 1 1 1
1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Network Flows (Summary) • Given • network • capacities • costs • Find • maxflow • min-cost flow • Maxflow/Mincut Theorem • Flow Decomposition Theorem 1 1 1 s t 1 1 1 s t
1 4 1 3 1 4 2 1 Shortest Path • Given • network • costs on edges • Find • shortest s-t path s t
Problem Statement • Polygonal domain P • source and sink edges • Cut • partition domain into subsets S and T • capacity • length of the boundary shared by S and T • Flow • vector field
1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Discrete Network 2D Domain • Source and sink nodes • Cut • partition nodes • capacity • edges that cross • Flow • integers on arcs • Source and sink edges • Cut • partition domain • capacity • length of the boundary • Flow • vector field 1 1 1 s t 1 1 1
Flow Decomposition 1 1 4 4 1 1 3 3 1 1 4 4 2 2 1 1 Maxflow = Mincut 1 1 1 s s t t 1 1 1 [Mitchell’90] [MP’06] How do we use all this in ATM?
Map the Theory to ATM Domain Important issueNot a continuous fluid flow Maximum integer number of air lanes
Algorithm: Mincut (Deterministic) 1. Airspace with Hazardous Weather Constraints
Algorithm: Mincut (Deterministic) 2. Critical Graph: nodes for each obstacle, B, T
Algorithm: Mincut (Deterministic) 3. Cost: integer number of air lanes cij = | dij / w |
Algorithm: Mincut (Deterministic) 4. Search for Shortest B-T Path within Critical Graph
Algorithm: Mincut (Deterministic) 5. Shortest B-T Pathdefines the mincut → defines capacity
Overall: Known Constraints Given: Airspace with Hazardous Weather Constraints
Overall: Known Constraints Output: capacity
Stochastic Case • Given: • N forecasts (scenarios) • probability pk that the kth forecast is the final outcome • Output: • Capacity X (a random variable) • distribution of X
Algorithm: Mincut (Probability Distribution) • For each Scenario k (k=1,2,…,N): • Create critical graph • Search for mincut • Record mincut length xk • Output (Capacity = X): • - FX(t) = Sk:xk≤tpk Cumulative Distribution Function • - E[X] = Skxkpk Expected Value • - Var[X] = E[X2] – E[X]2 = Skxk2pk – E[X]2 Variance
Example: Mincut (Probability Distribution) NWP Model 1 NWP Model 2 NWP Model 3 4 air lanes 4 air lanes 7 air lanes Output (Capacity = X): - E(X) = Skxkpk = 70%(4) + 10%(4) + 20%(7) = 4.6 air lanes - Var(X) = Skxk2pk - [E(X)]2 = 1.44 - FX(t) = Sk:xk ≤tpk P(X=4) = 80% P(X=7) = 20%
Matlab algorithm for Capacity Estimation • Identifies flow “Bottleneck” • “Projects into future” by growing obstacles • for how long is this good? • how bad a weather will change the picture? • For growing weather cases, the mincut moves around over time For simplicity of implementation/random generation in experiments: Constraints modeled as a union of disks (though method allows any shape of constraints)
Movie Time! • RNP 10 • RNP 20
Popcorn Convection vs Squall Line Organization flow flow 44800 Synthetic Weather Data Experiments
Real World Weather Scenario RNP-3 RNP-5 RNP-10 Linear looks like Squall Line Convection
Probability x Air Lanes will get through? • How many air lanes can we get through the FCA when we have a probabilistic weather forecast model? • Probability that x air lanes get through decreases with increasing RNP requirements 1 1 2 2 3 4 3 5 6 4 5
Known Constraints Given: Airspace with Hazardous Weather Constraints
Known Constraints Output: capacity
Routes too! Find the air lanes
Geometric Shortest Paths • Given: • (Outer) Polygon P • Polygonal obstacles • Points s and t • Find: • shortest s-t path • avoiding obstacles • Efficient Algorithms Known
Visibility Graph Shortest Path lies on VG search VG worst-case size/time to compute is O(n2)
Shortest Path Map Decomposition of the free space Shortest Paths go through same vertices worst-case size/time is O(n) / O(n log n)
Multiple Paths • Given • K pairs of terminals (sk,tk) • Find • shortest sk-tk paths • minsum • minmax • non-crossing • NP-hard in general • Terminals on the boundary of P • linear time OK Not allowed
Thick Paths Thick path = reference_path + unit_circle Minkowski sum Place center everywhere on the reference path Length = length(reference path)
Finding 1 Shortest Thick Path Inflate by 1 Find shortest reference path Inflate the reference path
K Thick Non-Crossing Paths • Shortest sk-tk paths • minsum • minmax • Thick • Non-intersecting OK Not allowed
Our Solution: K = 2 Inflate by 1 Route red path Inflate by 2 Find shortest reference path Same on the other side Inflate reference paths
K > 2 Map to circle For k = 1…K Inflate correspondingly Find shortest reference path Inflate reference path
Small Number of Holes For every “threading” For k = 1…K Inflate correspondingly Find shortest reference path Inflate reference path Large number of holes NP-hard
Extensions • Different widths • 3 RNP-20, 5 RNP-10, 2 RNP-3 • Curvature Constraint • shortest paths • curvature < 1