Academia.eduAcademia.edu

Air traffic flow management with heuristic repair

2012, Knowledge Engineering Review

The European air traffic flow management problem poses particular challenges on optimization technology as it requires detailed modelling and rapid online optimization capabilities. Constraint programming proved successful in addressing these challenges for departure time slot allocation by offering fine-grained modelling of resource constraints and fast allocation through heuristic-repair strategies.

The Knowledge Engineering Review, Vol. 00:0, 1–24. c 2004, Cambridge University Press DOI: 10.1017/S000000000000000 Printed in the United Kingdom Air Traffic Flow Management with Heuristic Repair Ulrich Junker ILOG, 1681, route des Dolines, F-06560 Valbonne, E-mail: [email protected] Abstract The European air traffic flow management problem poses particular challenges on optimization technology as it requires detailed modelling and rapid online optimization capabilities. Constraint programming proved successful in addressing these challenges for departure time slot allocation by offering fine-grained modelling of resource constraints and fast allocation through heuristic-repair strategies. 1 Introduction Air traffic congestion remains an important problem in European and North-American airspaces and is usually solved by delaying the departure of flights. A slot allocation or ground-holding policy assigns a departure time to each flight such that congestion is avoided while ensuring other important objectives such as safety, equity, and the reduction of the total delay. Whereas it is straightforward to find some slot allocation policy that avoids congestion by iteratively delaying flights that traverse overloaded sectors, it is not evident to understand whether such a policy well meets the other objectives as well. A first difficulty consists in expressing general objectives such as safety and fairness in terms of clearly defined properties of the slot allocation policies. A second difficulty consists in understanding the interactions between the objectives and in defining tradeoff preferences between different slot allocation policies. For example, should a policy that has a smaller total delay be preferred to a policy that is more equitable? A third difficulty consists in understanding whether a given slot allocation policy is efficient or whether there are significantly better policies given the preferences defined before. In order to study certain of those questions, the Eurocontrol Experimental Centre has developed a system for innovative slot allocation, cf. Dalichampt et al. (1997) by using constraint programming (see Rossi et al. (2006)) and integer programming methods (see Wolsey & Nemhauser (1999)). The application of optimization technology to the slot allocation problem provided several challenges. Firstly, it was necessary to develop an appropriate model of the slot allocation problem. Existing approaches, cf. Bertsimas & Stock (1994), were adapted to the NorthAmerican ATFM problem and did not take the specific safety and equity notions of the European problem into account. Secondly, it was necessary to develop fast allocation algorithms that provided nearly optimal results for problem instances of large size (10000 flights) in a short time. Constraint programming has proved successful in addressing these challenges by providing finegrained modelling of resource constraints and fast allocation through heuristic-repair strategies, cf. Minton et al. (1992). Whereas the study in Dalichampt et al. (1997) introduces the constraintbased slot allocation problem and discusses the results of the constraint-based slot allocation approach from an ATFM perspective, this paper explains the problem-solving principles that helped to achieve the results reported in Dalichampt et al. (1997). The present work thus complements the study in Dalichampt et al. (1997) and gives insights into the problem solving 2 u. junker methods that successfully solved a particular definition of the ATFM problem without claiming that these results carry over to current and future evolutions of the European ATFM problems. Other applications of constraint programming to ATFM problems add flexibility in the workload model of the regulated sectors (see Barnier et al. (2001)) and address the problem of resolving traffic complexity within and around a sector (see Flener et al. (2007)). The paper introduces the constraint-based slot allocation problem in section ??. Section ?? describes approximate and exact formulations of this problem within constraint programming and integer programming. Section ?? describes the heuristic repair strategy used by the constraint programming approach and section ?? evaluates the methods by a real-world ATFM example. 2 A Capacity-oriented Slot Allocation Problem We briefly describe the slot allocation problem as it has been defined by the Eurocontrol Experimental Centre in 1997, cf. Dalichampt et al. (1997). This problem avoids congestion of airspace sectors by delaying the take-off of flights while keeping the flight route and flight speed as planned. The planning horizon of this slot allocation problem is one day of traffic. It is solved offline before each day of operation as well as online during the day of operation to take into account changes in flight plans and sector capacity. 2.1 En-route Capacity Constraints The airspace is divided into a set of m sectors S := {s1 , . . . , sm }. These sectors are traversed by n flights F := {f1 , . . . , fn } for a given day of traffic. Each flight fi has an expected take-off time and a travel plan which is a sequence of sectors si,1, , . . . , si,mi . The travel plan specifies when the flight fi is expected to enter the sector si.j in terms of the expected time over eto i,j . This travel plan is strict and does not allow delays or speed-ups when the flight plan is airborne. Certain sectors are subject to regulations that limit the number of flights that can enter these sectors during each hour within a given time period. This time period is divided into successive intervals of one hour length and thus several capacity constraints are obtained for each regulated sector. The k-th capacity constraint for sector sj is specified by a capacity cj,k and a time period [sj,k , ej,k ). The constraint is satisfied if the number of flights entering the sector sj during the interval [sj,k , ej,k ) is smaller than or equal to cj,k . The set Fj denotes the set of flights that enter the sector sj : k {i ∈ Fj | sj,k ≤ di + eto i,j < ej,k }k ≤ cj,k (1) A slot allocation policy assigns a non-negative delay di to each flight fi such that all capacity constraints are satisfied. Negative delays due to departures ahead of schedule are not allowed. The total delay of a slot allocation policy is the sum of the di ’s for all flights fi . Policies with smaller total delay are preferred. 2.2 Discussion of the First-Come First-Served Principle Other objectives of Eurocontrol’s slot allocation methods are equity and safety. In 1995, a firstcome first-served algorithm has been used to allocate slots to the flights that enter a sector by Eurocontrol’s operational ATFM system. This principle preserves the order in which the flights enter a sector by allocating earlier flights first. This principle can be respected for all sectors and flights if each flight traverses only one regulated sector. In realistic scenarios, the flights are traversing multiple sectors and those sectors may impose different orders among the same flights. For example, a flight f may precede another flight f ′ in a regulated period of a sector s and f ′ may precede f in a regulated period of another sector s′ . If only one flight can enter those sectors during the regulated period, then one of both flights has to be delayed. If the first-come first-served principle is applied to sector s, then the flight f ′ may be delayed. Delaying f ′ in sector s will also delay it in sector s′ . If the delay is sufficiently large, f ′ will no longer precede flight f in sector s′ , meaning that the first-come first-served principle is violated for sector s′ . ATFM with Heuristic Repair 3 As a consequence of this interaction, a complete application of the first-come first-served equity principle is not possible. The practice of 1995 was to apply it to the most penalizing regulation only. One of the purposes of the study in Dalichampt et al. (1997) was to measure the cost of this relaxed equity principle in terms of the total delay. Eurocontrol wanted to know how much the total delay can be reduced if this equity principle is not applied. For this purpose, the firstcome first-served principle has not been included in the constraint model. Although equity is a more important objective than the minimization of the total delay, it is necessary to first define when one slot allocation policy is more equitable than another one before incorporating this objective into a combinatorial optimization approach. Equity principles such as those studied in collaborative decision making and computational social choice theory (see Yann Chevaleyre et al. (2007) for an introduction) may provide help for establishing such a definition, but are beyond the scope of this paper. 2.3 Smoothing Constraints for Safety Considerations A reduction of the total flight delay will only be acceptable if a sufficient level of safety is guaranteed. Even if a sector has a capacity of 30 flights per hour, it will not be acceptable if all 30 flights enter the sector at the same time as this will lead to peaks in the workload of the sector. For safety reasons, it is desirable to ”smoothen” this workload and to allow a single flight each two minutes. The need for smoothing arises since the contractual capacity constraints limit the number of flights that enter a sector during each hour, but do not limit the number of flights that traverse a sector simultaneously as it is, for example done in alternative approaches such as Bertsimas & Stock (1994). The practice of Eurocontrol consisted in dividing a regulated period of a sector into time slots of equal length such that the number of slots corresponds to the capacity of the period. A single flight can be allocated to each slot. If a flight is allocated to a slot, then it should enter the sector during the duration of this slot. In other words, slots are capacity constraints of capacity 1. These capacity constraints imply the contractual capacity constraints of the duration of one hour. If each flight traverses a single regulated sector, this sector will determine the delay of the flight and allocate it to a slot. In this case, the slot capacity constraint can well be respected. However, if a flight traverses several regulated sectors of different capacities, then the durations of the slots of these sectors differ. If a flight is allocated to a slot in sector s, then it may enter a sector s′ during a slot which is already occupied even if the preceding slot is available. To respect the slot capacity, it is then necessary to delay the flight again. This procedure may lead to high delays due to rigorous satisfaction of the auxiliary slot constraints. Hence, dividing the hourly capacity into time slots of capacity one achieves complete smoothing, but leads to an additional delay. The operational system (see the CFMU (2009)) applies a more relaxed allocation policy which was difficult to model. However, smoothing can also be achieved by dividing the hourly capacity by a fixed factor k and by setting up k sub-periods of equal length. For example, the 30 flights per hour can be distributed over 12 sub-periods of the length of 5 minutes. Each of these sub-periods has a capacity of 3 flights, meaning that 3 flights can enter the sector during a sub-period. It is important to understand that these smoothing constraints do not imply the hourly capacity constraints as the capacities of the sub-periods are systematically rounded up. In the example above, each of the 5-minute sub-periods has a capacity of 3, meaning that the 12 sub-periods together lead to a total capacity of 36 instead of the contractual capacity of 30 flights per hour. Therefore the smoothing constraints have to be used in addition to the hourly capacity constraints, but do not replace them. This technique allows a flexible way of smoothing and permitted Eurocontrol to study the impact of smoothing on the total delay, cf. Dalichampt et al. (1997), which is in particular interesting since there is no clearly defined numerical measure for safety. 4 2.4 u. junker Online optimization The slot allocation problem as described above is solved offline before the day of operation. The resulting slot allocation policy will be subject to modifications due to unexpected events during the day of operation such as canceled flights or modification of sector capacity. For these reasons, an online version of the slot allocation problem will be solved in regular intervals during the day of operation. This online version does not change the delay of those flights that are planned to take off within a fixed time period from the planning time on, but it may choose a completely new delay for all the other flights. The online optimization thus revises the future part of the slot allocation policy, while preferring revised policies with a smaller total delay. The online optimization thus limits the impact of unforeseen events on the total delay. 3 Constraint Models for the Slot Allocation Problem Whereas the previous section has defined the slot allocation problem in terms of constraints and objectives, this section formulates this definition within integer and constraint programming, which are both general paradigms for solving combinatorial problems. The problem formulation requires the choice of a time scale for the flight delay, the expected time-over of a flight in a sector, and the start and end of each sub-period that is subject to capacity constraints. This time-scale thus transforms the delay di into a rounded delay d′i , its expected time-over eto i,j into a rounded expected time-over eto ′i,j , and the start and end times sj,k , ej,k of a sub-period into rounded start and end times s′j,k , e′j,k . We say that a formulation of the ATFM problem is exact iff it preserves the constraints as defined. This means that the condition s′j,k ≤ d′i + eto ′i,j < e′j,k is true whenever the original condition sj,k ≤ di + eto i,j < ej,k is true. Whereas constraint programming allows an exact formulation without increasing the size of the constraint model, this is not true for integer programming, where this exact formulation has an additional cost. 3.1 Exact Formulation within Constraint Programming The slot allocation problem as described so far can be modelled with constraint programming. For each flight, we will introduce an integer variable that represents the flight delay. Its lower bound is 0 and its upper bound is set to a maximal delay that can be attributed to a flight. These delay variables are subject to capacity constraints of the form (??). We introduce capacity constraints for the contractual capacity constraints fixing the hourly capacity of a regulated period as well as the additional smoothing constraints. Furthermore, we introduce a variable for the total delay and a constraint that fixes it to the sum of the flight delays. Constraint programming allows a very precise modelling of the problem since a sufficiently small time scale can be chosen without increasing the size of the model. Indeed, we can choose a time-scale that is sufficiently small to guarantee an exact formulation. As said above, we need to be sure that the chosen time-scale preserves the conditions sj,k ≤ di + eto i,j < ej,k used in the capacity constraints. Whereas the expected time-over eto i,j is expressed in minutes, the start and end times sj,k , ej,k may require a finer time granularity if sub-periods of 2 and a half minutes are chosen. In order to permit this flexibility, we choose a time granularity of one second, although a time granularity of 1 minute is sufficient in most cases. Constraint programming also permits a modeling of negative flight delays by enlarging the domain of the delay variables and of speed-ups or delays when the flight is airborne by introducing variables and constraints for the expected-time-overs of the flights. However, as the flight plans in the study of Dalichampt et al. (1997) are strict, this richer constraint model and its impact on the objective function and the solving method have not been investigated in the scope of this work. ATFM with Heuristic Repair 3.2 5 Approximate and Exact Formulation within Integer Programming The slot allocation problem can also be formulated as an integer programming problem by following the approach in Bertsimas & Stock (1994) and Bertsimas et al. (2008). In order to formulate the capacity constraints, it is necessary to replace the delay variables di by binary variables that permit to determine whether a flight fi enters a sector sj during period k which is the case iff the condition sj,k ≤ di + eto i,j < ej,k is true. Bertsimas’ technique consists in discretizing the time and to choose a time step ∆, e.g. of 5 minutes. We then introduce a binary variable di,t for each time t that is a multiple of ∆ and that is smaller than the maximal delay. This variable has the value 1 iff the flight fi has at least the delay t. The binary variables di,0 , di,∆ , di,2∆ , . . . represent the delay of the flight iff the constraints di,t ≥ di,t+∆ are satisfied for all relevant times t. The capacity constraints can then be formulated as follows: X (di,r∆ (sj,k −etoj,k ) − di,r∆ (ej,k −etoj,k ) ) ≤ cj,k (2) i∈Fj The function r∆ truncates its argument to multiples of ∆. The objective of minimizing the total Pn P delay is achieved by minimizing the linear expression i=1 t ∆ · di,t . This integer programming is no longer exact as the time granularity of 5 minutes does not guarantee the preservation of the conditions of the form sj,k ≤ di + eto i,j < ej,k . A further drawback of this integer programming model is that its size depend on the chosen time scale. A smaller time step ∆ will provide more precise results, but leads to a larger number of variables. For a maximal delay of two hours and a time step of 5 minutes, the model needs 24 binary variables for each flight. Hence, 240000 binary variables are needed for problems involving 10000 flights without guaranteeing precise results. An exact integer programming model can be obtained by removing the rounding operations in the constraint (??) and by introducing the binary variables di,sj,k −etoj,k and di,ej,k −etoj,k which are needed without the rounding. In general, this will significantly increase the number of variables needed per flight. Constraint programming provides exact modelling of the slot allocation problem as defined before while keeping the size of the model proportional to the problem description. Integer programming leads to significantly larger models even if a less precise time granularity is chosen. Hence, constraint programming combines fine-grained modelling with a compact representation of this model and was chosen as the core technology for this study. Integer programming was used to evaluate the optimal total delay for smaller scenarios and permitted to assess the quality of the constraint programming solving strategies, which will be presented in the next section. 4 Problem Solving with Heuristic Repair The nature and size of Eurocontrol’s slot allocation problem required to carefully design an adequate solving strategy. Realistic instances involve twenty-thousand flights of which 20% to 25% may be regulated. Furthermore, changes during the day of operations requires frequent replanning within intervals of five minutes or less. Hence, the available running time was five minutes. An important purpose of the study was to show whether optimization methods are able to produce results within this time frame that are better than those of the operational system, which allocated flights based on the first-come first-served principle. 4.1 Minton’s Heuristic Repair Method As the problem is combinatorial in nature, adequate solving techniques had to be designed. As the flight plans are fixed, the problem has a particular mathematical structure and cannot easily be decomposed into subproblems. This distinguishes this particular ATFM problem from other problems which allow delays and speed-ups of a flight when it is airborne. As this is not allowed, delaying a flight necessarily impacts all the sectors that are traversed by the flight. Hence, it is not possible to reduce overloaded sectors during a fixed time period without modifying the workload 6 u. junker of other sectors outside of this chosen time period. Hence, it was necessary to design a heuristics that solves the problem as a whole by a sequence of globally good decisions. The heuristic-repair principle, cf. Minton et al. (1992), provides an adequate framework for elaborating such a method. The heuristic-repair method uses a current assignment of values to variables. It determines which constraints are satisfied under this assignment and which are violated. It is possible to associate a degree of violation to each constraint with the idea that higher degrees of violations are more difficult or more costly to repair. The difficulty of the whole problem is obtained by summing up the degrees of violations for each constraint. In each iteration, the heuristic-repair method chooses a violated constraint and tries to reduce its degree of violation. For this purpose, the method inspects the variables of this constraint. It seeks to change the value of one of those variables by choosing another value from the domain of this variable. It evaluates the impact of this change on the problem as a whole and it chooses the assignment which achieves the highest reduction of the global difficulty. It then changes the assignment correspondingly. Then this step is iterated until no violated constraint remains anymore. Hence, heuristic repair, in its basic form, is essentially a local search method. Its drawback is that it is not guaranteed to terminate since it may run into cycles. However, Minton has also shown that this heuristic repair can be achieved in the scope of a Branch-and-Bound method as it is common in constraint programming solvers. This integration can be achieved by maintaining a current value and a current domain for each variable. The current value must belong to the current domain. When changing the value of a variable x from v to v ′ , the method is branching. In the left branch, the decision x = v ′ is applied. As a consequence, v ′ becomes the current value of x and the degree of violations of all constraints are updated. In the right branch, the decision x = v ′ is rejected, meaning that the value v ′ is removed from the domain of x. As a consequence, it cannot be chosen any more in the right subtree. The value v is kept as current value in the right branch. 4.2 Least-Committing Heuristic Repair As observed by Minton, this method can quickly and frequently run into dead-ends since a repair decision made in one step may be questioned in subsequent steps. In the case of slot allocation, the repair action consists in fixing the delay of a flight that crosses an overloaded sector. Once the delay of a flight is fixed, the flight cannot be delayed any more in further repair actions occurring in the left subtree even if this appears to be desirable. This problem can be avoided by a different branching policy. Instead of assigning the new value v ′ to the variable x, we remove its current value v. In the left branch, the decision x 6= v is applied. As a consequence, the value v is removed from the domain of x and cannot be chosen any more in the left subtree. Furthermore, the new value v ′ is chosen as the current value in the left subtree. In the right subtree, the decision x 6= v is rejected meaning that the value v is assigned to x in the right branch. As such the method automatically keeps the current value in the right subtree. As a consequence of this new policy, the current value of a variable can be changed several times on a left descent, thus making the behaviour of a left descent closer to the original local search version of heuristic repair while guaranteeing termination. Compared to Minton’s original strategy, this new least-commitment strategy thus inverts the form of the left and right branches. Instead of assigning a value in the left branch, it removes a value from the domain. As the left branch is explored first by a chronological search strategy, this change has a strong impact on the order in which solutions are found. The second, more important difference consists in the fact that the least-commitment strategy does not use the new value v ′ of the variable x when branching on x, but its current value v. It is important to understand that the current values are used to evaluate the constraint violations and thus determine the choice of the repair action. As such, the values v and v ′ have different roles. Hence, not only the least-commitment strategy inverts the left and right branches, it also manages the current values differently. The least-commitment strategy repairs a constraint violation by eliminating one of ATFM with Heuristic Repair 7 the current values that are causing the violation or it assigns this value when the repair action fails. In contrast to this, Minton’s original strategy repairs a constraint violation by assigning a new value which replaces one of the current values causing the violation or it eliminates this new value when the repair action fails. The difference is subtle, but it nevertheless has a strong impact on the behaviour of the whole method. We apply this modified heuristic-repair strategy to the slot allocation problem. We use the lower bound lb(di ) of a variable di as its current value. This reflects the fact that the lower bound is the preferred value for the delay variable. Based on this current delay, we define the current load of a regulated period as follows: Lj,k := k{i ∈ Fj | sj,k ≤ lb(di ) + eto i,j < ej,k }k (3) An overload is obtained if this load exceed the capacity: Oj,k := max (Lj,k − cj,k , 0) (4) The difficulty of the problem is then defined as the total overload, i.e. the sum of the overloads of all constraints. The heuristic-repair method for the slot allocation problem then selects an overloaded capacity constraint in each step. It determines the flights that contribute to this overload and seeks to reduce it by increasing the delay of one of these flights. If fi is one of those candidate flights, ej,k is the end time of the capacity constraint, and vi is the current delay of fi , then the flight delay has to be increased from vi to ej,k − eto i,j in order to ensure that fi does no longer enter the sector sj before time ej,k . The method determines this new delay for each of the candidate flights. It then evaluates the impact of each of these repair actions on the total overload. It selects the repair action that achieves a good compromise between a high reduction of the total overload and a low increase of the delay. As described above, branching is done before applying the repair action. In the left branch, the decision di ≥ ej,k − eto i,j is applied. As a consequence, all delays smaller than ej,k − eto i,j are removed from the current domain of the variable di and the value ej,k − eto i,j automatically becomes its new current value. In the right branch, all delays that are greater than or equal to ej,k − eto i,j are removed from the current domain of variable di and its current value remains unchanged. In the right branch, flight fi can no longer be used in repair actions for reducing the overload of the selected capacity constraint. If the number of flights that will surely enter the sector during the regulated time period is equal to its capacity, then constraint propagation will reduce the domains of the remaining flights and ensure that they cannot enter the sector during this time period. Hence, this method successively reduces overloads by increasing the delay of flights in a left descent of the search tree. Usually, the first solution obtained in this way is already of a good quality, meaning that no backtracking steps occur in practice to find the first solution if no maximal delay is imposed. If there is a maximal delay, it will impose an upper bound on the delay variables, meaning that repair action are failing if they assign a new delay that exceeds this maximal delay. As such, a maximal delay may require backtracking steps to find a first solution. Usually the first solution has such a good quality that a significant part of the search tree need to be traversed in order to find a better solution by chronological backtracking. Limited discrepancy search (see Harvey & Ginsberg (1995)) should behave better in this case, but was not tried out during the study. Another conceptually simpler method is chronological scheduling for the CP model of subsection ??. This method visits the flights in increasing order of their expected take-off times and assigns the smallest possible delay in each step. Constraint propagation may reduce the domains of other variables as a consequence of these assignments. In general, the heuristic-repair method produces better results than the chronological method. 8 5 u. junker Evaluation of the Modeling and Solving Methods Whereas Eurocontrol conducted ATFM studies based on the constraint-based slot allocation approach, this section provides a first evaluation of the different modeling and solving methods. The experiments are conducted for an example reported by Eurocontrol in 1995. It corresponds to one day of traffic over France and involves 16 regulated sectors and about 2000 flights that traverse those regulated sectors. As not all sectors have regulations, these numbers include only a percentage of the flights and sectors. Although this example is smaller than the whole European ATFM problem, it permitted to establish a first experimental comparison of the different methods and an understanding of their characteristics. It seeks to draw conclusions about problem formulation and solving, but not about air traffic flow management. We therefore refer the reader to the study in Dalichampt et al. (1997) for the ATFM results obtained for the larger problems. A first experiment compared the different modelling approaches, namely the approximate and exact IP model and the exact CP model with respect to size, i.e. the number of variables and constraints. A maximal delay of 2h has been introduced to limit the size of the IP models. This experiment used a smoothing of the hourly capacity over sub-periods of 10 minutes, but did not include the hourly capacity constraints themselves. The approximate IP model used a time scale of 10 minutes and had 22925 binary variables and 21604 constraints. The exact IP model increased these numbers to 32079 binary variables and 30755 constraints. The exact CP model consisted of 1989 delay variables and 16 global constraints regrouping the capacity constraints of each of the 16 sectors. These numbers show that the usage of integer programming becomes prohibitive for larger problems as the number of variables is proportional to the number of flights. Interestingly the heuristic repair method in form of the overload reduction method found a total delay which is only 15% away from the optimum of the linear programming relaxation of the exact IP model. Astonishingly this total delay is 10% better than the optimum of the linear relaxation of the approximate IP model. Hence, the results of the heuristic repair method appeared to be better than an IP approach that followed standard modelling practices. This observation has been made at a late state of the project, but is certainly worth to be explored in more detail. A second experiment compared the different solving methods and smoothing constraints of the CP model in terms of the total delay. The experiment imposes the contractual hourly capacity constraints as well as smoothing constraints on intervals of 10 minutes. Again the delay of each flight is limited to 2 hours. The chronological method finds a solution of a total delay of 32401 minutes within 0.17 seconds on a Dell Precision 340. The overload reduction method reduces this delay by about 30% to 21267 minutes (found in 0.69 seconds). If only the contractual capacity constraints are used and the smoothing constraints are switched off, then the total delay found by the chronological strategy drops to 19441 minutes (found in 0.15 seconds). The overload reduction method finds a total delay of 12492 minutes in this case (while needing 0.26 seconds). Finally if only the smoothing constraints are used and the contractual constraints are switched off, then the chronological strategy finds a delay of 16887 minutes and the overload reduction method finds a delay of 11537 minutes (in 0.5 seconds). These experiments show that the heuristic repair method significantly reduces the total delay compared to a standard chronological strategy. They also show the high impact of the smoothing on the result, meaning that it has to be chosen with care. The effects of the smoothing on the workload profile has not been studied. This very first evaluation showed that the heuristic repair method for the exact CP model with smoothing constraints is a viable approach to slot allocation. This method was therefore used to carry out the study in Dalichampt et al. (1997). This study observes that the relaxation of the first-come first-served principle provides an interesting alternative to slot allocation as it reduces the total delay compared to the CASA algorithm while keeping a similar smoothing. ATFM with Heuristic Repair 6 9 Conclusion Eurocontrol has studied innovative slot allocation algorithms based on constraint programming in the years 1995 to 1997 and the results of the study can be found in Dalichampt et al. (1997). In this paper, we have described the principles behind these algorithms and have explained why constraint technology has been able to produce slot allocations of a smaller total delay than those found by the first-come first-served method and this within a sufficiently short running time to perform online allocation during the day of operation. On the one hand, constraint programming offers detailed modelling capabilities which permitted an exact representation of the flight times and sector regulations. As all times are exactly represented, no extra delay is introduced by rounding operations that adapt the times to a scale of 5 minutes or so. This absence of rounding constitutes a significant advantages over integer programming models, cf. Bertsimas & Stock(1994), which need rounding in order to keep the size of the models reasonable. On the other hand, constraint programming also allows a fast construction of a first solution of good quality by using a tailored heuristic-repair method. This method uses a current solution in addition to the current domains and is driven by the goal of reducing current sector overloads. It achieves this goal by delaying one of the flights that contributes to one of the overloads. As flights can cause overloads in several sectors, it prefers to delay those flights that provide a best total reduction of the overloads. Hence, the method exploits the relationship between overloaded sectors and flight delay to make decisions that reduce the difficulty of the remaining problem as much as possible. The method can be adapted to other additive optimization objectives such as minimizing the delay per passenger by introducing appropriate weights for the flight delays. Although heuristic repair basically is a local search method, it has been embedded in a systematic backtrack search such that several delay actions can be applied to the same flight in a left descent of the search tree. The method is also able to backtrack if it encounters a dead-end during the left descent which may happen since a maximal flight delay is imposed. The method could further be improved by a final improvement phase as certain delays may be unjustified in the end. It may indeed happen that a flight is delayed in order to reduce an overload. However some other flight contributing to this overload may be delayed by some other step of the heuristic repair method, meaning that the delay of the first flight is no longer necessary. A final improvement phase can detect these unjustified delays and reduce them, thus ensuring that each flight delay is justified in the end. This paper has thus provided further insights into the constraint-based slot allocation approach used in the study of Dalichampt et al. (1997). It explains why this approach successfully solved a particular definition of the ATFM problem. The work provided interesting lessons for solving combinatorial problems and showed that a least-commitment heuristic repair strategy is very effective if a problem can be solved by successively increasing lower bounds of variables. Finally it showed that constraint programming is a viable approach to ATFM problems and thus enriches an emerging literature on CP-based approaches to ATFM problems, cf. e.g. articles of Barnier et al. (2001) and Flener et al. (2007)). The work also showed that important objectives such as equity cannot easily be modeled in the constraint-based slot allocation approach and require a deeper investigation. Modern approaches to fair resource allocation as studied in collaborative decision making and computational social choice (see Chevaleyre et al. (2007)) provide a well-founded theoretical framework for such a research topic. A second topic for future research is the explainability of the results. Explanations are very important in order to convince decision makers and stakeholders to accept a solution or to give them indications of how to revise their preferences in order to obtain another solution. Explanation of optimality within combinatorial problems is a new research topic and Junker (2007) provides some first steps in this direction. 10 u. junker Acknowledgement I would like to thank the anonymous reviewers for their very helpful remarks that substantially improved the quality of the paper. References Nicolas Barnier, Pascal Brisset and Thomas Rivière. 2001. Slot allocation with constraint programming: Models and results. In International Air Traffic Management R&D Seminar ATM-2001. Dimitris Bertsimas, Guglielmo Lulli, and Amedeo R. Odoni. 2008. The air traffic flow management problem: An integer optimization approach. Proceedings of IPCO, pages 34–46. Dimitris Bertsimas and Sarah Stock. 1994. The air traffic flow management problem with enroute capacities. MIT-report, MIT, Cambridge. Yann Chevaleyre, Ulle Endriss, Jérôme Lang, and Nicolas Maudet. 2007. A Short Introduction to Computational Social Choice. SOFSEM 2007: Theory and Practice of Computer Science, Springer, pages 51-69. CFMU. 2009. Basic CFMU Handbook - General & CFMU Systems. Eurocontrol CFMU, Brussels, 13.0 edition. M. Dalichampt, E. Petit, U. Junker, and J. Lebreton. 1997. Innovative slot allocation. Executive summary of EEC report no. 322, Eurocontrol Experimental Centre. Pierre Flener, Justin Pearson, Magnus Agren, Carlos Garcia-Avello, Mete Celiktin, and Soren Dissing, 2007. Air-traffic complexity resolution in multi-sector planning. Journal of Air Transport Management. William D. Harvey, Matthew L. Ginsberg. 1995. Limited Discrepancy Search. Proceedings of IJCAI, pages 607-615. Ulrich Junker. 2007. Preference-Based Problem Solving for Constraint Programming. CSCLP 2007, pages 109-126. Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird. 1992. Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling. Artificial Intelligence, 58:161–205. Francesca Rossi, Peter van Beek, and Toby Walsh. 2006. The Handbook of Constraint Programming. Elsevier. Laurence A. Wolsey and George L. Nemhauser. 1999. Integer and Combinatorial Optimization. Wiley.