Academia.eduAcademia.edu

Graph Coloring for Air Traffic Flow Management

2000, Annals of Operations Research

The aim of Air Traffic Flow Management (ATFM) is to enhance the capacity of the airspace while satisfying Air Traffic Control constraints and airlines requests to optimize their operating costs. This paper presents a design of a new route network that tries to optimize these criteria. The basic idea is to consider direct routes only and to vertically separate intersecting flows of aircrafts by allocating distinct flight levels. This problem is a graph coloring problem that we tackle using Constraint Programming and a greedy algorithm to find cliques of the constraint graph which are used to post global constraints. Through the search for optimal solutions minimizing the number of distinct flight levels allocated, symmetries among equivalent flight levels are dynamically broken, and the variable ordering is guided by the cliques found in the first static step. With an implementation using FaCiLe, our Functional Constraint Library, optimality is achieved for all flow sizes except the smallest one, while the corresponding number of flight levels could fit in the current airspace structure. However, many other constraints should be added to this very simplified model to obtain an operational route network, such that the conclusion is rather the validation of the concept of vertical separation of large flows. This graph coloring technique has also been tested on various benchmarks, featuring good results on real-life instances, which systematically appear to contain large cliques.

Proceedings CPAIOR’02 Graph Coloring for Air Traffic Flow Management Nicolas Barnier and Pascal Brisset Centre d’Études de la Navigation Aérienne École Nationale de l’Aviation Civile 7, avenue Édouard Belin – BP 4055 31055 Toulouse Cedex 4, France email: {barnier,brisset}@recherche.enac.fr Abstract The aim of Air Traffic Flow Management (ATFM) is to enhance the capacity of the airspace while satisfying Air Traffic Control constraints and airlines requests to optimize their operating costs. This paper presents a design of a new route network that tries to optimize these criteria. The basic idea is to consider direct routes only and to vertically separate intersecting flows of aircrafts by allocating distinct flight levels. This problem is a graph coloring problem that we tackle using Constraint Programming and a greedy algorithm to find cliques of the constraint graph which are used to post global constraints. Through the search for optimal solutions minimizing the number of distinct flight levels allocated, symmetries among equivalent flight levels are dynamically broken, and the variable ordering is guided by the cliques found in the first static step. With an implementation using FaCiLe, our Functional Constraint Library, optimality is achieved for all flow sizes except the smallest one, while the corresponding number of flight levels could fit in the current airspace structure. However, many other constraints should be added to this very simplified model to obtain an operational route network, such that the conclusion is rather the validation of the concept of vertical separation of large flows. This graph coloring technique has also been tested on various benchmarks, featuring good results on real-life instances, which systematically appear to contain large cliques. Keywords: Air Traffic Flow Management, Route Network, Graph Coloring, Cliques, Greedy Algorithm, Constraint Programming. 1 Introduction Airspace congestion is today the most critical issue European Air Traffic Flow Management (ATFM) has to face. French en-route Air Traffic Control (ATC) centers capacities are far exceeded by a constant growth in air traffic demand, resulting in ever increasing flight delays1 . These time and management costs are such a nuisance for all airlines and passengers that the European Commission has released a special statement [13] acknowledging that current ATFM systems are unable to support high traffic loads and unscalable for the predicted growth. Several measures have been taken at national and European scale to enhance ATFM, among which is the design of a new route network. The current French (and European) route network has been chronologically designed by small local additions and modifications over time to meet users demand and ATC regulation requirements (and some other constraints like avoiding military areas accordingly to a given schedule). Obviously, such a process does not lead to an efficient solution and underestimates the global capacity of the French airspace, as well as generates excessive deviations from optimal (direct) routes. Several research studies have been and are currently being run at Eurocontrol [16, 17] and CENA (French Civil Aviation Research Center) [18] to overcome this issue. This work addresses the feasibility of the following “ideal” approach: only consider direct routes (straight line between origin and destination) for flows of more than a given number of aircrafts2 , and separate intersecting ones vertically to avoid conflicts (and thus their resolution by ATC). This scheme does not take any additional operational side constraints into account, such that the model used leads to a graph coloring problem. The graph coloring problem is a well-studied NP-hard problem and an active research topic with many practical applications (see [23] for examples). As it is a difficult problem, especially for large random graphs with poor structure, heuristic techniques are widespread among the best approaches, like greedy algorithms [5, 15] or local search [12, 19, 11]. However, for real-life problems complete enumeration algorithm can be very efficient [8] by taking advantage of the structure of the graph, like a large clique which provides a lower bound and is trivially colored. Constraint Programming (CP) fits well to implement such exact algorithm as reported in [24], as vertices are simply mapped to variables and edges to disequality constraints; furthermore, branch and bound is provided within all CP systems and the versatility of search goals eases the design of search heuristic. Last but not least, additional constraints can be quickly added to the model thanks to the high level of abstraction of CP. The main idea of our coloring algorithm is based on the search of large cliques by a greedy algorithm, during a first stage, to provide a lower bound and feed global “all different” constraints within a CP framework. Then, disequality constraints are posted among the remaining flows and an optimal solution is searched with a standard branch and bound algorithm. Through the search, the symmetry between allocated colors is removed by cutting the choice-point associated with the instantiation of a flow to an unused color, and the set of cliques found by the greedy algorithm can also be used to guide the search. The combination of these techniques allows to obtain optimality proof for all the instances tried but the largest one within short computation time, and the optimal number of distinct allocated flight levels for flows of relevant sizes could fit within the upper airspace. Our algorithm is efficient on real-life benchmarks [23] as well, and compares well on our problem with DSATUR [5], a standard greedy coloring method. The description of the flight level allocation problem and its modeling with flows of 1 Note that the situation is quite different in the US where congested areas subject to ATC regulations are mostly located within terminal sectors around big airports (vs en-route sectors for Europe) 2 Maximum flexibility would be achieved for flows of more than one flight. minimal given size using Constraint Programming is presented in section 2. Section 3 then details the use of a greedy algorithm to find cliques in order to improve the efficiency of propagation during the search. The strategy used to obtain the results presented in section 5 is exposed in preceding section 4, as well as the dynamic symmetry breaking goal that helps to cut large parts of the search tree during optimization. We discuss the relevance of our approach with respect to related work in section 6, which ends with the benchmark. Conclusion and future work are featured in last section. 2 Problem Description and Modeling Figure 1: Direct routes (with flow size) in the French Airspace. The design of the routes in the French and European airspace has been an incremental process determined by air traffic demand and the evolution of ATC ground facilities, aircraft equipment and flight procedures. The regulation of flights to ensure separation between aircrafts (usually 4-8 NM3 horizontally and 1000-2000 ft vertically) is handled by Air Traffic Control Centers, which are divided in numerous sectors. The shape of these sectors allows controllers to manage the complexity of the traffic and solve the conflicts that may occur around the route network crosspoints. This Air Traffic Management scheme obviously is not very flexible whereas airlines aim at deviating as little as possible from the direct route joining origin and destination to optimize their operation costs. An ideal network, i.e. direct routes for each flight, would be too complex to manage for (human) controllers if the aircrafts were not vertically separated: conflicts occurring in the horizontal plan would form a very tight web, as shown in figure 1 where the width 31 NM = 1852 m of each route is proportional to the number of flights that takes it. The main idea is therefore to allocate different flight levels to (horizontally) intersecting routes in order to avoid conflicts. With this scheme, flights sharing the same origin and destination would sequentially take the same direct route at a given flight level, distinct from all other intersecting routes, and only aircrafts whose flight time windows overlap are taken into account for a potential vertical separation. Our model implements this strategy through the notion of flows: flights with the same origin/destination pair are gathered in one flow of size equal to the number of aircrafts involved, and its start and end dates are computed with respect to its earliest and latest flights. For a given day, the flows are precomputed such that the input data of the model are: • F: the set of flows of cardinality |F| = n; • ri : the route of flow i; • ni : the size of flow i; • ti : the time window of flow i; the decision variables are the flight levels of the flows: Li , ∀i ∈ [1..n] Their initial domain is [1..n]. Finally, the cost to minimize is the number of distinct flight levels c = card(F) with initial domain [0..n]. However, to control the size of the problem, the set of flows is filtered according to parameter nmin to consider only the flows of more than nmin flights. Actually, the traffic is usually divided in two main categories: daily commercial flights which correspond to most of the big flows and which request a high flight level, and private IFR4 flights which are responsible for the flows of small size and which can only reach low flight levels, such that they hardly interfere with the first category. To take into account this operational behavior, it may be relevant to solve the problem only for flows of more than 5 – 10 flights, assuming that smaller flows will fly below the lowest flight level granted to the main flows. The constraint model is straightforward: disequality constraints are posted between the levels of intersecting flows whose time windows overlap. ∀i, j 1≤i<j≤n Li 6= Lj if intersect(ri , rj ) ∧ overlap(ti , tj ) The objective simply is to minimize the number of distinct allocated levels, such that this model is equivalent to a graph coloring problem. Figure 2 shows a route network and its corresponding graph obtained by a mapping from routes and intersections to nodes and edges. 4 Instrument Flight Rule. Flight for which a flight plan must be posted and which is systematically controlled by ATC. L1 6= L2 r5 6= 6= r1 6= r2 r3 L6 6= 6= 6= r6 r4 6= L4 L3 6= L5 Figure 2: From air traffic network to constraint graph (where {L1 , L2 , L3 , L4 } is a clique). 3 Searching for Cliques The preceding constraint model only posts local disequality constraints between two flows. However, complete sub-graphs, i.e. cliques, of the induced constraint graph may occur, which can be used to post global “all different” constraints and yield more domain reductions during the search. Though the search for the maximum clique (the largest one) or all maximal cliques5 of a graph is well known to be NP-hard, greedy or approximation algorithms can be used to provide a subset of them, assuming that the heuristic will be efficient for the particular structure of the graph. We use a very simple greedy algorithm, similar to the ones featured in [4], to build a set of cliques, trying to find the largest ones. From each node of the graph, a clique is incrementally built from candidates belonging to its adjacency list, starting with the node which has the largest intersection between its neighbors and the other candidates. This algorithm has the property to produce only maximal cliques such that no strict subset of a generated clique will be returned; however, identical cliques might be discovered through different initial nodes. The set of found cliques is then filtered to obtain distinct cliques only, of size (number of nodes) strictly greater than 2 – cliques of size 2 are already handled with disequality constraints. The theoretic worst case complexity can only be estimated very roughly to an expensive O(n5 ), assuming that the number of edges quadratically grows with the number of nodes, which is a fair estimation for our problem, except for the biggest instances for which the growth becomes linear because only flows with very small time windows are added. Fortunately, a careful look to the algorithm reveals that such a worst case is very unlikely to occur for a connex intersection graph – the number of candidates to augment a clique dramatically falls as the clique grows. For our graph instances, this static step seems to be efficient. Figure 3 shows the time to compute the cliques as a function of the number of nodes, each point corresponding to a value of nmin (the minimum number of flights in a flow, see section 2) ranging over [1..20]: the points correspond to a O(n4 ) complexity, as expected according to the growth of the number of edges. Furthermore, a high percentage (between 50% and 90%) of the starting nodes generates valid cliques, especially when n grows as shown on the left side of figure 4 where the ratio between the number of cliques and n is plotted as a function of n, for all found cliques (upper curve) and for distinct cliques (lower curve). Note that only a small number of cliques are redundant. 5A maximal clique has the property that it is not a strict subset of any other clique. 2 250 200 1.5 150 1 100 0.5 50 0 0 50 100 150 200 250 300 350 400 450 0 200 400 600 800 1000 1200 1400 1600 1800 Figure 3: Computation time (seconds on a PIII 700 MHz) of the cliques as a function of the number of nodes n. Complexity in O(n4 ) except for the last points (right). 1 20 0.95 18 0.9 16 0.85 14 0.8 0.75 12 0.7 10 0.65 8 0.6 6 0.55 4 0.5 0.45 2 0 200 400 600 800 1000 1200 1400 1600 1800 0 200 400 600 800 1000 1200 1400 1600 1800 Figure 4: Ratio “number of cliques”/n and “number of distinct cliques”/n (left), size of the largest clique (right), as functions of the number of nodes n For each distinct clique returned by the greedy algorithm, an “all different” constraint is posted, using a bin-matching algorithm with the built-in FaCiLe implementation. This global filtering provides more powerful reductions than the equivalent set of disequality constraints. Of course, disequalities on variables already involved in a clique are no longer posted to avoid useless time-costly redundancy. Moreover, the size of the largest clique is used as a lower bound for the cost variable. Right side of figure 4 features the size of the largest clique as a function of the number of nodes: cliques of significant size are found as this lower bound seems to be close from the optimal solution for the instances solved (see sections 5 and 6). 4 Search Strategy The search strategy that seems to be the most efficient of the ones we tried on the route network problem is guided by the cliques found during the first static step (see section 3). The basic idea is that large cliques correspond to the most constrained part of the flow network and that early instantiation of their variables can produce efficient domain reductions, making advantage of the global “all different” constraints. The results featured in the next section 5 are obtained by a standard depth first search combined with a branch and bound to minimize the number of flight levels. Cliques are chosen by decreasing size, then all the uninstantiated variables that belong to a given clique are selected with a standard minimum domain size ordering, which is robust enough for most of the problem sizes. During the search, the permutation symmetry between the n distinct initial colors (i.e. flight levels) that the flows may take is dynamically broken. The set of already allocated colors is maintained each time a flow becomes instantiated (by a choice or by propagation), so when branching on the instantiation of a flow, if there is no already chosen color still in its domain, the flow is deterministically instantiated to the smallest possible value, such that whenever a new color must be taken, no choice-point is created because all the remaining free colors are equivalent. But if the intersection between the chosen colors and the domain of the flow is not empty, we try first to branch on the smallest common values, such that a new color is allocated if there is no more choice only. This instantiation goal ensures that all part of the tree leading to symmetric solutions with respect to colors permutation will be cut – for a given variable ordering, flows are instantiated to the minimum possible value. This symmetry breaking allows to find optimality proof for most of the sizes of the problem (see next section 5). 5 Results The implementation of the search for cliques and the constraint program has been made in Objective Caml (caml.inria.fr) with FaCiLe [2], our open source constraint library (www.recherche.enac.fr/opti/facile). The results presented in this section were obtained with all the techniques described in the previous sections: • Greedy algorithm to find distinct cliques of size strictly greater than two flows • “All different” constraints on all the cliques • Disequalities on the remaining intersecting flows • Search strategy based on the cliques • Dynamic breaking of color permutation symmetry The program was run on the problem with the minimum size of the flows nmin ranging 1 to 20. All sizes were optimally solved except for the biggest problem, i.e. nmin = 1 (1779 flows, 165859 intersections), with an optimal solution between 20 and 24. The optimal number of flight levels is plotted in figure 5 (upper curve) as a function of the number of flows, and dots are the corresponding nmin . Solving the problem for flows of more 5 flights (less than 352 flows) requires no more than 12 flight levels. So with a vertical separation of 1000 ft, the flows involved could fit in the upper airspace roughly ranging between 20000 ft and 40000 ft. On the same figure, the lower curve shows that the size of the biggest clique found is a good lower bound for the problem. CPU time for the proof of optimality (left) and required number of backtracks (right) are shown in figure 6. However, for nmin = 2 (912 flows, 68759 intersections) the optimal solution could only be obtained by further constraining the cost variable to its optimal value 18 (with largest clique of size 16). Note that this problem size does not appear on 20 15 10 5 100 200 300 400 500 600 700 800 900 Figure 5: Optimal number of flight levels (upper curve) and size of the largest clique found (lower curve) as a function of the number of flows. Dots are the corresponding minimum size of the flows (nmin ). 9 30 8 25 7 6 20 5 15 4 3 10 2 5 1 0 0 0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 600 700 Figure 6: CPU time in second (left) and number of backtracks (right) for optimality proof as a function of the number of flows. the backtracks graph (252 backtracks). Furthermore, the proof of optimality for nmin = 6 could only be obtained by using the Brélaz heuristic within the labelling by cliques. 6 Related Work The two following sections compare our algorithm to previous works on route network design for Air Traffic Management and on graph coloring. The third one presents the results obtained on standard graph coloring benchmarks, followed by the performance of DSATUR on our route network problem. 6.1 Route Network Design for ATFM The need to increase European airspace capacity has led to various approaches regarding the design of a new route network. The Eurocontrol project TOSCA [17] considers the possibility of such a direct route network but assesses its intractability for current ATC because the model does not include vertical separation of the flows. It rather focuses on ATFM tools as well as ATC devices (ground and on board) and procedures to add flexibility and capacity within the current network. Yet such measures appear to have poor capacity growth potential as they stick too much to the current “over-constrained” system. An alternative work presented in [18] tries to simultaneously minimize the ATC complexity within dense areas and the length of the routes: a Voronoı̈ diagram is built around dense crossing points and a complexity indicator of these points is devised to model ATC; local moves are then performed on this structure to optimize the network. Our approach is quite different, as we get rid of the ATC modeling by ensuring separation with distinct flight levels. However, it is far from existing ATFM procedures and its operational integration would require a lot of additional features (see section 7). A very different concept that tries to address the same issues is “free flight” which allows aircrafts to freely choose their route and dynamically solves conflicts with various algorithms. [1] introduces a free flight distributed algorithm which uses priority tokens to order the conflicts and solve each one with an A∗ algorithm with simple manoeuvres. This algorithm seems to be very efficient for the upper airspace, but again is very different from our work, as it only focuses on automated distributed ATC, which is also quite far from the current operational system. The approach of [16] is certainly the most similar to ours. This work includes a technique to recognize sub-networks for which the associated graph is a permutation graph. These graphs admit a polynomial algorithm to compute the maximum clique. Cliques are then used to guide a not-complete coloration algorithm. The proposed algorithms are integrated in an interactive graphic tool for designing a new European air traffic network. 6.2 Graph Coloring As our very simple model leads to a pure graph coloring problem, a well-studied and active research topic, our algorithm can be compared with previous standard approaches. Because the graph coloring problem is NP-hard, most of them are heuristic methods like greedy algorithms (DSATUR [5], RLF [15]), local search (tabu [12], simulated annealing [19], genetic algorithm [11]), possibly featuring a certain amount of enumeration. Most techniques generate the coloring either by sequentially assigning a color to all the vertices, or by partitioning the vertices into independent sets mapped to color classes. Some of them also search for a clique to provide a lower bound, initiate the coloring. Loosely related with our search strategy using cliques, [9] mentions the use of cliques as a tie breaker to order the variables within DSATUR, but without success. Note that finding a maximum independent set or clique is NP-hard as well, such that most techniques used for these tasks are greedy. These algorithms and refined/hybrid versions (e.g. [10] presents a “genetic tabu search” initialized with DSATUR) are successful at finding “good” solutions for large random graphs such as the DIMACS challenge6 instances, for which enumeration may have a prohibitive cost. However, complete algorithms relying on enumeration and backtracking techniques have been devised as well to provide optimality or failure proof (e.g. yielding lower bounds), like the early works featured in [7] and [6] and their refined se6 Supposedly at ftp://dimacs.rutgers.edu/pub/challenge but their server was down during our experiments. quels (e.g. [5, 20]). More recently, [8] proposes a complete algorithm which first efficiently finds a maximum clique, then uses an exact sequential coloring. The author notices that every real-life instances he could find are 1-perfect graphs, i.e. their chromatic numbers is equal to the size of their maximum cliques, such that the search is always bounded by the discovery of a coloring of the same cardinality. Although our problems seem to exhibit the same property7 , our technique rather takes advantages of the numerous cliques found by the greedy algorithm, the largest one being suboptimal (at least on the route network problems). For such application problems, [8] reports excellent results. However, graphs which are not 1-perfect heavily impedes the search, and finding a maximum clique is exponential in the worst case. Constraint Programming has already been used as well to color graphs of “reasonable” size which are implicitly represented, mapping nodes on variables and edges on disequality constraints. Actually, CSPs are often considered as constraints graphs, possibly with hyper-arcs to model global constraints, and the most popular variable ordering strategies were inspired by heuristics developed for “pure” coloring problems, e.g. see [22] about the Brélaz heuristic [5]. The search is then generally handled by a branch and bound to obtain optimality or failure proof. [24] presents this framework with an ordering strategy similar to the Brélaz’s one and the same kind of symmetry breaking among colors than the one we use. However, this early approach did not use cliques or global constraints to speed up the search. Unlike previously mentioned ad hoc techniques, the Constraint Programming paradigm provides a high level of abstraction which allows to easily refine the model by adding other various constraints, a highly suitable feature for our application (see 7). One of its important limitations is the computational cost of standard backtracking search on large instances. Various attempts can be found to overcome this issue like the Incomplete Dynamic Backtracking presented in [21] with good results on the DIMACS challenge, but at the cost of loosing completeness. 6.3 6.3.1 Benchmarks Graph Coloring Benchmarks We have compared the performance of our algorithm with various benchmark problems found in Michael Trick’s web site [23]. Results gathered in tables 3 and 2 feature the problem name, the chromatic number (if known), the number of backtracks needed to obtain the best solution found and the corresponding CPU time, the number of backtracks needed to reach optimality proof and the corresponding CPU time, and the size of the largest clique found by our greedy algorithm. The search times (excluding data reading and the static greedy search for cliques) are obtained on a PIII 700 MHz running Linux 2.4.5. Our hardware is rated in table 4 with the standard DIMACS machine benchmarks, running the dfmax8 program written by David Johnson and David Applegate (complete search of the maximum clique). Unlike for the route network problems, various heuristics including the Brélaz’s one and dom/deg (cf. [3]), often combined with the cliques-driven strategy (described in section 4) have been tried, as the latter did not provide good results on some instances. 7 A complete algorithm has been used to check this property and we plan to integrate its output in our algorithm. 8 http://www.cs.sunysb.edu/~algorith/implement/dimacs/distrib/color/graph/ Table 3 reports the results on real-life instances from industrial (register allocation, class scheduling) or academic (“books” graphs, geometric graphs from real maps...) applications: optimality proofs are quickly obtained except on the queen problems9 on which only lower bounds (indicated by LB in the chromatic number column) and upper bounds have been found above size 8. However, the results reported by Coudert in [8] and Kirovski and Potkonjak in [14] suggest that these problems are very difficult. Coudert does not even consider them as “real-life” problems (but as random ones: not all instances are 1-perfect graphs) or does not mention results above size 9, which takes more than 561.106 backtracks and five hours to complete (whereas other real-life problems only take a couple of seconds). These results are obtained with the full algorithm, but we tried to separately observe the effects of the global “all different” constraints and of the cliques-driven labelling which are supposed to be complementary as their combination should allow earlier pruning by selecting variables involved in the biggest global constraints. Surprisingly, for a few instances, optimality could only be achieved by the cliques-driven heuristic in the absence of the global constraints, therefore emphasizing the interest of finding large cliques. But our algorithm less efficiently behaves on random graphs which often have a low maximum clique cardinality (not 1-perfect) or many sub-optimal colorings. The size of the problem impedes the search as well, because standard backtracking search does not scale well (especially on problems with poor structures). 6.3.2 DSATUR on the Route Network Problem We eventually report in table 1 the performance of a version of DSATUR, a standard greedy coloring algorithm, implemented by Joseph Culberson10 . For each flow size are presented the corresponding number of vertices (or variables) and edges, and the size of the best coloring found by DSATUR and by our algorithm. We show the result of the best heuristic available for each problem sizes, and all the computation times fall below one tenth of a second on the same system than the one used for the benchmarks. However, DSATUR cannot provide optimality proof and finds larger colorings than our algorithm on large instances (in bold in table 1), but the version used was poorly tuned compared to our algorithm. 9 These graphs correspond to a square chessboard of size n × n on which n sets of n queens must be placed such that no pair of queens within the same set is in conflict. 10 http://www.cs.ualberta.ca/~joe/Coloring/Colorsrc/index.html Table 1: Performance of DSATUR on the Route Network Problem size 10 9 8 7 6 5 4 3 2 1 7 nb vars 168 188 213 249 290 352 434 610 912 1779 nb edges 2151 2720 3562 5156 7274 10581 16106 33059 68759 165859 DSATUR 9 9 10 10 11 13 15 16 21 24 Cliques 9 9 10 10 11 12 14 15 18 24 Conclusion and Future Work A simple model to handle the air traffic on a direct route network over France has been presented. This model, unlike most other approaches [17, 18], statically avoid conflicts and ATC constraints by vertically separating intersecting flows. The resulting optimization problem is an allocation of flight levels to flows (aircrafts sharing the same origin and destination) and its size can be tuned by restricting the minimum size of the flows. This allocation problem is equivalent to a graph coloring minimization problem and this paper presents a combination of techniques to tackle it. First, a greedy algorithm is used to find maximal cliques on which global constraints are posted; the algorithm reveals to be efficient on the structure of our problem: a large number of cliques are found and the size of the biggest one is a good lower bound of the minimum number of flight levels. Then a variable ordering based on the set of cliques returned by the first step is used in a branch & bound to search for the minimal number of flight levels. During this search, the permutation symmetry between the considered equivalent flight levels is broken dynamically by cutting choice points when the instantiation of a flow to a new flight level occurs. With an implementation in FaCiLe of these techniques, we were able to optimally solve in short computation time most of the sizes of the problem on a typical day of traffic, except for the biggest one. The optimal solutions for flows of “operational” size suggest that the traffic could fit within the upper airspace, separated from the flows of smaller size assumed to fly at lower flight levels and differently handled by ATC. We have also shown that our method behaves well on real-life benchmark instances for which “large” cliques can be found, and finds better solutions than DSATUR on the route network problem. However, this model is over-simplified and only aims at providing a feasibility study. To be more realistic, a lot of additional constraints should be taken into account. For example, the performance of the aircrafts which have a preferred flight level to minimize operation costs, depending mostly on the type of the aircraft and on the length of the route, could be modeled by restricting the the domains of the flows or adding the preferences in the cost. Manoeuvres of the aircrafts in the vertical plane within terminal areas should be addressed to avoid loss of separation with lower flows, for example by dividing each route in several parts. Current flight procedures (use of existing beacons, avoidance of military areas, structure of control sectors, parity of the flight level depending on the heading) should also be considered to allow the integration of a new route network. Furthermore, French and European air traffics are tightly coupled such that the operational implementation of a direct route network should affect at least neighboring countries: the problem should be globally solved but optimality can be unreachable, so alternate local or incremental CP methods may be more efficient. Further work includes the use of more efficient techniques to find larger cliques, the design of criterion to dynamically select the cliques during search or use them inside standard strategies, the addition of more flexibility to the model by taking into account some of the previously mentioned constraints, and trying to solve it at an European scale. A further considered refinement of the model would be to allow the splitting of flows with non-continuous time window to change their allocated flight level during the day. References [1] Jean-Marc Alliot and Nicolas Durand. Faces: A free flight autonomous and coordinated embarked solver. In Proceedings of the Second Air Traffic Management R & D Seminar ATM-2000, Orlando, USA, 1998. Eurocontrol & FAA. [2] Nicolas Barnier and Pascal Brisset. FaCiLe: a functional constraint library. In Colloquium on Implementation of Constraint and LOgic Programming Systems CICLOPS’01 (Workshop of CP’01), Paphos, Cyprus, December 2001. [3] Christian Bessière and Jean-Charles Régin. MAC and combined heuristics: Two reasons to forsake FC (and CBJ?) on hard problems. In Principles and Practice of Constraint Programming, pages 61–75, 1996. [4] I. Bomze, M. Budinich, P. Pardalos, and M. Pelillo. The maximum clique problem. In D.-Z. Du and P. M. Pardalos, editors, Handbook of Combinatorial Optimization, volume 4. Kluwer Academic Publishers, Boston, MA, 1999. [5] Daniel Brélaz. New methods to color the vertices of a graph. Communications of the ACM, 22:251–256, 1979. [6] R. J. Brown. Chromatic scheduling and the chromatic number problem. Management Science, 19:451–463, 1972. [7] N. Christofides. An algorithm for the chromatic number of a graph. Computer Journal, 14:38–39, 1971. [8] Olivier Coudert. Exact coloring of real-life graphs is easy. In Design Automation Conference DAC97, Anaheim, California, June 1997. [9] Joseph C. Culberson. Iterated greedy graph coloring and the difficulty landscape. Technical Report TR 92-07, ualtacs, Edmonton, Alberta, Canada T6G 2H1, 1992. [10] R. Dorne and J.K. Hao. Meta-heuristics: Advances and Trends in Local Search Paradigms for Optimization, chapter 3. Tabu search for graph coloring, T-colorings and set T-colorings, pages 77–92. Kluwer Academic Publishers, 1998. [11] C. Fleurent and J. A. Ferland. Genetic and hybrid algorithm for graph coloring. Technical report, Université de Montréal, 1994. [12] A. Hertz and D. de Werra. Using tabu search techniques for graph coloring. Computing, 39:345–351, 1987. [13] IP/99/924. European commission: Fifteen countries, a single European sky, (http://europa.eu.int/comm/pr en.htm), 1999. [14] Darko Kirovski and Miodrag Potkonjak. Efficient coloring of a large spectrum of graphs. In Design Automation Conference, pages 427–432, 1998. [15] Frank Thomson Leighton. A graph colouring algorithm for large scheduling problems. Journal of Research of the National Bureau of Standards, 84(6):489–503, 1979. [16] Vincent Letrouit. Optimisation du réseau des routes aériennes en Europe. PhD thesis, Institut National Polytechnique de Grenoble, 1998. [17] L. Maugis, J.-B. Gotteland, R. Zanni, and P. Kerlirzin. Assessment of the TMA to TMA hand-over concept. TOSCA/SOF/WPR/3/03, SOFREAVIA, 1998. TOSCA-II - WP3: Technical Report [18] Karim Mehadhebi. A methodology for the design of a route network. In Proceedings of the Third Air Traffic Management R & D Seminar ATM-2000, Napoli, Italy, June 2000. Eurocontrol & FAA. [19] Craig Morgenstern and Harry Shapiro. Chromatic number approximation using simulated annealing. In ACM Mountain Regional Meeting Proceedings, 1986. [20] J. Peemöller. A correction to Brélaz’s modification of brown’s coloring algorithm. Communications of the ACM, 26:595–597, 1983. [21] Steven Prestwich. Local search and backtracking versus non-systematic backtracking. In Papers from the AAAI 2001 Fall Symposium on Using Uncertainty Within Computation, pages 109–115, North Falmouth, Cape Cod, MA, November 2-4 2001. [22] Barbara M. Smith. The Brélaz heuristic and optimal static orderings. Research Report 1999.13, School of Computer Studies, University of Leeds, June 1999. [23] Michael Trick. Network resources for coloring a graph. mat.gsia.cmu.edu/COLOR/color.html, 1994. On-line at [24] Pascal Van Hentenryck. A logic language for combinatorial optimization. Annals of Operations Research, 21:247–274, 1990. Table 2: Coloring random instances with Cliques. name le450 5a le450 5b le450 5c le450 5d le450 15a le450 15b le450 15c le450 15d le450 25a le450 25b le450 25c le450 25d myciel3 myciel4 myciel5 myciel6 myciel7 flat1000 76 0 χ 5 5 5 5 15 15 15 15 25 25 25 25 4 5 6 7 8 76 best 5∗ 5∗ 5∗ 5∗ 15 15 23 23 25 25 28 28 4 5 6 7 8 113 bt (sol) 225 3564 10 7 3905043 26509 4 2 0 0 0 2 0 0 0 0 0 33 cpu (sol) 4.18 51 0.79 0.78 37976 240 5.96 6.04 0.97 0.95 2.00 0.96 0.0 0.0 0.02 0.06 0.24 28 bt (proof) 228 3567 13 10 ∞ 26512 ∞ ∞ 3 3 ∞ ∞ 5 50 4417 ∞ ∞ ∞ cpu (proof) 4.24 51 0.89 0.86 ∞ 240 ∞ ∞ 1.09 1.05 ∞ ∞ 0.01 0.06 11 ∞ ∞ ∞ clique 4 4 4 4 14 14 14 14 24 24 24 24 2 2 2 2 2 13 Table 3: Coloring application instances with Cliques. name fpsol2.i.1 fpsol2.i.2 fpsol2.i.3 inithx.i.1 inithx.i.2 inithx.i.3 mulsol.i.1 mulsol.i.2 mulsol.i.3 zeroin.i.1 zeroin.i.2 zeroin.i.3 school1 school1 nsh games120 anna david homer huck jean miles250 miles500 miles750 miles1000 miles1500 queen5 5 queen6 6 queen7 7 queen8 8 queen9 9 queen10 10 queen11 11 queen12 12 queen13 13 queen14 14 queen15 15 χ 65 30 30 54 31 31 49 31 31 49 30 30 14 14 9 11 11 13 11 10 8 20 31 42 73 5 7 7 9 9 LB: 10 LB: 11 LB: 12 LB: 13 LB: 14 LB: 15 best 65 30 30 54 31 31 49 31 31 49 30 30 14 14 9 11 11 13 11 10 8 20 31 42 73 5 7 7 9 10 11 13 14 17 17 18 bt (sol) 0 0 0 0 0 0 0 0 0 0 0 0 27 272 0 0 0 0 0 0 0 0 0 0 0 0 89 122 19088 77218 12494627 1855 172119 20 4597 5094 cpu (sol) 0.33 0.77 0.23 0.74 0.58 0.60 0.08 0.09 0.09 0.08 0.06 0.07 13.23 8.91 0.02 0.05 0.02 0.15 0.01 0.00 0.03 0.03 0.07 0.09 0.17 0.00 0.08 0.12 17 453 10741 17 187 0.67 4.91 84 bt (proof) 3 3 3 3 3 3 3 3 3 3 3 3 30 275 3 3 3 3 3 3 3 3 3 3 3 3 115 125 97964 ∞ ∞ ∞ ∞ ∞ ∞ ∞ cpu (proof) 0.51 1.26 0.36 1.11 0.89 0.90 0.12 0.12 0.12 0.13 0.11 0.12 13.36 9.04 0.02 0.07 0.03 0.16 0.01 0.00 0.03 0.04 0.09 0.12 0.17 0.00 0.10 0.12 89 ∞ ∞ ∞ ∞ ∞ ∞ ∞ Table 4: Machine Benchmarks. r100.5 0.01 r200.5 0.23 r300.5 2.06 r400.5 12.78 r500.5 47.78 clique 64 29 29 53 30 30 48 30 30 48 29 29 13 13 8 10 10 12 10 9 7 19 30 41 72 4 5 6 7 8 10 10 11 12 13 14