• Aucun résultat trouvé

MPS : ´enum´eration des k meilleurs chemins sans boucle

B.8 Traces radar fusionn´ees `a Orly

III.3 MPS : ´enum´eration des k meilleurs chemins sans boucle

L’algorithme III.3 est une adaptation deMPS :

– Q est l’ensemble des chemins candidats. Chacun d’eux est d´ecrit par un triplet : son coˆut, son

6.4. RECHERCHE DESK MEILLEURS CHEMINS 69 d’ˆetre pr´ecis´ee, puisqu’elle peut-ˆetre trouv´ee directement pendant la g´en´eration des nouveaux candidats, en remontant les arcs du graphe de p`eres en p`eres).

– L’absence de boucle est remplac´ee par la contrainte de validit´e d´efinie dans la partie 3.3.4. Dans la mesure o`u cette contrainte est plus forte que l’interdiction de repasser plusieurs fois par le mˆeme nœud, l’algorithme risque d’effectuer plus d’it´erations mais ne perd pas sa validit´e. Pr´esent´e de cette fac¸on, la similitude entre cet algorithme et celui deDev Max (algorithme III.1) est

assez ´evidente : le d´eveloppement des chemins de p`eres en p`eres est en tout point identique, mais il est cette fois ci effectu´e dans l’ordre de leurs coˆuts, selon le principe de d´eveloppement d’un algorithme

A∗.

Complexit´e

La complexit´e de l’algorithmeMPS d´epend naturellement des cycles que poss`ede le graphe :

– Le nombre d’it´erations principales ¯k sera le nombre de chemins trouv´es, augment´e du nombre

de cycles qui peuvent faire partie d’un chemin de moindre coˆut entres et t, que l’on ne peut pas

connaˆıtre `a priori.

– `A chaque it´eration principale, les nœuds situ´es entre le nœud de d´eviation du chemin courant ets sont visit´es, ce qui repr´esentera au maximum l it´erations (l ´etant la longueur maximale des

chemins).

– Chacun de ces nœuds doit ˆetre compar´e `a la deuxi`eme portion du chemin courant, ce qui demandeO(l) op´erations.

– Pour chacun des p`eres de ces nœuds, un nouveaux candidat est ajout´e, ce qui demande

O(dMlog m) op´erations, si dM est le degr´e maximal du graphe,m le nombre d’arcs et si l’ensembleQ est impl´ement´e avec une structure de donn´ees appropri´ee (sous forme d’un

arbre binaire par exemple).

Chaque it´eration principale n´ecessite doncO(l(l + dMlog m)) op´erations. On obtient alors :

MPS s’effectue enO(¯kl2+ ¯kldMlog m) op´erations. O`u :        ¯

k d´esigne le nombre de chemins parcourus (¯k≥ k), l le nombre maximal de nœuds par chemin,

dM le degr´e maximal des nœuds deG,

m le nombre d’arcs deG.

La complexit´e ainsi formul´ee apparaˆıt plus ´elev´ee que celle de l’´enum´eration r´ecursive (mˆeme si l’on ajoute `a cette derni`ere le coˆut du traitement de s´election des chemins valides). Cependant, l’algorithmeMPS semble plus adapt´e au probl`eme du cheminement des avions, puisqu’il est le seul,

parmi les trois ´etudi´es, qui permette r´eellement d’obtenir un nombre de chemins fix´e `a l’avance. De plus, dans le cas des voies de circulation d’un a´eroport, le degr´e des nœuds est relativement faible par rapport au nombre de nœuds par chemins :O(¯kl2) sera donc g´en´eralement le terme le plus p´enalisant, ce qui revient `a dire que les deux algorithmes (REA avec post-traitement et MPS) devraient

ˆetre ´equivalents.

6.4.5 R´esultats

La figure 6.2 montre quelques exemples d’application des deux algorithmes d’´enum´eration des

k meilleurs chemins. Pour l’algorithme REA, les temps de calcul et les chemins repr´esent´es tiennent

compte du post-traitement (l’´elimination des chemins contenant des boucles) : on peut remarquer la diff´erence entrek et le nombre effectif de chemins trouv´es.

70 CHAPITRE 6. AFFECTATION DE CHEMINS

0 1000

1.1 Roissy :REA aveck = 50 1.2 Roissy :MPS aveck = 50

Avec sens pr´ef´erentiels Sans sens pr´ef´erentiels

36 chemins (trouv´es en 39 ms.) 50 chemins (trouv´es en40 ms.)

0 1000

0 1000

2.1 Roissy :REA aveck = 2000 2.2 Roissy :MPS aveck = 2000

Avec sens pr´ef´erentiels Sans sens pr´ef´erentiels

605 chemins (trouv´es en 1.7 s.) 2000 chemins (trouv´es en2 s.)

0 100

3.1 Orly :REA aveck = 50 3.2 Orly :MPS aveck = 50

Avec sens pr´ef´erentiels Sans sens pr´ef´erentiels

36 chemins (trouv´es en 39 ms.) 50 chemins (trouv´es en 43 ms.)

6.5. RECHERCHE AVEC VARIATION DES CO ˆUTS 71

FIG. 6.3 – Exemple de d´etour difficilement utile

Dans les deux premiers exemples (1.1 et 1.2 `a Roissy) ainsi que dans les deux derniers (3.1 et 3.3 `a Orly), les ensembles de chemins trouv´es sont compos´es de beaucoup moins de chemins que pr´ec´edemment et semblent explorer les mˆemes voies principales de l’a´eroport : ces algorithmes per- mettent donc de diminuer le nombre de chemins tout en conservant un ensemble d’alternatives presque aussi diversifi´ees qu’avec l’algorithmeDev Max.

Il faut ´egalement remarquer qu’en terme de temps de calcul, et pour des valeurs dek compatibles

avec un nombre de chemins `a proposer aux avions, ces deux algorithmes d’´enum´eration sont fina- lement beaucoup moins coˆuteux et beaucoup plus constants (que Dev Max) : ceci laisse pleinement

envisager d’affiner la s´election des chemins si besoin en est (lors de post-traitements) en fonction d’autres crit`eres que pourraient rajouter les op´erationnels.

Cependant, la diversit´e des chemins est loin d’ˆetre suffisante : `a Roissy, avec ou sans sens uniques, le contournement Est n’est pas envisag´e, mˆeme aveck = 2000 chemins (exemples 2.1 et 2.2). Ce

contournement est pourtant souvent propos´e par les contrˆoleurs, car il permet d’´eviter la congestion de l’axe central de l’a´eroport. Dans le cas particulier de Roissy, les ensembles de chemins ne sont donc toujours pas satisfaisants : ceci est dˆu au nombre de chemins (beaucoup trop important) qu’il faudrait explorer avant d’esp´erer obtenir les d´etours int´eressants.

C’est pourquoi il est n´ecessaire d’affiner encore les algorithmes de recherche de chemins : dans ce cadre, l’objectif ne sera plus obligatoirement de trouver un ensemble de meilleurs chemins, mais plutˆot de trouver des chemins aussi diversifi´es que possible.

6.5

Recherche avec variation des co ˆuts

6.5.1 Objectifs

Les r´esultats trouv´es pr´ec´edemment montrent que l’ensemble des chemins envisageables pour un avion ne peut se d´efinir aussi simplement qu’un ensemble de plus courts chemins valides (leur nombre est beaucoup trop ´elev´e) : pour conserver un nombre r´eduit de chemins `a envisager pour chaque avion, tout en utilisant au mieux les voies de circulation de l’a´eroport, il s’av`ere n´ecessaire d’effectuer la s´election des chemins sur de nouveaux crit`eres.

Certains d´etours peuvent effectivement sembler totalement absurdes aux yeux des op´erationnels alors qu’ils sont moins coˆuteux que d’autres chemins acceptables (figure 6.3). Ceci s’explique par l’utilit´e potentielle que peut avoir un d´etour :

– Les petits d´etours peuvent permettre de faciliter localement certaines manœuvres d’´evitement (croisement ou d´epassement d’un autre avion par exemple).

– Des d´eviations plus grandes (ou contournements) permettent d’´eviter toute une zone sp´ecifique de l’a´eroport (lorsque celle-ci est congestionn´ee, ou momentan´ement indisponible par exemple). – En contrepartie, les grands d´etours n’´evitant aucune zone particuli`ere de l’a´eroport seront jug´es sans int´erˆet, bien que cela ne puisse ˆetre formul´e plus rigoureusement tant que ces zones ne sont

72 CHAPITRE 6. AFFECTATION DE CHEMINS pas explicitement d´ecrites.

Ces consid´erations incitent `a s’int´eresser `a un nouveau probl`eme : la recherche de chemins suf- fisamment diff´erents. On ne souhaite plus obtenir un ensemble de meilleurs chemins, mais plutˆot plusieurs composantes de chemins, suffisamment distinctes. Ceci repr´esente en r´ealit´e un compromis entre le coˆut des chemins (que l’on cherche malgr´e tout `a minimiser) et leur diversit´e (que l’on cherche alors `a maximiser). Ce compromis sera mat´erialis´e par un coefficient de pond´eration, repr´esentant le rapport entre le coˆut d’un nouveau chemin et sa redondance avec ceux d´ej`a trouv´es.

6.5.2 Variation des co ˆuts

Description

Une solution simple pour trouver des chemins diff´erents consiste `a augmenter le coˆut des arcs emprunt´es par les chemins d´ej`a trouv´es. Pour conserver malgr´e tout un nombre fix´e de petits d´etours, il suffit de rechercher un sous-ensemble de meilleurs chemins entre chaque mise `a jour des coˆuts :

– Le nombre d’it´erationsν du proc´ed´e correspondra au nombre de composantes recherch´ees.

– k sera le nombre de chemins (de coˆuts voisins) par composante.

– δ, le facteur d’augmentation des coˆuts des arcs d´ej`a explor´es, d´efinit le compromis entre coˆut et

diversit´e. Deviations(G, s, t, ν, k, δ) :              

pour chaque(m, n)∈ A, soit c0

mn:cmn

soitG0:G avec les coˆuts d´efinis par c0

soitC : {} (Chemins trouv´es)

pouri de 1 `a ν, faire     soit(¯c0) : Dijkstra( G0,s) C ← C∪ MPS(G0, (c¯0),s, t, k)

sii < ν alors pour chaque (m, n) arc d’un chemin deCi,c0mn← δ × cmn

retournerC