Vous êtes sur la page 1sur 36

MEMOIRE DE FIN DETUDE

Recherche de solutions au problme


de chevauchement de labels
Auteur : Alain Duverger Effectu Eurocontrol, Bretigny
Soutenu le : 28/06/1999
Jury : M. M. Mallem, enseignant chercheur lIIE, prsident
M. A. Faye, enseignant chercheur lIIE
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Remerciements

Le stage sest droul au sein du dpartement Telecom & Multimedia Technologies


(TEC) du Centre Exprimental dEurocontrol. Lintgration dans lquipe sest effectue
rapidement et facilement. Lencadrement fut effectu par Horst Hering et Gilles Gawinowski
qui ont suivi avec intrt mon travail et mont beaucoup aid.

Je tiens remercier toute lquipe du dpartement Telecom & Multimedia


Technologies avec laquelle jai eu plaisir travailler :

Je remercie les stagiaires qui ont effectuer leur travail durant cette priode, Laetitia
Thernier, Karim Halloumi, Yann Serieye, Francois Philippe, Denis Lalos et Frdric Salvy
qui ont contribuer lambiance chaleureuse durant ces six mois de stage.
De mme, je remercie Laurent Crouzard, Christian Musson, Laurent Guichard, Patrick
Villany et Gilbert Coatleven.

Enfin, je voudrais en particulier remercier mon matre de stage, Horst Hering pour son
aide et son soutien, et surtout Gilles Gawinowski, chef du dpartement, pour ces nombreux
conseils.

2
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

CONSERVATOIRE NATIONAL DES ARTS ET METIERS


INSTITUT DINFORMATIQUE DENTREPRISE

Fiche signaltique

Mmoire en vue dobtenir le diplme dingnieur IIE.

Recherche de solutions au problme


de chevauchement de labels

Auteur : Alain Duverger

Directeur de mmoire : Horst Hering, Eurocontrol.

Lcran radar des contrleurs ariens comporte une multitude


dinformations contenues dans des tiquettes. Ces tiquettes, du fait de leur
grand nombre se chevauchent frquemment rendant leur contenu illisible. Il
sagit de rechercher un algorithme permettant dviter ces chevauchements de
faon automatique.

3
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Rsum du mmoire
Sur les crans radar des contrleurs ariens apparaissent un grand nombre
dinformations. A chaque avion prsent dans le secteur contrl est associ une tiquette (un
label) contenant un certain nombre dinformation sur ce dernier (nom, altitude ,vitesse). Ce
label est positionn prs de lavion et le suit dans ses dplacements.
De nos jours, le trafic arien ne cesse daugmenter et donc le nombre de ces labels
augmente de mme. Par consquent, il arrive de plus en plus frquemment que des labels se
chevauchent, rendant les informations quils contiennent illisibles. Les contrleurs sont donc
obligs dintervenir manuellement (avec une souris par exemple) afin de rorganiser les
labels.
Lobjet de la recherche est donc de trouver une mthode, un algorithme, permettant de
rsoudre ce problme de faon automatique et, ainsi, soulager les contrleurs de ces
interventions manuelles qui peuvent les gner dans leur travail.
Le fait que le temps dont on dispose pour rsoudre le problme entre chaque
mouvement des avions est assez court (de lordre de 8 10 secondes entre deux mises jour)
et aussi le fait que la solution ne doit pas gner le contrleur (mouvements intempestifs des
labels par exemple) limitent quelque peu la recherche.

Pour approcher ce problme, il faut dabord connatre ce qui a dj t tent sur le


sujet. Dans le cas de ce problme, aucune solution nest en application actuellement. Puis il
faut tudier les approches possibles pour rsoudre le problme. Enfin, il faut tester ces
approches en simulant un trafic ou, pourquoi pas, en lintgrant dans un centre de contrle.

Il nexiste aucune solution ce problme qui soit applique actuellement dans un


centre de contrle. La seule solution teste jusqu prsent est une solution dveloppe par le
Centre dEtude sur la Navigation Arienne (CENA) mais elle a peu de chance dtre valide
du fait de certains dfauts. Le but est donc dapporter une approche diffrente du problme
afin dviter les dfauts de la solution du CENA. Cette approche peut tre une approche plus
scientifique ou, du moins, plus mathmatique.
La recherche a abouti une solution utilisant une approche la fois technique, pour la
gestion des recouvrements, et mathmatique, pour la recherche de la meilleure position dun
label un instant donn. Lobjectif de la solution est de rechercher chaque instant la
meilleure position c'est--dire la position la plus proche de la position idale par rapport
lavion (dtermine selon des critres dergonomie) en vitant les chevauchements.
Pour cela, on crer une fonction dvaluation des positions du label relativement la
position idale et lon cherchera la maximiser sous contrainte de ne pas provoquer de
chevauchements (viter certaines positions). On ajoute cela une notion danticipation des
mouvements afin de prvoir les chevauchements plus lavance.

La solution dveloppe va tre test sur une plate-forme de prototypage afin dtre
value sur un trafic simul. Elle va aussi tre implante sur une plate-forme pr-
oprationnelle qui sera soumise un vrai trafic arien et teste par des contrleurs dans des
situations relles.

Une grande partie de la recherche et notamment la recherche de la position idale t


aiguille par le document Anti-overlap requirements rdige par S. Dorbes, ergonome
Eurocontrol. Ce document a pour but de fixer les limites et exigences que doit respecter un
algorithme danti-recouvrement.

4
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

TABLE DES MATIERES


I. ENVIRONNEMENT ..................................................................................................... 6
1. CENTRE EXPRIMENTAL DEUROCONTROL.................................................................... 6
2. ENVIRONNEMENT HUMAIN ET TECHNIQUE ..................................................................... 6
II. OBJET DE LA RECHERCHE ..................................................................................... 7
1. CONTEXTE .................................................................................................................... 7
a) Le travail du Contrleur arien................................................................................ 7
b) Le poste de travail (CWP) ........................................................................................ 9
c) Prsentation du projet SmartControl (ancien MIT)................................................ 10
2. LE PROBLME DE CHEVAUCHEMENT DE LABELS........................................................... 13
a) Description............................................................................................................. 13
b) Solution actuelle..................................................................................................... 14
III. ETUDE DU PROBLME ........................................................................................... 14
1. EXISTANT.................................................................................................................... 14
2. ANTI-OVERLAP REQUIREMENTS ............................................................................. 15
3. APPROCHES ................................................................................................................. 16
a) Deux approches...................................................................................................... 16
b) Plus loin dans la deuxime approche ..................................................................... 16
IV. SOLUTION ADOPTE .............................................................................................. 18
1. GESTION DES RECOUVREMENTS ................................................................................... 18
a)
Grille...................................................................................................................... 18
b)
Forme des lments................................................................................................ 20
2. GESTION DES ANTI-OVERLAP REQUIREMENTS ........................................................ 20
a) Fonction dvaluation ............................................................................................ 20
b) Recherche de maxima de la fonction dvaluation ................................................. 23
c) Les contraintes danti-recouvrement dans la fonction dvaluation....................... 27
d) Anticipation............................................................................................................ 29
V. IMPLMENTATION DE LA SOLUTION ............................................................... 31
1. STRUCTURE................................................................................................................. 31
a)
Structure gnrale.................................................................................................. 31
b)
Structure du module Supervisor ............................................................................. 32
2. DANS LE DTAIL.......................................................................................................... 34
a) Fonction dvaluation ............................................................................................ 34
b) Implmentation de leuristique............................................................................... 34
VI. CONCLUSION............................................................................................................. 36
LA RECHERCHE ................................................................................................................... 36
LES APPORTS DU STAGE....................................................................................................... 36

5
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

I. Environnement
Organisme daccueil: EUROCONTROL Directeur du Mmoire: Horst HERING
Adresse: BP 15, 91222 BRETIGNY Tel: 01.69.88.73.84
Tel: 01.69.88.75.00 Tel du stagiaire: 01.69.88.73.42

1. Centre Exprimental dEurocontrol

EUROCONTROL, organisation europenne pour la scurit de la navigation


arienne compte 22 tats membres : Allemagne, Belgique, France, Luxembourg, Pays Bas,
Royaume Uni, Irlande , Portugal, Grce, Turquie, Malte, Chypre, Hongrie, Suisse, Autriche,
Norvge, Danemark, Slovnie, Sude, Rpublique tchque, Italie et Roumanie, et rcemment
Monaco.
Fond en 1960, dans le but de superviser le contrle du trafic arien dans lespace des
pays membres, EUROCONTROL a comme but principal le dveloppement dun systme de
contrle du trafic arien cohrent et coordonn.

Mon mmoire se droule au centre exprimental dEUROCONTROL


(EUROCONTROL EXPERIMENTAL CENTRE) Brtigny-sur-Orge, au sud de Paris. Le
CEE fournit des moyens pour le design, le dveloppement et lamlioration des systmes de
contrle du trafic arien. Le site du CEE occupe 90000 mtres carrs de surface, et compte
environ 15000 mtres carrs pour les bureaux, les salles de runion, les salles
dexprimentation et les ateliers de travail. Le reste du site est rserv la simulation en
temps rel, qui comprend deux salles de simulation et une salle contenant un simulateur de
vol. Environ 400 personnes sont prsentes dans les btiments, ceci incluant des consultants
venant dautres socits.
Outre la recherche et le dveloppement de nouveaux outils pour le contrle arien, le
CEE possde une salle de simulation permettant des centres de contrle europens dtudier
de nouveaux cas de figure dans leur zone de contrle (prdiction de lvolution du trafic,
nouvelle rpartition du travail entre les contrleurs etc.) dans des conditions trs proches de la
ralit.

2. Environnement humain et technique

La recherche sest droule dans le dpartement Telecomunication & Multimedia


Technologies (TEC). Il a son actif des projets tels que AudioLAN (IP Telephony) utilisant
IPv6 (IP nouvelle gnration).
Je suis encadr par mon matre de stage Horst Hering, mais aussi Gilbert Coatleven
aussi rattach au projet. Je suis aussi en contact avec dautres personnes telles que Gilles
Gawinowski (chef du dpartement) ainsi que Christian Musson.

Cot matriel, je dispose dun PC (un pentium II 266MHz) sous Windows NT


contenant les logiciels de Bureautique habituels (Word 97 etc.), ainsi quun terminal X
connecter une machine sous Unix. Je possde aussi un accs Internet ce qui maide dans
mes recherches.

6
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Je travaille dans le cadre du projet SMARTCONTROL (anciennement MIT) qui a


pour but dtudier une nouvelle architecture et de nouveaux outils pour le CWP (Controler
Working Position), le CWP du future .

II. Objet de la recherche

1. Contexte

a) Le travail du Contrleur arien

Lorsquun avion effectue un vol dun aroport un autre, il doit par avance dfinir un
plan de vol. Il sagit dun ensemble de points de rfrence (Way Points) qui dtermine sa
trajectoire. A linstar du sol, la navigation arienne civile possde des routes quil faut
emprunter (le trajet ne se fait pas forcement en ligne droite). Ces routes sont caractrise par
des Way Points. Les avions naviguent selon ces Way Points qui correspondent dans la ralit
des balises radar.

Fig. II.1.a. 1 Exemple de routes de navigation

Le rle du contrleur arien est de diriger les avions traversant un secteur donn. Il ne
sagit pas simplement de surveiller le bon droulement du passage dun avion dans le secteur
contrl. En effet, le contrleur est l pour indiquer lavion tous les renseignements et
manuvres effectuer pour que ce dernier suive son plan de vol. De plus, il doit dtecter et

7
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

rsoudre dventuels conflits intervenant dans son secteur. En fait, le pilote ne prend aucune
dcision en ce qui concerne son vol, il suit simplement les instructions des contrleurs.

Le contrle arien seffectue sur trois niveaux : contrle en route, approche et tour de
contrle. Ces trois niveaux correspondent des secteurs de tailles diffrentes (primtre plus
grand pour le contrle en route et plus petit pour les tours de contrle) et des altitudes
diffrentes (hautes altitude pour le contrle en route et basses pour les tours de contrle, Fig.
II.1.a.1). Lors dun vol, un avion passe successivement dans chacun des niveaux de contrle :
tour de contrle -> approche -> route, puis route -> approche -> tour de contrle.

Tour de Tour de
Approche Controle en route Approche
controle controle
Altitude

Decollage Vol Atterrissage


Fig. II.1.a. 2 Succession des diffrents niveaux de contrle durant un trajet.

Le contrle en route correspond diriger les avions vers leurs Way Points, le contrle
en approche sert diriger les avions vers les aroports et enfin la tour de contrle gre les
atterrissages et dcollages.

Un secteur est contrl par un seul poste, il doit donc grer un grand nombre davion
en mme temps (jusqu 20 30 avions dans les cas extrmes). Lorsquun avion passe dun
secteur un autre, les contrleurs des deux secteurs se communiquent les renseignements (en
Europe, ces renseignements sont communiqus par lintermdiaire de strips , des
bandelettes de papier contenant des informations diverses : origine, destination, plan de vol,
altitude etc.).

Fig. II.1.a. 3 Un strip

8
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Il y a donc deux parties diffrentes dans le travail du contrleur : dialogues avec les
pilotes et dialogues avec les contrleurs des secteurs adjacents. Cest pourquoi chaque poste
de contrle est occup par deux contrleurs qui travaillent en collaboration.
Ces deux contrleurs sont le contrleur radariste (ou excutif) et le contrleur
organique (ou planning). Le rle du premier est de rsoudre les conflits et de donner les
indications aux pilotes. Le rle du second est de soccuper des transferts de vols dun secteur
un autre, ainsi que danticiper des problmes ventuels.

b) Le poste de travail (CWP)

Le CWP (Controler Working Position ou poste de travail du contrleur) est quip


dun cran affichant une image radar du secteur (Radar Display), dun moyen de
communication (tlphone ou radio), dune souris (ventuellement un clavier) et dune
imprimante de strips (pour le cas europen).

Fig. II.1.b. 1 Photo dun CWP durant une simulation Eurocontrol

De nos jours limage radar (Fig II.1.b.2) est une image numrique mise jour
rgulirement ( chaque passage du radar, soit environ toutes les 5 ou 10 secondes)
reprsentant les positions des avions et plusieurs autres informations le concernant (altitude,
vitesse, destination etc.), elle correspond ltat rel du trafic. Le contrleur peut interagir
avec cette image par le biais dune souris ou dun clavier.

9
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Fig. II.1.b. 2 Un exemple dcran de CWP (Simulateur STANS).

Lors de linformatisation de lcran radar (avec la numrisation des donnes radar), on


a voulu insrer dans le Radar Display un grand nombre dinformations et doutils. Par
consquent, le nombre de donnes affiches est devenu trs important et la lisibilit a
diminu.

Limprimante de strips sert recevoir les informations concernant les avions


entrant dans le secteurs (ces informations sont envoye par le contrleur dun autre secteur).

Les seuls outils utiliss par les contrleurs sont donc lcran radar, le tlphone (ou la
radio) et les strips. Cest aussi dans cette direction que le CWP tend voluer, cest--dire
lajout de nouveaux outils.
Enfin, les contrleurs dialogues entre eux et avec les pilotes via la radio et/ou le
tlphone.

c) Prsentation du projet SmartControl (ancien MIT)

Mon travail se situe dans le cadre du projet SMARTCONTROL visant imaginer le


CWP (Controller Working Position : poste de travail dun contrleur arien) du futur pour le
contrle du trafic arien (Air Trafic Control : ATC). Il sagit en fait de rechercher une

10
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

nouvelle architecture (matrielle et logicielle) pour le CWP permettant une plus grande
ergonomie et une plus grande clart dans la visualisation du trafic arien.

Le projet se dcompose en trois parties :

Phase 1 Phase 2

Hardware

Software

Concepts

Fig. II.1.c. 1 Structure du projet SMARTCONTROL

Le partie Hardware a pour but la recherche et ltude des nouvelles technologies


pouvant tre envisages comme solution pour une nouvelle architecture matrielle du CWP. Il
sagit l de comparer les divers types dcran existant (LCD, Plasma etc.), les diffrentes
interfaces matrielles (remplacer la souris par un cran tactile par exemple).
Paralllement la partie concept correspond la recherche dune nouvelle faon de
reprsenter les donnes, de nouveaux moyens dinteraction entre le contrleur et le CWP ainsi
que de nouveau outils. Cest dans cette partie que se situe mon travail, il consiste en une
amlioration du Radar Display.
Cette partie a aussi pour but dallger le Radar Display en dcentralisant les outils et
certaines donnes.

NOTAM
AH4389
LH373

Altitude: 321
Dest : ALD

NOTAM
25 % 50 % 25 %
AH4389
LH373

Fig. II.1.c. 2 Sparation du Radar Display et des outils

11
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Ltude est dsormais faite en collaboration avec le CENA (Centre dEtude pour la
Navigation Arienne, lquivalent franais dEurocontrol) qui a dj propos et ralis
quelques outils ainsi quune plate-forme de test (IVY, dcrite en annexe).

Enfin, une fois la Phase 1 termine, le travail restant faire correspond au


dveloppement dun prototype de CWP. Il ne sagit pas l de crer une application finalise
et directement utilisable, mais plutt daboutir des spcifications et surtout une
prsentation dune maquette de la solution aux principaux intresss. Ceci pourra permettre
dtablir un cahier des charges en ensuite de sous-traiter le dveloppement de la solution
finale.

12
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

2. Le problme de chevauchement de labels

a) Description

Actuellement, linterface visuelle dun CWP est constitue dun simple cran. Sur cet
cran saffiche une grande quantit dinformation ce qui provoque souvent une vision trs
confuse. En effet, lcran dun CWP sert afficher lensemble des avions circulant dans le
secteur concern, chacun de ces avions correspond un certain nombre de renseignements le
concernant (altitude, direction, en ascension ou en descente etc.).

Vecteur vitesse
Historique Avion
des positions

135

Leader line
20 pxls

AFR7535 PAR
290^ 850

Label
Fig. II.2.a. 1 Reprsentation dun avion et des diffrents
renseignements qui laccompagnent.

Ces donnes sont affiches dans une tiquette (un label) rattach la position de
lavion (par une ligne appele leader line ). Or, le nombre davions dans un mme secteur
peut tre trs important (jusqu 20 ou 30 voire plus dans le futur), par consquent, il arrive
trs frquemment que plusieurs labels se superposent rendant la lecture des donnes
impossible (notamment lorsque plusieurs avions sont en attente dans le mme secteur, cf. Fig
II.2.a.2). Le problme est assez simple en soi, mais il est trs gnant et il ny a toujours pas de
solution applique lheure actuelle. Ce problme soulve aussi lide de revoir la faon
dafficher les donnes.

13
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Fig. II.2.a. 2 Problme de chevauchement.

Le but de ce travail est dtudier diverses solutions dj envisages et den rechercher


dautres afin de pourvoir les proposer lors des simulations organises dans le centre. Les
rsultats obtenus seront certainement appliqus court terme, dans la simulation.

b) Solution actuelle

La seule solution en application actuellement est lintervention manuelle. C'est--dire


que le contrleur corrige lui-mme les problmes de chevauchement en intervenant sur le
positionnement des labels grce la souris. Il est donc constamment en train de repositionner
les labels.
Sur les plates-formes de simulation actuelles, il existe un systme danti-recouvrement
(dcrit plus loin, dvelopp par le CENA), mais est le plus souvent dsactiv cause de son
instabilit et de son incapacit rsoudre certains cas.

III. Etude du problme

1. Existant

Il existe dj une solution ralise par le CENA. Elle consiste considrer que les
labels possdent un champ magntique et donc ont tendance se repousser les uns les autres.
Cette solution prsente des points intressants mais nest pas efficace cent pour cent. En
effet, lorsque le nombre de labels est suffisamment grand (et cela arrive frquemment) les
forces magntiques ne suffisent plus les repousser et lon abouti de nouveau des
chevauchements. De plus, cette mthode souffre dune grande instabilit (un label repouss
par plusieurs labels peut avoir un mouvement vibratoire trs gnant pour le contrleur). Enfin,
les labels ne se positionnent pas toujours convenablement. Il existe des positions
prfrentielles dun label par rapport lavion (voir en annexe le papier sur les Anti-overlap
requirements) et surtout, il existe des positions viter. Ce genre de considrations ne sont
pas prises en compte par cette algorithme.
Cette solution est actuellement en utilisation dans les simulations Eurocontrol mais
elle est la plupart du temps dsactive par les contrleurs qui sont gns par son instabilit.

14
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

2. Anti-overlap requirements

On constate grce lchec de la solution du CENA quil y a beaucoup de contraintes


que doit respecter une solution au problme. Ces contraintes sont, pour la plupart dordre
ergonomique, elles ont un rapport avec le positionnement du label par rapport lavion, le
mouvement des labels etc.
Une tude a t faite sur ces contraintes, le rsultat de cette tude se trouve en annexe
( Anti-overlap requirements ). Ltude est trs dtaill et prcise, il nest pas ncessaire,
dans un premier temps, de considrer les contraintes dans le dtail.

Voici les contraintes prises en compte dans ltude qui suit :

Contraintes de non-recouvrement :
Ces contraintes sont la base du problme danti-recouvrement.

Un label ne doit pas chevaucher (dans lordre de priorit):


- un autre label (contrainte obligatoire)
- un symbole davion
- lhistorique des positions dun avion (3 ou 4 symboles)
- la ligne reprsentant la vitesse dun avion (contrainte moins importante)

Les leader lines ne doivent pas se croiser ni croiser un label. (ces deux
contraintes sont trs fortes car elles rduisent normment le nombre de positions
possibles).

Contraintes de positionnement :
Ces contraintes correspondent ce qui est suppos tre la meilleure position possible pour
un label (relativement lavion qui lui est associ). Cette position est caractrise par deux
critres principaux :
- angle entre la leader line et le vecteur vitesse de lavion
(par exemple : 135 )
- distance entre le label et lavion associ (ou longueur de la leader line )
(par exemple : 20 pixels)

La figure II.2.a.1 reprsente la position caractrise par les contraintes et les valeurs ci-
dessus. Bien entendu, cette position idale peut tre diffrentes selon les gots des
utilisateurs (un contrleur peut prfrer que le label soit toujours en haut droite de lavion,
quelque soit sa direction). Nanmoins ltude est effectue avec ces contraintes comme
rfrence.

Une dernire contrainte vient sajouter cette liste, il sagit dune contrainte portant sur la
solution en elle mme :
- le mouvement dun label lors dun repositionnement ne doit pas dpasser
une certaine distance (par exemple : 40 pixels).

Il existe dautres contraintes dcrites dans le document, mais il sagit de contraintes


beaucoup plus oriente vers des dtails des contraintes principales. Elles seront nglige dans
un premier temps, mais pourrons facilement tre prises en compte plus tard.

15
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

On peut dores et dj poser deux dfinitions :


- une solution sera dite admissible si elle respecte les contraintes de non-
recouvrement.
- une solution sera dite optimale si elle respecte les contraintes de
positionnement ainsi que la contrainte de repositionnement.

Ladmissibilit pourra tre limite la contrainte de plus forte priorit (les labels ne se
chevauchent jamais). De mme, loptimalit pourra tre considre comme atteinte lorsquune
solution propose des positionnement proche de la position idale (loptimalit absolue ne
peut bien sur pas tre atteinte du fait des contraintes de non-recouvrement).

Lobjectif est donc dobtenir une solution admissible la plus optimale possible .

3. Approches

a) Deux approches

On peut envisager en tout premier lieu deux approches possibles : prvenir ou gurir.

Lapproche gurir correspond ne pas chercher viter les chevauchements, mais


essayer de trouver une technique permettant de distinguer les donnes relatives aux labels
lorsque ceux-ci sont superposs. Il sagit plus dune recherche sur lapparence des labels, par
exemple on peut imaginer dutiliser des couleurs diffrentes, des polices de caractres
diffrentes, des tailles diffrentes etc. Mais, si cela peut fonctionner avec deux labels (lil
humain peut faire la distinction entre deux images superposes), ces mthodes perdent toute
leur efficacit ds que le nombre de label dpasse deux, et cela arrive frquemment. De plus,
cette approche assure loptimalit mais ne gre pas ladmissibilit du rsultat.
Bref, cette approche aboutie rapidement une impasse. La recherche sest donc oriente
vers la seconde approche.

Lapproche prvenir correspond donc chercher un moyen dviter les


chevauchements. Il sagit de repositionner les labels chaque instant afin de ne jamais aboutir
un chevauchement. Cest donc dans cette optique que ltude va seffectuer.

b) Plus loin dans la deuxime approche

Ici encore, on peut considrer plusieurs approches :

- Approche individualiste du problme.


- Approche globale du problme.
- Approche passive du problme (inspire de la solution dveloppe par le CENA).

Approche individualiste

16
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Il sagit de considrer les comportements des labels indpendamment ( priori) les uns des
autres. Une solution de ce type doit appliquer des mthodes visant modifier le mouvement,
la position ou le comportement des labels de faon individuelle.
Cette approche peut sassocier avec la notion dagent intelligent. Chaque label possde un
comportement qui est rgit par son environnement (dans ce cas, les labels alentour). On peut
ainsi tablir des rgles de comportement qui permettront de ne jamais rencontrer de
chevauchements.
Lintrt de cette approche est quavec des rgles trs simples on peut aboutir rapidement
une solution admissible. Par contre, il est ncessaire dtudier plus en profondeurs ces rgles
pour obtenir une solution optimale.

Approche globale

Cette approche est en opposition avec la premire approche car elle correspond chercher
une solution utilisant les donnes relatives lensemble des labels en situation de conflit. Par
cette approche, on veut directement aboutir une solution optimale. On peut imaginer
plusieurs solutions dans cette optique.

Tout dabord on peut utiliser un module qui supervise les mouvements des labels et qui
tudie lavance les conflits ventuels. Etant renseign sur lintgralit des mouvements des
labels, il pourrait anticiper les conflits et ainsi modifier les trajectoires. Ce type de solution est
plus difficile mettre en uvre car elle demande de dtecter les conflits puis de trouver des
trajectoires liminant ces conflits (sans en crer dautres bien entendu). De plus,
ladmissibilit des solutions est plus difficile vrifier.

On peut aussi utiliser un module qui rorganise les labels chaque tape. Lide ici est de
modliser le problme un peu comme un problme doptimisation mathmatique (par
exemple : minimiser les distances entre les labels et leurs avions respectifs, sous contrainte de
ne pas avoir de chevauchement). Mais il est inconcevable de rsoudre le problme de faon
mathmatique. Tout dabord, parce que le nombre de variables nest pas fixe (arrive et dpart
davions dans le secteur), et surtout, parce quil est important (deux trois variables par label
pour un maximum de 20 30 labels) et donc les calculs prendrait trop de temps (lintervalle
de temps entre deux mises jour est de 5 10 secondes en gnral).
Nanmoins, on peut imaginer un algorithme plus adapt et surtout moins coteux en
temps.

Cette approche peut tre soutenue par le fait que les avions empruntent constamment les
mmes trajectoires (avec trs peu de variations, surtout dans le contrle en route). On peut
mme penser des solutions spcifiques pour chaque secteur, en effet, dans un secteur donn,
les conflits apparaissent toujours dans les mme lieux (les croisements de routes par
exemple).

Approche passive

Cette dernire approche est dite passive car elle correspond laisser faire les choses .
Elle est inspire de la solution du CENA. En effet, lide du CENA est dassocier aux labels
un champ magntique qui fait quil se repoussent les uns les autres. A partir de l, il suffit

17
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

dobserver pour constater le rsultat, les chevauchement disparaissent de faon naturelle


(dans ce cas prcis, la solution nest toute fois pas totalement admissible).

En reprenant cette ide, on peut effectivement imaginer une solution utilisant les lois de la
physique mais, au lieu dutiliser le magntisme, on peut utiliser la mcanique et la dynamique.
Cette fois, on considre que les labels sont des volumes (des boules par exemple) qui
possdent une masse (et donc une inertie) et qui sentrechoquent ( la diffrence de se
repousser), le lien avec lavion peut se modliser par un lien lastique ce qui permet de
conserver une distance constante et de transmettre au label le mouvement de lavion.
On est sr dans ce cas de ladmissibilit de la solution, par contre on na aucun
renseignement quant loptimalit. On nest pas sur non plus de la stabilit des labels.

Lintrt de cette solution est le nombre de paramtres que lon peut modifier : la masse
des labels, la raideur de llastique, les frottements, les quantit de mouvement transmis lors
des chocs... Tous ces paramtres peuvent aider se rapprocher dun solution optimale ainsi
que daugmenter la stabilit.
Ltude de cette solution doit se faire de manire empirique car le comportement de tels
objets est quasiment imprvisible.

IV. Solution adopte


Parmi ces diffrentes approches, on peut viter lapproche passive . En effet, on ne
peut jamais tre sur de la stabilit de la solution et il est difficile de sapprocher loptimalit.
De plus lexprience a dj t faite par le CENA et elle semble mal accepte par les
contrleurs.
Lapproche globale est encore une solution envisageable, dautant plus quil est plus
facile danticiper les conflits lorsquon a une vue gnrale sur le problme. Nanmoins, nous
laisserons cette approche de cot, sans pour autant labandonner, elle pourra faire lobjet
dune tude ultrieure.

L'approche dveloppe par la suite est donc l'approche individualiste . Il sagit donc
de dterminer les rgles de comportement des labels.
Pour cela, il faut tout dabord trouver un moyen pour ces labels danalyser leur
environnement, dtecter les situations de conflit avec dautres lments (chevauchements) et
ainsi en faire une solution admissible.
Ensuite, il faut trouver les rgles permettant dapprocher loptimalit dfinie par les
contraintes de positionnement.

1. Gestion des recouvrements

a) Grille

Afin de dtecter les conflits dus aux contraintes de chevauchement, l'on pourrait
effectuer des tests sur les positions de chaque label, mais cela ne correspond pas l'optique de
l'approche choisie. De plus, il y aurait de nombreux tests superflus.

18
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Lapproche individualiste sous-entend la notion dagent intelligent, c'est--dire un


entit agissant par rapport son environnement. Dans notre cas, ils sagit dun label ragissant
la prsence de labels ou davions alentour. Mais cest juste cette prsence qui est importante
en soi, pas lentit prsente (inutile de diffrencier les labels des avions).
Ainsi, un label doit simplement connatre les zones occupes autour de lui afin de
dterminer sil est en situation de conflit ou non. Do lide dtablir une carte des
alentours du label et, par extension, une carte globale permettant de connatre les zones
occupes de lcran. Pour cela, il suffit de partager lcran en un ensemble de cases (ou
cellules) ayant deux tats possibles : libre ou occupe.
Chaque objet affich lcran occupe donc un certain nombre de cellules
correspondant son apparence. Ainsi, un label peut simplement consulter ltat des cellules
autour de lui pour savoir sil sapproche dune situation de conflit.

LFT0098 MUN
350^ 775

AFR7535 PAR
290^ 850

Occupe Iibre

Fig. IV.1.a 1 Occupation des objets dans la grille

On a, grce cette grille, un moyen d'assurer l'admissibilit de la solution. En effet, il


suffit dtablir la rgle suivante :

Un label ne peut occuper des cellules dj occupes.

Cette rgle peut tre nuance afin dy intgrer les priorits dfinies par les contraintes
danti-recouvrement.

19
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

b) Forme des lments

Dans cette grille, chaque lment possde une forme. Ces formes peuvent tre plus ou
moins dtailles sachant que plus le niveau de dtail est lev plus cela rduit le nombre de
positions ne provoquant pas de chevauchement.
La forme dun avion par exemple peut comprendre seulement un carr contenant sa
position ou, en plus, une forme contenant son vecteur vitesse apparent.
Ce degr de dtail permettra de tenir compte ou non des diffrentes contraintes danti-
recouvrement.
Par exemple, pour tenir compte de la contrainte lie aux leader lines (elles ne doivent pas
se croiser ni croiser de labels etc.) il suffit de rajouter la forme du label une forme contenant
la leader line. Un croisement de leader line sera donc considr comme un chevauchement de
label.

Un nouveau problme apparat : lorsquun label ne peut pas suivre le mouvement de


son avion sous peine de provoquer un recouvrement, il faut maintenant dterminer sa nouvelle
position. Cette nouvelle position est soumise aux contraintes de positionnement dfinies plus
haut. Il sagit de trouver des rgles comportementales permettant de prendre en compte toutes
ces contraintes et ainsi de pouvoir choisir la position se rapprochant le plus de la position
idale.

2. Gestion des anti-overlap requirements

a) Fonction dvaluation

Les rgles voques plus haut sont simples :


- Choisir la position qui fait un angle avec le vecteur vitesse le plus proche
de 135
- Choisir la position dont la distance lavion est la plus proche de 20 pixels.
- Choisir la position qui provoquera le plus petit dplacement possible.

Chaque rgle est facile respecter individuellement, mais il est difficile de les
respecter toutes en mme temps. En effet, une position optimale pour la premire rgle nen
est pas forcment une pour la seconde et vice versa.

Comment faire pour contourner ce problme ? Il faut en faire une seule et mme rgle..

Pour essayer de respecter la premire rgle on essai dvaluer la position par rapport
langle quelle fait avec le vecteur vitesse de lavion. Si cet angle est de 135 on dira que la
position est optimale, si cet angle est de 100 on dira que la position est acceptable, si cet
angle est de 45 on dira que cette position est mauvaise. Langle tant une valeur entire
(voire relle) on peut essayer dvaluer cette position mathmatiquement, de 0 100 par
exemple :
- Angle = 135 => valuation = 100.
- Angle = 0 - 90 => valuation = 0.

20
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

On considrera la symtrie de lvaluation en rduisant le domaine de 0 180. 0-


90 sont des positions viter (selon les anti-overlap requirements , valeur 0), 135 est la
position optimale (valeur 100) et finalement pour 180 on peut considrer que cest une
position acceptable (valeur 50).

On crer ainsi une fonction dvaluation de la position selon son angle en interpolant
entre ces valeurs :

Evaluation
100

50

0 Angle
90 135 180
0

Fig. IV.2.a. 1 Fonction dvaluation selon langle entre la leader line et la direction de lavion

21
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

De mme on peut faire la mme valuation pour la distance en prenant comme valeur
(en pixels) 0-10 pour les valeurs viter, 40 pour la valeur optimale et 100 comme valeur
maximale (on ne limitera pas le domaine dans ce cas, toutes les valeurs au del de la valeur
maximales ont pour valuation 0) :

Evaluation
100

50

Distance
0
10 40 100 (pixels)
0

Fig. IV.2.a. 2 Fonction dvaluation selon la distance entre le label et lavion

Pour le dplacement caus on aura le mme genre de fonction avec un optimum 0 et


un maximum 40 (par exemple).

Toutes ses valuations sont fonctions de la simple position P du label, appelons les
a(P) pour langle, d(P) pour la distance et m(P) pour le dplacement. On cherchera, pour
chaque contrainte, maximiser la fonction qui lui est associe.
On peut maintenant transformer ces trois contraintes en une seule qui aurait comme
fonction dvaluation la moyenne des fonctions dvaluation des contraintes qui la
composent :
f(P) = (a(P) + d(P) + m(P)) /3

On peut donner plus dimportance certaines contraintes par rapport aux autres en
changeant cette moyenne en une moyenne pondre :

F(P) = (*a(P) + *d(P) + *m(P)) / (++)


La recherche de la position idale se ramne donc la maximisation de la fonction F.

22
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Si le label se positionne toujours sur le maximum de la fonction dvaluation, les


contraintes de positionnement sont bien respecte, on a bien une solution optimale.
Le problme est maintenant de trouver ce maximum

b) Recherche de maxima de la fonction dvaluation

F est une fonction variables entires, de forme assez complexe ( base de racines
carres et de fonctions trigonomtriques) ne possdant pas de proprits particulires. Bref,
peu dalgorithmes de recherche de maximum sont applicables cette fonction. De plus, elle
sera soumise des modifications par la suite (prise en compte des contraintes danti-
recouvrement). Le plus simple est donc de trouver une euristique de recherche de maximum
adapte au problme.

23
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Fig. IV.2.b. 1 Images des fonctions dvaluation distance ( gauche) et angle ( droite)

Fig. IV.2.b. 2 Image de la fonction dvaluation finale

24
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Par lobservation de limage de la fonction sur un domaine assez large on voit que la
fonction nadmet que peu de maxima (sans tenir compte de la contrainte de dplacement :
deux maxima globaux symtriques). Ces rsultats sont aisment dductibles en analysant les
maxima des fonctions spares. De plus, on observe que la fonction est assez rgulire, pas de
maxima locaux isols. En se positionnant en un point quelconque, on peut deviner un moyen
daboutir au maximum le plus proche : en suivant la pente de la fonction.

La mthode consiste donc partir dune position arbitraire et de suivre la direction de


plus grande pente : il faut valuer les huit positions autour et se dplacer dans la position
offrant la pente la plus grande. La progression doit seffectuer jusqu' arriver un maximum
(position pour laquelle les positions alentour noffre que des pentes ngatives).

#
## ## 80 85 81 ##
7
## 63 72 78 79 ##
13
53 58 65 67 75 ##
15
48 50 60 62 ## ##

45 47 55 ## ## ##

Point de dpart

Fig. IV.2.b. 3 Fonctionnement de leuristique de recherche

25
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Lexprience montre que leuristique, telle quelle est implmente, abouti toujours.

Fig. IV.2.b. 4 Exemple de recherche simple


Le problme est que le rsultat nest pas toujours un maximum global et quil dpend
du point choisi au dpart. Nanmoins, leuristique donne de faon gnrale de bons rsultats.

Afin dviter les maxima locaux souvent loin de la meilleure solution, lide est
dintroduire un seuil partir duquel on effectue une seconde recherche ( partir dun autre
point de dpart). Si lvaluation de la solution trouve est en dessous de ce seuil, on
recommence la recherche partir dun nouveau point. La prise en compte des contraintes
danti-recouvrement, par la suite, justifie encore plus lutilisation de ce seuil.

Le point de dpart de la recherche choisi est lancienne position du label. En effet, si


aucun changement nest intervenu entre deux tapes, le maximum est toujours le mme et
donc la recherche abouti immdiatement.
Le second point de dpart (si le seuil nest pas atteint) est la position de lavion. Ce
choix sest fait par lexprience. En effet, les cas les plus frquents o le seuil nest pas atteint
sont les cas o la solution trouve est trs loigne de lavion, le fait de recommencer la
recherche partir de la position de lavion fait que la nouvelle solution sera proche de lavion.
De plus, les maxima apparaissent proche de lavion. Encore une fois, ce choix est confort
plus loin lors de la prise en compte des contraintes danti-recouvrement.

26
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Lintrt de cette euristique est surtout sa simplicit et donc sa facilit tre


implmente. De plus, elle est trs facilement modifiable (choix du dplacement, condition
darrt..).
Un autre intrt est sa rapidit de convergence. En effet, la mise jour des nouvelles
positions se fait toutes les 8 10 secondes, ce qui laisse peut de temps pour les 20 ou 30 labels
deffectuer cette recherche.

La recherche de maximum dans la fonction dvaluation reste tout de mme une


direction de recherche ouverte. Leuristique prsente ici ne peut, bien sur, pas prtendre tre
une solution absolue.

c) Les contraintes danti-recouvrement dans la fonction dvaluation

Les contraintes danti-recouvrement dfinissent des positions interdites pour le


label. Ces positions ne doivent donc pas tre choisie dans la recherche prcdente. Pour cela,
il suffit que la fonction dvaluation leur donne la valeur 0. On a ainsi une nouvelle version de
la fonction dvaluation :

F(P) = * (*a(P) + *d(P) + *m(P)) / (++)


avec = 0 si la position provoque un chevauchement
1 sinon
On voit ainsi apparatre dans la fonction des zones de valeur 0. Ces zones sont des
obstacles pour leuristique de recherche. Le chemin menant du point de dpart au
maximum peut tre maintenant obstru, le rsultat retourn par leuristique sera la limite de
cet obstacle.
Il faut donc trouver un moyen de passer ce genre dobstacle. Pour cela, leuristique
traverse la zone dans la direction quelle suivait jusque l. Nanmoins, le fait de trouver le
maximum est moins certain du fait de ces obstacles. Lintrt du seuil voqu prcdemment
apparat ici comme la possibilit de contourner ces zones.

Lorsque le point de dpart choisi se situe dans une telle zone, leuristique effectue
simplement une recherche dans les huit directions, afin de commencer des recherches partir
des limites de la zone.
On voit ici apparatre lide de prendre la position de lavion comme deuxime point
de dpart. En effet, fatalement, la position de lavion se situe dans une zone de valeur 0 de la
fonction et donc, on effectue huit recherches supplmentaires si le seuil nest pas atteint.

27
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Fig. IV.2.c. 1 Exemple de recherche rpte dans une zone valeur 0

A moins que lensemble du domaine de recherche ne soit de valeur 0, leuristique


trouvera toujours un point de valeur non nulle. Les contraintes de non-recouvrement sont
donc respectes, on a bien une solution admissible. Sous rserve que leuristique fournisse le
maximum de la fonction, on a aussi une solution optimale. Les objectifs fixs plus haut sont
donc atteints, nanmoins, la solution prsente ici nest efficace quen thorie (la dfinition de
loptimalit doit tre tendue). Il manque un facteur important pour bien rsoudre les
problmes de conflit, il sagit maintenant de les anticiper. En effet, la solution actuelle offre,
un instant donn, une solution optimale mais linstant suivant, la position peut provoquer un
conflit, alors quune solution, priori, moins bonne cette instant peut savrer tre la
meilleure solution linstant daprs (par exemple).

Il sagit donc, maintenant dessayer danticiper les conflits.

28
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

d) Anticipation

Prvoir les conflits, comme voqu au dbut de cette partie, relve plutt de lapproche
globale. On peut tout de mme tenter cette anticipation avec le modle individualiste.

Mouvement des avions :


Il est facile de prvoir les positions futures des avions, ils se dplacent selon une
direction (qui varie globalement trs peu), suivent un plan de vol On peut donc connatre
lavance les cellules que les avions vont occuper.
Afin danticiper ces mouvement, il suffit de rserver les cellules dans lesquelles ils
vont se rendre. On ajoute donc une valeur possible aux cellules de la grille : libre, occupe ou
rserve. De plus, les cellules peuvent tre rserves par plusieurs avions, on aura donc une
quantit de rservation pour une cellule.
Lide est de ne pas ignorer les cellules, mais de les proposer comme solution sil ny
a pas mieux. Le facteur apparaissant dans la dernire forme de F(P) va donc changer et
devenir :
= 1 / (1 + )
avec = 0 si la cellule est libre => =1
n si la cellule est rserve par n avions => =1/(1+n)
+ si la cellule est occupe => =0
Ainsi, plus la cellule est rserve, moins les positions la recouvrant auront de chance dtre
choisies.

Mouvement des labels :


Les labels tant soumis une rorganisation constante, il ne vaut mieux pas utiliser la
rservation comme moyen danticiper leurs mouvements.
Nanmoins, en considrant que la position quil recherche est une position quil vont
garder un certain temps (en suivant le mouvement de lavion), il doivent anticiper leur propre
mouvement et donc, lors de lvaluation, considrer quil ont une forme compose de leur
forme actuelle plus cette mme forme projet dans la direction de leur dplacement.
Les cellules que la forme projete recouvre seront, si elles sont occupes ou rserves,
considres comme tant rserves. Ceci afin dutiliser la mme forme pour le dcrit plus
haut.
Les labels nanticipent donc pas les mouvements des autres labels.

29
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Fig. IV.2.d. 1Anticipation des mouvements

Leuristique, telle quelle est implmente, peine franchir les zones attnus par
ce nouveau facteur , cest pourquoi la proprit rserve sera assimile plus tard, dans
limplmentation de la solution, la proprit occupe .

Cette gestion de lanticipation est assez simpliste et, ici encore, il sagit dune
direction de recherche pouvant tre soumise une tude plus pousse.

30
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

V. Implmentation de la solution
1. Structure

Ce module a t dvelopp dans loptique de pouvoir tester les diffrentes approches sans
avoir remodeler un programme chaque fois. De plus, seule la partie gestion des
recouvrement est voue tre rutilise est doit donc tre dtache du reste.
Dans cette optique de gnricit, il faut bien sparer les diffrents traitements effectuer.
Par exemple, la gestion des dplacements des avions est totalement indpendante du tout le
reste, cela doit donc faire partie du noyau de la plate-forme. Par contre, le comportement des
labels va dpendre de la solution choisie, il doit donc se trouver dans une partie externe au
noyau.

La solution a t dveloppe intgralement en JAVA. Lintrt de ce langage dans ce cas


est le fait quil est orient objet et donc facilite un conception gnrique. De plus le
dveloppement en Java est trs simple et rapide.

a) Structure gnrale

La structure du module est la suivante :

Supervisable associe Supervisor

Element contient MiniWorld associe Renderer

Plane Label

PlaneLabel

Fig. V.1.a. 1 Structure du programme

31
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Le noyau correspond aux classes Element et MiniWorld. Elles implmentent toute la


partie concernant les dplacements et les mises jour des lments. La plate-forme tente de
simuler un trafic arien proche des conditions relles. Pour cela, il suffit de crer des objets
correspondant des avions en vol, c'est--dire des objets ayant une position dans lespace
(position gographique + altitude) et une vitesse. Il a fallu aussi une modlisation qui
permette de manipuler les labels au mme titre que les avions sur lcran radar. Ainsi, les
avions et les labels sont considrs comme des objets dans un univers 3D.

b) Structure du module Supervisor

Les classes Supervisable et Supervisor correspondent la partie traitement des conflits


de chevauchement. Les lments Supervisable sont superviss par un Supervisor. Le
fonctionnement est simple : chaque tape, avant deffectuer son nouveau mouvement, un
lment Supervisable demande la permission au Supervisor deffectuer ce mouvement. Ce
dernier teste la validit du mouvement et renvoie la nouvelle position laquelle doit se rendre
llment Supervisable. Ce rsultat renvoy est soit le mouvement demand par llment
dans le cas ou il est possible, soit un mouvement suggr par le Supervisor (dtermin selon
la mthode choisie).

Element Superviseur Element

Valide
Demande de
test de
deplacement au x, y, z x, y, z
validite
superviseur

non
valide
Deplacement

nouvelle position : x, y, z

Cette technique permet de grer une solution par agents intelligents , la classe
Supervisor contient alors la mthode de comportement des lments. Elle permet aussi
dappliquer une technique globale , la classe Supervisor contient alors les renseignements
relatifs lensemble des protagonistes. Pour la dernire approche, cette mme classe
contiendra les formules de physique permettant dobtenir les nouvelles positions.

32
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Ce module comprend donc les traitements visant rsoudre les problmes de


chevauchement. Il faudra tout de mme y diffrencier la fonction dvaluation de leuristique
de recherche de maximum. Do la structure :

Supervisor Associe Evaluation

Fonction devaluation :
- distance
- angle
- deplacement
positionEvaluation()
CriteriaEvaluation
- test doccupation

Utilise

Euristique de recherche de maximum :

Algo2OptimisedEvaluation
getBestPosition()

Fig. V.1.b. 1 Construction de la solution

33
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

2. Dans le dtail..

a) Fonction dvaluation

Les diffrentes valuations se font par interpolation linaire des valeurs. Chaque fonction
est value selon un minimum, un optimum et un maximum. Les interpolations se font
respectivement de 0 100 puis de 100 0 :

Si (val <= min ou val >= max ) Alors rsultat = 0


Sinon
Si (val < opt) Alors rsultat = (val - min)*100 / (opt - min)
Sinon rsulat = (val - opt)*100 / ( opt max )

Sauf pour les cas opt=min et opt=max.

b) Implmentation de leuristique

Limplmentation se situe dans la classe Algo2OptimisedEvaluation.

Le squelette de lalgorithme est le suivant :

P = P = point de dpart ;

Rpter

P = P ;
P = le point proche de P formant la plus grande pente avec P ;
// F(P) F(P) est maximale

Jusqu (la pente entre P et P est ngative (F(P) F(P) < 0) ;

Pmax = P ;

34
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

Pour grer les zones valeurs nulles, lalgorithme doit sarrter et lancer une recherche
dans la direction prcdente en partant de lintrieur de la zone, on choisi la fin le maximum
des solutions trouves par lensemble des recherches lances :

P = P = point de dpart ;
D = direction de dpart ;

Rpter

// permet de traverser une zone valeurs nulles :


Tant que (quelque soit P proche de P, F(P) = 0)
Faire P = P + D ; // addition vectorielle.

P = le point proche de P formant la plus grande pente avec P ;


// F(P) F(P) est maximale

// Cas o lon est arriv en bord de zone valeurs nulles :


Si ( F(P) = 0 ) Alors
{
D= P - P ;
P2 = P ;
// On senfonce totalement dans la zone
Tant que (il existe P proche de P2 tel que F(P)>0)
Faire P2 = P2 + D ;

Lancer une recherche partir de P2 avec la


direction de dpart D ;
}

Jusqu (la pente entre P et P est ngative (F(P) F(P) < 0) ;

Pmax = max(P, rsultats des recherches lances);

Cette algorithme peut tre tendu, cest le cas dans le programme fourni en annexe, en
lanant plusieurs recherches au lieu dune (dans plusieurs directions diffrentes). Cela permet
davoir plus de chances de trouver le maximum. Cest pour cela que la recherche est effectue
par un objet part entire SearchGrid et non une simple mthode, il suffit de crer un
nouvelle objet SearchGrid pour dclencher une nouvelle recherche. On peut dailleurs
envisager dutiliser un thread par objet SearchGrid pour acclrer la recherche sur une
plate-forme multiprocesseur.

35
Mmoire de fin dtude I.I.E Alain Duverger
Algorithme danti-recouvrement 18/05/00

VI. Conclusion
La recherche

La solution dveloppe atteint les objectifs fixs au dbut. Nanmoins, on ne peut pas
considrer cette solution comme une solution parfaite. Elle souffre notamment de quelques
problmes dinstabilit.
Dune part, la dfinition des objectifs et, notamment, la dfinition dune solution
optimale sont des dfinitions simplifies permettant davoir des objectifs clairs. En effet, de
nombreuses contraintes supplmentaires peuvent tre prises en compte.

Dautre part, ltude qui prcde ouvre de nombreuses directions de recherche :


fonction dvaluation, recherche du maximum, anticipation. Pour chacune dentre elle une
solution est propose qui nest quune solution parmi de nombreuses possibles. Surtout en ce
qui concerne la recherche de maximum dans la fonction dvaluation, il reste chercher un
algorithme beaucoup plus efficace. En effet, le fait que leuristique dveloppe ne trouve pas
toujours le maximum est lorigine des instabilits observes.
Les autres approches et, en particulier, lapproche globale, constituent aussi des
directions de recherche pouvant aboutir de bon rsultats.

Nanmoins, le principe de fonctionnement de la solution constitue un noyau efficace


qui, sous rserve de mieux tudier les directions de recherche voques ci-dessus, devrait
aboutir une solution efficace et stable.

On peut tout de mme considrer que la solution est suffisante au vu des tests
effectus. Elle a t prsente un certain nombre de contrleurs, va tre bientt value sur
une plate-forme simulant un trafic arien et dici quelques temps sur une plate-forme pre-
oprationnelle place dans un centre de contrle. On peut envisager que cette solution soit
utilise dans tous les centres de contrle europen !

Les apports du stage

Ce stage au Centre dExprimentation dEurocontrol ma permis de dcouvrir le


monde de lATC (Air Trafic Control), mais aussi de connatre le mtier des contrleurs et leur
importance dans la navigation arienne.
Il ma aussi permis de travailler sur un sujet de recherche intressant et ainsi dutiliser
des mthodes de travail diffrentes. Jai aussi pu renforcer mon exprience dans la
programmation Java et oriente objet.
Pour finir, le contact avec lquipe du dpartement TEC, ma beaucoup instruit, tant au
niveau professionnel que relationnel.

36