• Tidak ada hasil yang ditemukan

Evolutionary algorithm

Dalam dokumen Metaheuristics for Air Traffic Management (Halaman 105-109)

Chapter 4. Departure Slot Allocation

4.3. Conflict-free slot allocation

4.3.3. Evolutionary algorithm

Classical evolutionary computation principles, such as described in the literature [GOL 89] and [MIC 92] were used for this approach. This section details the data structures, operators and parameters used in the evolutionary algorithm.

4.3.3.1. Variables and data structures Given a flighti, the input data are noted:

–fpkigthe chronologically ordered sequence of the 3D-points of its trajectory;

–tki the time at which the flight will be at pointpki, should it not be delayed.

A set of decision variables for the problem is defined:

=f i;8i2[1; n]g

where each i2[0; max]represents the delay associated with each of thenflights.

We will also describe our model using the following auxiliary variables:

ki =tki + i, the date at which flightiwill be at pointpki if it is delayed by i; –dij= j i.

A chromosome is defined by thenvariables of defined above.

4.3.3.2. Constraints

To compute the constraints of the model, the trajectories are probed pairwise for couples of conflicting points. For any geometrically conflicting pointspki andpljsuch

that the separation norm is violated (dhbeing the distance in the horizontal plane and dvin the vertical plane):

dh(pki; plj)<5NM and dv(pki; plj)<1000ft

we must temporally ensure that ki 6= lj, which can be rewritten with the difference variablesdij:

dij 6=tki tlj

Starting at the first such pointpki that conflicts with a point of flightj, the whole continuous segment of trajectoryjconflicting withpki is considered:

fplj;8l2[lk; lk+r]g for somer, and the separation constraint imposes that:

dij 2 ft= ki tlj;8l2[lk; lk+r]g dij 2= [lbk; ubk]

withlbk andubkbeing, respectively, the lower and upper bound of the set oftki tlj. If the next pointpk+1i of the trajectory of flighticonflicts with a further segment of flightj, another forbidden segmentdij 2= [lbk+1; ubk+1]is obtained, taking part in the same potential conflict. The separation constraint imposes that:

dij 2=[min(lbk; lbk+1);max(lbk; lbk+1)]

as the conflicting segments of flightjoverlap.

So when considering all the successive points of flight i, starting at pki, that conflict with overlapping segments of flight j, up to some last point pk+si , with lb1 = minflbk+u; u 2[0; s]gandub1 = maxfubk+u; u 2 [0; s]gbeing the overall lower and upper bounds of the corresponding forbidden intervals fordij, the first conflict between flights i and j can be defined: dij 2= [lb1; ub1]. Note that the maximal allowable delay i 2 [0; max] is taken as a parameter of the problem instance, therefore the initial domain ofdij = j i is the interval[ max; max].

Wheneverub < maxorlb > max, the conflict is discarded.

A pair of flights may conflict several disjoint times over their entire trajectories, several such disjoint intervals may be forbidden for the difference of their delays.

For two flightsiandj conflictingqtimes over their entire trajectories, the union of forbidden intervals that represents the conflict is defined:

Cij=h

lb1; ub1i

[ [h

lbq; ubqi

[4.1]

and the following constraint is added:

dij2 C= ij [4.2]

For each pair of flightsiandj, the Boolean variablecijis defined:

cij = 1if flightsiandjare in conflict 0otherwise

which can be rewritten as:

cij = 1ifdij 2 Cij 0otherwise 4.3.3.3. Fitness function

The cost of a solution is simply the sum of the delays over the flights:

cost=

n

X

i=1 i

However, as solutions respecting the separation criteria cannot be built easily, these criteria need to be included in the fitness function.

The chosen fitness function is:

F = n Pn

i=1 maxi

1 +c where:

c=X

i<j

cij

is the number of remaining conflicts.This function takes its values in [0; n] and increases when the number of conflicts and the delays decrease.

A local fitnessFifor each flightiis also defined:

Fi =1 i

max

1 +ci

[4.3]

where:

ci=X

j6=i

cij

represents the number of conflicts involving flighti. The local fitnesses are used in the crossover operator (see section 4.3.3.5).

4.3.3.4. Mutation operator

For each candidate to mutation, the delay of a flight being involved in many conflicts is modified. If every conflict is solved, a flight is randomly chosen and its parameters changed.

In practice, we say that flightiismore constrainedthan flightjif:

–ci > cj;

– orci=cjand i> j.

A numbermis randomly chosen in the interval[1;n2], andmflights are randomly picked up in the population. Among thesemflights, the most constrained one, w.r.t.

the previous definition, is either locally optimized or randomly modified with a probability of50%. We could be tempted to systematically locally optimize the delay of the worst flight, but this would make the algorithm become too deterministic and lead to premature convergence.

4.3.3.5. Crossover operator

The conflict resolution problem is partially separable, as defined in [DUR 98] and detailed in section 6.6.4.4. We use this property in order to increase the probability of producing children with a better fitness than their parents.

Considering a couple of parentsaandb, local fitnessesFiaandFibare computed for each flighti. IfFia Fib(resp.Fib Fia), both children will have delay ai (resp.

b

i) for flighti. IfFia Fib, children will randomly choose ai, bi or a combination of

a i and ib.

The mutation and crossover operators are more deterministic during the first generations because there are many conflicts to solve and they focus on feasible solutions. When solutions with no conflict appear in the population, they become less deterministic.

4.3.3.6. Sharing

The problem is highly combinatorial and might have many local optima. In order to prevent a premature convergence of the algorithm, the sharing process introduced in [YIN 93] is used. The advantage of this sharing scheme lies in its O(plog(p)) complexity (instead of aO(p2)complexity for classical sharing) ifpis the size of the population. The distance used to compare two population elementsaandbis:

D(a; b) = Pn

i=1j ai ibj n

4.3.3.7. Parameters

In the experiments, the following parameters were empirically chosen: the size of the population was set to 100, 20% of the population is crossed, 60% is mutated and the selection uses the stochastic remainder without replacement [GOL 89]. A sharing process is used, with the distance defined in section 4.3.3.6. In order to limit the execution time, the number of generations is limited to 500.

Dalam dokumen Metaheuristics for Air Traffic Management (Halaman 105-109)