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