Computational Geometry for DAC: GeoSect Methodology
description
Transcript of Computational Geometry for DAC: GeoSect Methodology
Computational Geometry for DAC:Computational Geometry for DAC:GeoSect MethodologyGeoSect Methodology
Joseph S. B. Mitchell and Girishkumar SabhnaniStony Brook University
22
ObjectivesObjectives
Design and implement efficient Design and implement efficient algorithms to compute optimal (or algorithms to compute optimal (or nearly-optimal) airspace nearly-optimal) airspace configurationsconfigurations
Devise novel methods that may Devise novel methods that may assist in maximizing safe utilization assist in maximizing safe utilization of airspaceof airspace
Explore future concepts of operationsExplore future concepts of operations“Provide flexibility where possible and structure where necessary.”
Design for ControlDesign for Control
Determine a mapping of controllers Determine a mapping of controllers (or oversight processes) to flights.(or oversight processes) to flights.
Approaches:Approaches:• Partition airspace into sectors, other Partition airspace into sectors, other
structural elementsstructural elements• Partition aircraft (e.g., into “gaggles”)Partition aircraft (e.g., into “gaggles”)
33
44
Airspace Sectorization Airspace Sectorization ProblemProblem
Joint work with A. Basu and G. Sabhnani
55
Airspace Sectorization Airspace Sectorization ProblemProblem
k – no. of sectorsk – no. of sectors bbii – Workload(WL) of sector i – Workload(WL) of sector i Given the air-traffic pattern, Given the air-traffic pattern,
decompose the domain of airspace into decompose the domain of airspace into k sectors, “optimally”k sectors, “optimally”• Min-Max WLMin-Max WL• Min-Sum WLMin-Sum WL
OR given a max Workload B, minimize OR given a max Workload B, minimize kk
We model as precise optimal geometric partitioning problem, for which we give provable results and heuristics to approximate
Metrics, Objective FunctionsMetrics, Objective Functions
MMax # aircraft at any time instant ax # aircraft at any time instant (instantaneous count), or % of MAP values(instantaneous count), or % of MAP values
Average (over time) countAverage (over time) count Coordination workload: # Boundary Coordination workload: # Boundary
crossings (hand-offs)crossings (hand-offs) Dynamic densityDynamic density Flight efficiency (fuel, time)Flight efficiency (fuel, time) DAC: frequency of change, magnitude of DAC: frequency of change, magnitude of
change, change, robustnessrobustness to forecast inaccuracies to forecast inaccuracies
66
Good Sectors and Good Good Sectors and Good Sector-Conforming RoutesSector-Conforming Routes
Find sectors Find sectors andand set of trajectories to set of trajectories to• Minimize Minimize
# sectors# sectors var(workload across sectors)var(workload across sectors) increase in flight length/fuel (over opt or increase in flight length/fuel (over opt or
user-preferred routes) to make conformal user-preferred routes) to make conformal with sector designwith sector design
• Subject to: Subject to: Load balance (each workload < W)Load balance (each workload < W)
Multicriteria optimizationMulticriteria optimization77
Iterative ProcessIterative Process
Feedback loop: Iterative adjustment Feedback loop: Iterative adjustment of routes to sectors and sectors to of routes to sectors and sectors to routesroutes
88
Trajectory not conforming to sectors
Optimal path problem: Modify trajectory to avoid corner clipping, obey crossing rules, etc
Adjusted trajectory to conform to sectors
constraints
1111
Related WorkRelated WorkAirspace Sectorization ProblemAirspace Sectorization Problem
Integer programming; after discretizing the NAS - Integer programming; after discretizing the NAS - Yousefi and Donohue ‘04Yousefi and Donohue ‘04
Genetic algorithms - Delahaye et al. ‘98Genetic algorithms - Delahaye et al. ‘98 Graph partitioning methods - Tran et al. ’03, Martinez et Graph partitioning methods - Tran et al. ’03, Martinez et
al.’07al.’07
Other PartitioningsOther Partitionings
Partitioning of rectangles and arrays for load balancing Partitioning of rectangles and arrays for load balancing of processors - Khanna, Muthukrishnan, and Skiena ‘97of processors - Khanna, Muthukrishnan, and Skiena ‘97
Political districting – Altman ’97Political districting – Altman ’97 Minimum-cost load balancing in sensor networks – Minimum-cost load balancing in sensor networks –
Carmi, Katz ‘05Carmi, Katz ‘05
1212
ApproachApproach
Devise mathematically precise problem Devise mathematically precise problem statements for the optimization statements for the optimization
Utilize tools from computational geometry Utilize tools from computational geometry to design algorithms for efficient solution to design algorithms for efficient solution and to analyze these algorithms and to analyze these algorithms theoreticallytheoretically
Use implementation and experimentation Use implementation and experimentation to verify proof of concept and to compare to verify proof of concept and to compare results to alternate approachesresults to alternate approaches
1313
Algorithm DescriptionAlgorithm Description
Current algorithms in GeoSect:Current algorithms in GeoSect:• ““Top-down” – start with a large portion Top-down” – start with a large portion
of airspace and recursively optimize a of airspace and recursively optimize a decomposition of it into “nice” decomposition of it into “nice” subregions in order to optimize an subregions in order to optimize an objective function modeling workloadobjective function modeling workload
• Implementation based on Binary Space Implementation based on Binary Space Partitions, with subproblem optimization Partitions, with subproblem optimization based on sweep techniques (from 1D based on sweep techniques (from 1D problem statement)problem statement)
1818
2D Problem: Theory2D Problem: Theory
x, yx, y and and tt
Hardness of a special caseHardness of a special case Sectors - axis aligned rectanglesSectors - axis aligned rectangles Problem used for reduction :Problem used for reduction :
• Rectangular partition of Rectangular partition of nn x x nn matrix A, into matrix A, into kk rectangles in order to minimize the max rectangles in order to minimize the max weight of a rectangle is NP-hard – weight of a rectangle is NP-hard – Muthukrishnan et al ’98Muthukrishnan et al ’98
The element values used in the reduction The element values used in the reduction are constants are constants 44
1919
View of Trajectories in Space-View of Trajectories in Space-TimeTime
View in space-time (x,y,t) or (x,y,z,t)
2121
CG Concept: Binary Space CG Concept: Binary Space Partition (BSP)Partition (BSP)
BSPBSP: Special case of a Convex Partition, P, of a domain : Special case of a Convex Partition, P, of a domain D D
Defining propertyDefining property: Recursively obtained by cutting a : Recursively obtained by cutting a face of P into two subfaces by a face of P into two subfaces by a line/plane/hyperplane, cutting “all the way through” line/plane/hyperplane, cutting “all the way through” at each stepat each step
DD
2222Top View
t
x
y
Front View
t
2323
Optimizing a Binary Space Optimizing a Binary Space Partition (BSP)Partition (BSP)
Dynamic ProgrammingDynamic Programming: Optimize over all BSP’s, : Optimize over all BSP’s, exploiting the fact that BSP’s are recursively exploiting the fact that BSP’s are recursively defined.defined.
ResultResult: Provably optimal (among BSP partitions) : Provably optimal (among BSP partitions) method to partition an airspace into sectors, in a method to partition an airspace into sectors, in a top-down fashion, for top-down fashion, for anyany specification/definition of specification/definition of “work load” in a sector“work load” in a sector
(minimize the maximum workload in a sector – most (minimize the maximum workload in a sector – most balanced sectorization)balanced sectorization)
Conforming to Dominant Conforming to Dominant FlowsFlows
How should a polygonal cut behave How should a polygonal cut behave wrt dominant flows?wrt dominant flows?• (1) Dominant flows should cross cut (1) Dominant flows should cross cut
nearly orthogonallynearly orthogonally
2424
flow
cut
Conforming to Dominant Conforming to Dominant FlowsFlows
• (2) Dominant flows should spend at (2) Dominant flows should spend at least a minimum amount of time in a least a minimum amount of time in a sector before leavingsector before leaving
2525
flow
Conforming to Dominant Conforming to Dominant FlowsFlows
• (3) Merge points and route intersections (3) Merge points and route intersections should have ample distance from should have ample distance from upstream entry point of sectorupstream entry point of sector
2626
flow
Flow-Conforming Cut Flow-Conforming Cut ProblemProblem
Given a set of dominant flows, we compute a polygonal cut Given a set of dominant flows, we compute a polygonal cut that conforms to the flow, satisfying all constraints:that conforms to the flow, satisfying all constraints:
2727Key: Every candidate cut is guaranteed to conform to dominant flows.
SUA
2828
More General BSPMore General BSP
DD
Each cut is a flow-conforming pathWorkload Evaluator for each subregion.
Basic Idea : Modification to BSPBasic Idea : Modification to BSP
Search for a good flow-conforming cutby sweeping with a set of flow-conforming
cuts
?
How to find these flow-conforming cuts?
Finding Good Candidate Cuts for BSPFinding Good Candidate Cuts for BSPFind offsets of the cells
Discretize the boundaries
Good Candidates
Search for cuts in a network
Bad Cuts
Conforming to SUA’sConforming to SUA’sDisks at each corner of SUA
Allowable Green Cuts
Red Cut Not Allowed
Another ApproachAnother Approach
Biting off individual sectorsBiting off individual sectors
3232
Guarantees of Resulting SectorsGuarantees of Resulting Sectors
Flows cross the sector boundaries “almost Flows cross the sector boundaries “almost orthogonally”orthogonally”
Angles at sector vertices are “big” (not acute)Angles at sector vertices are “big” (not acute) Each Each conflict point conflict point at crossings of dominant flows at crossings of dominant flows
lies considerably within the sector boundarieslies considerably within the sector boundaries The dominant flows never The dominant flows never corner clip corner clip the sector the sector
boundaryboundary SUAs either lie fully inside one sector or lie favorable SUAs either lie fully inside one sector or lie favorable
with respect to two or more sectors they crosswith respect to two or more sectors they cross
Each of these conditions is a parameterized Each of these conditions is a parameterized constraint, depending on user-specified parameters.constraint, depending on user-specified parameters.
3434
Avoiding Skinny PolygonsAvoiding Skinny Polygons
To ensure that the flights remain in To ensure that the flights remain in the sector for at least sometimethe sector for at least sometime
3535
Pie-CutsPie-Cuts
Extension of 1D to Polar coordinatesExtension of 1D to Polar coordinates
Centroid
1/k , 1/k-1 …. 1/2
(x,y,t) => (angle,t)
3636
Combining BSP and Pie-CutsCombining BSP and Pie-Cuts
Given a region to sectorize,Given a region to sectorize,• Try Pie-cuts starting with 5 or 6 down to Try Pie-cuts starting with 5 or 6 down to
33• If Pie-cut was successful recurse on the If Pie-cut was successful recurse on the
smaller piecessmaller pieces• Else use BSP to sectorize and recurse on Else use BSP to sectorize and recurse on
the two piecesthe two pieces
3737
Analysis DataAnalysis Data Utilize historical track data as input to Utilize historical track data as input to
optimizationoptimization Any set of tracks (e.g., direct routes, Any set of tracks (e.g., direct routes,
wind-optimized routes, predicted wind-optimized routes, predicted reroutes around weather) can be inputreroutes around weather) can be input
Experiments record workload Experiments record workload parameters, including total # aircraft parameters, including total # aircraft ever in a sector, time averages, and an ever in a sector, time averages, and an estimation of coordination workloadestimation of coordination workload
3838
Preliminary Results: Preliminary Results: GeoSectGeoSect
3939
Experimental SetupExperimental Setup
24hr track data (74588 flight tracks)24hr track data (74588 flight tracks)• avg complexity 59.26 (no. of bends)avg complexity 59.26 (no. of bends)
Sector dataSector data• low altitude sectorslow altitude sectors
US map data from Tiger DatabaseUS map data from Tiger Database
4040
ZFW Divided into 16 SectorsZFW Divided into 16 Sectors
4141
ZFW Divided into 17 SectorsZFW Divided into 17 Sectors
4242
ZFW Divided into 18 SectorsZFW Divided into 18 Sectors
4343
DiscretizationDiscretization
No. of orientations to try No. of orientations to try Also the critical points are discretized Also the critical points are discretized
(without any performance (without any performance degradation due to the density of the degradation due to the density of the track data)track data)
4444
Tuning the ParametersTuning the Parameters
No. of different orientations
Threshold for aspect ratio beta
Level of Discretization
4545
ResultsResults
4646
ResultsResults
Max goes down in both time-avg and worstcase
Std. Deviation improves severely
Min Aspect Ratio improves
4747
Results: NAS-wide Results: NAS-wide SectorizationSectorization
Original SectorsBSP divisionBSP+PiPi division
4848
Results: Comparison of Results: Comparison of GeoSect OptionsGeoSect Options
3D Partitioning3D Partitioning
Types of cuts:Types of cuts:• z = z = constant (flat)constant (flat)• Slanted cuts, cones Slanted cuts, cones
(centered at airports)(centered at airports)
• Challenge: cruise-climb airspaceChallenge: cruise-climb airspace
4949
Difficulty of MIP FormulationDifficulty of MIP Formulation
Enforcing 3D shapes: flat floors and Enforcing 3D shapes: flat floors and ceilingsceilings
5050
ApproachesApproaches
Bottom-upBottom-up• Cluster trajectoriesCluster trajectories• Cluster elementary sector units (e.g., hex-Cluster elementary sector units (e.g., hex-
cells) using MIPcells) using MIP Top-downTop-down (recursive partition, BSP) (recursive partition, BSP) Graph theoretic partitioningGraph theoretic partitioning Genetic algorithms, neural networksGenetic algorithms, neural networks Local re-partitioningLocal re-partitioning Human-in-the-loopHuman-in-the-loop
5151
5252
Bottom-Up MethodsBottom-Up Methods
Methods based on Methods based on clusteringclustering of of trajectory datatrajectory data
Example:Example:
Duality
Clustering points
Clustering Trajectories: Clustering Trajectories: Discoverying Dominant Discoverying Dominant
FlowsFlows
5353A Weighted-Graph Approach for Dynamic Airspace Configuration Martinez, Chatterji, Sun, Bayen 2007
5454
Voronoi-Based PartitioningVoronoi-Based Partitioning
Dominant flows
Another approach: Use arrangement of flow-conforming cuts to define elementary airspace units (vs. hexcells)
5555
Local Re-PartitioningLocal Re-Partitioning
Re-Partition step replaces one region witha “best” partition into a k-face planar subdivision
Dynamic part of DACDynamic part of DAC
Optimal determination of airspace Optimal determination of airspace adjustment triggersadjustment triggers
Tradeoff: Cost of adjustment, benefit Tradeoff: Cost of adjustment, benefit from changefrom change
5656
5757
Dynamic SectorizationDynamic Sectorization
Multiple Sector Designs for different Multiple Sector Designs for different times of the daytimes of the day
How to find the optimal time of How to find the optimal time of switching between sector designs ?switching between sector designs ?
Dynamic Programming after discretizing the
switch timesApplies to any sector design method (e.g., MIP methods).
5858
Preliminary ResultsPreliminary Results
Sectorizing ZFW (18 Sectors)Sectorizing ZFW (18 Sectors) Discretizing a day into 24 intervals (hourly Discretizing a day into 24 intervals (hourly
splits)splits)0 0 023 23
91412
14.0514.11
15.33 11.78
13.39
13.56
5959
Tradeoff: Workload Improvement, Tradeoff: Workload Improvement, Number of RedesignsNumber of Redesigns
Average Workload
Number of design changes during the day
Robustness of DesignsRobustness of Designs
Formalize the notion of Formalize the notion of robustness robustness with respect to forecast of demandwith respect to forecast of demand
6060
Designing Configuration Designing Configuration PlaybooksPlaybooks
GoalGoal: Identify good configurations : Identify good configurations corresponding to mined historical data corresponding to mined historical data scenariosscenarios
RationaleRationale: Certain traffic patterns may : Certain traffic patterns may tend to repeat over different time tend to repeat over different time intervals, in response to certain intervals, in response to certain events (e.g., weather impact)events (e.g., weather impact)
What time intervals? What events?What time intervals? What events? Clustering, mining trajectory dataClustering, mining trajectory data
6262