Therefore, by using Taylor series, we obtain the B-
spline value for all u ∈ [u
i
,
i+1
]:
σ
x
(u) = σ
x
i
+ (u − u
i
)(σ
0
x
i
+ (u − u
i
)(
σ
00
x
i
2
+ (u − u
i
)
σ
000
x
i
6
))
(3)
We choose to rely on B-spline modeling trajectories
because it is a very efficient tool for curve approx-
imation in terms of both approximation quality and
computational time. Moreover, B-splines feature in-
teresting properties such as C
2
-continuity (crucial for
modeling smooth aircraft trajectories), robustness and
flexibility (if one control point is displaced, only a
small part of the curve will be affected). The last
good point in favor of B-splines is its compatibility
with GA : the curve is completely determined by few
control points only, which will be the optimization pa-
rameters of the GA. In our study, we use a fixed max-
imal number of control points between the departure
and the arrival points.
3 OPTIMIZATION METHOD
When several aircraft are involved in a conflict, the
conflict resolution problem has been shown to be NP-
hard (Durand, 2004). Moreover, the optimization
variables being the B-splines control-point location,
we shall see that our objective function (4) is not
differentiable with respect to these variables. Con-
sequently, we must rely on black box (direct) opti-
mization methods to address our problem. In this pa-
per, we choose to use a stochastic global optimization
method, genetic algorithms, to guide the control-point
location. As we mentioned in the previous part, GA
seem to be appropriate with B-splines. In this section,
we explain briefly GA theory and then we shall detail
how we adapt the different operators (selection, muta-
tion and crossover) to our air traffic conflict resolution
problem.
3.1 Basis of Genetic Algorithms
Evolutionary algorithms use techniques inspired by
evolutionary biology such as inheritance, mutation,
natural selection, and recombination (or crossover) to
find approximate solutions to optimization problems
(Goldberg, 1989), (Koza, 1992). An individual, or so-
lution to the problem to be solved, is represented by
a list of parameters, called chromosome or genome.
Initially several such individuals are randomly gener-
ated to form the first initial population (POP(k) with
k = 0 on Figure 2). Then each individual is evaluated,
and a value of fitness is returned by a fitness function
Figure 2: Genetic algorithm with tournament selection. The
first step consists in the selection of the best individuals
from population POP(k). Afterwards, recombination op-
erators are applied in order to produce the POP(k + 1) pop-
ulation.
(generally, the objective function of our optimization
problem). This initial population undergoes a selec-
tion process which identifies the most adapted indi-
viduals. The selection process which has been used in
our experiments is a deterministic (λ, µ)-tournament
selection. This selection begins by randomly select-
ing λ individuals from the current population POP(k)
and keeps the µ bests (λ > µ). These two steps are re-
peated until a new intermediate population (POP
i
) is
completed. Following selection, one of the three fol-
lowing operators is applied : nothing, crossover, and
mutation. The associated probability of application
are respectively (1− p
c
− p
m
)), p
c
and p
m
. Crossover
results in two new child chromosomes, which are
added to the next generation population. The chro-
mosomes of the parents are mixed during crossover.
These processes ultimately result in the next gener-
ation population of chromosomes (POP(k+1) on Fig-
ure 2) that is different from the initial generation. This
generational process is repeated until a termination
condition has been reached. The next section presents
the application of this algorithm to our specific prob-
lem.
3.2 Chromosome Encoding and Fitness
Calculus
In this section we detail the link between our model-
ing method and genetic algorithms. Indeed, our op-
timization method is using B-splines to calculate the
aircraft trajectories in order to determine each individ-
uals fitness. To define this interaction, we first define
an encoding.
A chromosome will represent the trajectories of
N aircrafts using a matrix of N × N
c
where N
c
is the
maximal number of control points we wish to con-
OPTIMIZING B-SPLINES USING GENETIC ALGORITHMS APPLIED TO AIR-TRAFFIC CONFLICT RESOLUTION
215