• Aucun résultat trouvé

chapitre IV Modélisation et résolution du sous problème de tarification

III. Résolution du sous problème de tarification

III.2. Phase I : plus court chemin : recherche spatiale

L’algorithme élaboré pour la détermination des trajectoires spatiales de coût réduit négatif est développé à partir du principe général des algorithmes de marquage multi-labels. La particularité de cet algorithme est de ne construire que les portions du graphe nécessaires en s’appuyant sur le graphe des feuilles d’espace. La dimension temporelle est prise en compte par un label représentant un intervalle de temps possible. Le fonctionnement de l’algorithme est explicité dans les paragraphes suivants.

III.2.b) Architecture de l’algorithme

i) Définition et composition d’une trajectoire partielle

On appelle trajectoire partielle d’un vol f une trajectoire entre la position courante de f et

une entrée d’une feuille d’espace. Il y a équivalence entre une trajectoire partielle et une marque multi-labels puisqu’à chaque trajectoire partielle arrivant à une feuille d’espace on peut associer un ensemble de labels. Chaque trajectoire partielle est associée à une et une seule feuille d’espace : celle au début de laquelle est arrivée la trajectoire partielle. Les différents labels caractérisant une trajectoire partielle sont les suivants :

ƒ Coût réduit partiel : somme des composantes additives de la fonction coût réduit sur la portion de trajectoire parcourue, plus -π qui est ajoutée au départ f

ƒ Réserve de carburant actuelle

ƒ Date d’arrivée t à la feuille courante en ayant suivi le vitesse nominale tout au long de la trajectoire partielle

ƒ Date d’arrivée tmin (resp. tmax) minimale (resp. maximale) d’arrivée à la feuille courante en ayant suivi la vitesse maximale (resp. minimale) tout au long de la trajectoire partielle

ƒ Nombre de changements de niveau déjà effectués ƒ Etat actuel du vol : montée, palier ou descente

ƒ Niveau de vol : parmi les séries de niveaux de vol autorisés si le vol est en palier ou altitude si le vol est en montée ou en descente

ƒ Liste des frontières de secteurs déjà traversées et intervalles de temps associés

Parmi ces labels on peut distinguer ceux qui caractérisent l’exploration du graphe étendu (état du vol, intervalle de temps et niveau de vol) et ceux qui correspondent au potentiel élargi de l’algorithme de marquage : coût réduit partiel, consommation et nombre de changements de niveaux effectués. Les dernières informations sont destinées à la deuxième phase de l’algorithme.

Les feuilles d’espace, qui représentent le réseau aérien, vont servir de support à l’algorithme. On regroupe les trajectoires partielles en fonction de la feuille à laquelle elles arrivent.

ii) Principe général de l’algorithme

Le principe de l’algorithme est alors le suivant (voir aussi la Figure 19) : création de la première trajectoire partielle correspondant à la position actuelle et initialisation des différents labels en fonction de l’historique de l’avion. La feuille à laquelle correspond cette première trajectoire partielle est alors déclarée marquée selon la terminologie des algorithmes de

marquage et la phase d’initialisation de l’algorithme est terminée.

Lors d’une étape normale de l’algorithme on choisit une feuille d’espace à laquelle sont associées des trajectoires partielles à étendre (c'est-à-dire une feuille marquée) et on étend toutes ces trajectoires partielles correspondantes en modélisant la traversée de la feuille d’espace choisie. Les trajectoires partielles contrevenant à l’une ou l’autre des exigences (consommation excessive, nombre de changements de niveau trop grand etc.) sont abandonnées. On crée ainsi un nouvel ensemble de trajectoires partielles associées aux feuilles successeurs de la feuille courante. La feuille courante devient maintenant examinée.

Les trajectoires partielles atteignant l’aéroport de destination (trajectoires complètes) sont traitées par la phase II de l’algorithme afin de déterminer les temps d’entrée secteur optimaux. Si ce traitement permet de déterminer une trajectoire complète de coût réduit négatif, elle est alors ajoutée à la liste des nouvelles trajectoires calculées. L’algorithme continue tant qu’il reste des feuilles marquées ou tant qu’aucune condition d’arrêt n’est satisfaite. Cet algorithme

Figure 19) Architecture simplifiée de la résolution du sous problème de tarification

III.2.c) Conditions d’arrêt supplémentaires

Si l’on continue le processus jusqu’à ce qu’il n’y ait plus de sommets à examiner, l’algorithme renvoie toutes les trajectoires satisfaisant les contraintes (exceptées celles qui sont dominées par une autre trajectoire, voir ci-après la notion de domination). Ceci n’est pas pertinent pour deux raisons principales : temps de calcul trop long des trajectoires et saturation du problème maître restreint c'est-à-dire qu’on lui fournit trop de trajectoires alternatives et la résolution en est rendue difficile.

Pour ces raisons on fixe un nombre de trajectoires par vol et lorsque ce nombre est atteint la recherche de trajectoires est interrompue. Avant de terminer la recherche, on termine

Création de la trajectoire partielle correspondant à l’état courant de l’avion Ajout de la feuille associée à cette trajectoire dans S

Choix d’une feuille de S (enlevée ensuite)

Extension des trajectoires partielles associées à la feuille choisie

Tant que S est non vide

Ajout dans S des feuilles d’arrivée associées aux nouvelles trajectoires partielles

S : ensemble des feuilles contenant des trajectoires partielles à étendre

Paragraphe III.4 Paragraphe III.3 Phase II : Traitement de la trajectoire complète par la programmation dynamique Paragraphe III.5 Fin La trajectoire a-t-elle été étendue jusqu’à l’aéroport ? oui non

cependant le traitement de toutes les trajectoires partielles correspondant à la feuille courante, ce qui explique que l’algorithme peut rendre plus de trajectoires que le nombre fixé comme limite.

Pour les mêmes raisons on fixe également un temps de calcul maximal pour la résolution d’un sous problème pour un vol donné : la recherche est stoppée lorsque ce temps de calcul est dépassé. Cette condition d’arrêt supplémentaire ne remet en cause l’optimalité globale de la résolution que dans le cas où aucune autre trajectoire n’a été trouvée pour aucun des autres vols commandables. L’arrêt pour cause de temps de calcul excédentaire est enregistré pour ne pas fausser les affirmations d’optimalité. La valeur de ces paramètres peut être ajustée en fonction du moment où le sous problème est appelé (c'est-à-dire en fonction du nombre de boucles de générations de colonnes déjà effectuées). Elle sera discutée dans la partie consacrée à la mise en œuvre expérimentale.

III.2.d) Cas particulier des contraintes de branch-and-bound

i) Conséquences des contraintes de branch-and-bound

Du fait de la règle de branchement proposée (sur les secteurs-périodes), les contraintes de branch-and-bound se traduisent par la recherche de trajectoires passant par un ensemble de secteurs-périodes déterminés et évitant un autre ensemble de secteurs-périodes.

ii) Prise en compte des secteurs-périodes interdits

Pour les secteurs-périodes à éviter la prise en compte est immédiate : il suffit d’allouer provisoirement à ces secteurs-périodes un coût réduit infini ce qui a pour effet de disqualifier toutes les trajectoires utilisant ces secteurs-périodes.

iii) Prise en compte des secteurs-périodes obligatoires

Pour les secteurs-périodes obligatoires, la manière la plus simple de procéder consiste à ne rien modifier à la première phase de l’algorithme et à ne vérifier qu’à la fin de celle-ci si les contraintes sont respectées. Les trajectoires 3D ne passant pas par les secteurs requis sont alors éliminées directement et on peut continuer la marche normale de l’algorithme. Pour les trajectoires 3D passant par les bons secteurs, il est facile d’ajouter les contraintes de fenêtre de temps de passage dans le processus de programmation dynamique décrit dans la suite de ce chapitre. Les dates en dehors des périodes requises sont simplement interdites.

iv) Accélération de l’algorithme

La facilité d’intégration des contraintes de branch-and-bound dans l’algorithme de plus court chemin représente un avantage important des règles de branchement retenues. Quelques règles simples peuvent également être implémentées de manière à couper l’exploration des trajectoires plus tôt. Tout d’abord d’un point de vue temporel, dès que la date courante d’une trajectoire partielle dépasse la période d’un secteur-période obligatoire et que la trajectoire n’a pas traversé le secteur attendu, la trajectoire partielle en question peut être abandonnée.

Lors de l’extension des trajectoires, on calcule toujours la distance minimale jusqu’à l’aéroport afin d’avoir une estimation notamment de la consommation minimale restante et de la date d’arrivée au plus tôt. Cette estimation de distance minimale peut être précisée en prenant en compte le fait qu’il faudra passer par le secteur donné : cette règle permet également de couper des trajectoires partielles plus tôt.