• Aucun résultat trouvé

Notre première approche du problème d’allocation de niveaux de vol est similaire à celles de [Letrouit 98] et [Barnier 02b] : les vols évoluant sur une même route et à la même

5.3. ALLOCATION PAR FLUX 73 altitude se voient attribuer le même niveau de vol, cette attribution étant faite de manière à ce que deux ux de vols sécants évoluent à des niveaux différents.

5.3.1

Agrégation des vols en

ux

La première étape de cette méthode consiste à agréger les vols en ux. Pour cela, on définit tout d’abord l’ensemble R des différentes routes et niveaux de vols demandés :

R = {(ri, RFLi), i ∈ V}

On note K = |R| le cardinal de cet ensemble et on remarque que K ≤ n. On peut donc également décrire cet ensemble sous la forme :

R = {ρ1, ρ2, ..., ρK}

où ρk est constitué d’une route et d’un RFL. On définit alors un ux de la manière suivante :

Dé nition 8 (Flux de vols) Soit V un ensemble de vols. Un ux de vols Fk est un

sous-ensemble de V contenant tous les vols qui suivent une même route (séquence de points de report) et demandent le même niveau de vol, c'est-à-dire :

Fk = {i ∈ V, (ri, RFLi) = ρk}

Notons que l’ensemble F des ux constitue une partition de l’ensemble des vols V. Par extension de la notation, on notera pour un ux de vols Fk :

– rk sa route, i.e. la route commune des vols qu’il contient ;

– FLk le niveau de vol attribué au ux, et donc à tous les avions qu’il contient ;

– nk = |Fk| le nombre de vols dans Fk.

L’agrégation des vols en ux pour l’allocation de niveaux de vol ne permet pas de résoudre les con its en rattrapage au sein d’un même ux. Ces con its devront donc être résolus par une autre méthode : par l’allocation de créneaux de décollage dans notre cas, mais des méthodes de type train d’avions4 peuvent également être utilisées si les vitesses

sont compatibles.

Il est également possible de constituer ces ux en regroupant les vols suivant la même route et ayant des RFLs proches mais pas forcément identiques. Ceci permet notamment de réduire le nombre de ux et correspond, d’un point de vue opérationnel, à regrouper les vols effectuant le même trajet origine-destination sur un nombre prédéterminé de niveaux de vol : plus les RFLs des ux à regrouper sont distants, plus le nombre de niveaux nécessaires sera petit. Il est possible, pour un écart de RFLs donné, de réaliser une optimisation afin de construire un nombre minimal de regroupements de ux. Cette méthode a été implémentée en utilisant la programmation par contraintes pour construire des ux d’un « diamètre » de trois niveaux de vol. Cependant, les solutions obtenues sont coûteuses : en effet, le graphe de contraintes associé est dense et le décalage d’un seul niveau de vol pour un tel ux peut entraîner des décalages de plusieurs niveaux pour certains vols contenus dans celui-ci.

4. Cette méthode consiste à réguler un ensemble de vols suivant la même trajectoire en donnant comme consigne aux pilotes de suivre l’avion précédent en respectant une distance minimale.

74 CHAPITRE 5. ALLOCATION DE NIVEAUX DE VOL

5.3.2

Séparation des

ux en altitude

Une fois les vols agrégés en ux, il faut allouer des niveaux de vol différents aux ux qui se croisent. Pour cela, on détecte les points de croisement des différentes routes et on dira qu’il y a un con it entre deux ux Fk et F` si leurs routes respectives rk et r` s’intersectent

(dans le plan horizontal). On notera conf lit2D(Fk, F`) la relation de con it ainsi définie.

La séparation en altitude de deux ux sécants s’exprime donc par la contrainte :

conf lit2D(Fk, F`) ⇒ FLk 6= FL`

Ce modèle engendre un graphe de contraintes (où un n÷ud représente un ux et une arête entre deux n÷uds représente un con it entre les ux correspondants) très dense, malgré le nombre de n÷uds limité. Il est possible de ne traiter que les plus gros ux ({Fk ∈ F , nk > nmin}) afin de réduire la taille du problème, mais malgré ce filtrage un

nombre trop faible de contraintes a pu être résolu avec une distance au RFL raisonnable.

5.3.3

Prise en compte de l’aspect temporel

Il est possible de réduire la densité du graphe de contraintes issu du modèle précédent en prenant en compte le temps d’occupation de chaque ux. En effet, un ux n’est pas occupé pendant la totalité de la journée considérée, et notamment les ux contenant peu de vols sont souvent occupés sur une très courte période. Le principe consiste alors à ne compter un con it que s’il y a une intersection dans le plan horizontal et que les périodes d’occupation des ux sécants se chevauchent.

Pour un vol i donné, on définit ωi sa période d’occupation du ux auquel il appartient

par : ωi = î τid, τia+ δmax ó où τd

i et τia sont les heures prévues de décollage et d’atterrissage respectivement. La période

d’occupation d’un ux Fk est alors l’union des périodes d’occupation des vols qu’il contient.

On note :

k =

[

i∈Fk

ωi

On impose alors une contrainte de séparation verticale entre deux ux s’il y a intersection dans le plan horizontal et intersection temporelle, c’est-à-dire :

conf lit2D(Fk, F`) ∧ Ωk∩ Ω` 6= ∅ ⇒ FLk 6= FL`

Ce raffinement du modèle précédent permet une réduction de la densité du graphe de contraintes. Cependant, la période d’occupation pour les plus gros ux couvre une grande partie de la journée. Si on ne considère que ceux-ci, on se retrouve alors quasiment dans la même configuration qu’avec le modèle précédent, la prise en compte de l’aspect temporel de cette manière n’ayant une in uence significative que pour les plus petits ux. D’autre part, on considère ici que le con it concerne la totalité de la route, alors qu’il est en réalité limité à une zone précise. La section suivante propose une approche plus efficace pour la prise en compte de l’aspect temporel de la détection de con it entre ux de vols.