Air Traffic Flow and Management Using Constraint Programming Pierre Flener ASTRA Research Group on CP Uppsala University Sweden ACP Summer School Aussois (France), 6 May 2010
Air Traffic Management The objective of air traffic management (ATM) is to ensure a safe, fair, and efficient flow of air traffic, under minimal environmental impact, subject to constraints on aircraft separation, airspace capacity, and airport capacity. This long-term research is financed by the European Organisation for the Safety of Air Navigation, whose mission is to promote the harmonisation of the different national ATM systems in Europe. 6 May 2010 ACP Summer School 2010-2 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-3 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-4 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-5 - Pierre Flener
Sector-Based Air Traffic Management A sector is a 3D air volume, whose traffic is monitored by a pair of air traffic controllers. The air traffic complexity for all controller pairs must satisfy some constraints. 6 May 2010 ACP Summer School 2010-6 - Pierre Flener
Target Scenario m, m, ff%, timeout Resolution Rules complexity Predictor Flight Profiles Solver high Resolved Flight Profiles low now 20 m m 90 t 6 May 2010 ACP Summer School 2010-7 - Pierre Flener
Contributions Traffic complexity # flights resolution (not just prediction)...... in multi-sector planning Use of constraint programming (CP) for this purpose 6 May 2010 ACP Summer School 2010-8 - Pierre Flener
Air Traffic Parameters The complexity of sector s at moment m depends here on: N sec = # flights in s at moment m (traffic volume) N cd = # flights in s non-level at m (vertical state) N nsb = # flights that are at most 15 nm horizontally, or at most 40 FL vertically beyond their entry into s, or before their exit from s at moment m (proximity to sector boundary) Reminder: 1 nautical mile = 1.852 km = 1.15 miles. Note: The complexity of sector s at moment m does not depend here on potentially interacting pairs of aircraft: do traffic volume & vertical state already capture this effect? 6 May 2010 ACP Summer School 2010-9 - Pierre Flener
Moment The moment complexity of sector s at moment m is here: MC(s, m) = (w sec N sec + w cd N cd + w nsb N nsb ) S norm where: w sec, w cd, and w nsb are empirically determined weights S norm characterises the structure, equipment used, procedures followed, etc, of s (sector normalisation) 6 May 2010 ACP Summer School 2010-10 - Pierre Flener
Large Variance of Moment 140 120 100 80 60 40 20 planned complexity: k=0 planned complexity: k=1, L=420 seconds planned complexity: k=2, L=210 seconds planned complexity: k=3, L=140 seconds planned complexity: k=4, L=130 seconds Example: after 11:10 on 23/6/2004 in EBMALNL 0 1200 1300 1400 1500 1600 1700 1800 1900 2000 6 May 2010 ACP Summer School 2010-11 - Pierre Flener
Interval The interval complexity of sector s over interval [m,..., m ] is the average of its moment complexities at the k + 1 sampled moments m, m + L, m + 2L,..., m + k L = m : where: IC(s, m, k, L) = k = smoothing degree k i=0 MC(s, m + i L) k + 1 L = time step between the sampled moments In practice, for complexity resolution: k = 2 & L 210 sec. 6 May 2010 ACP Summer School 2010-12 - Pierre Flener
Allowed Forms of Resolution I Temporal Re-Profiling: Change the entry time of a flight into the chosen airspace: Waiting: Change the take-off time of a not yet airborne flight by an integer amount of minutes in [ 5,..., +10] Airborne: Change the remaining approach time into the chosen airspace of an already airborne flight by an integer amount of minutes, but only within the two layers of feeder sectors around the chosen airspace: at a speed-up rate of maximum 5% at a slow-down rate of maximum 10% 6 May 2010 ACP Summer School 2010-13 - Pierre Flener
Example: Temporal Re-Profiling FL 340 z p6 p5 FL 245 p1 p2 p3 p4 now m m+l m+2l t x, y of chosen airspace Planned profile 6 May 2010 ACP Summer School 2010-14 - Pierre Flener
Example: Temporal Re-Profiling FL 340 z p6 p5 FL 245 p1 p2 p3 p4 now m m+l m+2l t x, y of chosen airspace Resolved profile 6 May 2010 ACP Summer School 2010-15 - Pierre Flener
Allowed Forms of Resolution II Vertical Re-Profiling: Change the altitude of passage over a way-point in the chosen airspace by an integer amount of flight levels (FL) within [ 30,..., +10], so that the flight climbs at most 10 FL / min descends at most 30 FL / min if it is a jet descends at most 10 FL / min if it is a turbo-prop Reminder: 1 flight level = 30.48 m = 100 feet. 2D Re-Profiling: Future work? 6 May 2010 ACP Summer School 2010-16 - Pierre Flener
Example: Vertical Re-Profiling z FL 340 p6 p5 FL 245 now p1 p2 p3 p4 m m+l m+2l t x, y of chosen airspace Planned profile, and resolved profile that minimises the number of climbing segments for the considered flight at the sampled moments m, m+l, and m+2l 6 May 2010 ACP Summer School 2010-17 - Pierre Flener
Assumptions Proximity to a sector boundary is approximatable by being at most hv nsb = 120 sec of flight beyond the entry to, or before the exit from, the considered sector. This approximation only holds for en-route airspace. Times can be controlled with an accuracy of 1 minute: the profiles are just shifted in time. Flight time along a segment does not change if we restrict the flight level changes over its endpoints to be small. Otherwise, many more time variables will be needed, leading to combinatorial explosion. 6 May 2010 ACP Summer School 2010-18 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-19 - Pierre Flener
Some Parameters now is the time at which a resolved scenario is wanted with a forecast of lookahead minutes lookahead is typically a multiple of 10 in [20,..., 90] m = now + lookahead is the start moment of the time interval [m,..., m + k L] for complexity resolution ff = minimum fraction of flights planned to be in chosen airspace that must stay there at the sampled moments timeout = amount of CPU seconds after which the currently best feasible solution is to be returned 6 May 2010 ACP Summer School 2010-20 - Pierre Flener
Some Decision Variables δt [f ] = entry-time change in [ 5,..., +10] of flight f δh[p] = level change in [ 30,..., +10] of flight-point p N sec [i, s] = # flights in sector s at sampled moment i N cd [i, s] = # flights on a non-level segment in s at i N nsb [i, s] = # flights near the boundary of s at i 6 May 2010 ACP Summer School 2010-21 - Pierre Flener
Some Constraints All flights planned to take off until now have taken off exactly according to their profile, but their approach times (within the feeder sectors) can be modified. All other flights take off after now. Points flown over until now cannot get changed FLs. Changed FLs stay within the bounds of the sector, as (yet) no re-routing through a lower or higher sector. No climbing > maxupjet = 10 FL / min, No climbing > maxupturbo = 10 FL / min, No descending > maxdownjet = 30 FL / min, No descending > maxdownturbo = 10 FL / min. Minimum fraction ff of the number of flights planned to be in the chosen airspace at the sampled moments i must remain then in that chosen airspace. 6 May 2010 ACP Summer School 2010-22 - Pierre Flener
The Objective Function Multi-objective optimisation problem: minimise the vector IC[s 1 ],..., IC[s n ] of the interval complexities of n sectors s i. A vector of values is Pareto minimal if no element can be reduced without increasing some other element. Standard technique: Combine the multiple objectives into a single objective using a weighted sum n j=1 α j IC[s j ] for some weights α j > 0. In practice, and as often done, we take α j = 1 for all j: minimise IC[s] s OurSectors 6 May 2010 ACP Summer School 2010-23 - Pierre Flener
The Search Procedure and Heuristics 1 Assign the N sec [i, s], N cd [i, s], and N nsb [i, s] variables: Try placing a flight within s at sampled moment i, but neither on a non-level segment, nor near the boundary of s. Begin with the sectors planned to be the busiest. 2 Assign the δt [f ] variables. Try by increasing absolute values in [ 10,..., +5]. 3 Assign the δh[p] variables. Try by increasing absolute values in [ 30,..., +10]. The given orderings guarantee resolved flight profiles that deviate as little as possible from the planned ones. 6 May 2010 ACP Summer School 2010-24 - Pierre Flener
Implementation The constraints were implemented in the Optimization Programming Language (OPL), marketed by ILOG. The resulting model has non-linear and higher-order constraints, hence constraint propagation takes place at runtime. Prejudice: The contribution of the article should be the reduction of an engineering problem to a known optimization format. [... ] showcases pseudo code [... ] submit this work to a journal interested in code semantics [... ]. Reviewer of this work at a prestigious OR journal 6 May 2010 ACP Summer School 2010-25 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-26 - Pierre Flener
Experimental Setup I ATC centre = Maastricht, in the Netherlands Multi-sector airspace = five high-density, en-route, upper-airspace sectors: sector I d bottomfl topfl w sec w cd w nsb S norm EBMALNL 245 340 7.74 15.20 5.69 1.35 EBMALXL 245 340 5.78 5.71 15.84 1.50 EBMAWSL 245 340 6.00 7.91 10.88 1.33 EDYRHLO 245 340 12.07 6.43 9.69 1.00 EHDELMD 245 340 4.42 10.59 14.72 1.11 Time = peak traffic hours, from 7 to 22, on 23/6/2004 Flights = turbo-props and jets, on standard routes Central Flow Management Unit (CFMU): 1,798 flights 6 May 2010 ACP Summer School 2010-27 - Pierre Flener
Experimental Setup II Chosen multi-sector airspace, surrounded by an additional 34 feeder sectors (on the chosen day, the sectors EBMAKOL and EBMANIL were collapsed into EBMAWSL) 6 May 2010 ACP Summer School 2010-28 - Pierre Flener
Results Significant complexity reductions and re-balancing, obtained quickly (though with long proofs of optimality): lookahead k L Average planned Average resolved 20 2 210 87.92 47.69 20 3 180 86.55 50.17 45 2 210 87.20 45.27 45 3 180 85.67 47.81 90 2 210 87.29 44.67 90 3 180 85.64 47.13 Average planned and resolved complexities in the chosen airspace, with at least ff = 90% of the flights kept there, and timeout = 120 seconds on an Intel Pentium 4 CPU with 2.53GHz, a 512 KB cache, and a 1 GB memory. 6 May 2010 ACP Summer School 2010-29 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-30 - Pierre Flener
Summary Reduction: can be reduced by combination of: Reprofiling flights into less complex sectors Reprofiling flights away from sector boundaries Reprofiling flights onto level segments Non-Zero Sum: Take-off and speed resolutions do not just transfer complexity to adjacent multi-sectors, because a parameter controls the percentage of flights that must be kept within the considered multi-sector. Level and speed resolutions can reduce the complexity of a sector without increasing it elsewhere. Rebalancing: Current flight profiles often yield huge complexity discrepancies among sectors, but complexity resolution also addresses this. 6 May 2010 ACP Summer School 2010-31 - Pierre Flener
Contributions Traffic complexity # flights resolution (not just prediction)...... in multi-sector planning Use of constraint programming (CP) for this purpose 6 May 2010 ACP Summer School 2010-32 - Pierre Flener
Future Work Strategic use of the model, rather than deployment: new definitions of complexity can readily be tried, and constraints can readily be changed or added. In practice, complexity resolution is not an optimisation problem, but a satisfaction problem: need constraints on interval for resolved complexities. Constraints on fast executability of resolved profiles. Example: Keep # affected flights under threshold. Horizontal re-profiling: among static / dynamic route list Cost minimisation: of ground / air holding,... Airline equity: towards a collaborative decision making process between EUROCONTROL and the airlines. 6 May 2010 ACP Summer School 2010-33 - Pierre Flener
Acknowledgements This research project was funded by EUROCONTROL grant C/1.246/HQ/JC/04 + amendments 1/04 and 2/05. Many thanks to Carlos Garcia-Avello, Mete Çeliktin, and Søren Dissing at EUROCONTROL Headquarters (Brussels, Belgium) for the definition of the problem and the feedback on our progress. Many thanks to Bernard Delmée, Jacques Lemaître, and Patrick Tasker at EUROCONTROL DAP/DIA (Brussels, Belgium), for pre-processing the CFMU raw data into the extended data we needed. 6 May 2010 ACP Summer School 2010-34 - Pierre Flener
Bibliography P. Flener, J. Pearson, M. Ågren, C. Garcia Avello, M. Çeliktin, and S. Dissing. Air-traffic complexity resolution in multi-sector planning. J. of Air Transport Management, 13(6):323 328, 2007. Also in: Ch. Pusch and S. Saunders-Hodge (editors), Proceedings of ATM 07, the 7th USA / Europe R&D Seminar on Air Traffic Management. July 2007. Full version: Technical Report 2007-003. 6 May 2010 ACP Summer School 2010-35 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-36 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-37 - Pierre Flener
Tactical planning, in quasi-real-time, for the entire European airspace, necessary for future flight volumes: minimise the total ground-holding (e.g., by maximum 120 minutes per flight), such that all the capacity constraints are satisfied, within a rolling horizon (of, e.g., one hour) that starts, e.g., three hours from now: horizon now s e 3h 1h Ideally: also balance demands on portions of airspace. 6 May 2010 ACP Summer School 2010-38 - Pierre Flener
European ATM at Present Flight planning is done globally, at the strategic and tactical levels: at the Central Flow Management Unit (CFMU), but without achieving optimal global flow, and under almost certainly incorrect data estimates. Flight control is done locally, at the operational level: at regional air-traffic control centres (ATCCs), but without a global view when re-planning flights, even though much more precise data are available. 6 May 2010 ACP Summer School 2010-39 - Pierre Flener
European ATM in the Future? Year 2030: 50,000 flights/day (now: 30,000 flights/day) The airspace might be partitioned into a 3D-grid of same-sized box-shaped cells (as building blocks for a new sectorisation), e.g., 75 nm 75 nm 12500 ft: 4 layers 4,600 cells 700,000 cell entries per day 12500 ft 75 nm 75 nm Reminder: 1 nm = 1.852 km = 1.15 miles; 1000 ft = 304.8 m 6 May 2010 ACP Summer School 2010-40 - Pierre Flener
3D Cells over Europe European airspace divided into cells 6 May 2010 ACP Summer School 2010-41 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-42 - Pierre Flener
Sliding Windows = max number of entering flights per hour. Constraints: at any given moment, no capacity is exceeded within the last hour. In practice, we sample every t minutes, e.g., t = 12: S 2 S 1 now +1h +2h s w a f t=12min S 3 S 4 S 5 S 6 d f e s = 60min +3h +4h s e 6 May 2010 ACP Summer School 2010-43 - Pierre Flener
Variables, Constraints, and Objective Decision variables: for each non-airborne flight: a ground-holding delay within 0... 120 minutes. Constraints: for each cell and each sliding window: # airborne flights + # re-planned flights cell capacity. Objective function, to be minimised: α sum(all delays) + β violations(all constraints) where α and β are weights. 6 May 2010 ACP Summer School 2010-44 - Pierre Flener
Typical Problem Instance Horizon 9 to 10 pm, for a projected data-set of year 2030: Decision variables: 4,295 (= # non-airborne flights) Relevant cells: 2,294 Cell entries: 51,879 Constraints: 1,936 6 May 2010 ACP Summer School 2010-45 - Pierre Flener
Three-State Heuristic State 1, initially: Select a delay based on a probability function. Select a flight (that achieves the largest decrease in violations) for the selected delay. State 2, when violations drop below a threshold: Select the most violating flight. Select a delay (that achieves the largest decrease in violations) for the selected flight. State 3, when violations drop below a lower threshold (very close to satisfaction): Select a (flight, delay) pair (that achieves the largest decrease in violations). 6 May 2010 ACP Summer School 2010-46 - Pierre Flener
State 1 of Heuristic Select a delay based on a probability function: f 1.3,KyC12, f 1.3, floor KyC12 0.20 0.15 0.10 0.05 0 20 40 60 80 100 120 Longer delays are less likely than shorter delays. 6 May 2010 ACP Summer School 2010-47 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-48 - Pierre Flener
Platform Constraint solver: local-search back-end of Comet. Operating system: Linux Ubuntu 9.04 (32-bit). CPU: Intel Core 2 Duo T7300 2GHz, 2MB cache. Memory: 4GB (only 2GB available to Comet). 6 May 2010 ACP Summer School 2010-49 - Pierre Flener
Planned Cell Demands (Layer 3) Before optimisation, for the 9 10 pm horizon, in layer 3: Mean Std Dev Max before 15.7 24.6 166 For instance (when all cells have capacity 40): 60 50 Number of Flights 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Cells Flown by Flight 210 6 May 2010 ACP Summer School 2010-50 - Pierre Flener
Optimised Cell Demands (Layer 3) After optimisation, for the 9 10 pm horizon, in layer 3: Mean Std Dev Max before 15.7 24.6 166 after 11.0 12.0 40 For instance (when all cells have capacity 40): 60 50 Number of Flights 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Cells Flown by Flight 210 6 May 2010 ACP Summer School 2010-51 - Pierre Flener
Planned Cell Demands (All Layers) Before optimisation, for the 9 10 pm horizon, all layers: Mean Std Dev Max before 12.4 22.4 235 For instance (when all cells have capacity 40): 140 120 100 Number of Flights 80 60 40 20 0 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 Cells 6 May 2010 ACP Summer School 2010-52 - Pierre Flener
Optimised Cell Demands (All Layers) After optimisation, for the 9 10 pm horizon, all layers: Mean Std Dev Max before 12.4 22.4 235 after 8.4 10.4 40 For instance (when all cells have capacity 40): 140 120 100 Number of Flights 80 60 40 20 0 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 Cells 6 May 2010 ACP Summer School 2010-53 - Pierre Flener
Distribution of Delays 6 May 2010 ACP Summer School 2010-54 - Pierre Flener
More Results All the capacity constraints can be satisfied. By-product: standard deviation of cell demands shrinks significantly. Quasi-real-time performance. Horizon Run-time # Waiting # Airborne 9 10 pm 140 sec 4,295 463 5 6 pm 620 sec 8,806 811 Horizon Total Delay Avg Delay Demand Dev 9 10 pm 65,457 min 13.76 min 35% 5 6 pm 246,267 min 25.61 min 43% 6 May 2010 ACP Summer School 2010-55 - Pierre Flener
Outline 1 2 6 May 2010 ACP Summer School 2010-56 - Pierre Flener
Summary and Future Work Constraint programming can be used to model and solve large ATM problem instances efficiently. Future Work? Increase realism by adding extra constraints. Enforce a notion of first-scheduled-first-served. Enforce load constraints ( less total delay) (load = max number of flights simultaneously present). Vertical re-routing of flights along the planned 2D route. Systematic search: constraint-based scheduling, mixed integer linear programming Need for a tight integration of planning and control! (Witness huge capacity violations in CFMU plans, and witness our unacceptably high average delays.) Need for a dynamic adjustment of capacity to demand, rather than of demand to capacity?! 6 May 2010 ACP Summer School 2010-57 - Pierre Flener
Acknowledgements This research project was financed by EUROCONTROL under its Care INO III programme grant 08-121447-C. Many thanks to Franck Ballerini, Marc Bisiaux, Marc Dalichampt, Hamid Kadour, Serge Manchon, and Leïla Zerrouki at the EUROCONTROL Experimental Centre (Brétigny, France) for the definition of the problem, the data-set used, and the feedback on our progress. 6 May 2010 ACP Summer School 2010-58 - Pierre Flener
Bibliography F. Hassani Bijarbooneh, P. Flener, and J. Pearson. demand-capacity balancing for air traffic management using constraint-based local search: First results. In: Y. Deville and Ch. Solnon (editors), Proceedings of LSCS 09, the 6th International Workshop on Local Search Techniques in Constraint Satisfaction. Electronic Proceedings in Theoretical Computer Science 5:27 40, 2009. Also in: D. Schaefer (editor), Proceedings of INO 09, the 8th EUROCONTROL Innovative Research Workshop & Exhibition, Brétigny (France), December 2009. 6 May 2010 ACP Summer School 2010-59 - Pierre Flener