


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