r´esolution de conflits par r´egulation en vitesse et...

76
Master sciences de la mod´ elisation, de l’information et des syst` emes Sp´ ecialit´ e Suret´ e du logiciel et calcul `a haute performance ´ Etablissement : ´ Ecole nationale de l’aviation civile Laboratoire : Laboratoire d’optimisation globale (ENAC/DTI-SDER) Sujet du m´ emoire : esolution de conflits par r´ egulation en vitesse et ordonnancement evrier ` a juillet 2006 `a Toulouse Auteur : Pierre-Selim Huard [email protected] Maˆ ıtre de stage : Nicolas Durand [email protected] Directeur de recherche : Jean-Marc Alliot [email protected] esum´ e : Dans ce m´ emoire nous aborderons le probl` eme de r´ esolution de conflits du trafic a´ erien. Afin de r´ esoudre les conflits on modifiera l´ eg` erement les vitesses des avions. Les solutions pr´ esent´ ees dans ce m´ emoire s’ap- puyeront sur des techniques d’ordonnancement et de programmation par contraintes. Mots cl´ es : - R´ esolution de conflit - Ordonnancement - R´ egulation en vitesse - Programmation par contraintes - Trafic a´ erien - Optimisation combinatoire - FaCiLe

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Master sciences de la modelisation, de l’information et dessystemes

Specialite Surete du logiciel et calcul a haute performance

Etablissement : Ecole nationale de l’aviation civile

Laboratoire : Laboratoire d’optimisation globale (ENAC/DTI-SDER)

Sujet du memoire :

Resolution de conflits par regulationen vitesse et ordonnancement

Fevrier a juillet 2006 a Toulouse

Auteur : Pierre-Selim Huard [email protected]

Maıtre de stage : Nicolas Durand [email protected]

Directeur de recherche : Jean-Marc Alliot [email protected]

Resume :

Dans ce memoire nous aborderons le probleme de resolution de conflitsdu trafic aerien. Afin de resoudre les conflits on modifiera legerementles vitesses des avions. Les solutions presentees dans ce memoire s’ap-puyeront sur des techniques d’ordonnancement et de programmation parcontraintes.

Mots cles :

- Resolution de conflit - Ordonnancement- Regulation en vitesse - Programmation par contraintes- Trafic aerien - Optimisation combinatoire

- FaCiLe

Page 2: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 3: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Remerciements

Je remercie Jean-Marc Alliot qui m’accueilli dans son laboratoire et qui m’a doncpermi de survivre pendant ces 6 mois de stage grace a l’aide providenciel d’un genereuxdonateur : la SDER. Je remercie egalement Nicolas Durand pour ses precieux conseilsdans l’orientation de mon travail et aussi pour son aide sur les questions administrativesavec lesquelles j’ai toujours ete en difficulte.Je remercie Nicolas Barnier et Pascal Bris-

set, car c’est eux qui m’ont montre la voie. Ils ont commence par me montrer la vrainature de Caml, pour quelques annees plus tard pouvoir m’initier a la programmation parcontraintes. Merci.

Je remercie aussi Jean-Baptiste Goettland, l’expert1 en evitement de mur, et Charles-Edmont Bichot qui ont tente de m’apprendre l’art du Blast, malheureusement pour euxje crois que je ne serais jamais un grand artificier. Je ne peux pas non plus oublier Nico-las Archambault, un bandit notoire et Thomas Riviere, le cow-boy qui a eux deuxterrorisaient les eleves, mais pas trop.

N’oublions pas nos voisins du laboratoire d’economie avec qui nous refaisons le mondetous les midi. J’exprime ma gratitude aux membres du LOG et du LEEA que je n’ai pasencore remercier : Kevin Guittet qui aurait sans doute joue la coupe du monde si ilne s’etait pas fait mal a l’epaule ; Nicolas Gruyer qui n’est pas pret d’arreter de fumer ;Estelle Malavolti-Grimal qui esperons le trouvera la bonne technique pour verser lethe avant que je ne parte ; Nathalie Lenoir la globtrotteuse du groupe ; si votre machineest lente le matin c’est que Xavier Olive n’est pas loin ; et pour finir Cyril Allignol quiva peut-etre de decouvrir les soirees parisiennes2

Enfin je remercie mes camarades de promotion, et tout ceux qui ont du me supporterpendant ces dernieres annees, parce que c’est pas evident.

1On a coutume de pretendre que le cordonnier est souvent le plus mal chausse.2Mais on aimerait tous vivre des soirees belles a Sienne.

3

Page 4: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 5: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Table des matieres

Remerciements 3

Introduction 9

1 Ordonnancement en programmation par contraintes 11

1 Programmation par contraintes 131.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.1 Probleme de satisfaction de contraintes . . . . . . . . . . . . . . . . 14

1.2.2 Consistance d’un CSP . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3.1 Recherche systematique . . . . . . . . . . . . . . . . . . . . . . . . 151.3.2 Consistances locales . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4 Programmation par contraintes . . . . . . . . . . . . . . . . . . . . . . . . 181.4.1 Propagation des contraintes . . . . . . . . . . . . . . . . . . . . . . 181.4.2 Heuristiques d’instanciation . . . . . . . . . . . . . . . . . . . . . . 191.4.3 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.4 Les domaines continus . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Ordonnancement 21

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.1 Taches non-interruptibles . . . . . . . . . . . . . . . . . . . . . . . 222.2.2 Relations temporelles . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.3 Les ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3 Ordonnancement disjonctif . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.1 L’Edge-finding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.2 Not-first, not-last . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5

Page 6: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

6 TABLE DES MATIERES

2.3.3 La resolution de problemes disjonctifs . . . . . . . . . . . . . . . . . 27

2 Regulation en vitesse 29

3 Contexte du trafic aerien 313.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2 Gestion du trafic aerien (ATM) . . . . . . . . . . . . . . . . . . . . . . . . 323.3 Complexite du probleme de resolution de conflit . . . . . . . . . . . . . . . 333.4 Resolution automatique de conflit . . . . . . . . . . . . . . . . . . . . . . . 34

3.4.1 Approche centralisee, ou autonome . . . . . . . . . . . . . . . . . . 343.4.2 Quelques approches theoriques . . . . . . . . . . . . . . . . . . . . . 35

4 Resolution de conflits 374.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.1 Criteres d’optimalite . . . . . . . . . . . . . . . . . . . . . . . . . . 374.1.2 Les manoeuvres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Route directe simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.1 Detection de conflits . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.2 Resolution par PPC . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Resolution par ordonnancement . . . . . . . . . . . . . . . . . . . . 434.2.4 Resultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.3 Route directe avec changements de vitesse . . . . . . . . . . . . . . . . . . 464.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3.2 Modelisation du probleme . . . . . . . . . . . . . . . . . . . . . . . 474.3.3 Contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.4 Route standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4.1 Detection de conflits . . . . . . . . . . . . . . . . . . . . . . . . . . 484.4.2 Resolution par ordonnancement . . . . . . . . . . . . . . . . . . . . 48

5 Anticipation 515.1 Influence de la fenetre d’anticipation sur la qualite de la solution . . . . . . 515.2 Incidence entre les trajectoires . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 Taille du probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3 Optimisation 55

6 Differents criteres d’optimisation 576.1 Les criteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.2 Les resultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Page 7: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

TABLE DES MATIERES 7

7 Utilisation d’un algorithme glouton 637.1 L’algorithme glouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637.2 Ordronnancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.2.1 Parcours exhaustif . . . . . . . . . . . . . . . . . . . . . . . . . . . 647.2.2 Utilisation d’heuristiques . . . . . . . . . . . . . . . . . . . . . . . . 657.2.3 Comparaison entre heuristiques et parcours exhaustif . . . . . . . . 657.2.4 Parcours en temps borne . . . . . . . . . . . . . . . . . . . . . . . . 66

Conclusion 67

Annexes 71

A Glossaire 71A.1 Unites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71A.2 Aeronautique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71A.3 Informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

B Liste des defintions 73

Page 8: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 9: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Introduction

Les services du controle de la navigation aerienne font face depuis plus de quarante ansa une augmentation du trafic aerien. Parallelement les avions sont equipes de moyens denavigation de plus en plus performants (FMS, GPS), permettant aux avions de tenir defacon de plus en plus precise des trajectoires. Par contre le controle aerien a lui peu evoluedepuis trente ans.

Pour ameliorer la capacite du controle aerien, on a essentiellement revu le decoupagede l’espace aerien en secteur de taille plus petite. Ces redecoupages ont permis jusqu’amaintenant d’augmenter la quantite de trafic controlee. Mais on ne pourra pas reduireindefiniment la taille des secteurs, en effet plus on reduit la taille des secteurs plus lescontroleurs passent de temps a coordonner3 les avions d’un secteur a un autre.

L’une des methodes envisagees pour aider le controleur est d’effectuer une sorte depre-controle ou la machine changerait legerement les vitesses des avions afin de rendre le« trafic chanceux » pour le controleur. Ainsi le controleur aurait moins de conflits a gerer,et pourrait donc gerer plus d’avions a la fois.

Pour assister les controleurs, differentes approches sont a l’etude concernant la resolu-tion automatique de conflit en utilisant des algorithmes genetiques (methode stœchastique),des reseaux de neurones, ou encore des approches s’appuyant sur la programmation parcontraintes. Les methodes stochastiques s’adaptent bien aux problemes de grandes tailles,mais elles ne garantissent pas l’optimalite des solutions, tandis que la programmation parcontraintes garantit l’optimalite des solutions.

Ici nous proposerons des methodes pour effectuer des resolutions de conflits a l’aide deregulations en vitesse et de programmation par contraintes. Dans ce memoire on montreral’importance de l’ordre des avions lors de regulations en vitesse ce qui nous conduira adonner des methodes s’appuyant sur l’ordonnancement des avions.

3Chaque controleur previent le controleur du secteur suivant de l’arrivee d’un avion dans son secteur.

9

Page 10: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 11: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Premiere partie

Ordonnancement en programmation par

contraintes

11

Page 12: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 13: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 1Programmation par contraintes

Constraint programming represents one ofthe closest approaches computer science has

yet made to the Holy Grail of programming :the user states the problem, the computer

solves it.E. Freuder, Constraints, vol. 2 n1

.

1.1 Introduction

La programmation par contraintes est un paradigme apparu a la fin des annees 70,au debut des annees 80. Il allie l’efficacite des methodes de recherche operationnelle et lagenericite des algorithmes d’intelligence artificielle.

La programmation par contraintes est utilisee dans de nombreux domaines tels que laresolution de problemes d’optimisation fortement combinatoires, les problemes d’ordon-nancement, d’allocation de ressource ou encore a la resolution de conflit dans le domainedu trafic aerien [Barnier 02, Feydy 05a, Feydy 05b]. La resolution d’un probleme en util-isant les methodes de programmation par contraintes se fait en deux etapes. On commencepar modeliser le probleme, c’est-a-dire que l’on definit l’espace d’etat de nos solutions(domaines et contraintes). Ensuite on passe a l’etape de resolution avec ou sans critered’optimisation.

L’une des cles de la programmation par contraintes est que les contraintes peuventetre utilisees de facon active pour reduire la taille de l’espace de recherche : on parle depropagation des contraintes.

Dans ce chapitre on commencera par definir les Problemes de Satisfaction de Con-traintes (ou CSP), on parlera ensuite des methodes de resolution des CSP, et on finira parpresenter la programmation par contraintes.

13

Page 14: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

14 CHAPITRE 1. PROGRAMMATION PAR CONTRAINTES

1.2 Definitions

1.2.1 Probleme de satisfaction de contraintes

La resolution d’un Probleme de Satisfaction de Contraintes (ou CSP) se fait en at-tribuant aux variables du probleme une valeur satisfaisant toutes les contraintes. On parled’etiquetage (ou labeling).

Definition 1 (Domaine fini) On appelle domaine d’une variable x, l’ensemble de cardi-nal fini Dx des valeurs possibles de x.

Definition 2 (Contrainte binaire en extension) Soit x, y des variables de domaineDx et Dy. Soit R ⊂ Dx × Dy. Une contrainte binaire c = (x, y,R) est definie par les 2variables sur laquelle elle porte et par la relation R, specifiee en extension par l’ensembledes valeurs que peuvent prendre simultanement x et y.

L’expression de contraintes en extension est peu expressive et impossible a utiliser surdes domaines continus : il est impossible d’ecrire sur un support fini tous les elements d’unensemble de cardinal infini. C’est pourquoi on utilise egalement des contraintes en intensiondefinies a l’aide d’une formule mathematique ou logique.

Exemple 1 Soit x, y dans N. Soit la contrainte :

c = (x, y, (0, 0), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2), (3, 0), (3, 1),

(3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4))

On peut definir c en intension comme la contrainte :

(y ≤ x) ∧ (x ≤ 4)

Ce qui represente le domaine Dx ×Dy de la Fig. 1.1.

Definition 3 (CSP sur les domaines finis avec contraintes binaires) Un CSP estdefini par un triplet P = (X ,D, C) ou X est un ensemble de variable, D est l’ensemble desdomaines associes aux variables de X et C un ensemble de contraintes binaire portant surles variables de X

1.2.2 Consistance d’un CSP

Definition 4 (Instanciation partielle) Soit un CSP P = (X ,D, C). Une instanciationpartielle I de P est defini par un couple I = (XI ,V) ou XI est l’ensemble des variablesinstanciees (⊂ X ) et V les valeurs prises par les variables instanciees.

Definition 5 (Instanciation totale) Soit un CSP P = (X ,D, C). Une instanciationtotale est une instanciation partielle I = (XI ,V) telle que XI = X

Page 15: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

1.3. RESOLUTION 15

Fig. 1.1 – Le domaine defini par Dx ×Dy

Notons fc la fonction de satisfaction de la contrainte c = (x, y,R). On note I(x) lavaleur de la variable x dans l’instanciation I

fc(I) =

V rai si (I(x), I(y)) ∈ RFaux sinon

Definition 6 (Satisfaction) On dit que I satisfait la contrainte c si et seulement sifc(I) = V rai. On notera I |= c

Remarque 1 On dit que mathcalI viole la contrainte c si fc(I) = Faux.

Definition 7 (Support) Soit x et y deux variables de domaines Dx et Dy. On dit quexi ∈ Dx a un support dans Dy si pour toutes contraintes c liant x et y, il existe une valeuryk ∈ Dy telle que xi et yk ne viole pas la contrainte c.

Definition 8 (Instanciation consistante) Une instanciation I = (XI ,V) est consis-tante1 si et seulement si

∀c ∈ C telle que x, y ∈ XI , I |= c ou c = (x, y,R)

1.3 Resolution

1.3.1 Recherche systematique

Generer et tester

La resolution de CSP peut se faire a l’aide de plusieurs methodes [Kumar 92] commegenerer-et-tester (GT). Dans ce cas on va generer toutes les instanciations totales possibles

1On trouve aussi dans la litterature le terme de coherence pour parler de la consistance

Page 16: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

16 CHAPITRE 1. PROGRAMMATION PAR CONTRAINTES

et verifier lesquelles satisfont les contraintes (i.e. lesquelles sont consistantes). Mais ce typede methode n’utilise pas la connaissance des contraintes pour generer les solutions, onetudie donc un nombre tres important de cas (

x∈X card(Dx))

Exemple 2 Soient les variables entieres x, y ∈ 1, 2, . . . , 100 et les contraintes suivantesx ≤ y−1 et y ≤ 2. En faisant un « generer et tester » on etudierait les 10000 cas possiblespour s’apercevoir que seulement 1 cas x = 1 et y = 2 alors qu’en appliquant la deuxiemecontrainte on s’apercoit directement que y ∈ 1, 2 ; si on choisit y = 1 alors on ne peutpas trouver d’instanciation consistante pour x donc la solution est x = 1 et y = 2. Enutilisant les contraintes dans notre recherche on a tres fortement reduit le nombre de casetudies (2 cas contre 10000).

Retour arriere

La methode par retour arriere (BT) est plus efficace que la methode « generer et tester »

pour resoudre des CSP. On instancie les variables sequenciellement. Une fois que toutesles variables liees par une contrainte ont ete instanciees on peut verifier si la contrainte estsatisfaite. Et si une instanciation partielle viole (ne satisfait pas) une contrainte, alors oneffectue un retour arriere : on remet en question le dernier choix effectuer, i.e. on essayeune nouvelle valeur pour la derniere variable instanciee (voir Fig. 1.2). Mais cette methodebien que meilleure que « generer et tester », souffre de mauvaise performance (complexiteexponentielle). Le principal phenomene est le thrashing : repeter plusieurs fois le memeechecs dans differentes parties de l’arbre.

! !! !

" "" "# ## #

$ $$ $% %% %

&&''(())

échec

point de choix

retour arrière

x ∈ V rai, Faux y ∈ 1, 2, 3 z ∈ 1, 2, 3

x = Fauxx = V rai

z = 2z = 1 z = 3

y = 1 y = 2 y = 3

Fig. 1.2 – Developpement d’un arbre de recherche

Page 17: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

1.3. RESOLUTION 17

1.3.2 Consistances locales

A chaque point de choix du retour arriere pour eviter le phenomene de thrashing, on peutassurer certaines formes de consistances locales. Il existe differentes sortes de consistanceslocales, certaines etant plus faibles que d’autres (certaines consistances permettent de fairemoins de deduction que d’autres). Generalement les consistances les plus fortes sont les pluscouteuses a assurer. C’est pourquoi on utilise differentes consistances selon les problemeset les contraintes utilisees.

Definition 9 (Arc-consistance) Un arc oriente (x, y) du graphe associe a un CSP P =(X ,D, C), correspondant a une contrainte c = (x, y,R) ∈ C, est arc-consistant si et seule-ment si toutes les valeurs du domaine de x ont un support dans le domaine de y.

L’algorithme Revise (Algorithme 1) permet de s’assurer de la consistance d’un arc.

Algorithme 1 Revise (arc: (x,y))

change← Fauxpour tout vx ∈ Dx faire

si il n’existe pas de vy ∈ Dy telle que (vx, vy) ∈ R(x,y) alors

Dx ← Dx\vxchange← V rai

fin si

fin pour

renvoyer change

Les problemes de trashing dues a des contraintes unaires se resolvent en retirant lesvaleurs ne satisfaisant pas la contrainte du domaine de la variable.

Definition 10 (Arc-consistance d’un CSP binaire) Soit un CSP P = (X ,D, C). Pest arc-consistant si et seulement si pour tout c = (x, y,R) ∈ C, les arcs (x, y) et (y, x)sont arc-consistants.

Remarque 2 Attention, l’arc-consistance est une notion locale, alors que la consistanceest une notion globale. Une instanciation arc-consistante n’est pas obligatoirement consis-tante (c’est une condition necessaire).

Exemple 3 (CSP arc-consistant mais non consistant) Soit x, y, z ∈ 0, 1 et lacontraintes x 6= y ∧ y 6= z ∧ z 6= x. Ce CSP est arc-consistant, mais n’est pas consis-tant.

Assurer l’arc-consistance d’un CSP peut s’averer couteux. En effet a chaque fois que l’onmodifie un arc, il faut revoir tous les arcs suceptibles d’etre affectes par cette modification ;on utilise pour cela des algorithmes comme AC3 (Algorithme 2) ou d’autres variantes.

Page 18: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

18 CHAPITRE 1. PROGRAMMATION PAR CONTRAINTES

Algorithme 2 AC3 (CSP: (X ,D, C))

Q ←⋃

(x,y,R)∈C(x, y), (y, x)

tant que Q 6= ∅ faire

(x, y) ∈ QQ ← Q\(x, y)si REV ISE(x, y) alors

Q ← Q⋃

(z, x), ∃c = (x, z,R), z 6= yfin si

fin tant que

Remarque 3 Soit m le nombre de contraintes, soit dmax la borne superieure des cardinauxdes domaines des variables, soit T la complexite temporelle de l’algorithme AC3. AlorsT ∈ O(md3

max) [Kumar 92].

Remarque 4 La complexite temporelle optimale des algorithmes de maintients d’arc-con-sistance est en O(md2

max). La complexite spatiale optimale est elle en O(mdmax) [Kumar 92].

Definition 11 (Arc-B-Consistance) (Ou encore Bound-Consistency) Soit un CSP P =(X ,D, C). P, soit c = (x, y,R) ∈ C une contrainte binaire, l’arc (x, y) est arc-B-consistantsi et seulement si les bornes du domaine de x ont un support dans le domaine de y quisatisfait c.

L’arc-B-consistance est moins couteuse a assurer que l’arc-consistance. C’est souvent lebon compromis pour la propagation des contraintes arithmetiques.

1.4 Programmation par contraintes

1.4.1 Propagation des contraintes

Pour resoudre un CSP on peut utiliser les techniques systematiques de recherche desolution, ou encore utiliser les techniques s’appuyant sur la consistance des contraintes[Bartak 99]. Mais generalement on utilise plutot une combinaison des deux approches.

Un solveur de CSP, agira de la facon suivante :

1. definitions des variables, et affectation de leurs domaines ;

2. definitions des contraintes ;

3. verification de la consistance de chaque contrainte et reduction de domaines si necessaire(on parle aussi de propagation de contrainte) ;

4. si cette contrainte est satisfaite pour toute instanciation alors on l’enleve, si elle peutetre satisfaite alors on la suspend, sinon elle echoue et le probleme n’a pas de solution ;

5. on instancie une variable, et on reveille toutes les contraintes qui lui sont associees,on reduit les domaines, si on ne trouve pas d’inconsistance on recommence, sinon oneffectue un retour arriere.

Page 19: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

1.4. PROGRAMMATION PAR CONTRAINTES 19

1.4.2 Heuristiques d’instanciation

Le choix de l’ordre des variables a instancier peut s’averer tres important. Generalement,on prefere commencer par les variables qui ont le plus de chance de renvoyer un echec, pourechouer au debut de l’arbre de recherche, on parle de first-fail.

Il est courant d’instancier en premier les variables les plus contraintes, on espere alorsfaire de plus importantes reductions de domaines. Une autre heuristique que l’on utilisefrequemment est d’instancier la variable de plus petit domaine, ce qui doit permettre dedetecter plus tot les inconsistances.

1.4.3 Optimisation

Dans la majorite des cas, on ne cherche pas simplement a obtenir une solution auprobleme pose, mais plutot une bonne solution. On mesure la qualite de chaque solutiona l’aide d’un critere (appele cout). Le but alors est de trouver une solution qui satisfassele probleme tout en minimisant (ou maximisant) le cout de la solution. Pour cela onutilise generalement un algorithme de type « Branch and Bound ». A chaque instanciationpartielle on evalue la solution partielle et on verifie que la meilleure solution que l’on pourragenerer a partir de cette instanciation partielle est meilleure que des solutions trouveesprecedemment.

1.4.4 Les domaines continus

Dans [Feydy 05a], on trouve une methode pour etendre FaCiLe (la librairies de program-mation par contraintes) aux domaines continus. Cette methode s’appuye sur l’arithmetiquedes intervalles, chaque nombre flottant est represente par un intervalle ce qui permet des’assurer que les reductions inferees incluent toujours toutes les solutions.

Nous utiliserons cette extension dans le chapitre 4 pour ecrire les contraintes qui portentsur des valeurs reelles (ou flottantes).

Page 20: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 21: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 2Ordonnancement

2.1 Introduction

L’ordonnancement est defini comme l’organisation dans le temps de certaines tachescompte tenu de contraintes temporelles (delais, precedences) et de contraintes portant sur ladisponibilites des ressources requises [Baptiste 01][Bartak 03]. On considerera un ensemblede taches (ou activites) A1, . . . , An et un ensemble de ressources R1, . . . , Rm. Chaqueactivite s’execute en un certains temps et utilise certaines ressources, et chaque ressource aune certaine capacite qui ne doit pas etre depassee. On appelle machine les ressources dontla capacite est 1. De plus il peut y avoir des contraintes entre plusieurs activites (laquelles’executera en premier, etc.), et on ajoute souvent un critere d’optimisation tel que :

– Finir la derniere tache au plus tot (Makespan)– Minimiser le retard maximum– Minimiser la somme des retard

Exemple 4 (Emploi du temps) Realiser un emploi du temps revient a organiser lescours d’une promotion avec un certains nombres de professeurs et un nombre de salleslimites. On devra de plus faire attention a programmer les cours dans un ordre coherent.

On fait souvent la distinction entre les problemes d’ordonnancement disjonctif ou deuxtaches ne peuvent pas etre executees en meme temps et les problemes d’ordonnancementconjonctif. Dans le cas de l’ordonnacement disjonctif, les ressources sont des machines.

On parle de problemes d’ordonnacement preemptif si les activites sont interruptibles.Dans la suite de ce document lorsqu’on parlera d’ordonnancement sans preciser c’est qu’onparlera d’ordonancement non-preemptif.

Dans ce chapitre on presentera les problemes d’ordonnancement comme des problemesde statisfaction de contraintes[Fromherz 01].

21

Page 22: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

22 CHAPITRE 2. ORDONNANCEMENT

2.2 Modelisation

2.2.1 Taches non-interruptibles

Pour chaque tache (ou activite) Ai d’un probleme d’ordonnancement on definit troisvariables :

– start(Ai) : date de debut de la tache Ai,– end(Ai) : date de fin de la tache Ai,– proc(Ai) : temps d’execution de la tache Ai.

Les activites etant non-interruptibles le temps d’execution est egal a la difference entrela date de fin de l’activite et la date de debut de l’activite : proc(Ai) = end(Ai)−start(Ai)

Notons ri la date de debut au plus tot de l’activite Ai et di sa date de fin au plus tard.[ri, di] est la fenetre temporelle dans laquelle doit s’executer Ai.

De meme, notons eeti la date de fin au plus tot de l’activite Ai et lsti sa date de debutau plus tard. Nous avons donc en terme de contraintes :

proc(Ai) = end(Ai)− start(Ai) (2.1)

ri ≤ start(Ai) ≤ lsti (2.2)

eeti ≤ end(Ai) ≤ di (2.3)

2.2.2 Relations temporelles

Des relations de precedences entre les taches peuvent etre defini de facon simple pardes contraintes lineaires. On exprimera que Aj commence apres la fin de Ai de la faconsuivante : end(Ai) ≤ start(Aj). On utilise l’arc-B-consistance (voir definition 11) pourpropager ce type de contraintes ; intuitivement ce type de contraintes n’agit que sur lesbornes des domaines, l’arc-B-consitance est suffisante.

2.2.3 Les ressources

Les ressources representent les moyens techniques (salles, outils, etc.) ou humains per-mettant la realisation d’une tache. On notera cap(R) la capacite de la ressource R, etcap(Ai, R) la quantite de ressources R dont Ai a besoin pour s’executer.

Dans le cas des activites non-interruptibles a tout instant t on ne peut pas utiliser plusde ressources pour exectuer des activites que la quantite de ressources disponible :

Ai:start(Ai)≤t≤end(Ai)

cap(Ai, R) ≤ cap(R) (2.4)

Definition 12 (Machine) Une machine est une ressource de capacite unaire, c’est-a-direque cap(R) = 1.

Page 23: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

2.3. ORDONNANCEMENT DISJONCTIF 23

2.3 Ordonnancement disjonctif

Si deux activites necessites la meme machine pour s’executer alors leur execution nepourra pas se faire en parallele, et l’une des deux taches s’executera apres l’autre. On parled’ordonnancement disjonctif. On peut generaliser a n taches, on aura alors n·(n−1)

2couples

de taches disjointes. Pour deux taches Ai et Aj disjointes on a :

end(Ai) ≤ start(Aj) ∨ end(Aj) ≤ start(Ai) (2.5)

2.3.1 L’Edge-finding

L’Edge-finding sert a propager les contraintes de capacites. Il permet de reduire la taillede l’espace de recherche en cherchant si une tache peut s’executer en premier ou non dansun ensemble de taches (respectivement en dernier ou non).

Soit Ω un ensemble d’activites. On note Ai Aj (Ai Aj) la tache Ai s’execute avant(apres) la tache Aj . De meme Ai Ω (Ai Ω) signifie que Ai s’execute avant (apres)toutes les activites Ω.

Si la duree entre le debut au plus tot de Ω et la fin au plus tard de Ω∪Ai est inferieureau temps d’execution de Ω ∪ Ai, alors Ai s’execute avant Ω.

Si la duree entre le debut au plus tot de Ω∪Ai et la fin au plus tard de Ω est inferieureau temps d’execution de Ω ∪ Ai, alors Ai s’execute apres Ω.

On ∀Ω, ∀Ai 6∈ Ω :

dΩ∪Ai − rΩ < pΩ + pi ⇒ Ai Ω (2.6)

dΩ − rΩ∪Ai < pΩ + pi ⇒ Ai Ω (2.7)

ce qui permet de propager ∀Ω, ∀Ai 6∈ Ω :

Ai Ω⇒ end(Ai) ≤ min∅6=Ω′⊆Ω(dΩ′ − pΩ′) (2.8)

Ai Ω⇒ start(Ai) ≥ max∅6=Ω′⊆Ω(rΩ′ + pΩ′) (2.9)

Remarque 5 L’algorithme d’Edge-Finding effectue des deductions differentes que les con-traintes standards de disjonction. Chacune des deux methodes reussissant des deductionsdifferentes de l’autre, on peut les utiliser sur un meme probleme.

Proposition 1 Soit T (n) la complexite temporelle l’algorithme d’Edge-Finding (algorithme3), alors T (n) ∈ O(n2)

Page 24: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

24 CHAPITRE 2. ORDONNANCEMENT

Algorithme 3 Edge-Finding

pour i = 1 a n faire

r′i := ri

fin pour

pour k = 1 a n faire

P := 0C := −∞H := −∞pour i = n a 1 faire

si di ≤ dk alors

P := P + pi

C := max(C, ri + P )si C > dk alors

Pas d’ordonnancement possible, exitfin si

fin si

Ci := Cfin pour

pour i = 1 a n faire

si di ≤ dk alors

H := max(H, ri + P )P := P − pi

sinon

si ri + P + pi > dk alors

r′i := max(r′i, Ci)fin si

si H + pi > dk alors

r′i := max(r′i, C)fin si

fin si

fin pour

fin pour

pour i = 1 a n faire

ri := r′ifin pour

Page 25: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

2.3. ORDONNANCEMENT DISJONCTIF 25

2.3.2 Not-first, not-last

L’algorithme Not-first, not-last consiste a determiner si une tache Ai ne peut pas s’exe-cuter en premier (ou en dernier) dans un ensemble de taches Ω∪Ai. Si il ne le peut pas ondit qu’il est Not-first (respectivement Not-last) ce que l’on note ¬(Ai Ω) (respectivement¬(Ai Ω)).

Si la duree entre le debut au plus tot de Ai et la fin au plus tard de la derniere tachede Ω est inferieure au temps d’execution de Ai et Ω, alors Ai ne peut pas s’executer enpremier dans Ω ∪ Ai.

Si la duree entre le debut au plus tot des taches de Ω et la fin au plus tard de la tacheAi est inferieure au temps d’execution de Ai et Ω, alors Ai ne peut pas s’executer apres Ω.

On a donc ∀Ω, ∀Ai 6∈ Ω :

dΩ − ri < pΩ + pi ⇒ ¬(Ai Ω) (2.10)

di − rΩ < pΩ + pi ⇒ ¬(Ai Ω) (2.11)

Et on propage ∀Ω, ∀Ai 6∈ Ω :

¬(Ai Ω)⇒ start(Ai) ≥ minA∈Ω(eetA) (2.12)

¬(Ai Ω)⇒ end(Ai) ≤ maxA∈Ω(lstA) (2.13)

Exemple 5 Soit trois taches A1, A2, A3 disjointes.

– A1 de duree 3, commencant au plus tot a 0 et finissant au plus tard a 7.– A2 de duree 2, commencant au plus tot a 0 et finissant au plus tard a 4.– A3 de duree 2, commencant au plus tot a 0 et finissant au plus tard a 5.

0 1 2 3 4 5 6 7

Fig. 2.1 – Propagation de la regle Not-first

La regle Not-first, nous permet de deduire que l’activites A1 ne peut pas s’exectuer enpremiere. On en deduit donc que A1 ne peut pas commencer avant t = 2. La regle Not-Lastpermettrait de meme de deduire que A3 ne peut pas s’excuter en derniere et donc que A3

doit finir au plus tard a t = 4.

Page 26: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

26 CHAPITRE 2. ORDONNANCEMENT

Pour la mise en oeuvre de cette algorithme on suppose que les (Ai)i=1...n sont triees parordre croissant de deadline (fin au plus tard), c’est a dire que si i ≤ j alors di ≤ dj. Le trise fait en O(n log n).

On pose Ω(j, k) l’ensemble d’indice m ∈ 1, . . . , k tel que rj + pj ≤ rm + pm. Ondefinit :

Si,j =

pΩ(j,k) si j ≤ k−∞ sinon

(2.14)

∆j,k = minl≤k(dl − Sj,l) (2.15)

Algorithme 4 Not-first

pour i = 1 a n faire

r′i := ri

fin pour

pour j = 1 a n faire

Calcule (∆j,k)k∈[1,n]

pour i = 1 a n faire

si ri + pi < rj + pj alors

si ri + pi > ∆j,n alors

r′i := max(r′i, rj + pj)fin si

sinon si ri + pi > ∆j,i−1 or ri > ∆j,n alors

r′i := max(r′i, rj + pj)fin si

fin pour

fin pour

pour i = 1 to n faire

ri := r′ifin pour

Proposition 2 La complexite temporelle T (n) de cet l’algorithme Not-first appartient aO(n2)

Preuve. Il suffit de demontrer que le temps de calcul de (∆j,1, . . . , ∆j,n) est en O(n).Le calcul des Sj,k et ∆j,k se fait en temps constant a partir des valeurs de Sj,k−1 et ∆j,k−1.Ensuite il reste a verifier que rj + pj ≤ rk + pk.

Remarque 6 On peut trouver des algorithmes d’Edge-Finding, et Not-first / Not-last avecdes complexite en O(n log n) [Vilim 05]

Page 27: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

2.3. ORDONNANCEMENT DISJONCTIF 27

2.3.3 La resolution de problemes disjonctifs

Le principe du ranking est d’ordonner les taches d’une machine et d’en deduire desreductions de domaine a l’aide de contraintes de precedences. Un schema classique deresolution est :

1. Selectionner une machine dans la liste des machines ou les taches ne sont pas comple-tement ordonnees.

2. Selectionner une tache a executer en premier parmi les taches non ordonnees, ajouterla contrainte de precedence correspondante ; on garde les autres taches comme desalternatives pour le retour-arriere.

3. Iterer l’etape 2 jusqu’a ce que toutes les activites de la machine choisies soit or-donnees.

4. Iterer les etapes 1 a 3 jusqu’a ce que toutes les activites de toutes les machines soientordonnees.

Dans beaucoup de probleme d’ordonnacement, certaines ressources sont plus chargeesque d’autres, on dit qu’elles sont plus critiques. Il est important de commencer par resoudrele probleme pour les ressources les plus critiques. On pourra choisir cette heuristique commeheuristique de ranking.

Page 28: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 29: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Deuxieme partie

Regulation en vitesse

29

Page 30: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 31: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 3Contexte du trafic aerien

Le but premier du controle du trafic aerienest d’assurer la securite du trafic et doncd’eviter les abordages entre les aeronefs

operant dans le systeme, puis d’optimiser lesflux de trafic.

3.1 Introduction

Le but principale du controle du trafic aerien (ATC) est d’assurer la separation entre lesaeronefs afin d’eviter les abordages en l’air ou au sol1. Dans un deuxieme temps le controledu trafic aerien doit gerer efficacement le trafic afin de limiter la congestion et les retards.

Le role du controleur est de guider les avions de facon a assurer la securite des vols enmaintenant une separation reglementaire entre chaque aeronefs. Deux avions sont en conflitlorsque la separation n’est plus respectee. On parle de conflit potentiel si les trajectoiresdes avions permettent une perte de separation. Pour l’aider dans son travail le controleurutilise un ecran radar (voir Fig. 3.1) qui lui indique les positions des avions ainsi queles informations principales du vol (altitude, vitesse, indicatif avion) En cas de perte deseparation, il existe des filets de sauvegardes au sol (STCA) et a bord (ACAS/TCAS, etGPWS).

Afin de resoudre les conflits eventuels le controleur donne des clairances aux pilotes.Les clairances ne sont pas des ordres, il s’agit d’instructions et d’autorisations de circulerdans certaines conditions. Si le pilote les respecte, il est sur que la securite de son vol estassuree (en terme de trafic, cela n’empeche pas les pannes).

On distingue trois differentes categories de controle :

1L’abordage de deux 747 sur l’aeroport de Teneriffe restant le deuxieme plus gros drame del’aeronautique apres les attentats du 11 septembre 2001.

31

Page 32: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

32 CHAPITRE 3. CONTEXTE DU TRAFIC AERIEN

Fig. 3.1 – Image radar

1. Le controle au sol (TWR pour Tower ou Tour de controle) gere le controledes mouvements sur l’aeroport.

2. Le controle d’approche (APP) s’occupe essentiellement du sequencement desavions pour l’atterissage. L’approche gere aussi les avions apres leurs decollages quise fait generalement en suivant des circuits standards.

3. Le controle en-route (ACC pour Air Traffic Control Center) concerne lereste du trafic.

3.2 Gestion du trafic aerien (ATM)

Avec une croissance annuelle de 5 % depuis plus de 20 ans, certaines zones de traficde l’Europe de l’ouest ou de l’Amerique du nord sont saturees. Aujourd’hui il y a chaquejour environ 26000 vols sur l’espace aerien europeen, ce qui represente un retard cumuled’environ 30000 minutes ; l’objectif d’Eurocontrol etant d’atteindre un retard de moinsd’une minute par vol [Pozzi 03].

La gestion du trafic aerien ou l’ATM regroupe la partie controle (ATC) et la partiegestion des flux (ATFM).

La gestion des flux de trafic se fait a different niveau :– A long terme (au plus 6 mois), il s’agit d’organiser les routes en fonction des flux de

trafic que l’on prevoit. On s’occupe entre autre de la gestion des accords entre traficcivil et trafic militaire (on parle de FUA pour Flexible Use of Airspace2).

– La pre-regulation consiste a organiser une journee de trafic a 48h, 24h ou le jour jen fonction du trafic des jours precedants, et des plans de vol deposes, la majoritedes plans de vol est alors connue (beaucoup de compagnie depose leurs plans devol de facon systematique tous les 6 mois). En Europe c’est le role de la CFMU a

2Certaines zones militaires sont ouvertes au trafic civil lorsqu’elles ne sont pas reservees par les militaires.

Page 33: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

3.3. COMPLEXITE DU PROBLEME DE RESOLUTION DE CONFLIT 33

Bruxelle. On effectue des ajustements le jour meme en fonction des conditions meteo,des crenaux non utilises, etc. .

– Le niveau tactique qui fait intervenir les controleurs (ATCo) est gere par secteur. Laduree moyenne de traversee d’un secteur est de l’ordre de 15 minutes. Les controleurssont prevenues quelques minutes a l’avance de l’arrivee d’un avion dans leur secteurpar, entre autre, la creation d’un STRIP3(sur certains secteur la coordination n’estpas automatique, elle se fait alors par telephone).

– Le niveau d’urgence qui n’intervient qu’en cas de dysfonctionnement du systemede controle. Au sol, on parle de filet de sauvegarde (STCA) ; ce dernier permet dedetecter les conflits proches, en calculant la trajectoire futur des avions. Par contre lefilet de sauvegarde ne donne pas de solution au controleur. A bord, le TCAS permetde resoudre les conflits a 2 avions en donnant une resolution dans le plan vertical.

3.3 Complexite du probleme de resolution de conflit

De nos jours, beaucoup de systemes a bord des avions sont automatises, par contre, lecontrole du trafic aerien reste fait par des humains. Ceci est du en partie a la difficulte demodeliser le trafic en particulier les incertitudes, et a la difficulte de resolution du problemequi est fortement combinatoire et qui fait d’ailleurs tres certainement parti de la classe deprobleme NP-difficile.

**++, , , ,, , , ,, , , ,, , , ,- - - -- - - -- - - -- - - -1000ft

5Nm

Fig. 3.2 – Separations verticale et horizontale

On dit que deux avions sont en conflit si leur separation horizontale est inferieure a5Nm et si leur separation verticale est inferieure a 1000ft (voir Fig. 3.2).

3Le STRIP est une bandelette de papier avec les indicatifs de l’aeronefs, et son plan de vol (liste desbalises a passer).

Page 34: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

34 CHAPITRE 3. CONTEXTE DU TRAFIC AERIEN

Definition 13 (Conflit potentiel) Pour une fenetre temporelle de prevision de trajec-toire donnee, on appelle conflit potentiel entre deux avions tout conflit detecte pendant laduree de la prevision et ce, en tenant compte des incertitudes sur les trajectoires.

Soit R la relation « est en conflit potentiel avec ». On appelle cluster la fermeturetransitive de cette relation, c’est-a-dire que si AR B et B R C, alors A, B et C seront dansle meme cluster. La notion de cluster (voir Fig. 3.3), definit une notion de sous problemea resoudre. Pour resoudre un probleme il suffit de le resoudre pour chaque cluster.

Avion A

Avion B

Avion C

Avion D

parties des trajectoires en conflit

Cluster (A,B,C)

Avion isolé D

Fig. 3.3 – Exemple de cluster

Dans un cluster de n avions on compte jusqu’a n(n−1)2

conflits. On peut montrer que

l’ensemble des solutions dans le plan horizontal contient 2n(n−1)

2 composantes connexes[Durand 96], ce qui veut dire que si l’on utilise des methodes locales il faut autant d’executionsque de composantes connexes.

3.4 Resolution automatique de conflit

3.4.1 Approche centralisee, ou autonome

On peut resoudre les conflits de facon centralisee, ou comme le controleur humain nousavons une vision globale des avions dans une certaine zone, ou de facon autonome, dans ce

Page 35: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

3.4. RESOLUTION AUTOMATIQUE DE CONFLIT 35

cas c’est chaque avion qui a une vision restreinte a son voisinage qui va tenter de resoudreles conflits qui le concerne a la facon du TCAS (on rappelle que le TCAS est un systeme debord qui donne des manoeuvres dans le plan vertical si il y a risque d’abordage entre deuxaeronefs). Nous utiliseront une approche centralisee, ce qui permet d’obtenir des solutionglobalement meilleures.

3.4.2 Quelques approches theoriques

Les methodes neuronales

Dans [Gaudiere 95, Medioni 98] un algorithme genetique est utilise pour l’apprentis-sage d’un reseau de neurones qui agit sur les commandes d’un avion afin d’eviter un con-flit.L’extension de la methode au cas de conflits a trois avions est difficile.

Arithmetique des intervalles

Frederic Medioni [Medioni 98] utilise une methode d’optimisation globale deterministeutilisant l’arithmetique d’intervalle et un algorithme de type Branch and Bound pourtrouver les solutions optimales d’un conflit impliquant quelques avions. Un modele simplede manœuvre est defini : l’avion altere son cap de 30 degres a gauche ou a droite a uninstant t0 donne, avant de revenir sur sa trajectoire sous le meme angle a un instant t1.Si la methode s’avere efficace pour les petits conflits (moins de 4 avions), le nombre desvariables devient tres rapidement un facteur limitatif pour des conflits plus importants. Parailleurs, le modele utilise ne peut pas prendre facilement en consideration les contraintesoperationnelles telles que les incertitudes sur les tenues de vitesses, de taux de montee etde descente.

Algorithmes genetiques

Le projet CATS4, initie par le CENA5, a vu le jour en 1996. Dans sa these, NicolasDurand a montre que le probleme de resolution de conflits peut devenir tres complexe deslors que le nombre d’avions impliques depasse trois ou quatre avions. Une etude theoriqueassez importante a pu montrer que si l’on refuse la notion de priorite et que l’on recherchel’optimum global du probleme, les techniques d’optimisation classiques ont peu de chanced’aboutir. Il a pu exhiber une methode d’optimisation a base d’algorithmes genetiques quipermet de resoudre des conflits impliquant jusqu’a une vingtaine d’avions. Il definit ainsila notion de cluster d’avion, fermeture transitive de conflits elementaires (impliquant deuxavions seulement). La methode utilisee, stochastique, ne permet pas de prouver l’optimalitede la solution exhibee ni de prouver l’absence de solutions si aucune solution n’est trouvee.

4Complete Air Traffic Simulator ou CAML Air Traffic Simulator5Centre d’Etudes de la Navigation aerienne

Page 36: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

36 CHAPITRE 3. CONTEXTE DU TRAFIC AERIEN

Automatisation du trafic au sol

Dans [Gotteland 04] Jean-Baptiste Goettland utilise des algorithmes genetiques pouroptimiser le trafic au sol dans les grands aeroports, car l’une des principale cause de retardest imputable a la circulation au sol des avions.

Methode utilisant la programmation par contraintes

Thibaut Feydy presente dans [Feydy 05a] deux methodes de resolution de conflit al’aide de programmation par contraintes. La premiere, s’apparentant a un TCAS dans leplan horizontal, donne une resolution en cap afin que les avions s’evitent et permet deresoudre des problemes jusqu’a 15 avions. Dans la seconde, les avions reviennent sur leurstrajectoires d’origine ; ce second modele etant beaucoup plus complexe que le premier sonimplementation ne permet de resoudre optimalement que des problemes a 2 ou 3 avions.

Page 37: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 4Resolution de conflits

4.1 Introduction

Dans ce chapitre on presentera plusieurs methodes pour resoudre automatiquement lesconflits entre plusieurs avions a l’aide de resolution en vitesse. L’un des buts de la resolutionde conflits a l’aide de regulation en vitesse [Archambault 04a] est de faire du controle sub-liminale [Villiers 04] afin de rendre le « trafic chanceux » pour le controleur. Pour atteindrece but, il faut que les resolutions donnees soient faibles, afin de respecter les performancesdes avions. Les methodes qui seront presentees s’appuyeront sur la programmation parcontraintes, ce qui permettra d’assurer l’optimalite des solutions.

La regulation en vitesse a l’avantage de garder le support des trajectoires, mais necessiteune bonne tenue de vitesse et un temps d’anticipation variable en fonction de l’angle entreles trajectoires.

Definition 14 (Point de conflit) Nous appelons point de conflit entre deux avions enconflit potentiel, le point de croisement de leurs trajectoires. On notera ci,j le point deconflit entre l’avion i et l’avion j.

4.1.1 Criteres d’optimalite

Nous devons choisir des criteres d’optimalite qui nous permettrons de comparer laqualite des solutions. On pourra par exemple choisir :

– minimiser la moyenne des delais par avions (engendres par le control),– minimiser le maximum des delais, car si l’on minimise la moyenne on peut se retrouver

a penaliser fortement un vol, et pas du tout les autres,– minimiser la variation moyenne des vitesses,– minimiser la variation maximale des vitesses,– minimiser les couts des compagnies aeriennes (consommation en carburant, retards

qui peuvent avoir des impactes sur les correspondances, etc.).

37

Page 38: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

38 CHAPITRE 4. RESOLUTION DE CONFLITS

Les couts reels d’un vol etant tres difficile a estimer, la consommmation des avionsdependant du niveau de vol par exemple, on a donc choisit de s’interesser aux delais et auxvariations des vitesses.

4.1.2 Les manoeuvres

Dans ce chapitre on presentera trois modeles differents, deux modeles ou les aeronefsvolent en route directe (suivant une demi-droite), et un modele ou les avions volent ensuivant des routes standards (suivant un plan de vol).

Pour les trois modeles nous ne consideront que les avions stables (qui ne changent pasde niveau de vol). Les modifications des vitesses seront faites sur la vitesses sol.

4.2 Route directe simple

Dans cette section, les avions se deplacent en route directe de leur point de depart a leurpoint d’arrivee. On ne considerera que les avions stable a leur niveau de vol, ce qui nousdonnera un modele 3D (coordonnees dans le plan horizontal, et temps). On representerachaque avion par :

– sa position d’origine (x0, y0),– sa vitesse (constante apres pour t > 0),– son cap (constant).

4.2.1 Detection de conflits

Pour detecter si deux avions seront en conflit dans le plan horizontal, il faut verifier siil existe un instant t tel que la distance entre ces deux avions sera inferieure a la separationstandard (soit a 5Nm).

Soit −→p1(t) et −→p2(t) les vecteurs positions des avions A1 et A2. On definit Ai et vi commela position intiale et la vitesse de l’avion Ai. On a :

−→p1(t) =−−→OA1 + t−→v1

−→p2(t) =−−→OA2 + t−→v2

on pose alors :

−−−→A1A2 = −→r−→v2 −

−→v1 = −→vr

On ecrit alors que la distance entre les deux avions doit etre superieure a la separationstandard D :

Page 39: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.2. ROUTE DIRECTE SIMPLE 39

Fig. 4.1 – detection de conflit entre deux avions

(−→r + t−→vr )2 ≥ D2 ⇐⇒ v2

r t2 + 2−→r · −→vr t + r2 −D2 ≥ 0 (4.1)

La resolution de cette equation du second degre donne les valeurs de t durant lesquellesles deux avions sont en conflit.

Nous allons decrire les cas dans lesquels il n’y a pas conflit entre les deux avions :– soit le polynome du second degre n’a pas de racine reelle,– soit les racines sont negatives, c’est un cas d’eloignement.

Premier cas :

Le discriminant de l’equation du second degre est negatif ou nul, ce qui signifie quel’equation a au plus une racine. Si il n’y a pas de racine reelle il n’y a aucun conflitpossible. Si il y a une racine double, alors le conflit eventuel n’existe qu’en un point (deduree nulle) ; on considerera alors qu’il n’y a pas conflit.

∆′ = (−→r · −→vr )2 − v2

r(r2 −D2) ≤ 0

On pose dans le plan horizontal :

∀i ∈ 1, 2, −→vi =

(

vi cos(θi)vi sin(θi)

)

et :−→r =

(

rx

ry

)

Page 40: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

40 CHAPITRE 4. RESOLUTION DE CONFLITS

Ce qui nous permet d’ecrire le determinant sous la forme d’un polynome en v1, v2 :

α · v21 + β · v2

2 + γ · v1 · v2 ≤ 0 (4.2)

Ou les coefficients α, β, et γ sont :

α = D2 − rx2 − ry

2 + rx2 · cos(θ1)

2 + 2 · rx · ry · cos(θ1) · sin(θ1) + ry2 · sin(θ1)

2

β = D2 − rx2 − ry

2 + rx2 · cos(θ2)

2 + 2 · rx · ry · cos(θ2) · sin(θ2) + ry2 · sin(θ2)

2

γ = −2 · (D2 − rx2 − ry

2) · cos(θ1 − θ2)− 2 · rx2 · cos(θ1) · cos(θ2)− 2 · rx · ry · cos(θ2) · sin(θ1)

−2 · rx · ry · cos(θ1) · sin(θ2)− 2 · ry2 · sin(θ1) · sin(θ2)

Second cas :

Dans le cas ou le discriminant est strictement positif, alors il y a exactement 2 racinest1 et t2. Pour qu’il n’y ait pas conflit il faut que t1 et t2 soient negatifs ce qui revient adire que le conflit est passe, c’est-a-dire que l’on se trouve dans un cas d’eloignement (voirFig. 4.2).

Fig. 4.2 – Cas d’eloignement

t1 et t2 sont negatif si et seulement si t1 + t2 ≤ 0 (au moins une des racines est negative)et t1t2 ≥ 0 (les deux racines sont de meme signe). On a donc :

(−→r · −→vr ≥ 0) ∧ (r2 −D2 ≥ 0)

Ce qui se developpe en :

(v2(rx cos θ2 + ry sin θ2)− v1(rx cos θ1 + ry sin θ1) ≥ 0) ∧ (r2x + r2

y −D2 ≥ 0) (4.3)

Remarque 7 Si t1 et t2 sont de signes opposes alors au temps t = 0 les avions 1 et 2 sontdeja en conflit.

Page 41: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.2. ROUTE DIRECTE SIMPLE 41

4.2.2 Resolution par PPC

On se place dans le plan horizontal, l’ensemble des variables de decision V = vi, i ∈1..n sont les normes des vitesses des avions.

La methode de detection de conflit vue precedemment permet de donnees un critereglobale pour dire si il y a conflit entre deux avions ou non. Maintenir ce critere pour chaquepaire d’avions permet alors de resoudre les conflits.

Ce qui donne en terme de contraintes :

(α · v21 + β · v2

2 + γ · v1 · v2 ≤ 0)∨

(

(λ · v1 + µ · v2 ≥ 0) ∧ (r2x + r2

y −D2 ≥ 0))

(4.4)

Remarque 8 Cette contrainte est codee sur les domaines continus, en effet les coefficientsde cette contraintes font intervenir des formules trigonometriques, nous ne pouvons pasutiliser les nombres entiers.

Il suffit donc pour resoudre le conflit de definir les vitesses des avions comme variables(sur un domaine fini), et de poster la contrainte 4.4 a notre librairie de resolution decontraintes (FaCiLe). FaCiLe trouvera alors la solution optimale par rapport au critered’optimisation que l’on aura choisi.

Strategies de recherche

La resolution de conflits a n-avions est un probleme fortement combinatoire. Il estdifficile de resoudre rapidement de facon efficace des conflits sans une bonne strategie derecherche de solution.

La premiere strategie de recherche utilisee consiste a instancier en premier les variablesayant le plus petit domaine. Cette strategie de type first-fail, part du principe qu’il estinteressant de decouvrir rapidement qu’une valeur ne satisfait pas les contraintes, plutotque de le decouvrir a la fin.

La strategie precedente ameliore la rapidite, mais ne permet pas de resoudre de grosproblemes. Nous sommes restes bloquer sur un conflit a 5 avions sur un cercle1. Nousavons alors decide de commencer par donner un ordre entre les avions (entre les avionsrisquant d’etre en conflit de croisement), et de profiter de la connaissance de l’ordre depassage des avions pour reduire les domaines des vitesses des deux avions. Comme lemontre [Nguyen 04], on peut calculer la duree qui doit separer le passage de deux avionsau point de croisement de leur trajectoire pour qu’il n’y ait pas conflit.

On note αij l’angle forme par les trajectoires de Ai et Aj, tiij (resp. tjij) l’instant auquel

la trajectoire de l’avion Ai (resp. Aj) coupe celle de l’avion Aj (resp. Ai). I iij (resp. Ij

ij estla distance separant l’avion Ai (resp. Aj) de l’avion Aj (resp. Ai) lorsque ce premier passeau point d’intersection de leurs trajectoires (voir figure 4.3).

1n-avions sur un cercle est tres certainement l’une des situations les plus complexe lorsqu’on fait de laresolution en vitesse

Page 42: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

42 CHAPITRE 4. RESOLUTION DE CONFLITS

..//

0011 2 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 22 2 2 2 2

3 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 33 3 3 3 3αi,j

Ij,i

Ai

Aj

Fig. 4.3 – Interval entre deux avions

on a :

|tiij − tjij| =I iij

vj

=Ijij

vi

Pour trouver |tiij − tjij | il suffit de calculer I iij , pour cela ecrivons la position des avion

Ai et Aj a l’instant t :

– la position de l’avion Ai

(

vi · t0

)

,

– la position de l’avion Aj

(

(vj · t− I iij) cosαij

(vj · t− I iij) sin αij

)

Le carre de la distance de Ai a Aj vaut :

||−−−→AiAj ||

2 =[(

vj · t− I iij

)

cos αij − vi · t]2

+[(

vj · t− I iij

)

sin αij

]2

=(

v2i + v2

j − 2vjvj cos αij

)

t2 + 2I iij (vi cos αij − vj) t + I i

ij

2

Posons :

A =(

v2i + v2

j − 2vjvj cos αij

)

B = 2I iij (vi cos αij − vj)

C = I iij

2

On a donc :

||−−−→AiAj ||

2 = At2 + Bt + C (4.5)

Page 43: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.2. ROUTE DIRECTE SIMPLE 43

ou A > 0 car A = (vi− vj)2 + 2vivj(1− cos αij) > 0 (on ne considere pas les face-a-face

et les rattrapages). L’equiation 4.5 est minimale pour la racine −BA

. Pour qu’il n’y ait pasconflit il faut que ce minimum soit superieur ou egal a D la separation standard. Soit :

D = −B2

A+ C

⇒ I iij =

D

vi|sin(αij)|

v2i + v2

j − 2vivjcos(αij)

d’ou :

|tiij − tjij | =D

vivj |sin(αij)|

v2i + v2

j − 2vivjcos(αij) (4.6)

On notera rij la valeur minimale que doit prendre |tiij− tjij | pour qu’il n’y ait pas conflitentre les avions Ai et Aj. Avec l’hypothese Ai passe en premier au point d’intersection destrajectoires de Ai et Aj on a la contrainte :

tiij + rij ≤ tjij

Soit

diij

vi

+D

vivj|sin(α)|

v2i + v2

j − 2vivjcos(α) ≤dj

ij

vj

(4.7)

4.2.3 Resolution par ordonnancement

Le principe de la resolution de conflit par ordonnancement est de creer pour chaquepaire d’avion en conflit une tache qui materialisera le passage de l’avion au point de conflit.Ces deux taches ne pourront pas s’executer en meme temps, et le temps d’execution dechaque tache permettra d’assurer la separation entre les aeronefs. Enfin le fait de trouverle temps de debut de chacune des taches nous permettra de trouver la vitesse des aeronefs.

Pour detecter les conflits potentiels entre deux avions i et j il suffit de verifier si pourtoutes les valeurs possibles de (vi, vj) il en existe une ou il y a conflit.

Modelisation du probleme

Pour chaque conflict potentiel entre deux avions i et j on creera deux taches disjointes(qui ne peuvent s’executer en meme temps) :

– Ei,j : L’avion i passe au point de conflict alors que l’avion j n’y passe pas,– Ej,i : L’avion j passe au point de conflict alors que l’avion i n’y passe pas.

On note D la separation reglementaire. La duree de ces deux taches doit permettre d’assurerla separation entre les 2 avions. La duree de Ei,j est egale a rij.

Page 44: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

44 CHAPITRE 4. RESOLUTION DE CONFLITS

A1

A2

A3

Fig. 4.4 – Exemple de cluster a 3 avions

Remarque 9 Le simple fait que les taches Ei,j et Ej,i soient disjointes permet de resoudrele conflit entre les deux avions. En effet cela permet de maintenir la separation D entre lesdeux avions [Nguyen 04].

Notons di,j la distance de l’avion i au point d’intersection de sa trajectoire avec cellede l’avion j, alors start(Ei,j) verifie :

start(Ei,j) =di,j

vi

(4.8)

Contraintes temporelles

Soit Ei,j et Ei,k deux taches consecutives d’un meme avion i. Supposons que Ei,j doivents’executer en premier, alors :

start(Ei,k) = start(Ei,j) +di,j,k

vi

(4.9)

ou di,j,k est la distance separant les points d’intersections.

Strategies de recherche

Il est important de commencer par donner un ordre de passage a chaque paire d’avionsen conflit, en effet cela permet de reduire les domaines des vitesses. Pour cela nous utilis-

Page 45: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.2. ROUTE DIRECTE SIMPLE 45

erons l’algorithme de ranking de FaCiLe.Ensuite on pourra faire l’ordonnancement des taches et donc d’instancier la date du

debut de chacune de ces taches. Instancier le debut d’une tache revient a instancier la vitessede l’avion en question. En effet start(Ei,j) =

di,j

vi. Nous avons donc choisit d’instancier

directement les vitesses des avions plutots que d’instancier les dates de debut (dont ledomaine est generalement plus grand).

On remarque que les algorithmes d’Edge-Finding et Not-First (ou Not-Last) ne sontpas efficace sur ce probleme ; en effet, il n’y a seulement que deux taches en concurrencesur chaque machine, et on ne peut pas vraiment prevoir trop a l’avance qu’une tache nepourra pas s’executer en premier sur une machine (ou en dernier). Ces algorithmes dontla complexite temporelle est en O(n2), apporteront en fait peu de deductions interessantesdans notre modele.

4.2.4 Resultats

On a teste l’efficacite des differents modeles etudies sur un probleme de n avions surun cercle (figure 4.5). Il y a donc n(n−1)

2conflits a resoudre.

Fig. 4.5 – n avions sur un cercle

On observe que :– La methode par PPC (sans ranking) permet de resoudre le probleme jusqu’a 4 avions

soit 6 conflits.– La methode par PPC et ranking permet de resoudre le probleme jusqu’a 7 avions

soit 21 conflits.– La methode par ranking et ordonnancement permet de resoudre le probleme jusqu’a

10 avions soit 45 conflits.On remarque que le ranking joue une grande influence dans la resolution de ce probleme.

En effet choisir l’ordre de passage des avions permet de casser les symetries du problemeet de reduire les domaines des variables.

Page 46: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

46 CHAPITRE 4. RESOLUTION DE CONFLITS

4.3 Route directe avec changements de vitesse

4.3.1 Definitions

Dans cette partie nous ne nous limiterons plus a un seul changement de vitesse paraeronefs. Nous verons une methode permettant de faire pour chaque avion un changementde vitesse par conflit.

ci(1)

xi(2)

xi(0)

Fig. 4.6 – Points de conflit

Pour chaque avion, on definit le tableau Ii = xi(0), xi(1), . . . de ses points de conflit(figure 4.6) avec d’autres trajectoires. Pour chaque point de conflit xi(j) on definit le pointx′

i(j) a partir duquel le conflit est termine au plus tard (il se trouve a un distance de Dsin α

du point de croisement, avec α l’angle entre les trajectoires en conflit).

On definit alors l’ensemble V = vi(0), vi(1), . . . des vitesses d’un avion (figure 4.7) ouvi(k) est la vitesse de l’avion i sur le segment [x′

i(k − 1), x′i(k)].

Remarque 10 On considere que x′i(0) = xi(0) et sont confondus avec la position initiale

de l’avion.

xi(1)xi(0) xi(2)

vi(0) vi(1) vi(2) vi(0)

x′i(0) x′

i(1) x′i(2)

Fig. 4.7 – Differents changements de vitesse pour un avion

Page 47: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.4. ROUTE STANDARD 47

4.3.2 Modelisation du probleme

Pour chaque point de conflit, disons entre l’avion i et l’avion j, on definit 2 tachesdisjointe :

– Ei,j : L’avion i passe au point de conflict alors que l’avion j n’y passe pas,– Ej,i : L’avion j passe au point de conflict alors que l’avion i n’y passe pas.

Comme nous l’avons deja vu la duree de la tache Ei,j est egale a celle de la tache Ej,i

et vaut :

rij =D

vi(ki)vj(kj)|sin(α)|

vi(ki)2 + vj(kj)2 − 2vi(ki)vj(kj)cos(α)

ou ki et kj sont les indices des segments sur lesquels se trouvent les avions i et j.

4.3.3 Contraintes

Soit ε le pourcentage maximum de changement de vitesse pour un aeronefs. On a alors :

∀(i, j), (1− ε) · vi(0) ≤ vi(j) ≤ (1 + ε) · vi(0)

∀(i, j), (1− ε) · v(i)(j) ≤ vi(j + 1) ≤ (1 + ε) · vi(j)

Si la trajectoire de l’avion i et de l’avion j se coupe en xi(k) (= ci,j), alors on definitdeux taches disjointes :

Soit Ei,j et Ei,k deux taches consecutives de l’avion i. On note xi(n) et xi(n + 1) lespoints de croisement correspondant (di,n,n+1 est la distance entre ceux deux points). On aalors :

Si di,n,n+1 < Dsin αi,j

+ Dsinαi,k

Alors

vi,n = vi,n+1 et start(Ei,k) = start(Ei,j) +di,n,n+1

vi,n

(4.10)

Sinon

start(Ei,k) = start(Ei,j) +D

vi,n sin αi,j

+di,n,n+1 sin αi,j −D

vi,n+1 sin αi,j

(4.11)

4.4 Route standard

Dans cette partie on cherche a representer la trajectoire de chaque avion de facon assezfidele, en la discretisant. Chaque avion est represente par une suite de point. Chaque pointetant espace dans le temps d’un interval de temps fixe (de 8 ou 15 secondes).

Page 48: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

48 CHAPITRE 4. RESOLUTION DE CONFLITS

44556677

8899

::;; <<== >>??

Fig. 4.8 – Modele de trajectoire en conflit

4.4.1 Detection de conflits

On noteraWi (resp. Si) l’ensemble des points de la trajectoire de l’avion i (resp. l’ensem-ble des vitesses) (voir Fig. 4.8).

Definition 15 (Trajectoire) Une trajectoire est une suite de couples (position, vitesse) ∈Wi × Si.

Dans ce cas precis la detection des conflits potentiel se fait point a point. il suffit deverifier :

– soit que les deux points sont separes horizontalement de plus de 5Nm (la separationstandard),

– soit que les deux aeronefs ne pourront se trouve en ces points en meme temps.

4.4.2 Resolution par ordonnancement

On modelise chaque point de passage d’un aeronefs par une tache. Afin de resoudreles conflits, pour chaque paire d’avions, les points de passage pouvant etre en conflit sontmodelises par des taches disjointes c’est-a-dire que l’avion i ne pourra pas etre sur un pointqui est dans un rayon de moins de 5Nm de l’avion j (voir Fig. 4.9).

– le debut de la tache correspond au passage du point par l’avion,– le temps d’execution de la tache est le temps que l’avion met pour aller de ce point

au prochain point,– la fin de la tache correspond elle a l’arrivee de l’avion au point suivant.

Pour chaque point de la trajectoire d’un avion i on fait calcul la liste des points oul’avion j ne doit pas se trouver (pour respecter les separations).

Page 49: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

4.4. ROUTE STANDARD 49

5Nm

Fig. 4.9 – Modele de point en conflit

Contraintes

On notera Pi(j) la tache correspondant au passage de l’avion i au point j.On remarquera donc que

∀j = 1 . . . n− 2, start(Pi(j + 1)) = end(Pi(j))

⇔ start(Pi(j + 1)) = start(Pi(j)) + proc(Pi(j))

De plus si l’avion i et l’avion j sont en conflit au point ki et kj :

(Pi(ki) Pj(kj)) ∨ (Pi(ki) Pj(kj))

On note Ci,j(k) l’ensemble des points de la trajectoires de l’avion j en conflit avec lepoint k de la trajectoire de l’avion i. L’ensemble des taches Ci,j(k)

Pi(k) forment unensemble de taches disjointes (elles s’executent sur la meme machine).

On remarque aussi que soit Pi(k) s’execute apres toutes les taches de Ci,j(k) ou avanttoutes les taches de Ci,j(k) :

Ci,j(k) Pi(k) ∨ Pi(k) Ci,j(k)

Resultats

Sur des donnees de trafic reel nous arrivons a resoudre des conflits a deux avions, maisla combinatoire du probleme nous empeche de resoudre des problemes plus gros. Cette

Page 50: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

50 CHAPITRE 4. RESOLUTION DE CONFLITS

methode est tout de meme tres interessante car sur une journee de trafic la majorite desconflits sont des conflits a deux avions.

Page 51: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 5Anticipation

Dans ce chapitre nous allons nous interesser aux problemes d’anticipation. En effet, pourresoudre un conflit de facon efficace il un faut temps d’anticipation variable selon l’angle deconflit et la complexite du conflit. Nous allons ici etudier les temps d’anticipation necessairea la regulation en vitesse, en supposant que les avions arrivent a tenir parfaitement leurtrajectoires 4D.

Nous verrons donc dans ce chapitre l’influence de l’anticipation sur la qualite des solu-tions, et l’influence de l’angle entre les trajectoires des avions, et de la taille du problemea resoudre sur la taille de la fenetre d’anticipation.

5.1 Influence de la fenetre d’anticipation sur la qualite

de la solution

Pour mesurer l’importance de l’anticipation sur la resolution optimale nous nous sommesplaces dans l’hypothese la plus penalisante, c’est-a-dire les deux avions doivent arriver aupoint de croisement de leur trajectoire (ou point de conflit) au meme instant, et nous avonsfait varier la distance au point de conflit (au moment de la resolution).

Ce qui nous donne comme hypothese :

– Les avions volent a 420kt avant la resolution– Les avions sont a egale distance du point de conflit.– Les routes sont separes d’un angle de 20

On observe logiquement sur la Fig. 5.1 que plus les avions sont eloignes du point deconflit, plus l’amplitude de la manoeuvre en vitesse est faible. On s’apercoit aussi que surcette exemple, si on veut avoir des regulations de l’ordre de 2% (ce qui equivaut a 8kt ou15km/h pour une vitesse de 400kt), il faut un temps d’anticipation d’environ 17 minutes,soit en terme de distance une distance de 120Nm (plus de 220km) avant le point de conflit.

51

Page 52: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

52 CHAPITRE 5. ANTICIPATION

1.5

2

2.5

3

3.5

4

4.5

5

5.5

40 60 80 100 120 140 160

Fig. 5.1 – Resolution (en %) en fonction de la distance au point de conflit (en Nm)

5.2 Incidence entre les trajectoires

Pour mesurer l’influence de l’angle entre les trajectoires sur la distance d’anticipationdu conflit nous avons fixe une amplitude de regulation acceptable a 2%.

100

200

300

400

500

600

700

0 20 40 60 80 100 120 140 160

dist

ance

angle

Fig. 5.2 – Fenetre d’anticipation en fonction de l’angle pour deux avions a 420kts

Comme le montre la Fig. 5.2 plus l’angle est grand entre les avions, plus la taille de lafenetre d’anticipation doit etre grande. En effet, plus les avions sont proche d’une situationde face-a-face, plus le probleme est difficile a resoudre ce qui implique qu’il faut plus detemps (ou de distance) pour resoudre le probleme.

Page 53: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

5.3. TAILLE DU PROBLEME 53

Dans cet exemple pour un angle entre 10 et 100, il nous faut une fenetre d’anticipationde 18 a 28 minutes. Ces resultats sont coherent avec les resultats de Nicolas Durand quimontre dans [Durand 96] que la fenetre d’anticipation doit generalement etre superieur a20 minutes pour obtenir des regulation pas trop importantes.

La resolution de conflit par modification des vitesses des aeronefs pour des avions dontl’angle entre les trajectoires est eleve donne de mauvais resultats, il faudra donc envisagerd’autres methodes dans ces cas la [Feydy 05b, Granger 02, Chansou 95, Durand 96]

5.3 Taille du probleme

Pour tester l’influence du nombre d’avions sur l’amplitude de la regulation maximale,nous avons utilise le probleme de n avions sur un arc de cercle (figure 4.5). Les avions ontinitialement la meme vitesse, et leur trajectoire sont separees d’un angle de 20.

Ce probleme est un probleme difficile : tous les avions sont en conflits deux a deux(∑n−1

k=1 k conflits au total), de plus le probleme est symetrique (on peut echanger l’avion iet l’avion n + 1− i sur le cercle sans changer le probleme).

Resultats

On observe (figure 5.3) que l’amplitude maximum de resolution, pour des problemes detailles raisonnables (conflits de 2 a 7 avions), est lineaire avec le nombre d’avions en conflit.Ce resultat peu paraitre decourageant pour effectuer des resolutions de conflit en vitesse,cependant la taille d’un cluster en nombre d’avions n’est pas equivalent a la complexite ducluster ; un meilleur indicateur serait le nombre de conflit, ou la duree total des conflits :dans le cas des n avions sur un cercle il y a n(n−1)

2conflits.

2

4

6

8

10

12

14

16

18

20

2 3 4 5 6 7

reso

lutio

n m

ax e

n %

nombre d’avions

Fig. 5.3 – Regulation maximum en fonction du nombre d’avions

Page 54: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

54 CHAPITRE 5. ANTICIPATION

5.4 Conclusions

En premiers nous avons constate qu’il faut une fenetre d’anticipation tres grande (plusde 20 minutes) pour resoudre des conflits a l’aide de regulations en vitesse. Cela veut direque l’on dispose d’outils permettant de predire precisemment la trajectoires en 4D et queles FMS tiennent aussi precisemment que possible les trajectoires demandees.

Nous avons vu que nous ne pouvont pas resoudre efficacement des conflits ou l’angleentre les avions est eleve. Le cas des avions en face a face lui ne peut clairement pas etreresolu a l’aide de regulation en vitesse, on choisira plutot dans ce cas la de resoudre leconflit a l’aide de changements de cap ou d’altitude.

Page 55: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Troisieme partie

Optimisation

55

Page 56: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 57: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 6Differents criteres d’optimisation

Dans ce chapitre, nous avons essayer de comparer les differents criteres d’optimisationvu au chaptire 4. Dans ce precedent chapitre nous avions decide de nous interesser auxvariations en vitesse, et en particulier a la moyenne1 et au maximum des variations.

6.1 Les criteres

Soit Ω = A1, A2, . . . , An un ensemble de n avions, ou vi0 (respectivement vi) est lavitesse de l’avion Ai avant (respectivement apres) la regulation.

Ecart maximal

C’est le premier critere que l’on a envisage, car c’est le critere qui peut paraıtre le moinsinjuste. en effet on essaye de penaliser le moins possible l’avion qui sera le plus penalise.

coutmax(Ω) = maxi∈1,...,n

|vi − vi0 |

vi0

Ecart moyen

C’est le deuxieme critere que l’on a envisage, pour trouver des solutions globalementmeilleures que celles trouvees avec le critere precedent.

coutsomme(Ω) =n

i=1

|vi − vi0 |

vi0

1La moyenne des variations est equivalente a la somme des variations

57

Page 58: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

58 CHAPITRE 6. DIFFERENTS CRITERES D’OPTIMISATION

Ecart maximal, puis ecart moyen

Ce troisieme critere, nous permet de prendre en compte l’ecart maximal puis l’ecartmoyen ce qui permet de classer les solutions equivalentes trouvees avec coutmax. Ce criterepermettra de qualifier la qualite des solutions de facon « plus precise » que coutmax.

coutmax,somme(Ω) = n ·

(

maxi∈1,...,n

|vi − vi0 |

vi0

)2

+

n∑

i=1

|vi − vi0 |

vi0

Somme des carres des ecarts

L’utilisation de la somme des carres des ecarts en tant que fonction objectif penaliseplus vite les mauvais elements que le critere coutsomme. On espere donc avoir une meilleureefficacite (en temps de calcul) avec ce critere.

coutsquare(Ω) =

n∑

i=1

(

|vi − vi0 |

vi0

)2

6.2 Les resultats

n avions sur un cercle

– La vitesse des avions est de 420kt.– La distance au point d’impact est de 150Nm.

Ce premier exemple nous a servi a voir de facon qualitative comment reagissaient lesdifferents criteres. On s’apercoit que les temps de calcul des solutions (Tab. 6.1) sontdifferents selon les criteres utilises : cela est du au fait qu’il est plus ou moins simplede borner certain critere par rapport a d’autres. Par exemple la fonction max permetgeneralement de couper plus vite dans l’arbre de recherche d’un algorithme de Branch andBound que la fonction somme.

Comme on peut le voir sur la Fig. 6.1 les 3 criteres sont tres proches en ce qui concerneles valeurs des solutions trouvees. Ceci est vraisemblablement du aux nombreuses symetriesdu probleme.

Cette experience nous a donc permis de mettre en evidence les differences d’efficacitedes differents criteres en terme de temps de calcul mais ne nous permet pas de conclurepar rapport aux autres points que l’on souhaitait evaluer.

n avions

Afin de casser des symetries dans le probleme precedent on decide, de rajouter du bruitaux positions d’origine des avions par rapport a l’experience precedente. De meme la vitesse

Page 59: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

6.2. LES RESULTATS 59

0

20

40

60

80

100

120

140

160

2 3 4 5 6 7 8 9 10

varia

tion

max

imal

e en

/100

0

nombre d’avions

maxsomme

max et somme

0

100

200

300

400

500

600

700

800

900

2 3 4 5 6 7 8 9 10

som

me

des

varia

tions

en

/100

0

nombre d’avions

maxsomme

max et somme

Fig. 6.1 – n avions sur un cercle : cout des meilleurs solutions

Page 60: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

60 CHAPITRE 6. DIFFERENTS CRITERES D’OPTIMISATION

0

5

10

15

20

25

30

35

2 2.5 3 3.5 4 4.5 5

max

imum

des

var

iatio

ns e

n /1

000

nombre d’avions

maxsomme

max et somme

0

10

20

30

40

50

60

70

80

2 2.5 3 3.5 4 4.5 5

som

me

des

varia

tions

en

/100

0

nombre d’avions

maxsomme

max et somme

Fig. 6.2 – n avions : cout des meilleurs solutions

Page 61: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

6.3. CONCLUSIONS 61

nb d’avions max somme max et somme somme des carres

2 0 0 0 0.033 0 0.2 0 0.184 0.2 8.3 0.9 2.755 2.1 135 2.7 19.436 3.6 1870 13 499.897 57 ∞ 80 52238 405 ∞ 722 ∞9 1322 ∞ 1243 ∞10 4465 ∞ ∞ ∞

Tab. 6.1 – Temps de calcul des solutions avec differents criteres

de l’avion est soit de 410kt soit de 420kt. Nous avons ensuite realise la moyenne sur desechantillons de 100 individus.

Cette experience met en evidence des differences significatives entre les differents criteres(voir Fig. 6.2). Le critere coutmax,somme s’avere presque aussi efficace pour minimiser lasomme des variations que de coutsomme et est bien plus rapide.

6.3 Conclusions

Les criteres coutmax et coutmax,somme s’averent beaucoup plus efficace en terme de tempsde calcul que coutsomme et coutsquare. Cela est du au fait que l’on peut minorer facilementune evaluation partielle de la fonction max par le maximum des valeurs deja instanciees,ce qui n’est pas faisable avec la fonction somme. Le fait de sommer sur les carres des ecartspermet de reduire ce phenomene.

En prenant la somme des puissances n-eme des ecarts on gagne encore plus en vitesse decalcul, mais malheureusement, on depasse rapidement le maximum des entiers en OCaml.

Le critere d’optimisation coutmax,somme semble etre un bon compromis entre vitesse decalcul et qualite de la solution, effet ce critere penalise autant l’avion le plus penalise quecoutmax et penalise moins en moyenne les autres avions.

Page 62: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 63: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Chapitre 7Utilisation d’un algorithme glouton

Dans ce chapitre, nous allons presenter un algorithme permettant de trouver une so-lution admissible rapidement. Le cout de cette solution pourra ensuite etre utilise commeborne superieure du cout du probleme de resolution de conflit.

7.1 L’algorithme glouton

Un « algorithme glouton » est un algorithme qui fait le meilleur choix a priori a chaquepoint de choix. On espere ainsi se rapprocher de l’optimum global. Dans ce chapitre, nousallons presenter un algorithme de type « 1 contre n » : on calcule sequentiellement lestrajectoires des avions en prenant en compte les trajectoires precedemment calculees.

L’algorithme 5 permet de tester si avec la vitesse vi la trajectoire de l’avion i n’est pasconflictuelle avec les trajectoires des i−1 avions precedents dont on a deja choisi la vitesse.

Algorithme 5 Tester (vitesse: vi, indice: i)

test← V raiconflit(x, y) : est le predicat l’avion x et l’avion y sont en conflit.pour j = 1 a i faire

test← test ∧ ¬(conflit(i, j))fin pour

L’algorithme 6 tente d’affecter a chaque avion la vitesse (avec la variation minimale)qui lui permet de ne pas etre en conflit avec les avions deja traites.

Remarque 11 La complexite temporelle de l’algorithme 6 est en O(n2), alors que lesmethodes optimales presentees au chapitre 4 ont des complexites temporelles exponentielles.

63

Page 64: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

64 CHAPITRE 7. UTILISATION D’UN ALGORITHME GLOUTON

Algorithme 6 Glouton

pour i = 1 a n faire

∆v ← 0vi ← vi0

tant que V rai faire

∆v ← ∆v + 1vi ← vi0 + ∆vsi Tester(vi, i) alors

sortir de la boucle tant que

fin si

vi ← vi0 −∆vsi Tester(vi, i) alors

sortir de la boucle tant que

fin si

fin tant que

fin pour

7.2 Ordronnancement

L’ordre des avions dans la resolution est un facteur primordial (voir chapitre 4) pourl’efficacite de la solution. En effet, un mauvais choix en ce qui concerne l’ordre des avionspeut donner une solution peu efficace ou dans le pire des cas la resolution peut ne pasaboutir.

Le but est de trouver le meilleur ordre possible. Pour cela on peut soit parcourir de faconexhaustive les n! ordres differents, soit s’appuyer sur des heuristiques telles que le nombrede conflits, la manœuvrabilite, le numero CAUTRA (identifiant du vol dans le systemeCAUTRA) de l’avion. En general, on utilise la combinaison de plusieurs heuristiques pourpouvoir comparer les avions entre eux. On les utilise de facon sequentielle, un peu comme« un ordre lexicographique ». Nicolas Archambaut et Nicolas Durand utilise le numeroCAUTRA comme dernieres heuristiques [Archambault 04b], ce qui permet d’assurer quel’on obtient un ordre total entre tous les avions.

7.2.1 Parcours exhaustif

Dans un premier temps, nous avons essaye la methode par parcours exhaustif de tousles ordres possibles (voir Tab. 7.1). Ainsi on est certain de tester l’ordre qui minimise lecritere d’evaluation.

Page 65: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

7.2. ORDRONNANCEMENT 65

nombre d’avions nombre d’ordres temps de resolution

2 2 03 6 04 24 0.025 120 0.136 720 1.517 5 040 14.278 40 320 1609 362 880 ∞

Tab. 7.1 – Parcours exhaustif des differents ordres.

7.2.2 Utilisation d’heuristiques

Le parcours exhaustif s’avere trop couteux, ce qui etait sans doute previsible du faitque le nombre d’ordres augmente tres rapidement (il y a exactement n! ordres differents).

Il est donc impossible de parcourir tous les ordres, nous allons donc essayer de classerles avions a l’aide des heuristiques suivantes par exemple :

– t : temps au premier conflit,– m : manœuvrabilite de l’aeronef,– c : nombre de conflits,– id : numero de CAUTRA.

A partir des heuristiques (h0, h1, . . . , hn), on peut definir la relation d’ordre ≺ surl’ensemble Ω = A0, A1, . . . , Am des avions du probleme de la facon suivante : Ai ≺ Aj siil existe k tel que pour tout p < k : hp(Ai) = hp(Aj) et hk(Ai) < hk(Aj)

Remarque 12 Il suffit que l’une des heuristiques definisse une relation d’ordre total surΩ pour que ≺ definisse une relation d’ordre total sur Ω.

Pour obtenir un ordre total, on utilise une combinaison des plusieurs heuristiques avecid comme derniere heuristique.

7.2.3 Comparaison entre heuristiques et parcours exhaustif

Pour effectuer nos comparaison nous avons utilise les heuristiques suivantes :

– t, m, c, id– t, c, m, id– m, t, c, id– m, c, t, id– c, t, m, id– c, m, t, id

Page 66: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

66 CHAPITRE 7. UTILISATION D’UN ALGORITHME GLOUTON

On a compare les resultats obtenus grace au parcours exhaustif et a l’utilisation d’heuris-tiques. Nous avons regroupe dans le tableau Tab. 7.2 le meilleur resultat obtenu a l’aided’une des 6 heuristiques testees et le meilleur resultat obtenu a l’aide du parcours exhaustifde tous les ordres. On s’apercoit que les heuristiques utilisees ne sont pas tres efficaces desque la taille du probleme augmente.

taille du cluster exhaustif heuristiques % erreur

2 avions 16.91 17.18 1.53 avions 18.83 21.58 14.64 avions 22.98 31.31 36.2

taille du cluster exhaustif heuristiques % erreur

2 avions 16.91 17.18 1.53 avions 22.83 25.53 11.84 avions 40.48 49.16 21.5

Tab. 7.2 – Comparaison ordonnancements : le premier tableau est fait avec coutmax et lesecond avec coutsomme

Les heuristiques choisies ne semblent pas etre de tres bonnes qualites, et le parcoursexhaustif est lui trop couteux en temps de calcul, c’est pourquoi nous avons envisaged’utiliser un parcours en temps borne, c’est-a-dire que l’on fixe le temps de parcours desdifferents ordres possibles.

7.2.4 Parcours en temps borne

On s’apercoit (voir Tab. 7.3) que l’utilisation de l’algorithme glouton n’est pas efficacesur des petits clusters mais qu’elle permet de reduire fortement le temps de calcul sur desclusters de taille importante (a partir de 8 avions).

taille du cluster sans avec

7 avions 33 368 avions 627 1559 avions 1347 322

Tab. 7.3 – Temps de resolution du probleme n avions sur un cercle de rayon 160Nm sansou avec utilisation d’algorithme glouton (et parcours en temps borne = 5s)

Page 67: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Conclusion

Cette etude a permis d’envisager des methodes exactes pour la resolution de conflitpar regulation en vitesse. Dans la premiere partie du document nous avons presente lesmethodes de resolution de probleme d’ordonnancement a l’aide de programmation parcontraintes. Dans la deuxieme partie, nous avons presente des methodes de resolution deconflits en vitesse par ordonnancement. Dans cette partie nous avons mis en evidence lelien etroit entre l’ordonnancement et la resolution de conflits par regulation en vitesse.La programmation par contraintes nous a permis de garantir l’optimalite des solutionstrouvees.

Nous avons ensuite pu etudier certaines limites de la regulation en vitesse. On a montreque plus l’angle entre les avions etait eleve plus la regulation etait grande (le problemen’a pas de solution pour les cas de face-a-face ou de rattrapage). Nous avons aussi mis enavant le fait qu’il faille une grande fenetre d’anticipation pour pouvoir resoudre de faconefficace ce probleme, ce qui implique la necessite d’une grande precision sur la prevision destrajectoires des avions. Enfin l’amplitude des regulations augmentant lineairement avec lenombre d’avions d’un cluster, la fenetre d’anticipation doit augmenter elle aussi avec lenombre d’avions du probleme pour garantir que l’on aura des solutions acceptables.

Enfin nous avons coupler notre programme de resolution avec l’utilisation d’un algo-rithme glouton qui nous permet de trouver une premiere solution admissible. A l’aide decette solution admissible, on peut reduire la taille des domaines des variables de decisionet majorer le critere d’optimisation.

Nous n’avons pas evoque les problemes d’incertitude sur les tenues de vitesse des avions.Il est clair que si les avions ne peuvent tenir leur vitesse de facon precise, la regulation envitesse devient difficile. Nous avons tres souvent considere les conflits dans le pire descas, a savoir lorsque les deux avions sont supposes passer par le point d’intersection deleurs trajectoires au meme instant. Il est clair que si deux avions sont deja partiellementsepares, une regulation en vitesse peut permettre de les separer completement facilement.Neanmoins, plus l’anticipation de la regulation en vitesse est grande, plus l’incertitudejoue un role important ; a 460kts une erreur de 1% pendant une demi-heure equivaut a unedistance de 2.3Nm ce qui explique pourquoi les controleurs utilisent peu la regulation envitesse pour separer les avions.

67

Page 68: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 69: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Annexes

69

Page 70: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 71: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Annexe AGlossaire

A.1 Unites

– 1 mile nautique (Nm) = 1.852km– 1 pied (ft) = 0.3048m

A.2 Aeronautique

ACAS : Airborne Conflict Avoidance System. Designe les systemes d’anti-collisionembarque sur les aeronefs.

ATC : Air Traffic Control ou control de la navigation aerienne.ATCo : Air Traffic Controler ou controleur de la navigation aerienne.ATFM : Air Traffic Flow Management designe la gestion des flots de trafic.ATM : Air Traffic Management ou gestion du trafic aerien.CAUTRA : Coordonnateur AUtomatique du TRafic Aerien. Systeme assurant les t

raitements et la diffusion des plans de vol aux controleurs.Clairance : Autorisation donnee par le controleur a un pilote pour le roulage, le

decollage, atterissageConflit : Risque de perte de separationCFMU : Central Flow Management Unit. Cellule europeenne de regulation des f lux

de trafic.CRNA : Centre en-Route de la Navigation Aerienne. Il y en a 5 en France metropolitaine :

Aix-en-provence, Athis-Mons, Bordeaux, Brest, et Reims.CCR : Centre de Controle Regional.DGAC : Direction General de l’Avition CivileENAC : Ecole Nationale de l’Aviation CivileERASMUS : En Route Air traffic Soft Management Ultimate System projet europeen

d’automatisation du trafic (a l’aide par exemple de control subliminal)EUROCONTROL : European Organisation for the Safety of Air Navigation. Organ

71

Page 72: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

72 ANNEXE A. GLOSSAIRE

isme Europeen charge de la gestion du trafic aerien en Europe.FMS : Flight Management System. Ordinateur de bord permettant de gerer le plan de

vol du pilote automatique.FUA : Flexible Use of Airspace, principe de collaboration civil/militaire pour une

meilleur utilisation de l’espace aerien.GPS : Global Positionning System. Systeme de positionnement par satellite p rovenant

du departement de la defense americaine.GPWS : Ground Proximity Warning System. Ce systeme emet une alerte sonore dans

le cockpit en cas de proximite dangereuse avec le sol.LEEA : Laboratoire d’Economie et d’Econometrie de l’Aerien. Structure d e recherche

commune a l’ENAC et a la SDER.LOG : Laboratoire d’Optimisation Globale. Structure de recherche commune a l’ENAC

et a la SDER.SDER : Sous Direction Etudes et Recherche appliqueeSTCA : Short Term Conflict Alert. C’est le filet de sauvegarde des controleurs aeriens,

il avertit le controleur en cas de rapprochement dangereux d’aeronefs par une alertevisuelle materialisee sur l’interface radar.

Strips : Supports papier de format predefini permettant le suivi d’un avio n par lescontroleurs.

TCAS : Trafic Conflict Avoidance System. Systeme anti-collision embarque

A.3 Informatique

CP : Constraint ProgrammingCSP : Constraint Satisfaction ProblemPPC : Programmation par Contraintes

Page 73: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Annexe BListe des defintions

1 Domaine fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Contrainte binaire en extension . . . . . . . . . . . . . . . . . . . . . . . . . . 143 CSP sur les domaines finis avec contraintes binaires . . . . . . . . . . . . . . . 144 Instanciation partielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Instanciation totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Satisfaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Instanciation consistante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Arc-consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1710 Arc-consistance d’un CSP binaire . . . . . . . . . . . . . . . . . . . . . . . . . 1711 Arc-B-Consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1812 Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2213 Conflit potentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3314 Point de conflit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3715 Trajectoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

73

Page 74: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la
Page 75: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

Bibliographie

[Alliot 98] Jean-Marc Alliot et Nicolas Durand. Faces : A free flight au-tonomous and coordinated embarked solver. 2nd USA/EUROPE ATMR & D seminar. 1998.

[Alliot 03] Jean-Marc Alliot et Dominique Colin de Verdiere. L’ATM : 20ans d’effort et perspectives. Rapport technique, CENA, novembre 2003.

[Archambault 04a] Nicolas Archambault. Speed uncertainty and speed regulation in con-flict resolution. Rapport technique, LOG (CENA ENAC) / EEC, 2004.

[Archambault 04b] Nicolas Archambault et Nicolas Durand. Scheduling heuristics foron board sequential air conflict solving. 23rd DASC. 2004.

[Baptiste 01] Philippe Baptiste, Claude Le Pape et Wim Nuijten. Constraint-Based Scheduling, Applying Constraint Programming to SchedulingProblems. Kluwer’s INTERNATIONAL SERIES, 2001.

[Barnier 02] Nicolas Barnier. Application de la programmation par contraintesa des problemes de gestion du trafic aerien. These : These doctoratinformatique de l’INP Toulouse, 2002.

[Bartak 99] R. Bartak. Constraint programming : In pursuit of the holy grail,1999.

[Bartak 03] Roman Bartak. Constraint based scheduling : An introduction fornewcomers. 7th IFAC Workshop on Intelligent Manufacturing Systems.2003.

[Chansou 95] Olivier Chansou. Utilisation des Algorithmes Genetiques pour laResolution de conflits aeriens. Rapport DEA : Rapport DEA IFP.,1995.

[Durand 96] Nicolas Durand. Optimisation de trajectoires pour la resolution deconflits. These : These doctorat informatique INPT, 1996.

[Durand 03] Nicolas Durand et Geraud Granger. A traffic complexity approachthrough cluster analysis. ATM2003. 2003.

75

Page 76: R´esolution de conflits par r´egulation en vitesse et ...pom.tls.cena.fr/papers/thesis/huard06.pdf · nature de Caml, pour quelques ann´ees plus tard pouvoir m’initier `a la

76 BIBLIOGRAPHIE

[Feydy 05a] Thibaut Feydy. Programmation par contraintes sur les domaines con-tinus, mise en oeuvre et application a la gestion du trafic aerien. Rap-port DEA : Ecole Nationale de l’Aviation Civile, 2005.

[Feydy 05b] Thibaut Feydy, Nicolas Barnier, Pascal Brisset et Nicolas Du-

rand. Mixed conflict model for air traffic control. Principles andPractice of Constraint Programming (CP 2005). 2005.

[Fromherz 01] Markus P.J. Fromherz. Constraint based scheduling. American Con-trol Conference. 2001.

[Gaudiere 95] Gervais Gaudiere. Resolution de Conflits Aeriens par Reseaux deNeurones. Rapport DEA : Rapport DEA IFP., 1995.

[Gotteland 04] Jean-Baptiste Gotteland. Optimisation du trafic au sol sur lesgrands aeroports. These : These doctorat informatique de l’INPT, 2004.

[Granger 02] Geraud Granger. Detection et resolution de conflits aeriens :modelisations et analyse. These : These doctorat informatique del’Ecole Polytechnique, 2002.

[Kumar 92] Vipin Kumar. Algorithms for constraint satisfaction problems : Asurvey. AI Magazine, 1992, vol 13, p 32–44.

[Medioni 98] Frederic Medioni. Methode d’optimisation pour l’evitement aerien :systemes centralises, systemes embarques. These : These doctorat in-formatique de l’Ecole Polytechnique, 1998.

[Nguyen 04] Huy-Hoang Nguyen. Coordination des Avions pour la resolution deConflits : Une Approche Basee sur le Graphe de PERT Disjonctif.These : Universite de Technologie de Compiegne, 2004.

[Pozzi 03] Sandro Pozzi. 2002, the year that revolutionised european airspacearchitecture. Skyway, the EUROCONTROL Magazine, 2003, vol 7,n28.

[Vilim 05] Petr Vilim, Roman Bartak et Ondrej Cepek. Extension ofO(n log n) filtering algorithms for the unary resource constraint to op-tional activities. Constraints, An International Journal, 2005, vol 10,n4.

[Villiers 04] Jacques Villiers. ERASMUS : Une voie conviviale pour franchir lemur de la capacite. Rapport technique, ITA, 2004.