laboratoired'optimisationglobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf ·...

50

Upload: others

Post on 17-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Établissement d'inscription : ENSEEIHT DEA Programmation et SystèmesAnnée : 2000 - 2001

Laboratoire d'Optimisation GlobaleCENA/ENAC

Robustesse des solutions du problèmed'allocation de créneaux

par

Thomas Riviè[email protected]

Directeur de recherche : Jean-Marc AlliotResponsable du stage : Pascal BrissetNom du projet : MaraboutDirigé par : Pascal Brisset

Juillet 2001

Résumé : Le ciel européen est surchargé et le contrôle aérien est dépassé par la demande cequi induit une accumulation des retards qui pénalise les usagers mais également les compagniesaériennes. L'organisme européen de régulation du tra�c (CFMU) qui a en charge l'a�ectationdes créneaux de décollage n'est plus en mesure, actuellement, de produire des solutions sa-tisfaisantes a�n d'éviter la surcharge de l'espace aérien. A�n de résoudre ces problème desurcharge, une nouvelle modélisation a été réalisée. Nous montrons ici ce qu'elle apporte parrapport aux méthodes déjà existantes et nous testons sa robustesse aux di�érences observéesentre l'heure théorique et l'heure réelle de départ des vols.

École Nationale de l'Aviation Civile7, avenue Édouard Belin31055 Toulouse

Page 2: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Table des matières

1 Introduction 1

2 La programmation par contraintes 32.1 Problème de satisfaction de contraintes (CSP) . . . . . . . . . . . . . . . . . . . 3

2.1.1 La description d'un problème : dé�nition des contraintes. . . . . . . . . 32.1.2 Satisfaction de contraintes. . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.3 Un exemple classique de CSP : le drapeau canadien . . . . . . . . . . . . 5

2.2 Programmation par contraintes et domaines �nis . . . . . . . . . . . . . . . . . 62.2.1 Étiquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Retour-arrière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3 Arbre de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.4 Consistance et arc-consistance . . . . . . . . . . . . . . . . . . . . . . . . 82.2.5 Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.6 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.7 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Description du problème d�allocation de créneaux 123.1 Généralités sur le contrôle aérien . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1.1 Découpage de l'espace aérien . . . . . . . . . . . . . . . . . . . . . . . . 133.1.2 La capacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.3 Les plans de vol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.4 Les créneaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.5 Exemple d'une journée de tra�c . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Problèmes posés et solutions envisagées . . . . . . . . . . . . . . . . . . . . . . 163.2.1 La CFMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2 Module d'allocation de créneaux de SHAMAN . . . . . . . . . . . . . . 19

4 Les solutions retenues pour le projet Marabout 214.1 Fenêtres sans recouvrement : modèle discret . . . . . . . . . . . . . . . . . . . . 21

4.1.1 Variables booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.1.2 Contrainte globale de cardinalité . . . . . . . . . . . . . . . . . . . . . . 22

4.2 Modèles continus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2.1 Fenêtres glissantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2.2 La contrainte de tri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

i

Page 3: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

TABLE DES MATIÈRES ii

5 Mise en ÷uvre 265.1 Méthode � à la SHAMAN � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1.1 Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.1.2 Les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 Stratégie de recherche et invariants . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.1 Stratégie de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.2 Invariants [MH00] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6 Robustesse au bruitage des données 316.1 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.2 In�uence sur la charge instantanée . . . . . . . . . . . . . . . . . . . . . . . . . 326.3 Retard supplémentaire au décollage . . . . . . . . . . . . . . . . . . . . . . . . . 326.4 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.4.1 Les impossibilités de régulation . . . . . . . . . . . . . . . . . . . . . . . 366.4.2 Méthode discrète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.4.3 Méthode continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7 Conclusion 437.1 Apports de la programmation par contraintes . . . . . . . . . . . . . . . . . . . 437.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Page 4: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Table des �gures

2.1 Le problème du drapeau canadien . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Graphe des contraintes pour le problème du drapeau canadien . . . . . . . . . . 72.3 Parcours d'un arbre de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Un graphe arc-consistant mais pas consistant . . . . . . . . . . . . . . . . . . . 92.5 Arbre de recherche et propagation . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1 Les 20 routes les plus utilisées au dessus de la France . . . . . . . . . . . . . . . 133.2 Sectorisation de l'espace aérien français au niveau de vol 240 (7200m) . . . . . . 143.3 Centre de contrôle de Brest - 20 mai 1999 . . . . . . . . . . . . . . . . . . . . . 16

4.1 Fenêtre glissantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Contrainte de capacité appliquée aux vols ordonnés (δ = 30, capa = 20) . . . . 25

5.1 Décalage du dernier vol arrivé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.1 Régulation avec les modèles Standard et Continu . . . . . . . . . . . . . . . . 336.2 Nombre instantané d'aéronefs présents dans un secteur test . . . . . . . . . . . 346.3 Répartition des retards sur l'année 1999 . . . . . . . . . . . . . . . . . . . . . . 346.4 Répartition des retards par aéroport sur l'année 199 . . . . . . . . . . . . . . . 356.5 Bruitage des modèles Standard et Continu . . . . . . . . . . . . . . . . . . . . 376.6 Exemple de pics de dépassement de capacité . . . . . . . . . . . . . . . . . . . . 406.7 Résultats du test continu : hauteur moyenne d'un dépassement . . . . . . . . . 406.8 Résultats du test continu : durée moyenne d'un dépassement . . . . . . . . . . . 41

iii

Page 5: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 1

Introduction

Malgré une diminution par rapport aux trois dernières années, l'an 2000 a connu uneprogression du tra�c aérien soutenue : avec près de 2 500 000 vols contrôlés, la croissance aatteint 5,2% en 2000 contre 8,0% en 1999, 7,3% en 1998 et 6,5% en 1997 [DNA01].

Dans ce contexte, le niveau des retards dus à l'encombrement de l'espace aérien est unproblème majeur que les organismes de régulation du tra�c aérien doivent résoudre. En e�et,les capacités des centres français de contrôle du tra�c aérien sont, de loin, dépassées parla croissance du nombre de vols, entraînant des retards toujours plus importants ; or ceux-citiennent une place prépondérante dans la liste des préoccupations des clients du contrôle aérien,c'est-à-dire les compagnies aériennes tant au niveau de l'image publique de ces compagniesqu'au niveau des pertes �nancières, évaluées à 5 milliards d'Euros pour l'année 1999.

C'est dans ces conditions que la Commission Européenne a déclaré [IP/99], le 1erdécembre1999, que les systèmes actuels de régulation du tra�c aérien étaient incapables de supporterles pointes de tra�c ni de s'adapter à la croissance prévue1 et a demandé aux états membresde ré�échir à de nouvelles solutions a�n de résoudre le problème.

Une partie de la régulation du tra�c aérien se fait quelques jours avant leur départ : c'estce qu'on appelle l'allocation de créneaux. Il s'agit de retarder les heures de décollage des avionsa�n de séquencer leurs passages dans les di�érents secteurs de l'espace aérien contrôlé. Avec lenombre d'avions qu'il est possible de gérer sur une position de contrôle, les heures de départdes avions sont un des paramètres essentiels sur lequel les organismes de régulation peuventjouer.

L'idée du projet Marabout dirigé par Pascal Brisset au sein du Laboratoire d'Optimisa-tion Globale (LOG), commun à l'École Nationale de l'Aviation Civile (ENAC) et au Centred'Études de la Navigation Aérienne (CENA), est de résoudre le problème d'allocation decréneaux en utilisant la programmation par contraintes et en réinterprétant la dé�nition delimite de capacité, c'est à dire de la charge maximum qu'un contrôleur peut gérer. Ce projeta pour objectif, non pas de résoudre à lui tout seul les problèmes posés par l'augmentationdu tra�c aérien mais de montrer qu'il existe d'autres manières de résoudre ces problèmes quecelles utilisées aujourd'hui, notamment en interprétant les limites de capacités d'une manièredi�érente.

Nous décrivons dans ce rapport les di�érentes solutions susceptibles de résoudre le problèmed'allocation de créneaux ainsi qu'une comparaison de leur résistance aux bruits engendrés parle fait qu'un nombre conséquent d'avions partent avec un retard non nul de l'aéroport (qu'il

1Aujourd'hui encore, le même constat peut être fait.

1

Page 6: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 1. INTRODUCTION 2

soit de 2 minutes ou bien de 45). Le chapitre 2 présente la programmation par contraintes endécrivant les règles qui la régissent et en donnant un exemple d'application. A�n de mieuxcerner le problème d'allocation de créneaux, un rappel des notions de bases sur la gestiondu tra�c aérien français est fait dans le chapitre 3 ainsi qu'un tour d'horizon des di�érentesméthodes qui existent pour résoudre ce problème (notamment celle utilisée actuellement). Lechapitre 4 décrit les solutions retenues, le chapitre 5, la mise en ÷uvre d'une méthode derésolution et le chapitre 6 décrit et compare la robustesse des solutions retenues lorsque l'onbruite les heures de décollage. En�n, le chapitre 7 résume la contribution apportée par lesnouvelles méthodes de résolution puis conclut sur les améliorations potentielles ainsi que surles changements nécessaires à une meilleure régulation du tra�c aérien.

Page 7: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 2

La programmation par contraintes

La programmation par contraintes est une technologie relativement récente puisqu'elle estapparue en tant que telle à la �n des années 70 et au début des années 80 avec les langagesAlice [Lau76], CONSTRAINT [SS80] et ThingLab [Bor81] puis Prolog II [CKC82] et CLP(R)[JM87]. Elle utilise des techniques aussi diverses que celles issues de l'intelligence arti�cielleou de la recherche opérationnelle.

De nos jours, la programmation par contraintes est utilisée avec succès dans de nombreuxdomaines, notamment par l'industrie [Bar99]. Elle sert par exemple dans l'analyse du langagenaturel (construction d'analyseurs), les systèmes de gestion de bases de données (pour mainte-nir et/ou rétablir la consistance des données), la biologie moléculaire (séquençage de l'ADN),l'ingénierie des systèmes électriques (détection d'anomalies), etc.

La programmation par contraintes peut se diviser en deux étapes, en partie indépendantes[Sol99] :

� la description du problème (cf. section 2.1.1) ;� la recherche de solution(s), avec ou sans optimisation (cf. section 2.1.2 & 2.2).

2.1 Problème de satisfaction de contraintes (CSP)2.1.1 La description d'un problème : dé�nition des contraintes.

De façon très générale, une contrainte correspond à l'énoncé d'une propriété relative àdi�érents objets [AS94]. Par exemple, � le cercle est à l'intérieur du carré � relie deux objets,sans spéci�er plus précisément leur position respective ou leurs coordonnées. Ainsi, si ondéplace le carré ou le cercle, il est possible de maintenir le relation entre les deux objets.

Bien sûr, a�n de pouvoir implémenter de telles relations, il faut les traduire sous formeplus mathématique. L'équation � a+ b = c ∗ a � met alors en relation les variables a, b et c enlimitant les valeurs qu'elles peuvent prendre simultanément, chacune des variables ayant undomaine de valeurs possibles. La résolution d'un problème (cf. section 2.1.2) revient à trouverdes valeurs aux variables dans leur domaine respectif et qui satisfassent la contrainte, i.e. quivéri�e l'équation.

Les contraintes possèdent plusieurs propriétés intéressantes qui leurs permettent d'être trèsproche du langage naturel [Bar99] :

� les contraintes peuvent utiliser des informations partielles, c'est à dire qu'elles peuventêtre utilisées sans connaître les valeurs exactes de leurs variables ;

3

Page 8: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 4

� les contraintes sont non-directionnelles ; une contrainte réunissant deux variables x et ypeut être vue comme une contrainte sur x impliquant une contrainte sur y et récipro-quement ;

� les contraintes sont déclaratives, c'est-à-dire qu'elles indiquent une relation entre desobjets sans donner de procédé de calcul pour maintenir cette relation ;

� les contraintes sont additives ; l'ordre dans lequel les contraintes sont posées importepeu, seul importe le fait que la solution les véri�e toutes ;

� les contraintes sont rarement indépendantes ; généralement, elles partagent les mêmesvariables.

Les contraintes sont utiles dans de nombreux problèmes. On les retrouve notamment dansdes problème d'ordonnancement ou de plani�cation comme la génération d'emploi du tempsqui doit prendre en compte les horaires de disponibilité des professeurs, des salles de classeset des élèves tout en respectant les volumes horaires impartis à chaque matière. La program-mation par contraintes apparaît comme un moyen naturel de résoudre des problèmes dans desdomaines extrêmement variés.

2.1.2 Satisfaction de contraintes.Les CSP (Constraint Satisfaction Programming) sont un concept de modélisation adapté

aux problèmes de recherche de solution(s) et d'optimisation dont les contraintes sont di�cilesà satisfaire. Une contrainte représente ici une relation entre les variables du problème, telleque les contraintes binaires classiques comme X < Y et X 6= Y , ou des contraintes plusgénérales comme � toutes les variables sont di�érentes � et � les tâches T1 et T2 de duréesrespectives d1 et d2 ne peuvent pas être e�ectuées en même temps � (contrainte disjonctive :(t1 + d1 < t2) ∨ (t2 + d2 < t1), où ti est la date de début de la tâche Ti). Les variables duproblème appartiennent à des domaines qui spéci�ent les valeurs qu'elles peuvent prendre, etla résolution d'un CSP consiste à trouver une ou toutes les a�ectations de valeurs pour chaquevariable telles que toutes les contraintes du problème soient simultanément satisfaites. Dans lecas d'un problème d'optimisation (cf. section 2.2.6), on cherchera la solution de coût optimalsuivant un critère donné parmi les solutions admissibles.

On peut à présent donner une dé�nition plus formelle d'un problème de satisfaction decontraintes [Hen95] :

Un CSP est un triplet (X ,D, C), où X est un ensemble de n variables Xi qui sontchacune associée à un domaine D(Xi) de l'ensemble D telles que Xi ∈ D(Xi) ∀i ∈[[1, n]], et C est un ensemble de k contraintes cj sur les variables.Une contrainte cj sur les lj variables Xi1 , ..., Xi

lj(lj ∈ [[1, n]]) est un sous-ensemble

du produit cartésien D(Xi1) × ... × D(Xilj

), et on note cj(vi1 , ..., vilj

) la valeurbooléenne obtenue en instanciant les variables Xim (m ∈ [[1, lj ]]), qui est vraie si lacontrainte cj est satisfaite et fausse sinon. Une solution d'un CSP est une valuationv1, ..., vn ∈ D(X1) × ... ×D(Xn) des variables Xi (i ∈ [[1, n]]) telle que toutes lescontraintes de C soient satisfaites :

j∈[[1,k]]

cj(vi1 , ..., vilj

)

De très nombreux problèmes dans des domaines très variés peuvent facilement être modé-lisés par un CSP et résolus par la programmation par contraintes : ordonnancement, planning

Page 9: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 5

(comme celui des observations pour le télescope spatial Hubble [JM94]), graphisme, alloca-tion de ressource, routage, diagnostique, télécommunications (par exemple le positionnementd'émetteurs-récepteurs pour des téléphones portables [BF97]), conception de circuit électro-nique, etc.

Les méthodes de recherche d'une solution à un CSP peuvent être divisées en deux classes :celles qui explorent dans sa totalité l'espace des solutions complètes, et, par opposition cellesqui n'explorent qu'en partie l'espace des solutions.

Du point de vue théorique, la résolution d'un CSP est relativement aisée en utilisantl'exploration systématique de l'espace des solutions ; mais ceci n'est plus vrai lorsque l'on seplace du point de vue de l'e�cacité, ceci à cause de la taille de l'espace des solutions quivarie de façon exponentielle par rapport à la taille de l'ensemble des variables. Pourtant, siles méthodes de recherches systématiques (sans autres améliorations) peuvent être considéréescomme simplistes et non e�caces, elles sont très importantes car elles sont à l'origine de biendes algorithmes, plus récents et plus performants.

Un des algorithmes de base pour résoudre un problème de satisfaction de contraintes,e�ectuant une recherche systématique dans l'espace des solutions, est le generate-and-test(GT). L'idée de GT est simple : une valeur est associée à chaque variable, à l'intérieur de leurdomaine respectif, de façon aléatoire. Si cette � solution potentielle � satisfait les contraintes,on a trouvé une solution au problème, sinon, on recommence, sans retirer la même combinaison.

GT est un algorithme très peu e�cace parce qu'il teste toutes les combinaisons possibles, ycompris celles qui échouent. Cette non-e�cacité est due au fait que le générateur de � solutionspotentielles � ne possède aucune information sur les contraintes. Ainsi, on peut imaginerdi�érentes solutions pour améliorer GT (cf. section 2.2.2) :

� en réduisant au fur et à mesure les domaines des variables et limiter ainsi le nombre de� solutions potentielles � à tester ;

� en testant, en même temps qu'elle est générée, une � solution potentielle � a�n dedétecter le plus tôt possible un éventuel échec dans le respect des contraintes et enutilisant le mécanisme de backtracking (voir section 2.2.2).

2.1.3 Un exemple classique de CSP : le drapeau canadienUn exemple trivial de CSP sur les domaines �nis (cf. section 2.2) est le problème du drapeau

canadien illustré par la �gure 2.1, qui est un problème de coloration de carte1 [Bar97] : il s'agitde repeindre le drapeau du Canada à l'aide des deux couleurs d'origine, le rouge et le blanc,en sachant que deux parties limitrophes du drapeau ne doivent pas être de la même couleur,et que la feuille d'érable doit être rouge. On modélise très simplement ce problème en CSP :

X = {T, X, Y, Z} D = {D(T ), D(X), D(Y ), D(Z)}D(T ) = {r} D(X) = D(Y ) = D(Z) = {r,b}

C

c1 : X 6= Yc2 : Y 6= Zc3 : T 6= Y

où T , X, Y et Z sont les couleurs des parties représentées sur la �gure 2.1 qui peuvent prendreles valeurs rouge r ou blanc b.

1Le problème de coloration de carte peut être également vu comme un problème d'optimisation : étantdonné une partition de la carte, colorier la carte avec le nombre minimum de couleurs tel que deux régionsvoisines ne soient pas de la même couleur.

Page 10: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 6

TX

Y

Z

Fig. 2.1 � Le problème du drapeau canadien

En utilisant l'algorithme generate-and-test dans le cas du drapeau canadien, on obtient|D(X1) × ... × D(Xn)| � solutions potentielles � et la première valuation qui satisfait lescontraintes fournit la solution.

Il existe des techniques bien plus e�caces pour résoudre les CSP comme le backtracking, oule Branch & Bound (pour les problèmes d'optimisation) dont nous parlerons dans les sectionssuivantes. Certains de ces algorithmes sont issus de travaux de l'intelligence arti�cielle sur lareprésentation des CSP par des graphes de contraintes : chaque variable est représentée par unn÷ud avec son domaine et chaque contrainte par un arc (voir �gure 2.2 pour notre drapeaucanadien). Pour les problèmes continus, des algorithmes comme le Simplexe [AS94] ou destechniques de programmation par intervalles sont utilisés.

2.2 Programmation par contraintes et domaines �nisLes domaines des variables d'un problème de satisfaction de contraintes peuvent être de

di�érents types, ensembliste, continu ou encore �ni. Certains systèmes, qui implémententdes CSP, utilisent les domaines ensemblistes ou continus mais nous nous limiterons ici auxdomaines �nis, qui permettent de résoudre une grande partie des problèmes posés et qui sont,à ma connaissance, les plus répandus.

Les systèmes qui implémentent les CSP sur des domaines �nis imposent donc que lesvariables prennent leurs valeurs dans des sous-ensembles �nis de N et fournissent des prédicatsspéci�ques, en plus des contraintes arithmétiques classiques (=, ≤, 6=,...), par exemple :

� alldifferent([X1, ..., Xn]) : toutes les variables X1, ..., Xn doivent prendre des valeursdi�érentes ;

� element(I, [E1, ..., En], V ) : le Ième élément de la liste [E1, ..., En] prend la valeur V (i.e.XI = V ) où I et V sont des variables du CSP ;

� gcc(N, [X1, ..., Xn], V ) (global cardinality constraint) : N éléments de la liste de variables[X1, ..., Xn] sont égaux à V (N et V sont �xés).

2.2.1 ÉtiquetageIl existe plusieurs méthodes de résolution d'un CSP comme nous le verrons dans les sections

suivantes ; mais quelle que soit la méthode utilisée, lors de la recherche de solution, il fautétiqueter une ou plusieurs variables. C'est l'étiquetage ou labelling. Cela consiste à attribueraux variables une valeur (temporaire) prise dans leur domaine respectif.

Page 11: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 7

X

{r,b}{r,b}

T{r}

{r,b}

YZ

Fig. 2.2 � Graphe des contraintes pour le problème du drapeau canadien

2.2.2 Retour-arrièreOn peut considérer le retour-arrière ou backtracking comme une réunion des phases de

génération et de test de l'algorithme generate-and-test. Les variables sont étiquetées les unesaprès les autres. Lorsque toutes les variables concernant une contrainte sont instanciées2, lavalidité de cette contrainte est testée. Si la � solution partielle � viole une des contraintesdu problème, on backtrack (c'est-à-dire que l'on e�ectue un retour-arrière) jusqu'à la dernièreinstanciation partielle qui ne viole pas les contraintes et qui possède une solution alternativeà celle qui vient d'échouer. Plus explicitement, l'algorithme de backtracking élimine le sous-espace du produit cartésien des domaines de variables qui pourrait être engendré à partir dela solution partielle qui viole une ou plusieurs contraintes. Ainsi, le backtracking ne parcourtpas toutes les solutions et explore donc moins de valuations que l'algorithme GT. Cependantsa complexité, dans le pire des cas reste exponentielle.

2Certains écriront � instantiées � et les puristes écriront autre chose....

Page 12: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 8

Il existe des méthodes plus évoluées de backtrack comme le backjumping ou le backmarkinget qui corrigent certains défauts comme la répétition d'une même violation de contrainte dûe aufait que l'algorithme ne mémorise pas les valeurs des variables qui ont entraîné l'échec [Bar99] ;mais la détection plus rapide de l'inconsistence des solutions partielles a été privilégié.

2.2.3 Arbre de rechercheLa recherche de solution passe par le parcours d'un arbre de recherche. La �gure 2.3

montre un exemple simpliste avec deux variables x et y (sans tenir compte des contraintesqui les relient). Au premier point de choix, on peut choisir entre trois étiquettes pour x. Si onchoisit x = 3, on doit e�ectuer un autre choix pour y. Si y = 1 échoue lors de la véri�cationdes contraintes, on e�ectue un retour-arrière jusqu'au plus proche point de choix possédantune branche non encore explorée, et ainsi de suite jusqu'à ne plus avoir de point de choixdisponible ou jusqu'à ce qu'on rencontre une solution.

x ∈ (3, 4, 5), y ∈ (1, 2)Point de choixSolution possible

x = 3

y = 1

échec échec

y = 2

x = 4

x = 5

Fig. 2.3 � Parcours d'un arbre de recherche

2.2.4 Consistance et arc-consistanceAvant même d'e�ectuer un recherche de solution, il peut être intéressant d'enlever des

di�érents domaines des variables les valeurs dont on est sûr qu'elles ne permettent pas derésoudre les contraintes. Par exemple, pour la contrainte x + y < 5, si le domaine de x est [1,4] et celui de y [2, 3], il est certain que la valeur x = 5 ne permet pas d'aboutir à une solution.

Instanciation consistante Étant donné un CSP P = (X,D, C), une instanciation A desvariables de Y ⊂ X est dit consistante si et seulement si :

∀ci = (vi, ri) ∈ C telle que vi ⊂ Y, A |= ci

Autrement dit, une instanciation est consistante si elle ne viole aucune contrainte.

Page 13: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 9

Solution d'un CSP Une solution S de P = (X,D, C) est une instanciation consistante desvariables de X. On dit alors que l'instanciation S satisfait P (noté S |= P).

Consistance Un problème de satisfaction de contraintes est consistant si et seulement si ilexiste au moins une solution à ce problème.

Les algorithmes d'établissement de la consistance sont issus des techniques de graphes. UnCSP est représenté par un graphe de contraintes où les n÷uds correspondent aux variables etles arcs sont étiquetés par les contraintes (cf. section 2.1.3). Ceci implique que le CSP doit êtreramené à un CSP binaire, c'est-à-dire à un CSP n'ayant que des contraintes unaires 3 et/oubinaires.

Les algorithmes d'établissement de la consistance sur les domaines �nis ne sont en généralpas complets pour des raisons d'e�cacité : la satisfaisabilité de l'ensemble des contraintes n'estque partiellement testée, car elle est trop coûteuse en temps de calcul, et on véri�era plutôtl'arc-consistance ou une � approximation � de l'arc-consistance.

Il est à noter que les algorithmes d'établissement de la consistance sont déterministes alorsque la recherche (cf. section 2.2.2) est non-déterministe.

L'arc-consistance est une consistance locale et assure, étant données les deux variables Xi

et Xj d'une contrainte binaire c, que, quelle que soit la valuation de Xj dans D(Xj), il n'existepas de valeur dans le domaine D(Xi) qui viole la contrainte c,. L'arc-consistance est nécessairepour avoir la consistance mais pas su�sante, comme le montre la �gure 2.4 qui représente unCSP arc-consistant mais pas consistant : il est possible de prouver l'arc-consistance alors qu'onne peux pas trouver de valuation qui véri�e la consistance, c'est-à-dire qui véri�e

(X,Y, Z) ∈ [[0, 1]]3 et X 6= Y ∧ Y 6= Z ∧ Z 6= X

{0,1}

X

Y

Z

{0,1}

{0,1}

Fig. 2.4 � Un graphe arc-consistant mais pas consistant

3Une contrainte unaire est un domaine

Page 14: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 10

2.2.5 PropagationOn peut utiliser indépendamment la technique de recherche systématique (section 2.1.2)

ou de consistance (section 2.2.4) pour résoudre un problème de satisfaction de contrainte, maiscela donne de médiocres résultats. En fait, c'est une combinaison des di�érentes techniquesqui est utilisée.

Une programme de satisfaction de contrainte suit, en général, le schéma suivant :� Les variables sont dé�nies et un domaine de valeur leur est attribué.� Les contraintes sont posées. On véri�e alors leur arc-consistance. Si une contrainte est

satisfaite (par n'importe quelle valuation), on l'e�ace ; si elle peut être satisfaite, elle estsuspendue (voir ci dessous) ; sinon, elle échoue, et le problème n'a pas de solution.

� Une contrainte suspendue est associée à chaque variable intervenant dans cette con-trainte.

� On recherche une solution selon le mécanisme � étiquetage d'une variable ; véri�cationde l'arc-consistance des contraintes réveillées (c'est-à-dire associée à la variable que l'onvient d'étiqueter) puis réduction des domaines � représenté par la �gure 2.5. Si la véri�ca-tion échoue, on peut alors e�ectuer un retour-arrière a�n d'explorer d'autres possibilités.

Réduction de domaine

par arc−consistance

Valuation partielle

Point de choix

Fig. 2.5 � Arbre de recherche et propagation

Les contraintes se propagent ainsi en réduisant les domaines des variables. Ainsi, surl'exemple du drapeau canadien (voir �gures 2.1 et 2.2), quand la contrainte Z 6= T est consi-dérée, le domaine D(Z) est réduit à {b}. Ceci réveille les contraintes associées à Z, i.e. X 6= Zet Z 6= Y , et les domaines de D(X) et D(Y ) sont alors réduits à {r} ; le problème a été résolusans énumération (ce qui est un cas particulier).

2.2.6 OptimisationPour la majorité des problèmes que l'on souhaite résoudre, on ne veut pas trouver une

solution parmi d'autre mais une bonne solution. La qualité d'une solution est mesurée parrapport à un critère, lui-même calculé grâce à une fonction appelée coût f(X1, ..., Xn) ou

Page 15: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 2. LA PROGRAMMATION PAR CONTRAINTES 11

X1, ..., Xn sont les variables du problème. Le but est alors de trouver une solution qui satisfaitles contraintes du problème et qui minimise ou maximise la fonction de coût.

La plupart de ces problèmes peuvent être représentés par un Constraint Satisfaction Opti-misation Problem (CSOP), qui est la combinaison d'un CSP et d'une fonction d'optimisationqui attribue à chaque solution (instanciation de toutes les variables) un coût.

Un des algorithmes les plus utilisés lors de la recherche d'une solution optimale est l'al-gorithme de Branch & Bound (B & B) et convient parfaitement aux CSOP. B & B utiliseune contrainte qui relie la fonction de coût d'une � solution partielle � au coût minimal (resp.maximal) que l'on veut obtenir :

minf(X1, ..., Xn) < Ck

où minf(X1, ..., Xn) représente une borne inférieure (dans le cas d'une minimisation) ducoût de la meilleure solution qu'il est possible d'engendrer à partir de la � solution partielle �.L'algorithme recherche des solutions en profondeur d'abord et se comporte, chronologiquementparlant, comme l'algorithme de backtrackingmis à part que dès qu'une valeur est assignée à unevariable, on véri�e que la contrainte de coût est satisfaite. Si la contrainte n'est pas véri�ée,alors le sous-arbre qui dérive de cette valuation est abandonné. Initialement, la valeur de Ck

est égale à plus (resp. moins) l'in�ni et au cours du calcul, il prend la valeur de la meilleuresolution trouvée jusqu'ici.

L'e�cacité de B&B est déterminé par deux facteurs : la qualité de la fonction de coûtet le � moment � où une bonne solution est trouvée. L'observation de problèmes résoluspar cette méthode montre que c'est souvent la � dernière étape � vers l'optimum, c'est-à-dire améliorer encore la solution, et part la même, prouver l'optimalité d'une solution quicoûte le plus cher dans les processus de résolution. Heureusement, dans la plupart des cas,les utilisateurs se satisfont de solutions approchées de l'optimum. On peut donc utiliser cetalgorithme pour trouver une solution approchée de la solution optimale en �xant un valeur decoût à atteindre. Dès que cette valeur est dépassée, une solution est rendue par l'algorithme(sans preuve d'optimalité).

2.2.7 LimitationsLa programmation par contraintes est très bien adaptée aux problèmes d'optimisation

combinatoire très contraints et convient donc au problème d'allocation de créneaux commenous allons le voir par la suite. Cependant, ce sont des méthodes énumératives et le temps decalcul peut devenir rédhibitoire si l'espace des solutions est trop grand.

D'autre part, si on utilise la programmation par contraintes pour un problème d'optimi-sation, il faut que la fonction de coût ne soit pas trop complexe, car l'algorithme de Branch& Bound estime les bornes de la fonction de coût pour chaque sous-arbre.

Page 16: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 3

Description du problème d�allocationde créneaux

3.1 Généralités sur le contrôle aérienCe chapitre ne donne en aucun cas une présentation détaillée de l'état du tra�c aérien

français aujourd'hui mais simplement un rappel des notions nécessaires à la compréhensiondu problème posé et des moyens mis en ÷uvre pour sa résolution.

Les avions actuels peuvent voler par presque tout les temps, y compris lorsque la visibilitéest telle que le pilote est incapable de voir l'environnement extérieur. A�n d'éviter tout risquede collision, chaque état s'est doté d'un service de contrôle aérien capable de guider les avionsen toute sécurité.

Pour permettre aux pilotes de se diriger dans l'espace, un certain nombre de balises radioont été positionnées au sol. Ces balises (ADF, VOR, VOR-DME) émettent sur des fréquencesrépertoriées a�n d'être � écoutées � par les instruments à bord des avions. Ainsi, le pilote estcapable de connaître sa position relative par rapport au sol et de diriger l'avion de balise enbalise jusqu'à sa destination �nale. Grâce aux techniques actuelles, aux points de passagesdé�nis par les balises, il faut rajouter des points, dé�nis uniquement par leur coordonnées géo-graphiques et/ou la distance et l'angle par rapport à de vraies balises, et choisis arbitrairement.Ces points de passage étant appelés waypoints.

Pour être compréhensible par un contrôleur humain, le tra�c est organisé sur des routesaériennes, dé�nies à partir des waypoints, ce qui va générer un phénomène de concentration desavions sur les mêmes axes . Les études réalisées par [Rog00] montrent qu'un sixième du tra�cjournalier européen utilise seulement vingt routes aériennes, représentées sur la �gure 3.1.

Tout ceci pose le problème de l'abordage (collision entre deux aéronefs). Ce sont les servicesdu contrôle aérien qui ont en charge d'éviter de tels accidents. Les pilotes communiquent parradio avec les contrôleurs situés au sol. Ces derniers, disposant d'informations sur les avionsgrâce notamment à l'image radar, vont ainsi pouvoir détecter à l'avance les avions en con�itset communiquer aux pilotes les man÷uvres à e�ectuer a�n d'éviter toute collision.

On distingue deux types de contrôle exercés sur le tra�c aérien :� le contrôle d'approche, à proximité des aéroports qui gère les phases de montée initiale

et de descente �nale ;� le contrôle en route qui gère les avions entre les deux phases décrites ci-dessus.Nous nous limiterons ici au contrôle en route car c'est essentiellement sur celui-ci que vont

12

Page 17: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 13

Fig. 3.1 � Les 20 routes les plus utilisées au dessus de la France

s'exercer les di�érentes régulations étudiées par la suite.

3.1.1 Découpage de l'espace aérienIl y a six centre de contrôle en route en France : Aix, Bordeaux, Brest, Reims, Paris-est

et Paris-ouest1. Chacun de ces centres est responsable d'une zone2 de l'espace aérien. Chacunde ces centres est découpés en briques élémentaires, de type polyèdre (en général cylindrevertical) appelé secteur (cf �gure 3.2). Chaque secteur est dé�ni par une altitude plancher,une altitude plafond, un contour et une capacité (cf section suivante).

Le découpage de l'espace aérien, c'est-à-dire le nombre et la forme des secteurs, changeau cours d'une même journée3 suivant un schéma d'ouverture quotidien. Ces changementsconsistent en un regroupement de plusieurs secteurs en un seul. Cette technique est utiliséelors des périodes de faible tra�c (par exemple la nuit) a�n de limiter l'utilisation des ressources

1Physiquement les deux centres de Paris n'en font qu'un seul.2Ces zones se situent, à peu près, autour de chaque centre même si les techniques actuelles permettent

de contrôler n'importe quel espace aérien de n'importe où. Ce découpage correspond plus à une volonté dedécentralisation de la direction générale de l'aviation civile qu'à une réponse à des impératifs techniques.

3Les briques élémentaires sont immuables.

Page 18: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 14

Fig. 3.2 � Sectorisation de l'espace aérien français au niveau de vol 240 (7200m)

humaines et de maintenir une certaine charge de travail pour chaque secteur4. Un secteur estgéré par une équipe de deux contrôleurs, mais il n'y a qu'un seul contrôleur qui décide desman÷uvres à e�ectuer :

� Le contrôleur radar (ou tactique) est en contact avec l'avion. C'est lui qui gère les con�its.� Le contrôleur organique joue un rôle d'assistant.

3.1.2 La capacitéLa capacité d'un secteur exprime le nombre maximum de vols pouvant entrer dans ce

secteur pendant un intervalle de temps donné (généralement une heure). Elle est sensé corres-pondre à la charge maximale qu'un contrôleur peut supporter. Elle varie donc en fonction denombreux paramètres dont certains assez subjectifs comme le bon fonctionnement de tous leséquipements du contrôleur, la disponibilité des routes aériennes, etc.

La capacité d'un secteur pouvant varier au cours de la journée, nous appellerons secteur-période un secteur de contrôle pendant un intervalle de temps particulier au cours duquel sacapacité est constante.

Il a donc été envisagé, a�n de résoudre en partie les problèmes d'encombrement de l'espaceaérien, d'augmenter la capacité globale du ciel français en réduisant la taille des secteurs. Ilsemble cependant que l'on soit arrivé à la limite de cette solution5. En e�et, en deçà d'une

4Des études ont montré que les erreurs humaines sont plus importantes en dessous d'une certaine chargede travail.

5Il semblerait, au vu de l'analyse France-Allemagne faite par la division RFM du CENA-Athis [MMK00]

Page 19: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 15

certaine taille, le gain d'un découpage du secteur sera annihilé par l'augmentation de la chargedu contrôleur dans ses contacts avec ses homologues des secteurs adjacents (charge de coordi-nation) [Rog00].

D'autres solutions comme le Free Flight qui consisterait à faire voler les avions librement6entre les aéroports, ne permettent pas d'a�rmer aujourd'hui que cela augmentera la capacité.

Même si tous les acteurs du tra�c aérien s'accordent pour dire que le mode actuel de calculde la capacité est inadapté, aucune solution meilleure n'a été trouvée pour l'instant. A�n derésoudre l'encombrement de l'espace aérien, certains se sont tournés vers d'autres solutions,comme nous allons le voir par la suite.

3.1.3 Les plans de volPour permettre un bon contrôle de l'avion, les compagnies déposent auprès des autorités

compétentes un plan de vol pour chaque avion. Celui-ci regroupe :� le type de l'avion :� les aéroports de départ et d'arrivée ;� l'heure de départ souhaitée ;� la route suivie (c'est-à-dire la liste des waypoints) ;� le niveau de vol (l'altitude) souhaité.

Le jour même, ces informations parviennent aux contrôleurs et leurs permettent d'anticiperl'entrée d'un avion dans les secteurs qu'ils contrôlent.

Les �chiers d'archives COURAGE répertorient les plans de vols déposés et réalisés7. pourchaque journée de tra�c. Dans ces archives, on retrouve tous les avions qui ont été, au coursde leur vol, au moins une fois contrôlés par un des centres français.

3.1.4 Les créneauxPour éviter que trop d'avions ne se présentent en même temps dans un même secteur et

ainsi respecter les limites de capacité, l'option généralement choisie est de modi�er l'heure dedécollage de certains vols. On impose donc aux avions de décoller à une heure donnée autreque celle demandée. Il est obligatoire de respecter l'heure imposée.

On parle de créneau de décollage car une tolérance de 5 minutes avant et de 10 minutesaprès l'heure �xée est admise. L'avion a donc une plage d'un quart d'heure durant laquelleil peut décoller. Si un avion manque son créneau il ne peut décoller avant d'en avoir obtenuun autre. Dans les faits, il arrive que les compagnies ne respectent pas leurs créneaux et queleurs avions décollent en dehors de la plage autorisée, ceci entraînant une perturbation de larégulation (cf section 6.3).

que les secteurs allemands soient plus petits que leurs homologues français et que cela expliquerait leur plusgrande capacité. La limite n'est peut être pas atteinte...

6Chaque avion disposerait d'un outil de contrôle autonome embarqué permettant une résolution descon�its [DAG99].

7Nous ne travaillerons qu'avec les plans de vols déposés car ils re�ètent la demande réelle des compagnies.Ce n'est que sur celle-ci qu'il est possible d'e�ectuer une régulation. Les plans de vol réalisés correspondent àce qui s'est réellement passé.

Page 20: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 16

3.1.5 Exemple d'une journée de tra�cLa �gure 3.3 donne un aperçu du schéma d'ouverture et du tra�c traversant le centre de

contrôle de Brest pendant une journée entière. Chaque ligne correspond à une position decontrôle ouverte et les séparations verticales à des changements de valeur de la capacité. Lacourbe représente le nombre d'avions qui vont rentrer dans les 60 prochaines minutes.

Dès les premières heures de la journée (en haut à gauche), seules trois positions sontouvertes. On remarque que la courbe augmente à la �n de ces � cases � ce qui indique uneaugmentation du tra�c à venir. Pour faire face à cette hausse, cinq secteurs les remplacentalors, puis quelques heures plus tard, 4 autres viennent se rajouter alors qu'un est supprimé(cela correspond à un dégroupement, inverse d'un regroupement) puis, le tra�c diminuant, desregroupements sont e�ectués en �n de soirée.

Cette �gure ne montre en aucun cas la charge de travail d'un contrôleur mais s'intéresse àla réalisation d'un schéma d'ouverture en fonction de l'évolution du tra�c.

NGAOQJFZX

GA

N

J

OQ

Z

ZU

ZS

X

A

G

FBRT

0h 3h 4h 9h 15h 19h 21h30 24h

Fig. 3.3 � Centre de contrôle de Brest : évolution du tra�c aérien lors de la journée du 20 mai1999

3.2 Problèmes posés et solutions envisagéesChaque compagnie décide elle-même des plans de vols de ses avions et a une tendance

forte à utiliser les routes les plus directes, ce qui conduit au résultat de la �gure 3.1. Or,comme nous l'avons vu, la capacité de contrôle est limitée. Puisqu'il est di�cile d'augmenterla capacité des di�érents secteurs, il faut trouver des méthodes qui permettent de limiter lenombre d'avions présents dans un même secteur. A�n d'anticiper une variation de la charge

Page 21: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 17

de contrôle et éviter que les contrôleurs se trouvent dans l'incapacité de gérer le tra�c qui leurest imparti, les acteurs de la gestion du tra�c aérien travaillent en �ux entrant, c'est-à-dire ennombre d'avions qui vont entrer dans le secteur pendant une période de temps donnée. Celas'appelle de la gestion des �ux ou Air Tra�c Flow Management.

La gestion des �ux transcende les frontières des états. Par exemple, pour un aéroportcomme Paris-Charles de Gaulle, l'approche se prépare dès la Belgique. C'est pourquoi le sys-tème européen est centralisé : c'est la CFMU8. Cependant, chaque centre possède une FMP9

qui sert d'interface avec la CFMU. Les FMP lui communiquent les informations nécessairesà la gestion du tra�c comme les capacités, les di�érents regroupements et les heures aux-quelles ils sont e�ectués. De plus elles sont en contact permanent avec la CFMU a�n de suivrel'évolution, en temps réel, du tra�c aérien.

3.2.1 La CFMULa gestion du tra�c aérien, sur une région fortement morcelée comme l'Europe, prend une

dimension supranationale. C'est dans ce contexte que l'agence EUROCONTROL a été créée.Elle a pour but de servir le développement du tra�c aérien en Europe, d'assurer sa sécurité,sa �uidité et de développer des solutions aux problèmes communs. L'agence s'occupe, parmid'autres choses, de la recherche et du développement en matière de contrôle aérien, de gérerles activités de coordination et d'harmonisation entre les états membres. Elle collecte lesredevances, fournit les services du contrôle (centre de Maastricht) et par le biais de la CFMUrend les services de gestion des �ux de tra�c. La CFMU est l'organe d'EUROCONTROL encharge de fournir les services ATFM10. Elle attribue les créneaux de départ aux avions lorsdes périodes de fort tra�c. Elle donne ainsi la valeur du retard à respecter pour chaque avionpar rapport à l'heure de décollage souhaitée par la compagnie et elle indique quels secteurs ensont la cause à des �ns d'analyse.

Le but de la CFMULa gestion des �ux est un service complémentaire au service du contrôle. Il s'agit d'obtenir

un tra�c optimal (c'est-à-dire le plus �uide possible) à travers les zones et durant les périodesoù la demande excède la capacité. Le but de la CFMU est de satisfaire, dans la mesure dupossible, les demandes des compagnies, d'assurer une utilisation maximale de la capacité decontrôle, d'avoir le plus de �exibilité dans la gestion du tra�c et d'ordonner les �ux de tra�c.Cette gestion du tra�c n'est pas un but en soi mais un simple outil pour palier le manque decapacité des services de contrôle ; le but premier étant de mettre en place un service su�santpour satisfaire la demande.

Les phases de l'activité ATFMLes activités de la CFMU au niveau de la gestion des �ux se répartissent en trois phases :� stratégique ;� pré-tactique ;� tactique.

8Central Flow Management Unit9Flow Management Position10Air Tra�c Flow Management

Page 22: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 18

Stratégique La phase stratégique permet d'identi�er les principaux problèmes en termesde déséquilibre de l'o�re (capacité) par rapport à demande et de mettre en place les actionsnécessaires à la correction de ces déséquilibres. Cela se fait :

� par la collecte, l'étude de données et la publication de comptes-rendus ;� par un processus de coordination internationale destiné à assurer la compatibilité et

l'e�cacité des e�orts nationaux.La phase stratégique permet de donner les éléments et les conseils nécessaires aux états pourfaire des ajustements quant à l'organisation de l'espace aérien, aux procédures de contrôle età la gestion des e�ectifs.

Pré-tactique La phase pré-tactique commence deux jours avant le jour des opérations. Elleconsiste en :

� l'étude de la demande de plan de vol (réactualisée en continue) ;� la comparaison de cette demande avec la capacité de contrôle disponible donnée par les

FMP ;� la mise en place de mesure ATFM pour l'ensemble de la zone régulée par la CFMU en

accord avec chaque FMP.

Tactique La phase tactique se déroule le jour des opérations. Il s'agit alors :� de mettre en place les mesures de gestion décidées antérieurement ;� de s'assurer que les problèmes de surcapacité sont résolus avec les mesures appropriées ;� de s'assurer que les retards ou les restrictions de vol imposés sont utiles et minimaux.

Pour réaliser cela, un contact permanent entre les services du contrôle (via les FMP) et laCFMU est nécessaire. Ainsi la CFMU a une vision suivie de l'état du tra�c actuel, ce quipermet de coordonner les actions a�n de maximiser l'utilisation de la capacité, de pouvoirréagir en cas de problème non détecté durant les phases précédentes, de surveiller les e�etsdes mesures mises en place et les retards occasionnés.

L'allocation de créneauxLes compagnies aériennes doivent déposer un plan de vol indiquant la route, l'heure de

décollage souhaitée et divers renseignements concernant l'avion. C'est la collecte et l'étude deces plans de vol qui permettent de prévoir et de gérer le tra�c, notamment en en déduisantl'heure d'entrée de chaque avion dans les di�érents secteurs de l'espace aérien que chacun doittraverser au cours de son vol. Nous allons détailler ici le fonctionnement de CASA (ComputerAssisted Slot Allocation).

CASA est un système automatique et centralisé qui a en charge l'attribution des créneauxde décollage [Rog00].

Pour chaque zone régulée, CASA génère une liste de créneaux de passage disponibles dontle nombre est égal à la plage horaire divisée par la capacité. Ainsi, si un secteur de capacitéhoraire égale à 30 avions se trouve régulé, CASA crée une liste de créneaux d'entrée dans lesecteur de deux minutes chacun (60 minutes divisées par la capacité) et cela pour toute ladurée d'ouverture du secteur-période considéré.

La liste ainsi générée va se remplir au fur et à mesure de l'arrivée des plans de vol. Si unavion souhaite passer dans un créneau déjà alloué à un autre vol, c'est l'avion qui aurait dûpasser le premier en l'absence de régulation qui obtient le créneau. L'autre avion est reclassé

Page 23: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 19

dans le créneau suivant. Si cette case est occupée alors le processus se répète. Il peut donc seproduire une réaction en chaîne. Un vol peut décaler de proche en proche de nombreux avions.

L'allocation obtenue est évolutive puisque chaque nouveau plan de vol peut bouleverser laliste. Pour l'instant, on ne parle que d'une pré-allocation des créneaux. Si un vol est annulé, lacase qu'il occupe dans chaque liste est libérée et les autres vols peuvent ainsi voir leur situationévoluer.

L'EOBT (Estimated O�-Block Time) est l'heure à laquelle un avion a prévu de quitterle parking. Elle di�ère de l'heure de décollage par le temps mis par l'avion pour se rendreau seuil de piste. Deux heures avant l'EOBT d'un avion, le créneau de l'avion concerné estcommuniqué à la compagnie et au service de contrôle. A ce moment, le créneau ne peut plusêtre pris par un autre vol. Cependant, si la compagnie est dans l'incapacité de prendre cecréneau, elle doit demander un changement.

L'allocation de créneaux faite par la CFMU, au contraire des autres modèles que nousallons voir est dynamique. Elle est recalculée en permanence a�n de tenter d'améliorer lasituation lorsque cela est possible. En fait, la CFMU reproduit de manière automatisée ce quel'homme faisait manuellement.

Bien que cette méthode apporte des résultats et permette une certaine régulation du tra�caérien, elle comporte certains défauts, notamment lorsqu'un avion entre, au cours de son vol,dans plusieurs zones régulées parce que l'allocation se fait par rapport à l'heure d'arrivée sansretard dans le secteur considéré et donc ne tient pas compte des autres zones régulées.

Il existe d'autres méthodes d'allocation de créneaux comme celle intégrée dans le projetSHAMAN11 développé au CENA-Athis [PM98, Riv01] ou encore, celle qui nous intéresse plusparticulièrement, développé au Laboratoire d'Optimisation Global du CENA/ENAC [BB00]dont le but ultime est le même : retarder les avions au décollage pour qu'ils ne subissent pasde retard au cours du vol et ainsi permettre un meilleur écoulement du tra�c.

3.2.2 Module d'allocation de créneaux de SHAMANSHAMAN est une plate-forme dans laquelle sont implantées des fonctionnalités permet-

tant :� la di�usion sélective d'informations selon di�érents niveaux de représentation (centres,

secteurs, �ux de tra�c) pour apprécier principalement la répartition de la demande detra�c et l'utilisation de la capacité ;

� l'évaluation rapide des e�ets d'un ensemble de mesures de régulation tels que les choixde la con�guration d'un centre de contrôle ou l'a�ectation, à certains �ux de tra�c, dedébit ou de délai maximal spéci�que.

Les utilisateurs potentiels d'outils intégrant les fonctions développées dans SHAMAN sont,entre autres, la CFMU et les FMP en phase pré-tactique et pour l'analyse a posteriori.

Shaman utilise � en partie � la programmation par contraintes (voir chapitre 2). Lesheuristiques de recherche utilisées sont multiples et nous ne nous intéresserons ici qu'à cellequi donne les meilleures résultats : premier arrivé sur la contrainte la plus chargée, premierservi. Cette heuristique est très proche du mode de résolution utilisé par la CFMU.

Quelle que soit l'heuristique choisie, chaque avion possède une variable de retard au dé-collage, un maximum de retard autorisé (en général 240 minutes) et son plan de vol est par-faitement connu. Le schéma d'ouverture des cinq centres de contrôle en route étant également

11Le nom du projet Marabout est une � traduction � ML de SHAMAN...

Page 24: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 3. DESCRIPTION DU PROBLÈME D�ALLOCATION DE CRÉNEAUX 20

connu, chaque secteur ouvert est découpé en secteurs-périodes (en général par période d'uneheure). La stratégie de résolution est l'implémentation séquentielle des variables de retard,l'ordre étant dé�ni par l'heuristique utilisée. Dans le cas qui nous intéresse, on sélectionnele secteur-période le plus chargé par rapport à un indicateur de charge puis on repousse lepassage du dernier vol entrant dans le secteur-période (si tous les retards sont nuls) dans lesecteur-période suivant (voir section 5.2.1). Par exemple, dans un secteur-période de capacitéégale à trois, quatre avions le traversant, le dernier vol est repoussé. On recommence jusqu'àla détection d'un échec ou d'une solution.

La recherche d'une solution n'est donc qu'une simple instanciation des variables de retard,la programmation par contraintes n'ayant pour but que de véri�er le respect des limites decapacités et de repérer plus rapidement les échecs éventuels. Si l'implémentation échoue, onconsidère qu'il n'y a pas de solutions ; ni backtrack ni optimisation n'est e�ectué dans la versionactuelle utilisée au CENA.

Les méthodes de résolutions qui ont été décrites ici ne sont que deux parmi d'autres maisreprésentent sans doute les deux projets les plus aboutis. La méthode que nous allons étudierdans la suite n'en est encore qu'au stade expérimental.

Page 25: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 4

Les solutions retenues pour le projetMarabout

Dans toute la suite, on parlera abusivement de secteur pour désigner une position decontrôle, qui correspond soit à un secteur élémentaire, soit à un regroupement, et toujours decapacité constante pendant sa période d'ouverture (si un secteur change de capacité au coursde la journée, on le considère comme deux secteurs distincts).

Plusieurs modèles ont été retenus par [BB00] pour la résolution du problème d'allocation descréneaux. Ces modèles di�èrent par l'interprétation des contraintes de charge de secteur ; lacapacité horaire pouvant être prise en compte de manière discrète, avec un intervalle de tempsà choisir (ce qui ressemble au modèle utilisé dans SHAMAN section 3.2) ou bien continûment.Tous ont été implémentés avec FaCiLe, une bibliothèque de programmation par contraintessur les domaines �nis écrite en Objective Caml [Ler00] par les mêmes auteurs [BB01].

La description des modèles utilise les notations suivantes :� S : l'ensemble des secteurs ouverts (ce qui correspond à l'ensemble des positions de

contrôle), chacun avec un début (start) et une �n (end) ;� F : l'ensemble des vols ;� tsi : l'heure à laquelle le vol i entre dans le secteur s si ce vol n'est pas retardé ;� capas : la capacité du secteur s (au sens CFMU : nombre de vols entrant par heure) ;� δ : la durée de la période unitaire pour la contrainte de capacité en minutes (pour la

CFMU, δ = 60.Tous les modèles travaillent sur les variables de décision suivantes :� Di : retard au décollage du vol i.Deux familles de modèles équivalents sont présentées. La première décrit les modèles dis-

crets classiquement utilisés aujourd'hui [Mau96], la seconde, les modèles continus.

4.1 Fenêtres sans recouvrement : modèle discretPour la première famille de modèles, nous considérons des périodes de charge successives

et contiguës :� Ps = {ps

0, ps1, ...} : périodes successives de longueur δ, chacune dotée d'un début (start) et

d'une �n (end). La première période commence avec l'ouverture du secteur : start(ps0) =

start(s).

21

Page 26: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 4. LES SOLUTIONS RETENUES POUR LE PROJET MARABOUT 22

Ces périodes correspondent aux secteurs-périodes utilisés dans SHAMAN si δ est égale àune heure (voir section 3.2) et chacune a une capacité constante.

On peut donc écrire :

Ps = {[start(s), start(s) + δ[, [start(s) + δ, start(s) + 2δ[, ...}

Ce choix de non-recouvrement de périodes de charge conduit à plusieurs modélisationspossibles ; nous en présentons deux dans les sections suivantes, l'une utilisant des contraintesbasiques, l'autre utilisant une contrainte globale.

4.1.1 Variables booléennesLe modèle Standard utilise des variables auxiliaires booléennes correspondant à la présence

des vols dans les di�érentes périodes :� Bi,ps

j: le vol i entre dans le secteur s durant la période ps

j .Les contraintes correspondantes sont les suivantes : la première relie les variables auxiliaires

aux variables de décision, la seconde exprime celle dûe aux capacités des di�érents secteurs.

∀s ∈ S ∀psj ∈ Ps Bi,ps

jssi start(ps

j) ≤ tsi + Di < start(psj) + δ

∀s ∈ S ∀psj ∈ Ps

i∈FBi,ps

j≤ capas

L'inconvénient majeur de cette solution est le nombre important de variables auxiliaires,proportionnel au nombre de secteurs et au nombre de périodes.

|{Bi,psj}| = |F|

s∈S

end(s)− start(s)δ

Pour restreindre l'usage de variables auxiliaires, la formulation suivante utilise une con-trainte globale.

4.1.2 Contrainte globale de cardinalitéUne contrainte globale de cardinalité (gcc) est spéci�ée avec les composants suivants :� un ensemble de variables X = {X1, ..., Xn} ;� un ensemble de valeurs V = {V1, ..., Vd} ;� un ensemble de cardinaux (variables à domaine intervalle) C = {C1, ..., Cd}.La contrainte globale de cardinalité contraint le nombre d'occurrences de valeurs de V

parmi X. Plus formellement, la contrainte gcc(C, V,X) exprime

∀i |{x ∈ X|x = Vi}| = Ci

[Rég96] a proposé un algorithme de propagation e�cace et complet pour cette contrainte.La contrainte gcc permet de reformuler aisément le modèle Standard pour l'allocation de

créneaux. L'idée de base est de calculer la période pendant laquelle un vol entre dans un secteuren fonction de son retard. Or dans le modèle standard, les périodes constituent une partitionrégulière du temps, ce qui permet de réduire ce calcul à une simple opération arithmétique :si les périodes successives de longueur δ sont numérotées 0, 1, ..., j, ... la période correspondant

Page 27: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 4. LES SOLUTIONS RETENUES POUR LE PROJET MARABOUT 23

à un temps t vaut bt/δc. On prend donc pour la gcc Vj = j et on contraint Cj à être inférieurà la capacité de la période j. Par exemple, pour un secteur ouvert pendant quatre heures etdécoupé en périodes d'une heure, on numérote les périodes 0, 1, 2 et 3. À chaque avion, onassocie une variable qui donne le numéro de la période qu'il traverse. On doit donc avoir lenombre d'occurrences de 0, 1, 2 ou 3 parmi ces variables (qui correspond au nombre d'avionstraversant la période) inférieur à la capacité.

Avec une gcc, le modèle s'exprime en utilisant les variables et valeurs auxiliaires suivantes :� Xs

i : index de la période de l'heure d'entrée du vol i dans le secteur-période s ;� V s

j = j : index de la j emepériode dans le secteur-période s ;� Cs

j = 0..capas : nombre de vols entrant dans le secteur-période s durant la j emepériode.Pour chaque secteur-période, il su�t alors de lier les variables auxiliaires aux variables de

décision et de contraindre les variables auxiliaires avec une gcc.

∀s ∈ S, ∀i ∈ F Xsi = (tsi + Di)/δ

∀s ∈ S gcc(Cs, V s, Xs)

Les arguments pour préférer l'usage d'une contrainte globale à un ensemble de contraintesélémentaires sont nombreux :

� le modèle est plus simple à écrire et plus facile à appréhender ;� le nombre de contraintes et de variables est réduit, ce qui réduit d'autant la taille de

l'arbre de recherche ;� une propagation plus e�cace peut être réalisée.

4.2 Modèles continusLes deux modèles précédemment décrits ont l'inconvénient d'être fortement discontinus.

Ils contraignent seulement la charge du secteur au début de chaque période, c'est-à-dire pardéfaut uniquement 24 fois par jour. L'objectif de la fonction de coût étant de minimiser lesretards, l'e�et de bord attendu de cette modélisation est un nombre important de vols endébut de période (même phénomène de pics que celui rencontré dans SHAMAN). Ceci estcon�rmé par les expérimentations (voir section 6.2).

Pour remédier à ce biais, [BB00] proposent deux nouvelles formulations. La première estun simple ra�nement du modèle Standard, la seconde utilise une contrainte globale de tri surun problème dual.

4.2.1 Fenêtres glissantesEn conservant l'idée du modèle Standard, il est possible de dé�nir un modèle plus continu

en considérant des périodes se chevauchant.Nous introduisons pour cela un paramètre supplémentaire (σ) correspondant à l'intervalle

de temps entre deux périodes successives :

Ps = {[start(s), start(s) + δ[, [start(s) + σ, start(s) + σ + δ[, ...}Ce modèle reprend évidemment le modèle Standard et lui est équivalent pour σ = δ.

Il peut être mis en ÷uvre avec les mêmes variables booléennes auxiliaires. Malheureusement,l'astuce permettant d'utiliser la contrainte globale de cardinalité ne s'applique plus dans le casgénéral d'un σ quelconque car un vol est alors concerné par plusieurs périodes simultanément.

Page 28: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 4. LES SOLUTIONS RETENUES POUR LE PROJET MARABOUT 24

δ

σ

Standard

Glissant

Fig. 4.1 � Fenêtre glissantes

4.2.2 La contrainte de triSoit D un ensemble totalement ordonné. La contrainte de tri est la relation associée à la

fonction standard de tri. Alors qu'une fonction de tri prend en argument une séquence den éléments de D et retourne une autre séquence contenant les mêmes éléments ordonnés, lacontrainte � lie � deux séquences de variables à domaine �ni à valeur dans D.

Formellement, la contrainte de tri sur les variables intervalle X1,...,Xn,Y1, ..., Yn dans unensemble totalement ordonné (D,¹) exprime

(X1, ..., Xn, Y1, ..., Yn) ∈ sort

oùsort =

{(x1, ..., xn, y1, ..., yn) ∈ D2n tel que(y1, ..., yn) est une permutation de (x1, ..., xn) et ∀i ≤ j, yi ¹ yj

}

Exemple : soit

X = {[0− 13]; [6− 10]; [10− 11]; [4− 16]; [4− 6]}Y = {[1− 3]; [5− 10]; [6− 9]; [11− 17]; [10− 15]}

deux séquences de variables intervalle. La pose de la contrainte

sort(X,Y )

conduit aux ra�nements suivant sur les bornes des intervalles :

X = {[1− 3]; [6− 9]; 11; [11− 15]; [5− 6]}Y = {[1− 3]; [5− 6]; [6− 9]; 11; [11− 15]}

[GC97] propose un algorithme e�cace de �ltrage pour cette contrainte. Il est remarquableque la complexité de cet algorithme complet (c'est-à-dire que la propagation e�ectuées sur lesbornes des intervalles est maximale et donc que toutes les solutions possibles sont envisagées)de consistance ait une complexité optimale en O(n log n).

L'algorithme est décrit en six étapes impliquant des structures de données relativementcomplexes (arbre binaire balancé, ...) et des tris standards. Le ra�nement n'est fait que surles bornes des domaines des variables.

Page 29: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 4. LES SOLUTIONS RETENUES POUR LE PROJET MARABOUT 25

Pour ce problème, [BB00] utilise une contrainte de tri par secteur. Cette contrainte estposée sur des variables auxiliaires correspondant aux heures d'entrée des avions dans le secteuret à ces mêmes heures ordonnées :

� T si : heure d'entrée du vol i dans le secteur s ;

� Ssj : heure d'entrée du j emevol entrant dans le secteur s.

Les contraintes de tri lient les variables de décision avec les variables auxiliaires. Lacontrainte de capacité est exprimée sur les variables auxiliaires uniquement (les heures d'en-trée triées) : deux vols avec des heures d'entrée Sj et Sj′ dans la séquence ordonnée tels quej + capa ≤ j′ doivent être distants d'au moins δ minutes (cf. �gure 4.2) :

∀s∀i ∈ F T si = tsi + Di

∀s sort(T s, Ss)∀s∀j ∈ {1, .., |F| − capas} Ss

j + δ ≤ Ssj+capas

S10 + 30 ≤ S30

S11 + 30 ≤ S31

11eme 31eme10eme 30eme

Fig. 4.2 � Contrainte de capacité appliquée aux vols ordonnés (δ = 30, capa = 20)

La contrainte de capacité n'est pas tout à fait correcte car elle est posée même pour despaires de vols dont l'un entre avant ou après la période d'ouverture secteur. Elle doit doncêtre relaxée dans ce cas ; cela peut être réalisé simplement à l'aide de variables booléennes :

∀s ∈ S ∀j Bsj ssi start(s) ≤ Ss

j < end(s)∀s ∈ S ∀j ∈ {1, .., |F| − capas} Ss

j + δ ≤ Ssj+capas + (2−Bs

j −Bsj+capas) ∗ δ

La variable booléenne Bsj est la réi�cation de la contrainte exprimant que le secteur s est

concerné par le vol j. Si pour une paire de vols, un des deux vols est en dehors de la périoded'ouverture, la contrainte de capacité est relaxée avec le second terme du membre droit del'inégalité.

L'utilisation d'une contrainte de tri a déjà été proposée par [Zho96] pour résoudre leproblème job-shop1. La contrainte d'utilisation unique d'une machine (de capacité unitaire) aun instant donné est alors facilement exprimée en contraignant la j emetâche à �nir avant ledébut de la (j +1)eme. La formulation de la contrainte de tri de [BB00] di�ère donc de celle-cipar l'expression supplémentaire d'une capacité à travers les contraintes de précédence.

1Job-shop est un problème d'ordonnancement : le but est de réaliser sur plusieurs machines di�érentestâches en un minimum de temps

Page 30: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 5

Mise en ÷uvre

De même que les modèles décrits dans le chapitre précédent, la mise en ÷uvre qui suitutilise la librairie de programmation par contraintes FaCiLe.

FaCiLe[BB01] est une librairie de programmation par contraintes � semblable à ILOGSolver[Sol99] � sur des domaines �nis d'entiers, écrite en OCaml[Ler00]. Elle o�re toutesles possibilités usuelles pour créer et manipuler des variables à domaine �ni, des expressionsarithmétiques et des contraintes (non obligatoirement linéaires). FaCiLe permet de construireaisément des contraintes et des buts (même récursif) en utilisant des fonctions OCaml d'ordresupérieur.

5.1 Méthode � à la SHAMAN �L'idée de cette mise en ÷uvre est de rajouter au projet Marabout une méthode d'allocation

de créneaux utilisant la même heuristique que SHAMAN (voir section 3.2.2) : premier arrivésur la contrainte la plus chargée, premier servi.

Nous reprenons les mêmes notations que précédemment pour la description de ce modèle,c'est-à-dire :

� S : l'ensemble des secteurs-périodes, chacun avec un début (start) et une �n (end) ;� F : l'ensemble des vols ;� tsi : l'heure à laquelle le vol i entre dans le secteur-période s si ce vol n'est pas retardé ;� capas : la capacité du secteur-période s.

5.1.1 Les variablesLe modèle fait intervenir trois � types � de variables :� Di : le retard au décollage associé à l'avion i ;� Cs : la charge du secteur-période s ;� Rmax : le retard maximum qu'il est possible d'allouer à un avion.Mise à part les variables Cs qui sont dé�nies implicitement par la pose d'une contrainte

(voir section 5.1.2), les variables de retard Di ainsi que le retard maximum sont dé�nies par :

∀i ∈ F , Di = [mini ; maxi]Rmax = [0 ; maxr]

26

Page 31: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 5. MISE EN ×UVRE 27

où mini (respectivement maxi) est le retard minimum (resp. maximum) qui peut être allouéà l'avion i et maxr, le retard maximum que l'on souhaite obtenir.

Dans les problèmes traités par la suite, il y aura donc une variable de retard par avion(entre 6000 et 8000 suivant les journées) comprise, en général, entre 0 et 120 minutes, uneseule variable de retard maximum comprise, de même, entre 0 et 120 minutes et une variablede charge par secteur-période (aux alentours de 2000 dans une journée).

5.1.2 Les contraintesLa première contrainte vise à compter le nombre d'avions présents dans un secteur-période

s en tenant compte du retard possible de chaque avion. On notera Esi l'heure d'entrée de l'avion

i dans le secteur-période i.Es

i = tsi + Di (5.1)

∀s ∈ S, Cs =∑

i∈F( starts ≤ Es

i < ends︸ ︷︷ ︸variable booléenne Bs

i

) (5.2)

Les deux contraintes suivantes sont de type inéquation :� le nombre d'avions présents dans un secteur-période doit être inférieur à la capacité de

ce secteur ;∀s ∈ S, Cs ≤ capas (5.3)

� tous les délais doivent être inférieurs au délai maximum autorisé1.∀i ∈ F , Di ≤ Rmax (5.4)

Dans les problèmes traités par la suite, le nombre de contraintes (5.1) est proportionnelau nombre d'avions ainsi qu'au nombre de secteurs-périodes que chacun est susceptible detraverser (c'est-à-dire de 6000 à 8000 avions qui traversent � potentiellement � en moyenne undizaine de secteurs-périodes ; celui des contraintes (5.4) est proportionnel au nombre d'avionset on pose autant de contraintes (5.2) ainsi que de contraintes (5.3) qu'il y a de secteurs-périodes (aux alentours de 2000 pour une journée). A cela il faut rajouter le � calcul � desvariables Bs

i dont le nombre est proportionnel au nombre d'avion et au nombre de secteurs-périodes qu'ils sont susceptible de traverser.

On a donc à peu près 10000 variables et 200000 contraintes pour une journée de tra�c, cequi est très important.

5.2 Stratégie de recherche et invariants5.2.1 Stratégie de recherche

La stratégie de recherche employée ici est donc � premier prévu sur le secteur-période leplus chargé, premier servi �, c'est-à-dire que l'avion à repousser est choisi d'abord en fonctionde la charge des secteurs-périodes puis, en fonction de son heure d'entrée dans le secteur choisi[PM98].

1Cette contrainte est triviale est ne sert que si la dé�nition des variables Di permet un retard plus importantque le retard maximum que l'on souhaite autoriser.

Page 32: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 5. MISE EN ×UVRE 28

Solution potentielle On appelle solution potentielle la valuation au minimum de chaquevariable, (c'est-à-dire que chaque variable est instanciée au minimum des valeurs possible deson domaine).

La stratégie de recherche est guidée par cette solution potentielle. Elle consiste à sélection-ner la contrainte la plus violée par cette solution potentielle et à tenter de résoudre le con�iten e�ectuant la modi�cation qui cause le retard minimum [MJPL94].

Charge potentielle d'un secteur-période La stratégie de recherche nécessite de pouvoircalculer la charge d'un secteur-période, c'est-à-dire le nombre d'avions qui entrent dans unsecteur-période s si les variables de retard sont instanciées au minimum (ce qui est équivalentà la charge de la solution potentielle).

∀s ∈ S, cps =∑

i∈F

(starts ≤ tsi + min(di) < ends) (5.5)

Choix du secteur-période [PM98] Le choix du secteur-période se fait par rapport à unindicateur de charge charge potentielle

capacité . Ce calcul est e�ectué à chaque évolution (réductionde domaine des variables de retards). Ceci entraîne un coût important égal au nombre d'avionsqui traversent potentiellement le secteur-période considéré (il faut véri�er pour chaque avionsa présence dans le secteur), et ceci pour chaque indicateur de charge. Pour éviter tout calculinutile, ces indicateurs sont donc, grâce aux invariants, maintenus et ne sont recalculés que siune modi�cation les concernent.

Choix du vol Une fois le secteur-période choisi, on repousse hors contrainte le dernier volarrivé. Si cela est impossible, on repousse celui juste avant (et ainsi de suite) (cf �g 5.1).

La �gure 5.1 représente un secteur-période et les avions susceptibles d'y entrer, représen-tés par l'heure minimum (hs

i = min(esi ) = tsi + min(di)) d'entrée dans ce secteur-période.

Supposons que capas = 2. On repousse hors contrainte le dernier vol arrivé.

temps

heure d'entrée de l'avion pour un retard instancié au minimum

secteur-période s

esi+1es

i

starts ends

Fig. 5.1 � Décalage du dernier vol arrivé

Dans une première version, le calcul des charges potentielles était e�ectué après chaque� évolution �, c'est-à-dire chaque fois qu'une variable voyait son domaine réduit. Or le nombred'équations est proportionnel au nombre d'avions ainsi qu'au nombre de secteurs-périodes (del'ordre de 15000 dans les problèmes traités par la suite). ce qui entraîne un temps de calculextrêmement long.

A�n de réduire ce temps de calcul, nous avons fait appel aux invariants (voir section 5.2.2).

Mise hors contrainte d'un avion La mise hors contrainte d'un avion se traduit parl'a�ectation d'un retard (si cela est possible) au moins égal à la di�érence entre l'heure de

Page 33: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 5. MISE EN ×UVRE 29

fermeture du secteur-période dont on veut le repousser et l'heure d'entrée de cet avion dansce secteur. On e�ectue ainsi une réduction du domaine de sa variable de retard.

Recherche d'une solution La recherche d'une solution passe donc par la résolution deséquations suivantes :

∀s ∈ S, cps ≤ capas

Une fois toutes ces équations satisfaites, on sait que la solution potentielle est une solutione�ective. On instancie donc chaque variable (non réduite à une unique valeur) à son minimum.On a bien alors un ensemble de variables qui véri�e les contraintes du problème.

Le but est donc une conjonction entre cette instanciation et la stratégie de rechercheutilisée. Si on n'e�ectue pas d'optimisation, la fonction de recherche utilisée s'arrête à lapremière solution trouvée.

On s'aperçoit alors que dans le cas sans optimisation, on peut résoudre le problème sansutiliser la programmation par contraintes, celles-ci ne permettent en fait que de détecter plusrapidement les échecs. En revanche, les contraintes sont nécessaires si on veut optimiser lerésultat.

5.2.2 Invariants [MH00]Les invariants permettent essentiellement de réduire les coûts de certaines opérations

lorsque peu d'éléments de celle-ci varient. Par exemple, si on considère une somme de laforme :

sum = a1 + ... + ai + ... + an

Supposons que seul ai est modi�é en ai. Si on e�ectue à nouveau le calcul, le coût est de n.Les invariants permettent de réduire ce coût à 1 en e�ectuant le calcul suivant :

sum = sum− ai + ai

FaCiLe permet l'implémentation de � références invariantes � (notée ir) modi�ables (cequi permet le backtrack ainsi que la possibilité de dépendance entre plusieurs références inva-riantes (voir ci dessous). On peut dé�nir ces références invariantes de plusieurs manières :

1. par rapport à une constante c :

ir := c

2. par rapport à d'autres références invariantes (irs) :

ir := f(irs)

3. par rapport au domaine (�ni) d'une variable X de FaCiLe :

ir := min(X)

Page 34: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 5. MISE EN ×UVRE 30

Application Comme on l'a vu précédemment, le nombre de variables nécessaires à la réso-lution est très élevé. De plus, les calculs de charges potentielles sont nombreux et répétitifs.Or retarder un avion pour le faire passer dans un autre secteur-période ne modi�e pas toutesles variables du problème mais seulement un nombre limité. Les invariants vont donc nouspermettre de maintenir des variables et de relations entre elles comme la somme des retards,les charges des secteurs-périodes et réduire ainsi le temps de calcul.

Par exemple les charges potentielles dé�nies par l'équation (5.5) ne sont recalculés quelorsqu'un avion entrant potentiellement dans un secteur-période s voit le domaine de sa va-riable de retard modi�é. Le calcul ne fait qu'enlever 1 à cps si l'avion sort de s. Le coût decalcul d'une somme, grâce aux invariants, est donc constant (indépendant de la taille de lasomme).

5.3 OptimisationLe critère retenu a été la minimisation du maximum des retards que l'on peut allouer à

un avion, cela sans tenir compte de la somme des retards. En e�et, une contrainte sur unesomme n'est pas � e�ective � en terme de propagation car il est plus facile d'optimiser uneseule variable que plusieurs reliées entre elles par une somme.

FaCiLe permet d'e�ectuer une optimisation suivant l'algorithme de Branch & Bound (voirsection 2.2.6) de deux façons di�érentes :

� Sans backtrack ; c'est-à-dire que lorsqu'on a trouvé une solution, on recommence l'algo-rithme depuis le début en cherchant une solution de coût inférieur à celle déjà trouvé ;

� Avec backtrack ; c'est-à-dire qu'au lieu de recommencer depuis le début, lorsqu'on atrouvé une solution, on backtrack jusqu'à revenir à un point de choix possédant une� branche � susceptible d'aboutir à une solution de moindre coût.

Page 35: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 6

Robustesse au bruitage des données

Seuls les tests du modèle discret, utilisant la contrainte globale de cardinalité et du modèlecontinu utilisant la contrainte de tri apparaissent ici ; les solutions du modèle glissant avecσ = δ et du modèle Standard étant équivalentes, on ne s'intéressera qu'au modèle Standardparmi les modèles discrets. De même, parce que l'on peut obtenir une certaine équivalenceentre le modèle glissant avec σ � petit � et le modèle Continu utilisant la contrainte de tri, onse limitera à l'étude du modèle utilisant la contrainte de tri parmi les modèles Continus. Deplus, le modèle � à la SHAMAN � a été abandonné car il ne permet pas de réguler un nombresu�sant de journées de tra�c comme il a été possible pour les autres modèles et n'a pas puêtre comparé ici aux autres modèles.

Tout les tests ont été menés avec une précision ε (unité de temps) de 5 minutes1, sur despériodes unitaires δ pour la contrainte de capacité (taille d'un secteur-période) de 30 minuteset un retard maximum de 60 minutes.

6.1 RésultatsLes tests e�ectués sur l'e�et produit par les di�érentes méthodes de régulation ne sont

bien sûr pas complets, aucune variation sur les paramètres n'ayant été faite2, et ne sont là quepour illustrer le comportement de ces deux méthodes.

Dans cette section, la journée du 4 février 1999 a été retenue. Ce jour, 6124 avions ont étéen contact avec les organismes français du contrôle aérien, ce qui correspond à une journée detra�c moyen puisque d'après les dernières statistiques [DNA01] 6176 vols ont été contrôlés, enmoyenne, par jour en 1999.

Les résultats du tableau 6.1 montrent tout d'abord l'extrême di�culté d'optimisation3des résultats, ceci à cause du nombre énorme de variables et du peu de liberté laissée parles di�érents paramètres (capacité, nombre d'avions, etc...). Ensuite, il apparaît une énormedi�érence au niveau de la somme des retards. En e�et, sur l'immense majorité des cas traités,le modèle Continu génère au moins deux fois plus de retard que le modèle Standard, le nombred'avions non retardés étant également moins important pour le modèle Continu

Malgré cela, la di�érence essentielle entre ces deux modèles est qualitative. La �gure 6.11Une précision inférieure ne signi�erait rien car on travaille sur une prévision issue des plans de vols. Les

avions ne volant pas exactement à la vitesse indiquée, il faut autoriser quelques in�mes variations.2Une comparaison partielle ayant été faite par [BB00].3L'optimisation a été faite par rapport à la somme des retards.

31

Page 36: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 32

Modèle Somme des retardsen minutes

Nombre d'avions deretard nul

Nombre d'avions deretard inférieur à 15minutes (non nul)

Standard 14315 5262 527Standard, Optimum 14210 5255 534Continu 34865 4420 871Continu, Optimum 34740 4553 871

Tab. 6.1 � Retards et nombre d'avions retardés induits par la régulation pour la journée du4 février 1999

montre la prévision de charge, c'est à dire le nombre de vols entrant pendant les δ prochainesminutes (ici δ = 30) pour un secteur contrôlé par le centre de Reims. La courbe en pointillécorrespond au tra�c non régulé (horaires prévus), la courbe continue correspond à la meilleuresolution trouvée et la ligne horizontale à la limite de capacité (ici égale à 14).

À première vue, il apparaît que le modèle Standard ne régule presque aucun vol (d'oùune somme des retards plus faible) et il faut véri�er attentivement que la solution assure unpassage sous la limite de capacité toutes les δ minutes. La courbe pour le modèle Continumontre un résultat plus probant et attendu : la charge prévue ne dépasse jamais la capacité.

6.2 In�uence sur la charge instantanéeA�n de véri�er la présence d'un phénomène de pic (évoqué section 3.2.2) il a paru inté-

ressant, avant même de bruiter les solutions, d'observer le comportement des deux modèleslorsqu'ils sont � stressés �, c'est à dire soumis à un nombre important de vols désirant entreren même temps. Ce test à été réalisé en se limitant à un unique secteur et en diminuant lacapacité de 10% a�n de contraindre un plus grand nombre de vols.

La �gure 6.2 montre le biais engendré par le modèle Standard. Des pointes apparaissent àchaque début de période. Sachant qu'un vol qui doit être retardé est repoussé dans la prochainepériode non saturée, les avions ont � tendance � à entrer en début de la période suivante, cequi provoque ces pics. Tout en respectant les contraintes de capacité, la charge n'est pasuniformément répartie dans le modèle Standard alors que le modèle Continu n'a pas cet e�etnégatif.

6.3 Retard supplémentaire au décollageComme on l'a vu précédemment (voir section 3.1.4), les avions reçoivent des créneaux de dé-

collage. Ceci, ajouté au fait que beaucoup d'avions ne respectent pas ces créneaux et décollenten dehors des limites autorisées, entraîne une di�culté supplémentaire dans la régulation.

En e�et, il est impossible de prévoir à l'avance si tel ou tel avion sera en retard et d'entenir compte lors de la phase d'allocation des créneaux. C'est pourquoi nous allons observerce bruit sur les heures de décollage et tenter de comprendre ses implications sur la prévisionde tra�c.

La �gure 6.3 représente la répartition des retards pour les avions contrôlés par les centresde contrôle français et ayant décollés d'un aéroport français. Sur 407491 avions concernés,

Page 37: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 33

4

6

8

10

12

14

16

18

20

100 120 140 160 180 200

StandardNon regule

4

6

8

10

12

14

16

18

20

100 120 140 160 180 200

ContinuNon régulé

Fig. 6.1 � Régulation avec les modèles Standard (en haut) et Continu (en bas) : e�et de larégulation sur nombre de vols entrant dans le secteur pendant les prochaines δ = 30 minutesen fonction du temps.

Page 38: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 34

0

5

10

15

20

25

30

0 200 400 600 800 1000 1200 1400

ContinuStandard

Fig. 6.2 � Nombre instantané d'aéronefs présents dans un secteur test : pointes de tra�c audébut de chaque période

seulement un peu plus de 11% (47380 avions) partent à l'heure prévue et 78% des vols (318780avions) respectent leur créneau, ce qui implique qu'un avion sur cinq ne respecte pas la normeen vigueur. De plus, 4% des vols possèdent plus d'une demi-heure de décalage (de retard ouplus fréquemment d'avance) par rapport à l'horaire imposé.

No

mb

re d

e v

ols

Retard (en minutes)

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

-60 -40 -20 0 20 40 60

1999

Fig. 6.3 � Répartition des retards sur l'année 1999 : nombre d'avions en fonction du retardau décollage

Si on regarde plus en détail la distribution des retards sur les grands aéroport français au

Page 39: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 35

cours de l'année 1999, on s'aperçoit que cette répartition n'est pas du tout homogène (voir�gure 6.4).

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

-20 -10 0 10 20 30 40

NiceLyon

MarseilleToulouse

0

1000

2000

3000

4000

5000

6000

7000

8000

-60 -40 -20 0 20 40 60

Roissy-CDGParis-Orly

Fig. 6.4 � Répartition des retards par aéroport sur l'année 1999 : nombre d'avions en fonctiondu retard au décollage

On peut peut-être expliquer ces di�érences par les temps de roulage, plus faibles sur lespetits aéroports et surtout complètement imprévisible à Paris-Charles de Gaulle.

Tout ceci rend extrêmement di�cile la prise en compte des retards dans l'évaluation d'uneméthode d'allocation de créneaux. Les tests qui vont suivre ayant été réalisés sur les plansde vols déposés en 1999 : nous bruitons les avions de manière aléatoire (c'est-à-dire que lesavions bruités sont choisis au hasard) tout en respectant la distribution e�ectivement relevéeau cours de l'année (voir �gure 6.3) et regardons la robustesse de ces deux modèles.

Page 40: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 36

6.4 MéthodologieLa complexité du problème d'allocation des créneaux et les di�érences entre les méthodes

de résolution rendent di�cile l'évaluation de leur robustesse. Une seule méthode ne su�t pas ;de même qu'il existe une méthode discrète et une méthode continue pour la résolution, deuxméthodes d'évaluation, une discrète et une continue, ont été utilisées.

Un des problèmes de cette évaluation est la façon dont on considère la capacité. De mêmeque pour la résolution, on la considère comme une limite de �ux entrant, c'est-à-dire comme lalimite du nombre d'avions qui vont rentrer dans le secteur pendant les δ prochaines minutes.

Les tests ont été réalisés sur les plans de vols déposés par les compagnies aériennes au coursde l'année 1999. Les mois retenus pour ces tests sont les mois janvier, février, novembre etdécembre. Ces mois sont des périodes de tra�c moyen et sont assez stables quant au nombred'avions journalier qui traversent l'espace aérien contrôlé par la France. De plus, les moisde très fort tra�c, que sont avril, juin et septembre, connaissant des pointes pouvant allerjusqu'à plus de 8000 vols quotidiens [DNA01] sont impossibles à réguler avec la dé�nition etles valeurs des limites de capacité utilisées et/ou avec le schéma d'ouverture utilisé par lescentres de contrôle les jours considérés (voir section 6.4.1).

Le bruitage des départs n'entraîne pas obligatoirement un dépassement de capacité danstous les secteurs-périodes parce qu'un bruit positif de cinq minutes peut être compensé par un(ou plusieurs) autre bruit négatif et parce que tous les secteurs-périodes n'ont pas atteint leurlimite de capacité. Ainsi à première vue, comme le montre la �gure 6.5 qui reprend l'exempledu secteur de Reims de la �gure 6.1, le bruitage a un e�et plus important sur le modèlecontinu que sur le modèle standard, mais une analyse plus poussée tend à in�rmer cet apriori.

6.4.1 Les impossibilités de régulationLe tra�c aérien est en constante augmentation et avec lui le nombre de journées connaissant

un fort tra�c. D'après [DNA01], alors que l'année 1998 n'avait connue qu'une seule journée deplus de 7500 vols contrôlés, 1999 en a connu 38, dont 3 journées de plus de 8000 vols contrôléset l'an 2000 en a connu 97 dont 19 de plus de 8000 vols. Or, à côté de cette évolution, leslimites de capacités n'ont pas augmentées : la demande explose alors que l'o�re reste la même.C'est la raison d'être principale de la recherche sur l'allocation des créneaux.

Comme on l'a vu précédemment, les tests n'ont été réalisés que sur 4 mois de l'année1999 (en se limitant aux journées dont les données disponibles au LOG sont complètes, c'està dire dont les données regroupent celles des cinq centres de contrôle en route) parce qu'il estimpossible de satisfaire les contraintes correspondant au schéma d'ouverture des journées detra�c (du moins celle dont on a les données) situées entre mars et octobre.

Pour la très grande majorité de ces journées, y compris certaines journées des quatreautres mois, l'échec est prouvé, c'est-à-dire qu'il n'existe pas de solution capable de satisfaireles contraintes : il était impossible de � faire passer � le tra�c de ces journées sans dépasserles capacités et/ou sans provoquer de retards supplémentaires en vol. Tout le problème est desavoir si cela est dû à un nombre restreint de secteurs (voir de secteurs-périodes) et/ou si cesont toujours les mêmes secteurs qui génèrent ces échecs.

Les résultats obtenus montrent que la majeure partie de ces journées peut être réguléeavec une augmentation de 20 à 25% de la capacité. Pour certaines journées, de tra�c moyen(c'est-à-dire en dessous de 7500 vols contrôlés) une augmentation entre 5 et 10% su�t, ce qui

Page 41: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 37

4

6

8

10

12

14

16

18

20

100 120 140 160 180 200

StandardStandard bruité

6

8

10

12

14

16

18

20

100 120 140 160 180 200

ContinuContinu bruité

Fig. 6.5 � Bruitage des modèles Standard (en haut) et Continu (en bas) : e�et du bruit surnombre de vols entrant dans le secteur pendant les prochaines δ = 30 minutes en fonction dutemps

Page 42: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 38

correspond � seulement � à augmenter les capacités de une à deux unités. En revanche, pourcertaines journée de très fort tra�c (supérieure à 8000 vols) même un augmentation de 25%ne su�t pas.

Malheureusement il est très di�cile de savoir quelle est la cause de l'échec. En e�et, lacontrainte (correspondant à un secteur-période) responsable de l'échec dépend de la techniquede recherche utilisée. Le but est de retarder les avions au sol pour ne pas les pénaliser durantleur vol. Mais si, lors de la phase de régulation, (c'est-à-dire deux jours avant le départ) unavion devant passer dans des secteurs A et B se voit régulé et donc retardé de x minutes � àcause � de A, il est possible qu'alors B ne puisse pas l'accueillir dans les temps impartis (Best donc le secteur � responsable �), alors que si la recherche commence par le faire passer parB avec un retard y, l'échec sera peut être � dû � à A.

Finalement, seule une méthode de résolution du problème d'a�ectation beaucoup plus �neet qui permettrait d'augmenter la capacité de chaque secteur indépendamment les uns desautres pourrait fournir une indication des augmentations de capacité à réaliser pour fairepasser le tra�c sans dépassement de capacité et/ou sans retard supplémentaire en vol. Maiscela ne resterait qu'une indication car les secteurs interagissent les uns sur les autres.

6.4.2 Méthode discrèteCette méthode d'évaluation se calque sur la méthode de résolution discrète (voir sec-

tion 4.1) quant à la véri�cation des contrainte. Ainsi, on véri�e, pour chaque secteur-période,que la capacité est respectée en utilisant le même découpage par fenêtres glissantes que celuiutilisé lors de la résolution discrète. Il est évident que la méthode d'allocation de créneauxcontinue qui utilise le contrainte de tri (voir section 4.2) véri�e, sans bruitage, les contraintesde capacité discrètes.

Résultats du bruitageEn fait, de même que pour véri�er si le modèle Standard satisfait toutes les contraintes,

il faut regarder minutieusement si la courbe (en pointillé sur la �gure 6.5 passe e�ectivementen dessous de la limite de capacité toute les δ minutes). Le tableau 6.2 donne les résultatsmoyens obtenus sur les quatre mois testés (voir section 6.4).

Pour la résolution, on découpe tous les secteurs par périodes d'une demi-heure (δ = 30).En moyenne, le schéma d'ouverture des centres de contrôle français d'une journée de tra�cse découpe en 2000 secteurs-périodes. On notera également que le pourcentage moyen dedépassement de capacité ne tient compte que des secteurs-périodes où il y a un e�ectivementun dépassement de capacité.

Contrairement à ce qu'aurait pu laisser penser la �gure 6.5, les tests apparaissent plusfavorables au modèle Continu. En fait, la comparaison nécessite une analyse � au cas parcas � des résultats.

Comparaisons des di�érents modèlesComme nous venons de le voir, les résultats des tests, réalisés par la méthode discrète,

semblent meilleurs dans le cas Continu.La di�érence la moins �agrante est celle du pourcentage moyen de dépassement de capacité.

En e�et, la di�érence entre les deux modèles est de l'ordre de 2%. Or, sur des capacités variantde dix à vingt avions par demi-heure, cette di�érence est de l'ordre de 0,4 avion, ce qui n'est

Page 43: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 39

Modèle Standard %age moyen desecteurs-périodes surchargés

%age moyen desdépassements de capacité

Janvier 5.32 14.62Février 6.86 14.49Novembre 6.67 15.38Décembre 5.35 14.67Modèle Continu

Janvier 4.39 13.05Février 5.37 13.17Novembre 5.11 12.57Décembre 4.26 12.79

Tab. 6.2 � Résultats du test discret sur le bruitage du modèle Standard (en haut) et sur lemodèle Continu (en bas)

pas signi�catif. En fait, le dépassement moyen de capacité varie entre deux et trois avions � entrop �, quel que soit le modèle de calcul.

En revanche, une di�érence d'un à deux point sur le nombre moyen de secteurs-périodes quiconnaissent un dépassement de capacité implique une di�érence de 20 à 40 secteurs-périodessurchargés en plus, ce qui correspond, en considérant qu'il faut au maximum 80 positionsde contrôle en route pour gérer le tra�c aérien en France à une demi-heure de surchargesupplémentaire par position de contrôle et par jour.

Malheureusement, 5% d'augmentation du nombre de secteurs-périodes surchargés est unnombre conséquent puisqu'il correspond à peu près à 1-1,5 heures de surcharge journalière parposition de contrôle. En fait la di�érence des heuristiques est surtout qualitative puisque lemodèle continu ne dépasse jamais la limite de capacité.

6.4.3 Méthode continueDe même que la méthode discrète se calquait sur le modèle Standard, cette méthode

d'évaluation se calque sur la méthode de résolution continue (voir section 4.2) quant à lavéri�cation des contraintes. Ainsi, on véri�e que la capacité est respectée en utilisant le mêmedécoupage par fenêtres glissantes avec chevauchement que celui de la résolution utilisant lacontrainte de tri.

Il est alors évident que la méthode d'allocation de créneaux Standard ne véri�e pas, mêmesans bruitage, les contraintes de capacité continues. On ne testera donc, dans cette partie, quele modèle Continu.

Cette fois ci, on va s'intéresser à la longueur des dépassements. En e�et, un simple pic dedépassement isolé (voir le premier pic sur la �gure 6.6) et un dépassement plus long sur ladurée (voir �gure 6.6) ne vont pas générer la même quantité de travail pour le contrôleur. Ilest bien évident que ce dernier peut absorber assez facilement une surcharge poctuelle et plusdi�cilement une surcharge continue pendant une longue période de temps.

Page 44: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 40

0

2

4

6

8

10

12

14

16

18

170 175 180 185 190 195 200 205 210

Continu bruité

Fig. 6.6 � Exemple de pics de dépassement de capacité

Résultats du bruitageLes �gures 6.7 et 6.8 donnent les résultats moyens obtenus sur les quatre mois testés (voir

7section 6.4).La première �gure correspond à la durée moyenne d'un dépassement et la seconde, à leur

hauteur moyenne.

0

50

100

150

200

250

300Continu bruité

Continu optimum bruitéStandard non bruité

DécembreFévrier NovembreJanvier 0

0.5

1

1.5

2

2.5 Continu bruitéContinu optimum bruité

Standard non bruité

Janvier Février Novembre Décembre

Fig. 6.7 � Résultats du test continu sur le modèle Continu avec et sans optimisation ainsique sur le modèle Standard non bruité : à gauche, nombre moyen de pics par jour ; à droite,hauteur moyenne des pics de dépassement

De même que pour le test Standard (voir section 6.4.2) les positions de contrôle ouvertesdonnées par le schéma d'ouverture sont découpées en secteurs-périodes d'une demi-heure. Leglissement des fenêtres correspond à un décalage toutes les cinq minutes, le même que celuiutilisé lors de la résolution.

L'optimisation du modèle Continu est celle réalisée sur la minimisation du retard maxi-mum. Étant donné que le modèle Standard ne satisfait pas au test, même non bruité, il a

Page 45: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 41

0

2

4

6

8

10

12 Continu bruitéContinu optimum bruité

Standard non bruité

Janvier Novembre DécembreFévrier

Durée moyenne des pics

0

20

40

60

80

100

120

140

160 Continu bruitéStandard non bruitéContinu optimum bruité

Janvier Février Novembre Décembre

Durée ≤ 5 minutes

0

20

40

60

80

100

120

140

160 Continu bruitéContinu optimum bruité

Standard non bruité

Janvier Février Novembre Décembre

Durée ≤ 5 minutes 5 minutes < Durée ≤ 10 minutes

0

20

40

60

80

100

120

140

160 Continu bruitéContinue optimum bruité

Standard non bruité

Janvier Février Novembre Décembre 0

20

40

60

80

100

120

140

160 Continu bruitéContinu optimum bruité

Standard non bruité

Janvier Février Novembre Décembre

10 minutes < Durée ≤ 20 minutes 20 minutes < Durée ≤ 30 minutes

0

20

40

60

80

100

120

140

160

4.5

Continu bruitéContinu optimum bruité

Standard non bruité

Janvier Février Novembre Décembre

Durée > 30 minutes

Fig. 6.8 � Résultats du test continu sur le modèle Continu avec et sans optimisation ainsique sur le modèle Standard non bruité : en haut, durée moyenne des pics de dépassement enminutes ; au milieu et en bas, nombre de pics en fonction de leur durée.

Page 46: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 6. ROBUSTESSE AU BRUITAGE DES DONNÉES 42

paru intéressant de voir dans quelle mesure celui-ci ne véri�e pas les contraintes continues.

Analyse des résultatsLa première interprétation que l'on peut faire de ces résultats est que même si quantita-

tivement ceux-ci ne sont pas probants (voir section 6.4.2), ils sont bien meilleurs au niveauqualitatif. En e�et, peu de pics dépassent les vingt minutes et la hauteur moyenne des dépas-sements est inférieure à deux avions.

Comme nous l'avons vu précédemment, le modèle Standard ne satisfait pas les contraintescontinues ; la seule contrainte véri�ée par ce modèle impose que la charge des di�érents secteurspasse en dessous de la limite de capacité toutes les δ minutes. Ainsi, en regardant les courbes,le modèle Continu bruité ressemble au modèle Standard non bruité.

Les résultats des tests sont alors assez surprenant. En e�et, le modèle Continu soumis àun bruit est meilleur que le modèle Standard non bruité en terme de taille et de quantité depics. Si on s'intéresse d'abord au nombre de pics et à leur hauteur moyenne, c'est le modèleContinu qui en possède le moins et en plus, la hauteur moyenne de ses pics tourne autour de1,75 avions alors que le modèle Standard à une moyenne aux alentours de 2,15. Et il en vade même pour les tests sur la longueur des dépassements : alors que pour le modèle Continucette durée est proche de 9,3 minutes, celle du modèle Standard lui est de 1 minute supérieure.Le seul avantage de ce dernier est qu'il ne génère aucun pic de dépassement au dessus d'unedemi-heure4 puisque par dé�nition du modèle, la courbe doit passer au dessous de la limitede capacité toutes les δ minutes et qu'ici δ = 30.

Pour véri�er que l'optimisation n'ait pas un e�et pervers quant au nombre de pics et à leurhauteur (on aurait pu craindre un nombre de pics inférieur à 10 minutes plus important ainsiqu'une hauteur plus grande) le test a également été réalisé sur les solutions non optimisées :il n'y a, a priori, aucune corrélation entre le nombre et/ou la taille des pics et l'optimisationdes solutions par rapport à la somme des retards.

4Si on e�ectue le test sur le modèle Standard bruité, les résultats on a peu près le même ordre de grandeur,c'est-à-dire qu'ils ne sont ni pire ni meilleur, mais cette avantage disparaît.

Page 47: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Chapitre 7

Conclusion

L'allocation de créneaux pour l'ATFM est un problème d'optimisation combinatoire di�-cile très mal résolu par le système qu'utilise actuellement la CFMU. Néanmoins, même si laprogrammation par contraintes apporte des réponses meilleures, il n'en reste pas moins quetrouver de nouvelles modélisations ne su�t pas a résoudre tous les problèmes.

7.1 Apports de la programmation par contraintesLes di�érents modèles testés ici n'accordent pas la même importance à la régularité de la

charge de travail des contrôleurs.Le modèle Standard, utilisant les fenêtre contiguës, fournit des solutions peu réalistes car,

bien qu'il permette de véri�er les contraintes de capacité imposées par la CFMU, il ne tientabsolument pas compte de la charge réelle des contrôleurs, mise en évidence par l'apparitionde pics de tra�c.

En revanche, le modèle Continu, à fenêtre glissantes, � lisse � la charge de travail descontrôleurs mais conduit à des solutions plus coûteuses en termes de somme des retards attri-bués.

En�n, la robustesse des di�érents modèles au bruit engendré par le non-départ à l'heured'un nombre important d'avions ne permet pas de trancher en faveur d'un de ces deux modèles.S'il apparaît à première vue que le modèle Continu résiste mieux, les di�érences dépendentde la façon dont on perçoit la notion de capacité, c'est-à-dire par fenêtres glissantes (modèleContinu) ou de manière discrète (modèle Standard). En fait, les résultats sont globalementmauvais : hausse importante (5%) du nombre de secteurs-périodes surchargés, somme desretards importante, nombre d'avions retardés élevé et une question reste sans réponse : � Est-il préférable de retarder beaucoup d'avions peu de temps ou de retarder peu d'avions pendantlongtemps ? �.

En outre la taille et donc le nombre de variables liées au problème rend ce dernier di�cileà optimiser, les gains étant généralement inférieurs au pourcent.

On s'aperçoit donc bien qu'au delà de la di�érence de modélisation, c'est la manière donton perçoit la capacité d'un secteur de l'espace aérien qui crée la di�érence.

43

Page 48: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

CHAPITRE 7. CONCLUSION 44

7.2 PerspectivesTout d'abord, le problème majeur de la résolution du problème d'allocation des créneaux

à l'aide de la programmation par contraintes est qu'il est très di�cile de savoir quels secteurssont � responsables � de la majorité des retards attribués puisqu'ils sont fonctions de lastratégie de recherche utilisée. Il faudrait donc pousser l'analyse plus loin et modi�er, au caspar cas, les limites de capacité de chaque secteur pour tenter de cerner les principaux secteursresponsables des retards.

Ensuite, le bruit n'apparaît pas comme un élément extrêmement perturbateur puisque lataille moyenne des pics de dépassement varie autour des dix minutes et le nombre moyend'avions � en trop � reste inférieur à deux. Bien entendu, le bruit est plus particulièrementressenti dans les secteurs ayant atteint leur limite de capacité. Mais au �nal, résoudre lesproblèmes de dépassement avec une plus grande marge par rapport à la limite de capacitéautorisée par les instances du contrôle aérien permettrait, sans doute, une absorption totalede ce bruit. De plus, le fait que son incidence soit à peu près la même sur deux modèlesdi�érents peut faire penser que ce n'est pas un élément dont il faut tenir compte de primeabord.

Finalement, le résultat le plus probant est l'impossibilité (prouvée) de résoudre ce pro-blème pour les journées dépassant (et même pour certaines égalant) le nombre moyen d'avionscontrôlés par jour. Il apparaît donc que les schémas d'ouverture proposés par les centres decontrôle en route ne sont pas à même de permettre une bonne circulation du tra�c et que larésorption des retards, problème chronique du transport aérien, ne pourra se résoudre que parla modi�cation de schémas d'ouverture alliée aux nouvelles méthodes de résolution.

On pourrait également s'intéresser à une régulation plus dynamique, c'est-à-dire en � re-régulant � le tra�c au fur et à mesure de la journée en tenant compte des retards déjà observéset comparer le coût de ces régulations successives en fonction des modèles utilisés.

Page 49: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

Bibliographie

[AS94] Jean-Marc Alliot and Thomas Schiex. Intelligence arti�cielle et informatique théo-rique. Cépaduès éditions, 1994.

[Bar97] Nicolas Barnier. Optimisation par hybridation d'un algorithme génétique avec laprogrammation par contraintes. Master's thesis, DEA IFP, INPT, 1997.

[Bar99] Roman Barták. Constraint programming : In poursuit of the holy grail. In WDS99,Prague, June 1999.

[BB00] Nicolas Barnier and Pascal Brisset. Allocation de créneaux pour la régulation dutra�c aérien. In Touraïvane, editor, Programmation en logique avec contraintes,pages 149�164. Hermes, June 2000.

[BB01] Nicolas Barnier and Pascal Brisset. FaCiLe : A Functional Constraint Library.ENAC/CENA, (http ://www.recherche.enac.fr/opti/facile), 2001.

[BF97] Pascal Brisset and Thom Früwirth. Optimal planning of digital cordless telecom-munications systems. In Proceedings of the Third International Conference on thePractical Application of Constraint Technology, pages 165�176, Westminster CentralHall, London, UK, April 1997. The Practical Application Company Ltd.

[Bor81] A. Borning. The programming language aspects of thinglab, a constraint-orientedsimulation laboratory. ACM TOPLAS 3, 4, 1981.

[CKC82] A. Colmerauer, H. Kanoui, and M. Van Caneghem. Prolog, bases théoriques etdéveloppements actuels. TSI, 2(4), 1982.

[DAG99] Nicolas Durand, Jean-Marc Alliot, and Géraud Granger. Peut-on supprimer lecontrôle au sol. La Recherche, avril 1999.

[DNA01] DNA. Le tra�c aérien en 2000. DNA COM, avril 2001. Les dossiers DNA, supplé-ment à la lettre de la Direction de la Navigation Aérienne.

[GC97] Noelle Bleuzen Guernalec and Alain Colmerauer. Narrowing a 2n-block of sorting inO(n log n). In Principles and Practice of Constraint Programming. Springer-Verlag,1997.

[Hen95] Pascal Van Hentenryck. Constraint solving for combinatorial search problems : Atutorial. In Ugo Montanari and Francesca Rossi, editors, Principles and Practical ofConstraint Programming, volume 976 of Lectures notes in computer science, pages564�587, Cassis, France, September 1995. Springer.

[IP/99] IP/99/924. European commission : Fifteen countries, a single European sky,(http ://europa.eu.int/comm/pr_en.htm), 1999.

[JM87] J. Ja�ar and S. Michaylov. Methodology and implementation of a CLP system. InJ.L. Lassez, editor, 4th Int. Conf. Logic Programming. MIT Press, 1987.

45

Page 50: Laboratoired'OptimisationGlobale ...pom.tls.cena.fr/papers/thesis/riviere01.pdf · Établissementd'inscription:ENSEEIHT DEAProgrammationetSystèmes Année:2000-2001 Laboratoired'OptimisationGlobale

BIBLIOGRAPHIE 46

[JM94] Mark D. Johnston and Glenn E. Miller. Intelligent scheduling, chapter SPIKE :Intelligent scheduling of Hubble Space Telescope observations. Morgan Kaufman,1994.

[Lau76] Jean-Louis Laurière. Un langage et un programme pour énoncer et résoudre desproblèmes combinatoires. PhD thesis, Paris IV, 1976.

[Ler00] Xavier Leroy. The Objective Caml System : User's and reference manual(http ://caml.inria.fr), 2000.

[Mau96] Lionnel Maugis. Mathematical programming for the air tra�c �ow managementproblem with en-route capacities. In in Proceedings of the 14th Triennial WorldConference of the International Federation of Operational Research Societies, July1996.

[MH00] Laurent Michel and Pascal Van Hentenrick. Localizer. Constraints, 5(1&2), january2000.

[MJPL94] Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird. Minimi-zing con�icts : a heuristic repair method for constraint satisfaction and schedulingproblems. In Eugene C. Freuder and Alan K. Mackworth, editors, Constraint-basedReasoning. MIT Press, 1994.

[MMK00] L. Maugis, F. Médioni, and P. Kerlirzin. Étude du tra�c aérien en france et enallemagne. analyse macroscopique. Technical Report 00-94, CENA, 2000.

[PM98] C. Plusquellec and S. Manchon. Description du module d'allocation de créneauxutilisant la programmation par contraintes implanté dans shaman. Technical report,CENA/RFM/NT97.105, 1998.

[Rég96] Jean-Charles Régin. Generalized arc consistency for global cardinality constraint. InProceedings of the Thirteenth National Conference on Arti�cial Intelligence, 1996.

[Riv01] Thomas Rivière. Allocation de créneaux à la Shaman avec FaCiLe. Technical report,CENA, 2001.

[Rog00] Guillaume Roger. Optimisation de routes alternatives et évaluation des retards.Master's thesis, DEA PS, INPT, 2000.

[Sol99] Solver. ILOG Solver 4.4 user's manual (www.ilog.fr), 1999.[SS80] G. L. Steele and G. J. Sussman. Constraints : A language for expressing almost-

hierarchical descriptions. Arti�cial Intelligence, 14(1) :1�39, 1980.[Zho96] Jianyang Zhou. A constraint program for solving the job-shop problem. In Principles

and Practice of Constraint Programming. Springer-Verlag, 1996.