THÈSE En vue de l'obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE Délivré par l Institut Supérieur de l Aéronautique et de l Espace Spécialité : Informatique et automatique Présentée et soutenue par Romain GRASSET-BOURDEL Le 30 novembre 2011 Planification et replanification pour une constellation de satellites agiles d observation de la Terre JURY M. Abdel-Illah Mouaddib, président, rapporteur M. Olivier Buffet M. Antoine Flipo Mme Maria Fox, rapporteur M. Gérard Verfaillie, directeur de thèse M. Thierry Vidal École doctorale Unité de recherche Directeur de thèse Co-directeur de thèse : Aéronautique - Astronautique : Équipe d accueil ISAE-ONERA MOIS : M. Gérard Verfaillie : M. Gérard Lassalle-Balier
Avant-propos Happiness only real when shared. Jon Krakauer, Into The Wild, 1996 es études américaines ont montré que dire "merci" rendait plus heureux car plus optimiste Det conscient de son bien-être. Tant mieux, j'ai envie de dire, puisque je m'apprête ici à exprimer ma gratitude envers un bon nombre de personnes. Commençons par remercier le CNES et l'onera d'avoir nancé mes travaux durant ces trois dernières années, et sans qui ce manuscrit n'aurait jamais vu le jour. L'Onera m'a d'ailleurs accueilli, tout au long de cette thèse, dans son Département Commande des Systèmes et Dynamique de vol. Merci donc à Patrick Fabiani, directeur du DCSD, à Jean-Loup Farges, responsable de l'unité Conduite et Décision, ainsi qu'à tous les membres de ce département de m'avoir si bien reçu. Ces remerciements sont pour moi l'occasion de souligner la qualité de l'encadrement technique auquel j'ai eu droit. Mon directeur de thèse, Gérard Verfaillie, a été d'un soutien exemplaire et d'une aide précieuse sur bien des points. Je lui suis très reconnaissant pour cela, et pour tous nos échanges sur la montagne ou la politique (autour d'une pomme... ), pour ces moments qui ont ponctué agréablement mon temps de travail. Antoine Flipo et Gérard Lassalle-Balier, co-encadrants de cette thèse, ont eux aussi été décisifs dans la réussite de ces travaux. Je les remercie sincèrement pour leur disponibilité et pour les réponses à mes nombreuses questions en matière de systèmes orbitaux. Un grand merci également à ceux qui ont accepté de suivre l'avancée de mes recherches au travers de comités annuels. Je pense à Alain Haït, Michel Lemaître, Pierre Lopez, Thierry Vidal et Vincent Vidal. Leur regard critique et leurs conseils avisés m'ont été d'une grande utilité. Ma reconnaissance va ensuite à Maria Fox et Abdel-Illah Mouaddib. Ils ont pris le temps de lire ce document dans le détail, et les commentaires très justes qu'ils m'ont apportés ont été protables à la version nale du manuscrit. Évidemment, je remercie chaleureusement les autres membres du jury : le susnommé Thierry Vidal pour la pertinence de ses remarques et de ses idées, ainsi qu'olivier Buet pour la précision de ses nombreuses annotations. i
J'en prote pour saluer Gilles Picart qui a encadré mon stage au CNES en 2008. Il est le premier à m'avoir donné la chance de mettre un pied dans le secteur spatial. J'ai apprécié sa conance en moi et son regard bienveillant pendant ces six mois très riches. Bien sûr, je ne peux écrire ces remerciements sans mentionner la grande famille des doctorants et stagiaires. Les pauses café gaies et agitées, les repas à refaire l'actualité, et les soirées sympathiques passées autour de quelques verres, sont autant de bons souvenirs que j'emporte avec moi. Merci aux anciens : Patou, Stéphane, Nico F., Julien, Yoko, José, les deux Greg et Manu. Un merci très particulier à : Julie et ses repas arméniens (miam), Alex et ses phrases mémorables, Pascal et ses jeux de mots magiques, Thibz et son enthousiasme débordant, Mario et sa bonne humeur, Quentin et ses délires entraînants, Nico L. et son rire communicatif, Caro et sa sympathie naturelle. Merci à tous les autres : Fred, Sergio, Gäetan, Simon, Pierre, Pauline, Jean-Charles, Caro M., Mickaël, Mathieu, Laure, Lara, Aurélie, Je, Nicolas G., Clément, Sylvain... J'en oublie très certainement. Merci à eux aussi! Petite pensée également pour tous les volleyeurs du merdredi midi notamment Charles P., Olivier P., Romain, Sèb le roux, Sébastien, Paola, Franck, Julien, David... Maintenant que j'arrive au terme de mes études, c'est sans doute le bon moment pour me retourner et tirer mon chapeau à ceux qui m'ont suivi toutes ces années, à savoir mes amis proches et ma famille. Jean de La Fontaine disait en son temps : un ami... rien n'est plus commun que le nom, rien n'est plus rare que la chose. Voilà pourquoi je ne citerai ici que deux noms, Flo et Gaël. Ils savent sûrement tout le bien que je pense d'eux ; je me contenterai donc de les remercier pour tout ce qu'on a déjà vécu ensemble, et pour leur amitié sans faille. Vient le tour de mes parents, tout naturellement. Inutile de dire qu'ils ont fait de moi ce que je suis humainement. Inutile de préciser qu'ils ont tenu une place de premier rang dans mon parcours. Je ne les remercierai jamais assez de la conance inébranlable qu'ils m'ont accordée toutes ces années. Merci aussi à mon frère jumeau Renaud pour être présent, même de loin. J'embrasse tendrement ma grand-mère d'arcueil et mes grands-parents de Montpellier. Je ne les vois pas aussi souvent que je le souhaiterais, mais je tiens à leur adresser toute mon aection. Ces remerciements (dignes d'une remise d'oscar) s'achèvent inévitablement par celle qui partage ma vie au quotidien. Sa joie de vivre contagieuse, son naturel clownesque et son innie tendresse m'ont beaucoup apporté durant ces trois années de thèse. Elle a ainsi largement participer au succès de ces travaux. Merci à toi Petit C ur. Romain Grasset-Bourdel, Toulouse, décembre 2011 ii
iii À la mémoire de mon frère Julien
Table des matières Avant-propos Table des gures Liste des tableaux Liste des algorithmes i xiii xv xvii Introduction générale 1 Le projet MUSIS...................................... 3 Gestion de la mission et besoins sous-jacents....................... 4 Vision globale du problème................................ 4 Organisation du manuscrit................................. 5 I Problèmes connexes et approches suivies : la littérature pour nous éclairer 7 1 Éléments d'optimisation combinatoire 9 1.1 Techniques génériques de résolution......................... 9 1.1.1 La recherche arborescente par évaluation et séparation (branch and bound) 9 1.1.2 La programmation dynamique........................ 10 1.1.3 La recherche locale.............................. 11 1.1.4 La recherche gloutonne............................ 13 1.2 Problèmes classiques................................. 13 1.2.1 Le sac à dos................................. 13 1.2.2 Le plus long chemin............................. 17 1.2.3 Le voyageur de commerce.......................... 19 1.2.4 Les tournées de véhicules.......................... 23 1.3 Ordonnancement de tâches............................. 25 1.3.1 Énoncé du problème............................. 25 v
Table des matières 1.3.2 Méthodes de résolution........................... 26 1.3.3 Lien avec le problème traité......................... 27 1.4 Planication d'actions................................ 27 1.4.1 Énoncé du problème............................. 27 1.4.2 Méthodes de résolution........................... 28 1.4.3 Lien avec le problème traité......................... 31 1.5 Planication et ordonnancement en environnement dynamique.......... 32 1.5.1 Exigences éventuelles sur la solution.................... 33 1.5.2 Approche réactive.............................. 33 1.5.3 Approche progressive............................. 34 1.5.4 Approche proactive.............................. 34 1.5.5 Lien avec le problème traité......................... 36 1.6 Programmation Linéaire en Nombres Entiers................... 36 1.6.1 Énoncé du problème............................. 36 1.6.2 Méthodes de résolution........................... 36 1.6.3 Lien avec le problème traité......................... 38 1.7 Programmation par contraintes........................... 38 1.7.1 Énoncé du problème............................. 38 1.7.2 Méthodes de résolution........................... 39 1.7.3 Lien avec le problème traité......................... 40 1.8 Optimisation multicritère.............................. 41 1.8.1 Énoncé du problème............................. 42 1.8.2 Méthodes de résolution........................... 43 1.8.3 Lien avec le problème traité......................... 45 1.9 Bilan.......................................... 45 2 Planication d'activités satellitaires pour une mission d'observation de la Terre 47 2.1 Diversité des problèmes rencontrés......................... 47 2.1.1 Demandes des utilisateurs.......................... 47 2.1.2 Systèmes de planication.......................... 47 2.1.3 Systèmes physiques.............................. 48 2.1.4 Granularité du modèle............................ 49 2.2 Cadres de modélisation employés.......................... 50 2.2.1 Graphes.................................... 51 2.2.2 Programmation linéaire........................... 51 2.2.3 Programmation par contraintes....................... 51 2.2.4 Planication classique............................ 52 2.3 Techniques de résolution employées......................... 52 2.3.1 Programmation dynamique......................... 52 2.3.2 Recherche arborescente........................... 52 2.3.3 Recherche locale............................... 53 2.3.4 Recherche gloutonne............................. 53 vi
Table des matières 2.4 Bilan.......................................... 53 II Planication et replanication pour des satellites agiles d'observation de la Terre : la démarche entreprise 57 3 Formulation du problème de planication 59 3.1 Description de la mission............................... 59 3.1.1 Constellation de satellites.......................... 59 3.1.2 Contraintes physiques............................ 61 3.1.3 Requêtes des utilisateurs........................... 63 3.1.4 Système de gestion.............................. 64 3.1.5 Objectifs de la planication journalière................... 65 3.2 Prise en compte des mouvements en attitude................... 66 3.2.1 Pourquoi?................................... 66 3.2.2 Comment?.................................. 66 3.3 Élaboration d'un modèle de type état/actions................... 69 3.3.1 Données du problème............................ 69 3.3.2 État du système............................... 72 3.3.3 Actions disponibles.............................. 74 3.3.4 Fonctions commodes pour la modélisation................. 76 3.3.5 Contraintes pesant sur les décisions..................... 77 3.3.6 Forme d'un plan............................... 84 3.3.7 Critère d'évaluation............................. 84 3.4 Analyse du problème de planication........................ 86 3.4.1 Dicultés majeures du problème...................... 86 3.4.2 Imbrication entre planication d'actions et planication de mouvements 87 3.4.3 Approches classiques dicilement applicables............... 87 3.4.4 Hypothèses de travail............................ 88 3.5 Conclusion....................................... 90 4 Élaboration d'un algorithme de planication dédié 91 4.1 Discussion sur le type de recherche à adopter................... 91 4.2 Planication par priorités décroissantes....................... 93 4.3 Recherche chronologique en avant.......................... 94 4.4 Décisions de plusieurs niveaux............................ 95 4.5 Mécanismes de backtracks.............................. 98 4.5.1 Backtracks hiérarchiques........................... 98 4.5.2 Backtracks chronologiques.......................... 101 4.6 Heuristiques...................................... 102 4.6.1 Niveau 1 : quelle observation (ou man uvre orbitale)?.......... 104 4.6.2 Niveau 2 : quels pointages spéciques?................... 107 4.6.3 Niveau 3 : quels vidages?.......................... 109 vii
Table des matières 4.6.4 Niveau 4 : dates d'activation des instruments sollicités?......... 111 4.7 Propagation...................................... 113 4.8 Nature du résultat.................................. 113 4.9 Conclusion....................................... 113 5 Résolution du problème de replanication suite à l'arrivée de requêtes urgentes 115 5.1 Description du problème de replanication..................... 115 5.2 Formulation du problème.............................. 116 5.2.1 Qualité intrinsèque et stabilité des plans.................. 116 5.2.2 Données spéciques.............................. 117 5.3 Adaptation de l'algorithme utilisé en planication régulière........... 118 5.3.1 Discussion sur le type de recherche à adopter............... 118 5.3.2 Algorithme de planication modié..................... 118 5.4 Conclusion....................................... 119 6 Développement d'un environnement expérimental : l'outil PLANET 121 6.1 Intention........................................ 121 6.2 Structure de l'outil.................................. 121 6.2.1 Paquetage model............................... 121 6.2.2 Paquetage simulation............................ 123 6.2.3 Paquetage planning............................. 123 6.2.4 Paquetage GUI................................ 123 6.3 Interface graphique.................................. 123 6.3.1 Menus..................................... 123 6.3.2 Onglets.................................... 124 6.4 Fonctionnalités.................................... 128 6.4.1 Entrées / Sorties............................... 128 6.4.2 Utilisation en planication.......................... 128 6.4.3 Utilisation en replanication......................... 130 6.5 Conclusion....................................... 131 7 Mise à l'épreuve des algorithmes élaborés 133 7.1 Évaluation des performances en planication.................... 133 7.1.1 Résultats expérimentaux sur une instance réaliste de taille réelle.... 134 7.1.2 Pertinence des heuristiques adoptées.................... 136 7.1.3 Sensibilité au nombre de demandes d'observation............. 140 7.1.4 Distance à l'optimum sur une petite instance à l'ordonnancement fortement contraint................................ 142 7.1.5 Performance de l'heuristique de choix des observations sur le problème très simplié du Challenge ROADEF'2003................. 143 7.2 Évaluation des performances en replanication.................. 148 7.2.1 Résultats expérimentaux sur des instances aléatoires........... 148 viii
Table des matières 7.2.2 Recommandations en vue d'une utilisation opérationnelle........ 150 7.3 Conclusion....................................... 151 Bilan global 154 Ici s'achève le manuscrit................................... 157 Contributions........................................ 157 Perspectives......................................... 159 A Missions d'observation de la Terre : généralités 163 A.1 Caractéristiques physiques.............................. 163 A.2 Planication des activités.............................. 165 A.3 Particularités liées à l'agilité des satellites..................... 166 B Notions de mécanique spatiale 169 B.1 Paramètres orbitaux................................. 169 B.2 Repères utiles à la modélisation de l'attitude................... 172 C Précisions sur certains codes de calcul utilisés 177 C.1 Calcul de la durée de transition minimale pour l'observation d'une zone donnée 177 C.2 Calcul des fenêtres de visibilité d'une zone ponctuelle............... 179 Bibliographie 183 Index 191 ix
Table des gures 1.1 Illustration du problème du sac à dos........................ 14 1.2 Télédéchargement des données sous forme d'un problème de sac à dos...... 16 1.3 Illustration du problème du plus long chemin entre A et E............. 17 1.4 Planication d'observations sous forme de problème de plus long chemin..... 19 1.5 Illustration du problème du voyageur de commerce................. 20 1.6 Tansformation 2-OPT dans un graphe........................ 22 1.7 Planication d'observations sous forme de problème du voyageur de commerce. 23 1.8 Illustration du problème des tournées de véhicules................. 24 1.9 Illustration du concept d'économie de distance................... 25 1.10 Illustration du problème d'ordonnancement d'atelier................ 25 1.11 Modèle conceptuel de la planication........................ 28 1.12 Planication dans l'espace des états......................... 30 1.13 Illustration de l'algorithme STRIPS......................... 31 1.14 Planication/Ordonnancement en environnement certain et statique....... 32 1.15 Illustration de l'approche réactive.......................... 33 1.16 Illustration de l'approche progressive......................... 34 1.17 Illustration des activités ottantes.......................... 35 1.18 Illustration des branches conditionnelles....................... 35 1.19 Illustration de la programmation linéaire en nombres entiers avec 2 variables.. 37 1.20 Illustration du forward-checking sur le problème des 4 reines........... 41 1.21 Illustration du problème d'optimisation multicritère avec deux objectifs..... 42 2.1 Vue d'artiste du satellite PROBA-1......................... 48 2.2 Vue d'artiste du satellite EO-1............................ 48 2.3 Vue d'artiste du satellite SPOT 5.......................... 49 2.4 Vue d'artiste d'un satellite Pléiades......................... 49 2.5 Vue d'artiste des satellites TerraSAR-X et TanDEM-X............... 50 2.6 Vue d'artiste d'un satellite COSMO-SkyMed.................... 50 2.7 Interface graphique de l'outil ASPEN........................ 54 2.8 Exemple d'utilisation par Hubble Space Telescope de l'outil SPIKE....... 55 xi
Table des gures 3.1 Constellation de deux satellites............................ 60 3.2 Vue d'artiste de l'un des satellites.......................... 60 3.3 Diérence entre jour/nuit sol et jour/nuit bord................... 61 3.4 De quelle façon la distance angulaire et ainsi le temps de transition minimum entre deux observations dépend de la date de n de la première.......... 62 3.5 Conditions de télédéchargement en parallèle..................... 62 3.6 Polygone prédécoupé en bandes........................... 64 3.7 Planication au sol d'une mission d'observation de la Terre............ 65 3.8 Trajectoire d'un rendez-vous en attitude en trois phases suivant un axe (roulis, tangage ou lacet).................................... 67 3.9 De quelle façon le mouvement en attitude (a 2 a 1 ) pour passer de l'observation (o 1 ) de z 1 à l'observation (o 2 ) de z 2 dépend de la date t 1 à laquelle o 1 termine et de la date t 2 à laquelle o 2 débute (vue schématique en deux dimensions)... 68 3.10 Intérêt d'une image en fonction de l'âge de son information............ 86 4.1 Vue d'ensemble de l'algorithme de planication pour un satellite......... 94 4.2 Planication par niveau de priorité sur un exemple................. 96 4.3 Deux étapes successives de l'algorithme chronologique en avant.......... 96 4.4 Exemple d'une décision complète à quatre niveaux : (1) observation, (2) pointages, (3) vidages, et (4) instruments............................ 98 4.5 Backtracks hiérarchiques entre niveaux de décision................. 100 4.6 Backtracks hiérarchiques sur un exemple...................... 101 4.7 Backtracks chronologiques sur un exemple...................... 103 4.8 Quelques scénarios possibles au niveau 2 de la décision............... 108 5.1 Replanication en cours de journée.......................... 116 5.2 Point de reprise du plan sur un satellite....................... 118 5.3 Les 4 modes de replanication sur un exemple................... 120 6.1 Diagramme de paquetages............................... 122 6.2 Diagramme de classes simplié du paquetage model................ 122 6.3 Diagramme de classes simplié du paquetage simulation.............. 123 6.4 Diagramme de classes simplié du paquetage planning............... 124 6.5 Onglet Overview.................................... 125 6.6 Onglet Main Activities................................. 126 6.7 Onglet Downloads................................... 127 6.8 Onglet Satellite evolution............................... 127 6.9 Onglet Station visibility windows........................... 128 6.10 Exemple de chier XML pour une instance d'une demi-journée, avec une station de réception, une station de contrôle, une seule requête d'observation, et aucune man uvre orbitale................................... 129 7.1 Vue principale de l'outil PLANET une fois la planication achevée........ 135 7.2 Évolution de la valeur du plan courant au cours du processus de planication.. 135 xii
Table des gures 7.3 Mise en évidence de certains chronogrammes représentant l'évolution de l'état de l'un des satellites sur un horizon de 14 minutes................. 137 7.4 Évolution du temps de calcul en fonction du nombre d'observations demandées. 142 7.5 Évolution du vecteur qualité en fonction du nombre d'observations demandées. 143 7.6 Plan produit par l'algorithme PLANET....................... 144 7.7 Plan optimal produit par un algorithme A..................... 144 7.8 Vue graphique des résultats en replanication ; haut : première instance (facile) ; milieu : deuxième instance (moyenne) ; bas : troisième instance (dicile)..... 152 A.1 Orbite héliosynchrone................................. 164 A.2 Prise de vue par un satellite agile.......................... 166 B.1 Position du plan de l'orbite.............................. 170 B.2 Position du périgée sur l'orbite............................ 171 B.3 Position du satellite sur l'orbite............................ 171 B.4 Repères orbitaux locaux................................ 173 B.5 Repères de consignes.................................. 175 C.1 Rendez-vous nécessaire au commencement d'une observation........... 177 C.2 Idée de l'algorithme Tbascul............................. 180 C.3 Calcul d'une fenêtre de visibilité d'une zone ponctuelle............... 181 xiii
Liste des tableaux 7.1 Heuristiques testées.................................. 138 7.2 Caractéristiques des 10 instances utiles à la comparaison des heuristiques.... 138 7.3 Évaluation de l'heuristique retenue au niveau 1.................. 139 7.4 Évaluation de l'heuristique retenue au niveau 2.................. 139 7.5 Évaluation de l'heuristique retenue au niveau 3.................. 140 7.6 Évaluation de l'heuristique retenue au niveau 4.................. 141 7.7 Caractéristiques des 23 10 instances évaluant l'inuence du nombre d'observations demandées................................... 141 7.8 Résultat virtuel obtenu par un glouton chronologique au Challenge ROADEF'2003148 7.9 Résultats moyens des quatre modes de replanication sur 100 instances aléatoires149 7.10 Résultats des quatre modes de replanication sur les trois instances....... 151 xv
Liste des Algorithmes 1 Algorithme glouton insérant les objets par ordre décroissant d'ecacité..... 15 2 Calcul de la longueur du plus long chemin d'un graphe orienté acyclique par programmation dynamique.............................. 18 3 Heuristique du Plus Proche Voisin.......................... 22 4 Algorithme STRIPS.................................. 31 5 Construction d'un plan respectant l'étanchéité des priorités............ 95 6 Construction d'un plan intermédiaire de priorité p................. 97 7 Décision de plusieurs niveaux............................. 99 8 Choix de la prochaine observation ou man uvre orbitale............. 106 9 Choix des pointages spéciques............................ 109 10 Choix des images à télédécharger........................... 110 11 Choix des mises on/o des instruments....................... 112 xvii
Introduction générale
Introduction générale e 23 juillet 1972, le lancement du satellite Landsat-1 (initialement nommé E.R.T.S.-1) Lannonce les débuts de la télédétection spatiale. Depuis, les satellites d'observation sont très appréciés notamment par les scientiques qui scrutent les phénomènes terrestres : prendre du recul aide souvent à mieux comprendre l'environnement. Les scientiques n'en sont pas seuls utilisateurs. Les militaires les aectionnent tout particulièrement. Il faut dire que ces engins sont devenus essentiels au renseignement puisqu'ils sont capables de fournir rapidement des clichés de régions disposées aux quatre coins de la planète. C'est d'ailleurs la raison d'être du programme européen MUSIS 1, futur système militaire d'imagerie spatiale, dans lequel s'inscrit la présente thèse. Plus précisément, ces travaux ont trait à la gestion de satellites optiques à haute résolution, dans le but d'accomplir au mieux la mission d'observation de la Terre qui leur incombe. Le projet MUSIS Les Ministères de la Défense de six pays européens (France, Allemagne, Italie, Espagne, Belgique et Grèce) se sont entendus pour entreprendre ensemble le projet MUSIS. Il s'agit du futur système multi-utilisateur d'imagerie optique et radar. Ce projet vise à harmoniser et faire coopérer ecacement les prochains systèmes d'observation. L'intention achée est de mettre en commun la programmation et de mutualiser les images, tout en préservant le secret nécessaire à certaines programmations sensibles (CNES 2007). Le système complet devrait comprendre une composante d'observation optique visible et infra-rouge à haute résolution (et champ limité) assurée par la France, deux composantes d'observation radar assurées par l'allemagne et par l'italie, et une composante optique "champ large" assurée par l'espagne. La présente thèse concerne la gestion des satellites qui constituent la composante spatiale optique (CSO). Cette composante est pilotée par la Délégation Générale pour l'armement (DGA) et sa maîtrise d'ouvrage est déléguée au CNES. Elle regroupe deux satellites de reconnaissance situés sur la même orbite basse, circulaire, héliosynchrone et quasi-polaire (avec une quinzaine de révolutions par jour et une altitude aux alentours de 700 km). Par la suite, un troisième satellite, cette fois dédié à l'identication, devrait venir s'ajouter sur une orbite plus basse encore. 1. MUltinational Space-based Imaging System for surveillance, reconnaissance and observation
4 LISTE DES ALGORITHMES Gestion de la mission et besoins sous-jacents En pratique, les diérents utilisateurs du système déposent continuellement des requêtes d'observation auprès d'un centre de programmation. Ce dernier décide chaque jour d'un plan d'activités à eectuer par les satellites, qui satisfait au mieux les requêtes des utilisateurs. Un centre de contrôle envoie alors ce plan à chaque satellite pour exécution à bord. Parmi les activités planiées gurent évidemment l'observation de zones terrestres, mais également le télédéchargement (ou vidage) des images résultantes vers des stations sol de réception pour traitement des données. Cette tâche, qui consiste à construire un plan journalier, est classique notamment pour les missions d'observation de la Terre, et de nombreuses techniques existent pour en venir à bout. Cependant, le caractère très spécique du système considéré peut parfois exiger, et c'est le cas ici (voir plus bas), d'élaborer un nouvel algorithme capable de produire un tel plan. D'autre part, le système de planication tel qu'il est présenté est loin d'être réactif : une requête urgente qui survient au cours de la journée programmée n'est prise en compte que le jour suivant. Il est donc envisagé de tirer avantage de la présence de plusieurs stations de contrôle (projet multinational) pour envoyer un nouveau plan. Les nombreuses fenêtres de visibilité 2 associées sont autant d'occasions de transmettre aux satellites les modications nécessaires. Les travaux présentés ici s'intéressent aussi bien à la construction d'un plan journalier qu'à la replanication attendue après réception de requêtes urgentes. Vision globale du problème Parce que les requêtes d'observation dépassent en général la capacité d'acquisition des satellites, le problème à résoudre chaque jour est un problème d'optimisation sous contraintes. Il s'agit de sélectionner un sous-ensemble des zones à observer principalement en fonction de l'importance attribuée à chaque requête. À cette sélection s'ajoute l'ordonnancement des observations, à savoir l'attribution d'une date de début à chacune d'entre elles. Cette date peut en eet diérer de la date de survol car les satellites considérés sont dits agiles : tandis que l'instrument optique à bord de chaque satellite est xe, chaque satellite peut globalement se mouvoir autour des trois axes de rotation (roulis, tangage et lacet), d'où une grande man uvrabilité pour l'acquisition d'images et pour les transitions entre prises de vue. Cette agilité est un besoin induit par les missions d'observation à haute résolution et champ limité. Conséquence directe de cette agilité, il est impensable de planier les tâches à eectuer par les satellites sans les mouvements en attitude 3 qui leur sont propres et les transitions requises : les choix d'actions, la vérication de leur faisabilité, et l'évaluation de leurs eets nécessitent des calculs de mouvements. En cela planication de tâches et planication de mouvements sont ici fortement imbriquées. 2. La communication est possible avec un satellite seulement s'il passe au "voisinage" d'une station sol. 3. L'attitude d'un satellite désigne l'orientation d'un repère tri-dimensionnel lié au satellite par rapport à un autre repère (repère inertiel ou repère orbital local).
LISTE DES ALGORITHMES 5 Par ailleurs, n'oublions pas l'aspect dynamique du problème. Il est demandé de réagir à une modication du contexte telle que de nouvelles prévisions météorologiques ou l'arrivée de requêtes urgentes pendant l'exécution du plan journalier. À ce moment-là, un critère de stabilité du plan, qui est perçu comme un engagement vis-à-vis des utilisateurs, vient s'ajouter. Cet aspect multicritère, i.e. la présence simultanée de plusieurs objectifs, se note à plusieurs autres niveaux. C'est le cas par exemple au cours de la sélection des observations, où l'on cherche un compromis entre le nombre de zones acquises et la qualité des images produites. Enn, le problème se complexie davantage par une volonté de gestion ne des ressources, et la possibilité de concurrence des actions. Organisation du manuscrit An de distinguer clairement ce qui tient de l'état de l'art de ce qui tient des contributions, le manuscrit est divisé en deux parties. La partie I se contente d'exposer les problèmes connexes et les approches suivies pour les traiter. La partie II, quant à elle, restitue la démarche entreprise pour résoudre le problème posé. En ouverture de chaque chapitre, un encadré expose les objectifs dudit chapitre et la façon dont nous nous y prenons pour les atteindre. En clôture, un bilan est établi, et le lien avec le chapitre suivant précisé. Partie I Le chapitre 1 rapporte les problèmes d'optimisation combinatoire liés, d'une façon ou d'une autre, au problème traité et les méthodes employées pour les résoudre. Le chapitre 2 fait un tour d'horizon des problèmes de planication d'observations de la Terre rencontrés dans la littérature, et révèle les cadres de modélisation et les techniques de résolution utilisés. Partie II Le chapitre 3 formule clairement le problème de planication auquel nous faisons face, et tente de le modéliser. Le chapitre 4 détaille scrupuleusement l'algorithme spécique mis en place pour résoudre ce problème. Le chapitre 5 formule le problème de replanication qui survient lorsque des requêtes urgentes d'observation sont reçues durant l'exécution du plan, et propose une méthode de résolution. Le chapitre 6 présente l'environnement expérimental développé pour évaluer les performances des algorithmes proposés. Le chapitre 7 rapporte les résultats expérimentaux obtenus, d'une part, sur des instances du problème de planication et, d'autre part, sur des instances du problème de replanication. Enn, en guise de conclusion, nous dressons un bilan global de l'étude. Les contributions sont résumées, une analyse critique est eectuée et des perspectives sont proposées.
Première partie Problèmes connexes et approches suivies : la littérature pour nous éclairer
Chapitre 1 Éléments d'optimisation combinatoire Dans le présent chapitre, nous nous proposons d'identier les méthodes qui semblent prometteuses pour résoudre le problème introduit plus tôt. Pour cela, nous soulignons les liens qu'il peut y avoir avec certains problèmes connus d'optimisation combinatoire a, pour lesquels il existe diverses techniques de résolution. a. L'optimisation combinatoire est une branche de l'optimisation mathématique en liens avec la recherche opérationnelle et la théorie de la complexité. Elle consiste à chercher le meilleur élément d'un ensemble ni d'objets, sachant qu'une recherche exhaustive est en général impossible. 1.1 Techniques génériques de résolution L'optimisation combinatoire tient une place essentielle en mathématique discrète, en informatique et en recherche opérationnelle du fait de la complexité de ses problèmes, et de sa capacité à formuler de nombreuses applications pratiques. Devant l'importance de ces problèmes, diverses méthodes de résolution ont été développées en recherche opérationnelle et en intelligence articielle. On trouve d'un côté les méthodes exactes qui garantissent la complétude de la résolution, et de l'autre les méthodes approchées qui perdent leur complétude pour gagner en ecacité. Sont présentées dans cette section quatre techniques de résolution génériques, deux méthodes exactes à savoir le branch and bound et la programmation dynamique, puis deux méthodes approchées que sont la recherche locale et la recherche gloutonne. 1.1.1 La recherche arborescente par évaluation et séparation (branch and bound) La recherche arborescente par évaluation et séparation (en anglais branch and bound) est une méthode exacte qui énumère l'espace des solutions intelligemment car de façon implicite (Lawler et Wood 1966) : cette méthode partage l'espace des solutions en sous-ensembles de plus en plus petits, en éliminant bon nombre d'entre eux avant d'être construits explicitement (par des calculs de bornes). Le branch and bound s'avère très utile, sur des instances de taille moyenne, lorsqu'aucun algorithme polynomial n'est connu pour un problème donné. En revanche, pour des instances de grande dimension, le temps de calcul est prohibitif. Les éléments essentiels de cette recherche arborescente se résument en une règle de séparation des solutions, une fonction d'évaluation des solutions et une stratégie d'exploration.
10 1. Éléments d'optimisation combinatoire Séparation La recherche arborescente considère implicitement l'ensemble S 0 des solutions d'un problème d'optimisation combinatoire et le sépare en appliquant des décisions successives, formant ainsi un arbre de racine S 0. Cette racine correspond au problème complet, tandis que les n uds-ls correspondent à des sous-problèmes contraints par les décisions qui les ont créés. Les sous-ensembles de solutions résultant d'une séparation sont à leur tour séparables. La technique de séparation est libre tant qu'aucune solution n'est perdue. Évaluation Cet élément est crucial pour éviter l'énumération complète. L'évaluation d'un n ud S consiste à donner une estimation optimiste de la qualité de la meilleure solution que peut contenir S. Pour un problème de minimisation, cela revient à fournir une borne inférieure eval(s) qui vérie donc : s S, eval(s) c(s), où c(s) désigne la qualité de la solution s. Exploration La stratégie d'exploration précise comment choisir le prochain n ud à séparer. Typiquement, les deux stratégies utilisées sont la procédure de séparation et évaluation séquentielle (recherche en profondeur d'abord ou depth-rst search en anglais) dans laquelle on choisit en premier l'un des ls du dernier n ud séparé, et la procédure de séparation et évaluation progressive (best-rst search), dans laquelle le choix se porte vers le n ud de plus faible évaluation. La première requiert la mémorisation de la branche courante, tandis que la seconde enregistre les n uds pendants. La seconde, avec l'aide d'une heuristique, améliore en général plus vite la solution provisoire (elle construit moins de n uds). Finalement, l'algorithme de branch and bound procède de la manière suivante. L'arborescence est tout d'abord réduite à S 0. La meilleure solution déjà trouvée s et son coût z peuvent être initialisés par une heuristique. Dans le cas contraire, s est indénie et z xé à +. Une itération consiste à choisir une feuille, à la séparer, puis à construire et à évaluer les n uds ls. Un n ud ls est "tué" 1 si l'une des situations suivantes se présente : il ne contient aucune solution réalisable ; il est réduit à une solution unique ; si cette solution est meilleure que s, alors s et z sont mis à jour ; il ne contient pas de solution meilleure que celle déjà trouvée (eval(s) z ). L'algorithme termine lorsque tous les n uds sont tués. 1.1.2 La programmation dynamique La programmation dynamique (Bellman 1957, LaValle 2006) est une méthode récursive pour la résolution exacte de problèmes de décision séquentielle. Elle s'applique généralement à des problèmes d'optimisation pour lesquels le calcul de la solution optimale fait appel à la résolution de sous-problèmes similaires au problème initial. Ces sous-problèmes naissent souvent des diérents choix que l'on peut eectuer pour construire une solution. Elle est basée sur le principe d'optimalité qui peut s'énoncer ainsi : chaque sous-séquence d'une séquence optimale est optimale. 1. Lorsqu'un n ud est tué, toutes les branches issues de ce n ud sont coupées.
1.1. Techniques génériques de résolution 11 La programmation dynamique est ecace si un même sous-problème apparaît à plusieurs reprises lors de l'analyse. L'idée est alors de stocker les solutions de tous les sous-problèmes rencontrés, pour éviter d'avoir à les recalculer par la suite. L'algorithme est bien sûr optimal, mais peut devenir très coûteux en termes de mémoire (et même de temps) avec l'augmentation du nombre de sous-problèmes, et donc des résultats à mémoriser. Considérons un problème de décision séquentielle à horizon ni, sans incertitude, et avec comme objectif la minimisation du critère. Il existe une relation entre la valeur optimale associée au problème et les valeurs optimales associées aux sous-problèmes. Cette relation est connue dans la littérature sous le nom d'équation de Bellman. Elle s'écrit très facilement en recherche arrière, mais nous l'écrivons ici en recherche avant par rapport à l'utilisation que l'on en fait. Soient les éléments suivants : l'état initial x 0 l'étape i [0..N] l'ensemble X i des états possibles à chaque pas i l'ensemble A i (x) des actions réalisables au pas i dans l'état x X i l'état d'arrivée T i (x, a) X i+1 après application de l'action a A i (x) dans l'état x X i (fonction de transition à chaque pas) le coût c(x, a) de l'action a dans l'état x le coût minimal C i (x) obtenu en arrivant dans l'état x à l'étape i En programmation dynamique directe, les équations de Bellman peuvent alors s'écrire de la façon suivante : { C0 (x 0 ) = 0 C i (x) = min x,a T i 1 (x,a)=x {c(x, a) + C i 1 (x )} i [1..N], x X i Enn, le coût optimal C sur l'horizon (si aucun état-but n'est précisé) est donné par l'égalité C = min x X N {C N (x)} Pour reconstruire les décisions optimales qui permettent d'atteindre l'état associé à ce coût C, il sut de mémoriser dans un tableau les prédécesseurs optimaux. 1.1.3 La recherche locale La recherche locale (Aarts et Lenstra 1997) est une méthode approchée pour la résolution de problèmes d'optimisation diciles. Elle consiste à aller de solution en solution dans l'espace de recherche par application de mouvements locaux, jusqu'à ce qu'une solution soit jugée satisfaisante ou que le nombre d'itérations maximal soit atteint. La recherche locale est caractérisée par quatre éléments essentiels que sont la génération de la solution 2 initiale, la dénition du voisinage, le mécanisme de choix d'une solution dans le 2. Cette "solution" ne satisfait pas forcément les contraintes, et n'est donc pas nécessairement une solution valide.
12 1. Éléments d'optimisation combinatoire voisinage et ses conditions d'arrêt. En pratique, la solution initiale est générée aléatoirement ou via une recherche gloutonne. Le voisinage est un compromis choisi dans le but d'être calculable rapidement. On peut se diriger, à chaque itération, vers la meilleure solution du voisinage ou vers la première solution améliorante trouvée. En plus de cette approche purement "locale" (voisinage et transformations simples), des stratégies plus "globales" sont employées pour éviter que la recherche ne soit piégée dans un minimum local. Il s'agit donc de méta-heuristiques. Les exemples les plus classiques sont le recuit simulé, la recherche taboue et les algorithmes génétiques. Le recuit simulé Le recuit simulé (en anglais simulated annealing (Aarts et van Laarhoven 1985)) est une méta-heuristique qui s'inspire du recuit des métaux en métallurgie. Dans cette analogie, le refroidissement trop rapide de certains métaux conduit les atomes à se placer dans une con- guration qui n'est pas la plus solide, l'équivalent d'un minimum local en optimisation combinatoire. En revanche, un refroidissement lent entraîne le réarrangement des atomes et permet d'obtenir une conguration stable, l'équivalent d'un minimum global. Le recuit simulé consiste à tirer au sort une solution voisine. Si la variation du coût D (en minimisation) est négative, on accepte cette solution (le mouvement local associé est réalisé), sinon on accepte tout de même cette solution de moins bonne qualité avec une probabilité e D/T paramétrée par un réel positif T appelé température. On recommence le processus sur la nouvelle solution. La température est baissée par palier, c'est-à-dire après un certain nombre d'itérations, jusqu'à ce qu'elle devienne négligeable. La recherche taboue La recherche taboue (Glover 1987) est une méta-heuristique déterministe (aucun caractère stochastique) redoutable sur de nombreux problèmes d'optimisation combinatoire diciles. Cette recherche explore complètement le voisinage et eectue un mouvement local vers la meilleure solution s, même si s présente un coût plus élevé. An d'éviter le bouclage sur une séquence de solutions, on interdit de revenir sur une solution visitée dans un passé proche, via une liste taboue mémorisant les transformations inverses prohibées. La recherche est stoppée une fois atteint un nombre maximal d'itérations ou après un certain nombre d'itérations sans amélioration de la solution. Les algorithmes génétiques Les algorithmes génétiques (Goldberg 1989) sont des méta-heuristiques qui miment le processus d'évolution naturelle. Un tel algorithme débute avec une population initiale de N solutions aléatoires. Chacune de ces solutions représente un chromosome constitué de gènes (caractéristiques de la solution). Une itération, appelée génération, consiste d'abord à sélectionner au hasard N c paires de solutions (2 N c < N) à reproduire avec une probabilité qui croît avec leur adaptation (valeur du critère à optimiser). Chacune des paires (x, y) subit un croisement : x fournit une partie des
1.2. Problèmes classiques 13 gènes au descendant et y fournit la partie complémentaire. Ensuite, au cours de cette même itération, N m solutions subissent une mutation, c'est-à-dire une modication aléatoire d'un gène. Pour obtenir la nouvelle population, on considère la population précédente ainsi que les nouvelles solutions générées par mutation ou croisement. Les N meilleures solutions sont alors sélectionnées selon le critère d'optimisation considéré. Notons que ce critère représente une mesure d'adaptation au milieu. Le même processus est réitéré jusqu'à ce que la condition d'arrêt soit atteinte (par exemple un nombre de générations xé). Un inconvénient certain demeure un temps de calcul important, avec en pratique des résultats inférieurs à ceux obtenus par une recherche taboue. 1.1.4 La recherche gloutonne La recherche gloutonne est une méthode approchée qui construit une seule solution, par une suite de choix locaux et dénitifs, c'est-à-dire sans retours en arrière. Elle cherche, à chaque itération, à faire le choix le plus avantageux. La recherche gloutonne ne donne aucune garantie sur la qualité du résultat, ni en termes de satisfaction des contraintes (le cas échéant), ni en termes d'optimalité. Il existe cependant des variantes intéressantes qui pallient ces faiblesses, notamment le glouton stochastique itéré (voir heuristic-biased stochastic sampling (Bresina 1996)) : des recherches gloutonnes successives (à partir d'une solution vide) sont eectuées à l'aide d'heuristiques bruitées. La recherche est ainsi diversiée. L'avantage certain de la recherche gloutonne demeure sa complexité linéaire, fonction du nombre de choix à réaliser et du nombre d'alternatives possibles pour ces choix. De plus, il existe de nombreuses heuristiques pour les problèmes d'optimisation combinatoire classiques, et il est très facile d'en créer d'autres. 1.2 Problèmes classiques 1.2.1 Le sac à dos Le problème du sac à dos (Kellerer et al. 2004) est l'un des problèmes les plus célèbres en optimisation combinatoire, en grande partie pour sa formulation très simple et ses applications diverses (gestion de portefeuilles, chargement de bateaux ou d'avions, découpe de matériaux... ). Énoncé du problème Intéressons-nous à un randonneur qui prépare son sac à dos pour partir en montagne, et qui doit donc choisir ce qu'il emporte avec lui. Il dispose de nombreux objets qui peuvent être utiles à son excursion (boîtes de conserve, gourdes, couteaux... ). Chacun de ces objets, numérotés de 1 à n, lui apporterait un certain confort mesuré par un nombre positif p j. Bien sûr, le poids w j de chaque objet que le randonneur ajoute dans son sac augmente la charge
14 1. Éléments d'optimisation combinatoire qu'il doit porter. Pour des raisons évidentes, il souhaite limiter le poids total du sac à dos et xe ainsi une charge maximale c à ne pas dépasser. Le problème revient nalement à choisir les objets à insérer, de sorte à obtenir un sac le plus "utile" possible tout en respectant une charge maximale (voir Figure 1.1). 2 boîtes de conserve et 1 bouteille d eau de 50cl? 1 boîte de conserve et une bouteille d eau de 1l? Figure 1.1 Illustration du problème du sac à dos. Plus formellement, le problème du sac à dos (en anglais Knapsack Problem) est déni comme suit. Dénition 1 (Problème du sac à dos). Soit N l'ensemble ni des objets disponibles. Pour tout objet j, soient p j et w j respectivement l'utilité et le poids de j. On désigne par c la capacité du sac à dos. L'objectif est de sélectionner un sous-ensemble de N tel que l'utilité totale des objets sélectionnés soit maximisée et tel que le poids total n'excède pas c, i.e. trouver S N respectant w j c et maximisant j. j S j Sp Il existe de nombreuses variantes de ce problème célèbre. Citons le sac à dos multidimensionnel dans lequel s'ajoutent des contraintes portant sur des dimensions autres que le poids total des objets (le volume total par exemple), le sac à dos multi-objectif dans lequel s'ajoutent des critères autres que le confort du randonneur (plusieurs valeurs sont attribuées aux objets), ou encore le sac à dos multiple dans lequel plusieurs sacs de capacités diérentes sont disponibles et dans lequel la valeur d'un objet dépend du sac qui le contient. Méthodes de résolution Le problème de décision associé est le suivant : étant donné un nombre k, existe-t-il un ensemble S N tel que j S w j c et j S p j k. Ce problème est NP-complet, c'est-à-dire que toute solution est vériée en temps polynomial mais que les algorithmes de recherche de solutions sont de complexité exponentielle (ils sont en fait ici pseudo-polynomiaux). Le problème initial d'optimisation est, quant à lui, NP-dicile car sa résolution est au moins aussi dicile que celle du problème de décision. Les algorithmes
1.2. Problèmes classiques 15 optimaux capables de résoudre ce type de problèmes ont un temps d'exécution exponentiel en la taille de l'entrée dans le pire cas. Néanmoins, il est parfois possible de résoudre en un temps raisonnable certaines instances. On le constate d'ailleurs pour le problème du sac à dos puisque la programmation dynamique et les recherches arborescentes par séparation et évaluation viennent à bout des instances de petite taille. Les algorithmes approchés sont cependant très utiles pour obtenir rapidement, sur des instances de taille quelconque, des solutions réalisables. Une idée naturelle pour ce problème consiste à insérer en priorité les objets les plus ecaces (compromis entre utilité et poids), jusqu'à saturation du sac à dos. La notion d'ecacité est en fait liée à la densité d'utilité d'un objet, elle-même dénie par le rapport entre son utilité et son poids. Cela conduit à un algorithme glouton très simple (voir l'algorithme 1) sur lequel se basent de nombreuses techniques plus sophistiquées. Évidemment, la solution est fournie en peu de temps, mais elle peut s'avérer très mauvaise suivant l'instance considérée. Heureusement, le comportement moyen est bon en pratique. Algorithme 1 : Algorithme glouton insérant les objets par ordre décroissant d'ecacité trier N par ordre décroissant d'ecacité p j 1 2 3 4 5 6 7 8 9 w j ; S ; w 0 ; // w est le poids total des objets actuellement dans le sac z G 0 ; //z G est l'utilité de la solution courante foreach j N do if w + w j c then S S {j} ; //insérer l'objet j dans le sac à dos w w + w j ; z G z G + p j ; 10 return (S, z G ) Il existe des algorithmes pour le problème du sac à dos garantissant une distance maximale à l'optimum. La complexité de ces algorithmes est, en général, liée à l'inverse de l'écart relatif attendu (O(n 1 ɛ ), O(n 2 + 1 ɛ 2 )... ). Les temps d'exécution sont potentiellement conséquents. De nombreux papiers s'attaquent à la résolution approchée du problème multi-dimensionnel par l'utilisation de métaheuristiques. (Chu et Beasley 1998) présente par exemple un nouvel algorithme génétique. Celui-ci incorpore, en plus des opérateurs classiques (sélection, croisement, mutation), un opérateur heuristique qui utilise des connaissances spéciques au problème. Un algorithme de recherche taboue est également développé dans l'article (Glover et Kochenberger 1996). On y trouve une mémoire exible intégrant des informations de fréquence, à savoir le nombre de sélections de chaque objet au cours des t dernières itérations. Parallèlement, (Vasquez et Hao 2001a) propose une approche hybride qui combine la recherche taboue avec la programmation linéaire. L'algorithme utilise la méthode du sim-
16 1. Éléments d'optimisation combinatoire plexe pour obtenir des points continus autour desquels lancer un algorithme tabou. Cet article souligne aussi les avancées notables pour ce type de problème. Enn, (Alaya et al. 2007) propose de résoudre le problème du sac à dos multi-dimensionnel en utilisant la métaheuristique d'optimisation par colonies de fourmis (en anglais Ant Colony Optimization). L'idée est de construire des solutions de façon incrémentale, par ajouts successifs d'objets à une solution partielle. À chaque itération, l'objet à ajouter est choisi selon une probabilité dépendant de traces de phéromone et d'une information heuristique locale. Les traces de phéromone sont en fait une forme d'apprentissage. Plusieurs façons de déposer ces traces sont étudiées (sur les objets sélectionnés, sur les couples d'objets sélectionnés consécutivement,... ). Lien avec le problème traité Le problème du sac à dos se rapproche de notre problème de planication d'observations par son aspect surcontraint et donc sélectif. Une analogie évidente peut s'établir entre, d'une part, objets et observations, et d'autre part, sac à dos et satellites. De plus, les dimensions des objets sont à mettre en parallèle avec l'énergie et la mémoire consommées par les observations. En particulier, le sous-problème du vidage des données est très proche du problème académique (voir Figure 1.2). d 1 d 2 d 3 d 4 Télédéchargements : utilité de d 1 = 8 utilité de d 2 = 9 utilité de d 3 = 6 utilité de d 4 = 4 durée du vidage d 4 fenêtre de visibilité d une station de réception temps problème d 1 d 3 d 4 utilité totale = 8+6+4 =18 fenêtre de visibilité d une station de réception temps solution optimale Figure 1.2 Télédéchargement des données sous forme d'un problème de sac à dos.
1.2. Problèmes classiques 17 1.2.2 Le plus long chemin Le problème du plus long chemin est issu de la théorie des graphes (Christodes 1975, Gondran et al. 1984). Contrairement au problème de plus court chemin, il est en général dicile à résoudre. Énoncé du problème Le Problème du Plus Long Chemin consiste à trouver, dans un graphe donné, un chemin simple de longueur maximale entre deux sommets (voir Figure 1.3). Un chemin est dit simple si aucun sommet n'est répété. D C 1 1 1 2 B 3 A 4 E Figure 1.3 Illustration du problème du plus long chemin entre A et E. Dénition 2 (Problème du Plus Long Chemin). Soit G = (X, E) un graphe pondéré, où X et E représentent respectivement les sommets et les arêtes 3 de G. À chaque arête (i, j) est associé un coût c i,j. L'objectif est de trouver un chemin de coût maximal entre un sommet de départ s X et un sommet nal t X, en supposant qu'un tel chemin existe i.e. t R(s), où R(s) désigne l'ensemble des sommets atteignables à partir de s. Méthodes de résolution Le problème du plus long chemin est NP-dicile dans le cas général 4, ce qui se démontre facilement avec la notion de circuits hamiltoniens dénis en 1.2.3. Pour cette raison, les techniques proposées sont typiquement basées sur des heuristiques. (Karger et al. 1993) présente plusieurs algorithmes approchés de complexité polynomiale pour le problème du plus long chemin dans un graphe non pondéré non orienté. De plus, une méthode aléatoire pour la recherche de chemins de longueur k entre deux n uds N s et N e, dans un graphe non orienté non pondéré (la longueur désigne ici le nombre 3. Les liens entre sommets ou n uds sont appelés arêtes dans un graphe non-orienté et arcs dans un graphe orienté. 4. Il est d'usage de qualier de facile le problème du plus court chemin simple, et de dicile le problème du plus long chemin simple, car leur dénition n'est pas symétrique. Typiquement, des poids positifs sont considérés. Dans ce cas, le problème du plus court chemin est eectivement facile, même en présence de cycles. Il devient également NP-dicile dès lors qu'il existe des cycles négatifs.
18 1. Éléments d'optimisation combinatoire d'arcs impliqués), est décrite dans (Alon et al. 1995). Cette méthode est appelé color-coding. L'idée est de colorer aléatoirement les n uds du graphe G avec exactement k couleurs, et de déterminer s'il existe un chemin "coloré", i.e. dont les n uds sont de couleurs diérentes, de longueur k entre N s et N e. Elle permet de savoir s'il existe un chemin de longueur k en un temps O(2 k.mlogn) où n est le nombre de sommets et m le nombre d'arêtes. En conséquence, elle détecte en temps polynomial si un chemin de longueur O(logn) existe. Enn, l'article (Portugal et al. 2010) présente quatre approches à base d'algorithmes génétiques pour résoudre ce problème. Les trois premiers algorithmes utilisent des mécanismes de croisement entre paires de solutions basés sur leurs régions d'intersection, et le quatrième utilise un mécanisme de mutation sur des solutions individuelles, dans lequel la perturbation appliquée dépend de l'état du système. Notons que, dans le cadre des graphes acycliques, le problème devient très simple : il est résolu en temps polynomial en considérant l'opposé du poids de chaque arête et en faisant appel à un algorithme de recherche de plus court chemin (Dijkstra, A... ). Dans le cadre des graphes orientés acycliques, il est même possible de le résoudre directement, en temps linéaire, par programmation dynamique (voir algorithme 2). Algorithme 2 : Calcul de la longueur du plus long chemin d'un graphe orienté acyclique par programmation dynamique input : Graphe Orienté Acyclique G = (X, E) output : Longueur du plus long chemin 1 2 3 4 5 6 initialiser à 0 les X éléments du tableau L ; trier dans T les éléments de X par (un) ordre topologique ; //pour tout arc (u, v), u vient avant v dans T foreach x T do foreach (x, y) E do if L[y] L[x] + c x,y then L[y] = L[x] + c x,y ; 7 return max(l[x]) ; //pour reconstruire le chemin, il suffit d'introduire un x X tableau de successeurs qui est mis à jour dès que L est modifié Lien avec le problème traité Le problème du plus long chemin se rapproche de notre problème de planication d'observations par sa volonté de maximiser une quantité sur un parcours. Donnons-nous un graphe pondéré G = (X, E) dans lequel les n uds représentent les observations à réaliser, agrémentées d'une observation factice de départ o f et d'une observation factice d'arrivée o l, toutes deux obligatoires. Considérons un graphe orienté pour préciser les relations de précédence entre observations. Le poids d'un arc (i, j) désigne l'utilité apportée par l'observation j. Dans ce
1.2. Problèmes classiques 19 cas, la recherche d'un plan maximisant l'utilité totale apportée par les observations réalisées est équivalente à la recherche d'un plus long chemin entre o f et o l (voir Figure 1.4). utilité de o 1 = 2 utilité de o 2 = 1 utilité de o 3 = 2 utilité de o 4 = 3 utilité de o 5 = 2 3 2 o 1 3 o 4 o f 1 2 plus long chemin o 2 2 o 3 3 2 o 5 o l 2 Figure 1.4 Planication d'observations sous forme de problème de plus long chemin. 1.2.3 Le voyageur de commerce Le Problème du Voyageur de Commerce (en anglais Traveling Salesman Problem ou TSP) est un autre problème classique issu de la théorie des graphes. Si ce problème est très populaire, c'est sans doute parce qu'il y a un contraste saisissant entre sa dénition très simple et sa résolution étonnamment dicile. L'ouvrage (Lawler et al. 1985) lui est entièrement dédié. Énoncé du problème Intéressons-nous à un représentant de commerce qui doit rendre visite à un ensemble de clients situés dans des villes diérentes. Le but du représentant est de partir de son domicile, de rendre visite une fois à chaque client, et de revenir à son domicile en minimisant le kilométrage parcouru (voir Figure 1.5). La formulation mathématique du problème fait appel à la notion de cycle hamiltonien dont voici la dénition. Dénition 3 (Cycle hamiltonien). Soit un graphe G = (X, E) où X et E désignent respectivement l'ensemble des sommets et l'ensemble des arêtes de G. Un parcours est hamiltonien s'il visite une fois et une seule chaque sommet de G. Une dénition formelle du Problème du Voyageur de Commerce est désormais possible. Dénition 4 (Problème du Voyageur de Commerce). Considérons un graphe complet G = (X, E) dans lequel l'ensemble X des sommets représente les villes à visiter dont celle
20 1. Éléments d'optimisation combinatoire Figure 1.5 Illustration du problème du voyageur de commerce. du domicile, et l'ensemble E des arêtes représente les parcours possibles entre ces villes. Une distance de parcours d i,j entre les villes i et j est associée à toute arête (i, j) E. La longueur d'un chemin dans G est égale à la somme des distances associées aux arcs de ce chemin. Le Problème du Voyageur de Commerce consiste à trouver un cycle hamiltonien de longueur minimale. La diérence essentielle avec les problèmes de plus court chemin, problèmes faciles pour lesquels il existe des algorithmes optimaux ecaces, réside dans l'obligation de passer par tous les sommets. Toutefois, il est vrai qu'une telle contrainte est relativement forte. Le représentant de commerce peut décider de ne pas visiter certaines villes sans client ce jour-là. C'est pourquoi, il existe des variantes plus réalistes du problème. Par exemple, on peut chercher un cycle de coût minimal visitant au moins une fois chaque ville d'un sous-ensemble de villes incluant la localité de départ. Une autre variante intéressante appelée Problème du Voyageur de Commerce avec fenêtres temporelles consiste à associer à chaque ville un intervalle de temps au cours duquel doit avoir lieu sa visite. L'ouvrage (Gutin et Punnen 2002) liste toute une série de variantes et récapitule les méthodes de résolution existantes. Méthodes de résolution Le problème d'existence d'un circuit hamiltonien dans un graphe étant NP-complet, le TSP est quant à lui NP-dicile. Face à un tel problème, les approches habituelles sont de développer des algorithmes optimaux susceptibles de fournir, sur des instances de petite taille, une solution exacte en un temps raisonnable, ou des algorithmes approchés capables de s'attaquer à des instances de taille bien plus importante mais qui ne garantissent pas de solution optimale.
1.2. Problèmes classiques 21 Pour le TSP, une technique très naïve mais naturelle consiste à essayer toutes les permutations et à relever celle de coût minimal. Malheureusement, la complexité est alors factorielle, ce qui rend cette technique inapplicable même pour un nombre très limité de villes (moins de vingt). D'autres approches, plus intelligentes, sont aptes à trouver une solution optimale sur des instances comportant davantage de villes. Parmi elles, on peut citer l'emploi d'algorithmes de type séparation et évaluation ou encore l'emploi d'algorithmes de programmation dynamique. Néanmoins, si l'on s'intéresse à des instances de taille beaucoup plus importante (e.g. plusieurs millions de villes) ou si l'on se donne des temps de calcul très courts, les méthodes approchées sont indispensables. Les plus simples sont les heuristiques gloutonnes. Il en existe quatre classiques pour le TSP : Plus Proche Voisin, Plus Proche Insertion, Plus Lointaine Insertion et Meilleure Insertion. La première heuristique est la plus simple (voir l'algorithme 3). On part d'un sommet 1 caractérisant le domicile. À chacune des n 1 itérations, on connecte le dernier sommet atteint au sommet libre le plus proche (au sens des coûts). On relie nalement le dernier sommet au sommet 1. Cette heuristique s'exécute très rapidement, en O(n 2 ), mais peut manquer, à cause de sa nature myope, des chemins plus courts, facilement identiables par un humain. Elle est très mauvaise dans le pire cas, mais sa performance moyenne est bien meilleure en pratique. Les autres heuristiques partent d'un cycle µ réduit à une boucle sur le sommet 1. À chaque itération, on choisit un sommet libre j, puis on cherche la position d'insertion entre deux sommets i et k de µ qui minimise l'augmentation de coût d = d i,j + d j,k d i,k. Dans la Plus Proche Insertion, j est le sommet le plus proche du cycle µ 5. Dans la Plus Lointaine Insertion, j est le sommet le plus proche de µ. Dans la Meilleure Insertion, on teste tous les sommets j non encore insérés à toutes les positions de la tournée et on choisit le meilleur couple (sommet,position). La Meilleure Insertion s'exécute en O(n 3 ) tandis que les autres sont implémentables (non trivialement) en O(n 2 ). En moyenne, ces heuristiques sont très bonnes. On a même la garantie que, dans le cas euclidien 6, le coût total est au pire deux fois plus grand que le coût optimal. L'ouvrage (Prins 1994) fournit les résultats de la comparaison de ces heuristiques. Dans le cas non euclidien, l'heuristique de Plus Proche Voisin est la meilleure, tandis que, de façon surprenante, l'heuristique de Plus Lointaine Insertion est la meilleure dans le cas euclidien. Les métaheuristiques de type recuit simulé et recherche taboue donnent cependant de bien meilleurs résultats. L'élément essentiel de ces métaheuristiques demeure la dénition du voisinage. Pour le TSP, il est d'usage d'utiliser le voisinage k-opt : par exemple, le voisinage 2-OPT consiste à supprimer 2 arêtes non adjacentes d'un cycle hamiltonien, puis à reconnecter les 2 chaînes obtenues par 2 nouvelles arêtes pour reformer un cycle (voir Figure 1.6). 5. La distance Dist j d'un sommet j au cycle µ est égale à la distance minimale entre j et chacun des sommets de µ : Dist j = min i µ (di,j). 6. Cas particulier où d i,j est la distance euclidienne entre i et j, et vérie donc d i,j + d j,k d ik.
22 1. Éléments d'optimisation combinatoire Algorithme 3 : Heuristique du Plus Proche Voisin input : Matrice A des coûts entre sommets output : Route Cycle empruntée par le voyageur 1 2 3 4 5 6 7 8 9 10 C 0 ; Cycle[1] 1 ; //le sommet 1 correspond au domicile for i 2 to NX do Free[i] True ; for Last 1 to NX 1 do DMin MaxCost ; for i 2 to NX do //on cherche le sommet le plus proche if Free[i] and (A[Cycle[Last], i] < DMin) then DMin A[Cycle[Last], i] ; imin i ; 11 12 13 14 15 16 Free[imin] False ; Cycle[Last + 1] imin ; C C + DMin ; C C + A[imin, 1] ; Cycle[NX + 1] 1 ; return Cycle //le prochain sommet du cycle est imin L'énumération du voisinage est en O(n k ). j j i i k k l l Figure 1.6 Tansformation 2-OPT dans un graphe. Lien avec le problème traité Le problème du voyageur de commerce se rapproche de notre problème d'observation de la Terre par sa volonté de minimiser la distance (ou durée) totale d'un parcours avec points de passage donnés. Considérons un graphe orienté pondéré G = (X, E) dans lequel les n uds
1.2. Problèmes classiques 23 du graphe représentent les observations à réaliser, avec ajout d'un sommet o fl factice. Pour chaque arc (i, j) E, sa pondération d i,j regroupe la durée de réalisation de i et la transition entre i et j. Dans ce cas, la recherche d'un plan réalisant toutes les observations en un temps minimal est équivalente à la recherche d'un plus court chemin hamiltonien (voir Figure 1.7). o fl plus court chemin hamiltonien 2 0 0 0 0 4 o 1 1 5 o 4 1 2 3 6 1 5 6 1 7 5 o 3 2 o 3 4 Figure 1.7 Planication d'observations sous forme de problème du voyageur de commerce. La diérence majeure avec notre problème réel est l'obligation de réaliser toutes les observations. La variante avec fenêtres temporelles permet également de prendre en compte les fenêtres de réalisation possibles pour les observations, particularité qui provient de l'agilité des satellites. Néanmoins, il demeure dicile de prendre en compte certaines contraintes, même simples, comme celles portant sur les ressources. 1.2.4 Les tournées de véhicules Le Problème des Tournées de Véhicules (en anglais Vehicule Routing Problem ou VRP) est en fait une extension du problème de voyageur de commerce, dans lequel on ne considère plus un unique représentant pour visiter les villes mais une équipe (une otte de véhicules ; voir Figure 1.8). Des variantes de ce problème peuvent prendre en compte le volume des commandes de chaque client, leurs horaires d'ouverture et la capacité des véhicules. Ce problème se trouve au moins aussi dicile que le précédent. On trouve néanmoins des algorithmes optimaux pour une centaine de villes, par exemple une recherche arborescente par
24 1. Éléments d'optimisation combinatoire Figure 1.8 Illustration du problème des tournées de véhicules. séparation et évaluation (Fisher 1994). La majeure partie des techniques utilisées sont sans conteste les heuristiques (exploration relativement limitée mais solutions de bonne qualité) et les métaheuristiques (exploration profonde des zones prometteuses et solutions de très bonne qualité) car aucun algorithme exact ne peut garantir l'obtention de tournées optimales en un temps raisonable, lorsque le nombre de villes à visiter est grand. Parmi les heuristiques rencontrées gurent des méthodes constructives : une solution faisable est construite pas à pas tout en gardant un il sur le coût de la solution, sans aucune phase d'amélioration. L'une des plus connues est appelée Clarke and Wright savings (Clarke et Wright 1964) et s'applique lorsque le nombre de véhicules n'est pas xé (c'est une variable de décision). L'idée est la suivante : lorsque deux routes (0,..., i, 0) et (0, j,..., 0) peuvent être fusionnées en une seule route (0,..., i, j,..., 0), une économie de distance s i,j = d i,0 +d 0,j d i,j est réalisée (voir Figure 1.9). L'algorithme procède donc en deux étapes. D'abord, il calcule tous les s i,j pour i, j [1..n] et i j), les trie dans l'ordre décroissant, et crée n routes (0, i, 0) pour i [1..n]. Ensuite, en partant du début de la liste, il détermine s'il existe deux routes qui peuvent être fusionnées, l'une commençant par (0, j), l'autre nissant par (i, 0). Les routes sont alors combinées en supprimant (0, j) et (i, 0), et en insérant (i, j). Parallèlement, les métaheuristiques classiques sont employées dans la littérature pour résoudre ce problème : colonies de fourmis (Bullnheimer et al. 1997)(construction des parcours et mise à jour des traces), algorithmes génétiques, recuit simulé, recherche taboue (Xu et Kelly 1996)(permutation de sommets entre parcours, repositionnement global de sommets dans d'autres routes et améliorations locales de parcours). Notons que les méthodes d'amélioration de parcours utilisées pour le TSP peuvent s'ap-
1.3. Ordonnancement de tâches 25 i j i j 0 0 Figure 1.9 Illustration du concept d'économie de distance. pliquer à chacune des tournées individuellement pour globalement améliorer la solution. Ce problème est présenté ici pour son aspect multi-engin. La otte de véhicules est à mettre en relation avec la constellation de deux satellites mentionnée dans notre problème de planication. On pose ici l'hypothèse que toute observation est réalisable par l'un des deux satellites. 1.3 Ordonnancement de tâches Le problème d'ordonnancement de tâches (Esquirol et Lopez 1999, Baptiste et al. 2001) fait l'objet de nombreuses études en Recherche Opérationnelle pour son intérêt pratique, notamment dans la gestion de projet ou de production (voir Figure 1.10 pour l'exemple d'ordonnancement d'atelier). Tâche 1 en attente Tâche 2 en attente Machine 1 Machine 2 Machine 3 Tâche 1 accomplie Tâche 2 accomplie Figure 1.10 Illustration du problème d'ordonnancement d'atelier. 1.3.1 Énoncé du problème Dénition 5 (Problème d'ordonnancement de tâches). Considérons un ensemble de m machines (ressources non partageables) et un ensemble de n tâches à réaliser. À chaque
26 1. Éléments d'optimisation combinatoire tâche k est associée une durée p k, une date de début au plus tôt est k (date au plus tôt de disponibilité des éléments nécessaires à la réalisation de cette tâche), et une date de n au plus tard let k (date au plus tard de mise à disposition des produits de cette tâche). Des contraintes de précédence portent sur certaines tâches. De plus, certaines tâches partagent une même machine et ne peuvent donc pas être réalisées en parallèle. L'objectif est de déterminer, sur chaque machine, un ordre de réalisation des tâches qui requièrent cette ressource tel que les dates de début au plus tôt et de n au plus tard de chaque tâche soient respectées, et que la durée totale de réalisation des tâches soit minimisée. Les problèmes d'ordonnancement surcontraints (Barbulescu et al. 2006, Kramer et al. 2007) constituent une variante intéressante de ce problème. Une fonction des tâches ordonnancées y est optimisée, sachant que les tâches ne peuvent pas toutes apparaître dans l'ordonnancement. Une autre variante consiste à prendre en compte des ressources partageables. Dans ce cas, chaque tâche consomme une certaine quantité de ressource et, pour chacune des ressources, la somme des quantités consommées à un instant donné est obligatoirement inférieure à la capacité de cette ressource. D'autres problèmes mentionnent des temps de transition minimaux entre tâches, qui peuvent être constants ou dépendants de la séquence (ordonnancement avec temps de préparation dépendant de la séquence). D'autres encore stipulent des durées de tâches qui sont fonction de leur date de début (ordonnancement de tâches dont le temps opératoire est dépendant du temps (Cheng et al. 2004, Gawiejnowicz 2008)). 1.3.2 Méthodes de résolution Ce problème, connu sous le nom de Job-Shop Scheduling Problem, constitue l'un des problèmes classiques les plus diciles en optimisation combinatoire (NP-dicile pour m>2). Cette diculté provient essentiellement de la capacité limitée des ressources. Les méthodes exactes rencontrées pour la résolution de ce problème sont à base de recherche arborescente par séparation et évaluation ou de programmation dynamique. On trouve également la programmation linéaire et la programmation linéaire en nombres entiers, même si la modélisation n'est pas vraiment naturelle. Notons que les techniques purement linéaires ne donnent pas de bons résultats sur les problèmes d'ordonnancement (certaines contraintes comme le non recouvrement des tâches sont par nature non linéaires). Les algorithmes les plus ecaces, que ce soit pour une résolution exacte du problème d'optimisation ou pour la recherche de solutions de bonne qualité, reposent le plus souvent sur une utilisation de techniques poussées de propagation de contraintes (Baptiste et al. 2001). Parmi les méthodes approchées gurent des heuristiques classiques : EDF (Earliest Deadline First) choisit parmi les tâches exécutables celle dont l'échéance a lieu le plus tôt. LLF (Last Laxity First) choisit parmi les tâches exécutables celle dont la laxité est la plus faible. La laxité indique le retard maximum que peut prendre la tâche sans dépasser son échéance.
1.4. Planication d'actions 27 LRF (Last Release Time First) choisit parmi les tâches exécutables celle dont le temps écoulé depuis son apparition est le plus grand. HPF (High Priority First) choisit parmi les tâches exécutables celle dont la priorité est la plus grande. Bien évidemment, on retrouve l'emploi de métaheuristiques telles que les algorithmes génétiques (Davis 1985), le recuit simulé (Laarhoven et al. 1992), et la recherche taboue (Dell'Amico et Trubian 1993). 1.3.3 Lien avec le problème traité Notre problème de planication d'observations a des connexions évidentes avec les problèmes d'ordonnancement, où les tâches seraient les observations, et plus encore avec les problèmes d'ordonnancement surcontraints. Cependant, l'une des caractéristiques qui distingue le problème auquel nous faisons face est l'existence de temps minimum de transition entre observations dépendant non seulement de la séquence comme en ordonnancement avec temps de préparation dépendant de la séquence, mais également des dates de n des observations, plus ou moins comme en ordonnancement dépendant du temps. Notons néanmoins que dans ce dernier type de problème, ce sont les durées de tâches qui dépendent du temps et non les temps de transition. Notons aussi que les durées de tâches sont supposées données par une formule analytique, souvent linéaire par morceaux en fonction du temps. Dans le problème qui est le nôtre les temps de transition minimaux sont donnés par un code de calcul qui approxime l'optimum d'un problème complexe d'optimisation continue (aucune formule analytique disponible et aucune approximation linéaire raisonnable). 1.4 Planication d'actions Le problème très général de la Planication d'actions (Ghallab et al. 2004) est présent dans de nombreuses applications. On le retrouve par exemple pour des choix d'actions avec prise en charge de ressources (pour le transport de marchandises, à l'école, dans les hôpitaux,... ) et pour des prises de décisions interactives (dans le cadre d'opérations militaires, d'observations astronomiques,... ). 1.4.1 Énoncé du problème La problème de la Planication d'actions en Intelligence Articielle peut s'énoncer ainsi : décider quelles actions entreprendre pour accomplir un ensemble donné d'objectifs. Plus précisément, il s'agit, pour atteindre un état but depuis l'état courant, de sélectionner des actions, de les ordonner et de gérer les ressources. Figure 1.11 schématise un modèle conceptuel de la planication (Ghallab et al. 2004). Le problème, à proprement parler, se limite aux entrées du planicateur (en anglais Planner), i.e. la description du système à états-transitions Σ, l'état initial, et les objectifs. Les solutions d'instances de ce problème sont des plans, c'est-à-dire des séquences d'actions, ou des politiques, c'est-à-dire des stratégies qui à un état associent une action. En contexte déterministe, les
28 1. Éléments d'optimisation combinatoire plans sont utilisés. En contexte non déterministe, par exemple lorsque l'eet d'une action est incertain, on a recours aux politiques. Figure 1.11 Modèle conceptuel de la planication. Nous joignons ci-après une dénition formelle du système Σ, élément essentiel du problème de planication. Dénition 6 (Système à états-transitions Σ). Un système à états-transitions est un quadruplet (S, A, E, γ). S représente l'espace d'états. A représente l'ensemble des actions possibles. E désigne des événements exogènes. Enn, γ : S (A E) 2 S est la fonction de transition. L'ensemble d'arrivée 2 S prend en compte le contexte non déterministe. Notons que souvent l'ordonnancement, qui s'intéresse aux contraintes temporelles, aux contraintes sur les ressources et à des fonctions objectifs, est vu comme un sous-problème de la planication. 1.4.2 Méthodes de résolution L'ordonnancement décide quand et comment réaliser un ensemble donné d'actions. C'est un problème typiquement NP-complet. La planication, quant à elle, décide quelles actions utiliser pour accomplir un ensemble d'objectifs. C'est un problème potentiellement bien plus complexe. Dans le pire cas, il est indécidable. Il existe deux principaux types de planicateurs : les planicateurs spéciques aux domaines, créés ou adaptés pour un domaine spécique et les planicateurs indépendants du domaine. Les planicateurs spéciques aux domaines ne fonctionnent pas bien, si ce n'est pas du tout, dans d'autres domaines. Ils gurent cependant dans la plupart des applications réelles. En principe, les planicateurs indépendants du domaine fonctionnent dans n'importe quel domaine de planication car ils n'utilisent aucune connaissance spécique au domaine à l'exception de la dénition des actions élémentaires. En pratique, il s'avère impossible de développer de tels planicateurs qui fonctionnent dans tous les domaines possibles. Des hypothèses
1.4. Planication d'actions 29 simplicatrices sont donc posées pour réduire l'ensemble des domaines. Elles caractérisent la planication classique : ensembles nis d'états, d'actions, et d'événements, totalement observable, i.e. le contrôleur a toujours connaissance de l'état courant, déterministe, i.e. chaque action n'a qu'un seul résultat possible, fonction de l'état courant, statique, i.e. aucun événement exogène n'est envisagé, l'objectif se limite à atteindre un ensemble d'états buts S g, les plans sont séquentiels, i.e. un plan est une séquence (a 1, a 2,..., a n ) d'actions, le temps est implicite, les durées d'action sont notamment omises, la planication est hors-ligne, i.e. le planicateur ne connaît pas l'état avant exécution. En fait, la planication classique se ramène au problème simplié suivant : étant donnés un système Σ, un état initial s 0 et un ensemble d'états buts S g, trouver une séquence d'actions (a 1, a 2,..., a n ) qui produit une séquence d'états (s 1, s 2,..., s n ) telle que s n appartienne à S g. Ceci est tout à fait équivalent à une simple recherche de chemin dans un graphe où les n uds sont les états et les arêtes sont les actions. Le problème est néanmoins loin d'être trivial au vu de la taille importante des espaces d'états en général. Le graphe reste alors implicite. Parallèlement, il existe des planicateurs indépendants du domaine qui autorisent des connaissances supplémentaires, c'est-à-dire des informations susceptibles d'aider à résoudre le problème dans un domaine particulier. Les planicateurs HTN (Hierarchical Task Network (Erol et al. 1994)) en sont un exemple connu. Ils manipulent des tâches (activités) plutôt que des buts, des méthodes pour décomposer des tâches en sous-tâches, imposent des contraintes, et déclenchent des backtracks si nécessaires. Ils sont de plus en plus utilisés dans les applications réelles (Noah, Nonlin, O-Plan, SIPE, SIPE-2, SHOP, SHOP2 (Nau et al. 2003)). Presque toutes les procédures de planication sont des procédures de recherche. Cependant, les espaces de recherche sont diérents entre procédures. Par exemple, dans la planication dans l'espace des états, chaque n ud représente un état du monde, et un plan est un chemin à travers l'espace (voir Figure 1.12). En revanche, dans la planication dans l'espace des plans, chaque n ud est un ensemble d'opérateurs partiellement instantiés auquel s'ajoutent quelques contraintes. Un plan est obtenu en imposant de plus en plus de contraintes. Les techniques de recherche dans l'espace des états sont de deux types : recherches par chaînage avant, et recherches par chaînage arrière. La recherche par chaînage avant consiste, partant de l'état initial et d'une séquence d'actions vide, à l'augmenter progressivement par insertion de nouvelles actions en queue. Une action peut être utilisée lorsque ses préconditions sont incluses dans l'état courant ; elle est alors ajoutée à la séquence et le nouvel état courant est calculé en appliquant cette action à l'état précédent. Cette technique permet naturellement d'utiliser des heuristiques (dépendantes ou non du domaine) car elles s'expriment plus facilement en chaînage avant (voir les heuristiques HSP (Bonet et al. 1997) et FastForward (Homann et Nebel 2001)). Les implémentations déterministes connues sont les recherches de type largeur d'abord (en anglais breadth-rst search), profondeur d'abord (en anglais depth-rst search), meilleur d'abord (en
30 1. Éléments d'optimisation combinatoire Je veux être là! ou là! ou là!? Je suis ici! Figure 1.12 Planication dans l'espace des états. anglais best-rst search, e.g. A ), et gloutonne (en anglais greedy search). La recherche par chaînage arrière consiste, partant du but (état partiellement déni) et d'une séquence d'actions vide, à l'augmenter progressivement par insertion de nouvelles actions en tête. L'avantage de cette méthode est qu'elle est guidée par le but, ce qui réduit généralement le facteur de branchement. En revanche, la régression peut conduire à des états qui ne sont pas atteignables (à partir de l'état initial), et l'utilisation d'heuristiques est plus dicile à mettre en uvre. Mentionnons tout de même le célèbre algorithme de planication classique STRIPS (pour STanford Research Institute Problem Solver (Fikes et Nilsson 1971)), conçu par Richard Fikes et Nils Nilsson en 1971. Il fonctionne selon l'analyse des ns et des moyens (ou Means-Ends Analysis) : on part des buts que l'on veut atteindre et on tente de trouver les moyens qui peuvent y conduire. De nouveaux buts à atteindre sont générés et ainsi de suite jusqu'à ce que l'on tombe sur les hypothèses de départ. En pratique, l'algorithme calcule la diérence entre un état et un but, puis choisit l'action capable de réduire au maximum cette diérence (voir l'algorithme 4 illustré Figure 1.13). La recherche dans l'espace des plans répond à une diculté que peut rencontrer la recherche dans l'espace des états. Dans certains cas, de nombreuses séquences, constituées des mêmes actions mais dont l'ordre est modié, peuvent être essayées avant de se rendre compte qu'il n'y a pas de solution. L'idée est d'adopter une stratégie de moindre engagement (en anglais least-commitment strategy). Tant que ce n'est pas nécessaire, on ne s'engage pas dans les instantiations, l'ordre des actions, etc. La traduction du problème dans d'autres domaines est également employée pour le résoudre. Certains types de problèmes détiennent de bons solveurs susceptibles de trouver une solution au problème transposé. Citons les solveurs de satisabilité, et spécialement ceux qui utilisent
1.4. Planication d'actions 31 Algorithme 4 : Algorithme STRIPS 1 % fonction STRIPS(s,g) : séquence d'actions qui transforme l'état s en l'état g 2 3 4 5 6 7 8 9 calculer l'ensemble de diérences d = g-s ; if d est vide then return plan vide choisir l'action a dont les eets limitent la diérence d ; p' = STRIPS(s, précondition de a) ; Calculer le nouvel état s' en appliquant p' et a à l'état s ; p = STRIPS(s',g) ; return (p',a,p) s p a s p g Figure 1.13 Illustration de l'algorithme STRIPS. une recherche locale (Satplan (Kautz et Selman 1992) et Blackbox (Kautz et Selman 1999)), et les solveurs de programmation par contraintes (Beek et Chen 1999). Le problème revient à une recherche de plan de longueur xe encodée en SAT ou CSP. Une fois produite, la solution est retraduite dans le domaine de départ. 1.4.3 Lien avec le problème traité Le problème de Planication permet une modélisation en termes d'actions possibles, chacune avec ses préconditions et ses eets sur l'état du système. Il est ainsi envisageable de traiter des problèmes d'observation de la Terre, en décrivant toutes les actions possibles en plus des observations : vidages des données vers une station sol, man uvres orbitales pour éviter de s'écarter de l'orbite de référence, pointages héliocentriques pour recharger les batteries du satellite... (Long et Fox 2002) fournit deux exemples, issus du domaine Satellite, d'actions duratives écrites en PDDL (Planning Domain Denition Language) 7 : ( : durative-action calibrate : parameters (?s - satellite?i - instrument?d - direction) : duration (=?duration (calibration_time?i?d)) : condition (and (over all (on_board?i?s)) (over all (calibration_target?i?d)) (at start (pointing?s?d)) (over all (power_on?i)) (at end (power_on?i)) 7. PDDL est le langage standard pour la description d'un problème de planication.
32 1. Éléments d'optimisation combinatoire ) ) : eect (at end (calibrated?i)) ( : durative-action take_image : parameters (?s - satellite?d - direction?i - instrument?m - mode) : duration (=?duration 7) : condition (and (over all (calibrated?i)) (over all (on_board?i?s)) (over all (supports?i?m) ) (over all (power_on?i)) (over all (pointing?s?d)) (at end (power_on?i)) (over all (>= (data-capacity?s) (data?d?m))) (at end (>= (data-capacity?s) (data?d?m))) ) : eect (and (at start (decrease (data-capacity?s) (data?d?m))) (at end (have_image?d?m)) (at end (increase (data-stored) (data?d?m))) ) ) 1.5 Planication et ordonnancement en environnement dynamique Lorsque l'environnement se veut statique, autrement dit qu'il n'y a pas d'incertitudes sur les événements extérieurs, la planication et l'ordonnancement des tâches s'eectuent hors ligne une fois pour toute (voir Figure 1.14). En revanche, en environnement dynamique, des événements incertains sont à considérer. Ces aléas peuvent être synchrones, i.e. attendus à une date incertaine, ou asynchrones, i.e. susceptibles de survenir à tout moment. La génération du plan peut soit s'eectuer sans remise en cause des décisions du plan courant, soit procéder à des révisions opportunistes ou résultant d'une dégradation de la qualité du plan. hors ligne en ligne Planifier Fixer les dates Allouer des ressources Plan Exécuter Figure 1.14 Planication/Ordonnancement en environnement certain et statique.
1.5. Planication et ordonnancement en environnement dynamique 33 1.5.1 Exigences éventuelles sur la solution En situations incertaines et dynamiques, diérentes exigences peuvent se présenter (Verfaillie et Jussien 2005). Premièrement, il peut être souhaité de limiter, autant que possible, le besoin de résolutions en ligne successives, car ces résolutions sont consommatrices en temps de calcul et en ressources. Ensuite, il peut être souhaité de limiter, autant que possible, les changements dans les solutions produites parce que les changements trop importants sont généralement indésirables. Ceci est valable lorsque la précédente solution n'est plus valide et la production en ligne d'une solution est nécessaire. On peut également chercher à limiter, autant que possible, le temps de calcul et les ressources nécessaires car l'utilité d'une solution décroît, dans beaucoup d'applications, avec le temps écoulé pour la livrer. Ceci est valable lorsque la précédente solution n'est plus valide et la production en ligne d'une solution est nécessaire. Enn, on essaie généralement de continuer à produire des solutions cohérentes et optimales. Notons que cette exigence éventuelle peut interférer avec la deuxième : il y a une possible contradiction entre optimalité et stabilité d'une solution. La combinaison des objectifs de qualité et de stabilité est notamment étudiée en planication (Fox et al. 2006, Cushing et al. 2008), en ordonnancement (Sakkout et al. 1998), et en satisfaction de contraintes (Verfaillie et Jussien 2005). Les approches qui suivent (réactive, progressive et proactive) sont notamment étudiées dans (Vidal 2004). L'article (Bidot et al. 2009) propose quant à lui un cadre générique pour l'ordonnancement en environnement stochastique. 1.5.2 Approche réactive L'approche réactive n'utilise aucune information sur les changements futurs possibles (voir Figure 1.15). L'inconvénient de cette absence de connaissance peut être le manque de robustesse des solutions. En revanche, l'avantage peut être une capacité à réagir à toutes sortes de changements. Elle prend la forme d'un plan prédit hors ligne et remis en cause en ligne, ou d'une simple règle d'exécution (Smith 1994). plan en exécution 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 interrompu 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 Réaction nouveau plan en exéc. événement imprévu temps Figure 1.15 Illustration de l'approche réactive.
34 1. Éléments d'optimisation combinatoire Cette approche nécessite une décision très rapide, ce qui implique une solution en général sous-optimale localement. Évidemment, les événements déclencheurs ne doivent pas se produire trop fréquemment. Enn, un faible besoin en mémoire est constaté. 1.5.3 Approche progressive L'approche progressive en horizon glissant (voir Figure 1.16) consiste à planier en ligne à court terme et à reprendre au fur et à mesure que l'exécution lève les incertitudes (Chien, Knight, Stechert, Sherwood et Rabideau 2000). plan en exécution Intégrer et propager poursuite du plan événement prévu temps Figure 1.16 Illustration de l'approche progressive. Cette approche, qui ore du temps pour décider, peut produire des solutions optimales localement. Là encore, les événements déclencheurs ne doivent pas se produire trop fréquemment. Enn, un faible besoin en mémoire est constaté. 1.5.4 Approche proactive L'approche proactive utilise toutes les informations qu'il est envisageable d'obtenir sur les changements futurs possibles. Il s'agit de prendre des décisions qui résisteront au mieux à ces changements. Cette approche consiste en général à produire des plans robustes (qui restent des solutions convenables malgré les changements), des plans exibles (qui peuvent être facilement modiés pour obtenir une solution au nouveau problème), des plans conditionnels (contenant des branches pour les diérentes éventualités) ou des politiques. Une première technique est celle du recouvrement maximal : un plan prédictif unique est calculé pour couvrir le maximum de cas (Dubois et al. 1993, Daniels et Carrillo 1997). Un compromis entre optimalité et robustesse est eectué. Une autre technique consiste à laisser en suspens certaines décisions d'ordonnancement. On peut opter par exemple pour des activités ottantes (exibilité sur le temps ; voir Figure 1.17) ou pour des branches conditionnelles (Drummond et al. 1994, Morris et al. 2001) (voir Figure 1.18). Tandis que le premier ache un besoin faible en mémoire, le second en nécessite une quantité élevée et le temps de calcul hors ligne est en général prohibitif.
1.5. Planication et ordonnancement en environnement dynamique 35 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 plan en exécution 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000000 111111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 fin d une tâche observée temps Figure 1.17 Illustration des activités ottantes. branche 1 plan en exécution 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 000000000000000 111111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 00000000000000 11111111111111 fin d une activité ou récolte d informations temps Figure 1.18 Illustration des branches conditionnelles. Enn, l'emploi de processus de décision markovien (Puterman 1994, Sigaud et Buet 2010) (en anglais Markov Decision Process ou MDP) est une autre alternative. Il s'agit d'un modèle stochastique qui permet de prendre des décisions avec incertitudes sur l'eet des actions. Il se base sur la notion d'état décrivant la situation courante, d'action aectant la dynamique du processus, et de récompense pour chaque transition franchie entre deux états. En fait, un MDP peut se dénir comme étant un espace d'états dans lequel les transitions sont probabilistes. Un tel processus décrit la probabilité de déclencher une transition vers l'état s et de recevoir une certaine récompense r, après avoir choisi l'action a dans l'état s. Puisque l'eet des actions est stochastique, les solutions d'un MDP correspondent généralement à des politiques (stratégies), qui spécient quelle action entreprendre à chaque étape du processus de décision et pour tout état atteint. Formellement, les MDP sont décrits par un quadruplet S, A, T, R : S désigne l'espace des états possibles. A désigne l'ensemble des actions possibles pour contrôler la dynamique du système. T désigne la fonction de transition (probabilité d'être dans un état à un instant donné
36 1. Éléments d'optimisation combinatoire sachant l'état et l'action eectuée à l'instant précédent). R désigne la fonction de récompense dénie sur les transitions entre états. L'algorithme de résolution classique d'un problème de décision séquentielle relatif à un MDP (sur horizon ni) suit le principe de la programmation dynamique. Une politique est optimale si elle maximise l'espérance du gain sur l'horizon. 1.5.5 Lien avec le problème traité Cette section a sa place dans l'état de l'art car notre problème se veut dynamique, dans le sens où les données sont susceptibles d'évoluer au cours du temps. En eet, des requêtes urgentes d'observation surviennent en cours d'exécution du plan. Dès lors, il convient de s'accorder sur le nouvel objectif et d'opter pour une stratégie face aux aléas sachant qu'aucun modèle d'arrivée des requêtes urgentes n'est disponible. 1.6 Programmation Linéaire en Nombres Entiers La Programmation Linéaire est un problème à la formulation très générique, ce qui en fait l'outil principal de modélisation en Recherche Opérationnelle. La Programmation Linéaire en Nombres Entiers (en anglais Integer Linear Programming ou ILP) en est un cas particulier dans lequel les variables sont à valeurs entières (Nemhauser et Wolsey 1988, Wolsey 1998). 1.6.1 Énoncé du problème En Programmation Linéaire, il s'agit d'optimiser un critère linéaire sujet à des contraintes linéaires d'inégalité, l'ensemble solution étant un polyèdre convexe. Une conséquence directe est qu'au moins un sommet du polyèdre est une solution optimale. En Programmation Linéaire en Nombres Entiers, puisque les variables sont à valeurs entières, l'ensemble solution devient un ensemble discret de points. Dénition 7 (Programmation Linéaire en Nombres Entiers). Soit x le vecteur des variables à optimiser, c R n et b R m des vecteurs de coecients connus, et A M m,n (R) une matrice de coecients connus. Le problème s'écrit sous la forme suivante : maximize c.x subject to A.x b x N n 1.6.2 Méthodes de résolution La Programmation Linéaire Pure, où toutes les variables sont à valeurs réelles, est un problème facile pour lequel il existe des algorithmes optimaux de complexité polynomiale. En revanche, la Programmation Linéaire en Nombres Entiers (ainsi que la Programmation Linéaire Mixte 8 ) est un problème NP-dicile car de nombreux problèmes NP-complets peuvent se 8. Certaines des variables sont à valeurs réelles, d'autres à valeurs entières.
1.6. Programmation Linéaire en Nombres Entiers 37 ramener à sa version décisionnelle. Cette diculté s'explique notamment par le caractère discret de l'espace de solution d'une instance de ce problème. Les méthodes classiques de programmation linéaire ne peuvent pas être utilisées systématiquement pour les ILP puisqu'elles cherchent un sommet optimal du polyèdre des contraintes {x A.x b et x 0} qui n'a généralement pas de coordonnées entières (voir Figure 1.19). y objectif 5 LP optimum ILP optimum 1 0 0 1 x Figure 1.19 Illustration de la programmation linéaire en nombres entiers avec 2 variables. Les techniques de résolution connues ont en fait recours à des recherches arborescentes par séparation et évaluation et des méthodes de coupes. L'évaluation des sous-problèmes se fait souvent en résolvant (par le simplexe) leur relaxation linéaire. En eet, lorsque la solution optimale de la relaxation linéaire n'est pas entière, elle fournit tout de même une borne supérieure (pour un problème de maximisation). Les méthodes de coupes (Marchand et al. 1999) ont pour but de s'approcher de l'enveloppe convexe des solutions entières : si on arrive à déterminer cette enveloppe, la résolution de la relaxation linéaire réduit à cet ensemble donne une solution optimale entière. En pratique, de façon itérative, on résout la relaxation linéaire du problème, et on ajoute des contraintes (les coupes) qui réduisent le polyèdre des solutions sans éliminer de solutions entières. Ces méthodes de coupes sont ecaces lorsqu'elles sont associées à des méthodes de recherche arborescente (Branch and Cut). Des techniques plus récentes sont présentées dans (Johnson et al. 2000). Y sont mentionnées les techniques de preprocessing, qui réduisent l'espace de recherche des solutions avant la résolution, et les procédures de Branch and Price, qui utilisent une procédure d'évaluation des n uds par la méthode de génération de colonnes (Desaulniers et al. 2005). Pour information, la génération de colonnes est adaptée aux problèmes de grande dimension.
38 1. Éléments d'optimisation combinatoire 1.6.3 Lien avec le problème traité La programmation linéaire en nombres entiers, par son caractère générique, a la capacité de modéliser bon nombre de problèmes. En particulier, elle permet de formaliser des problèmes d'observations de la Terre simpliés, avec prise en compte de contraintes telles que la mémoire et l'énergie disponibles à bord. Considérons l'ensemble O des observations à réaliser, et l'ensemble I O 2 des couples d'observations incompatibles (qui ne peuvent pas toutes les deux faire partie de la séquence de prises de vue). Pour toute observation o O, sont donnés son poids W o, la taille mémoire MM o nécessaire à bord pour enregistrer l'image résultante, et l'énergie EN o nécessaire à sa réalisation. MM et EN désignent respectivement la taille mémoire totale et la quantité d'énergie totale disponibles à bord. Donnons-nous une variable booléenne x o qui vaut 1 si l'observation o est réalisée, 0 sinon. Enn, le critère est égal à la somme des poids des observations réalisées. Le problème de planication d'observations ainsi déni s'écrit alors sous la forme du programme linéaire en nombres entiers suivant : maximize subject to W o.x o o O MM o.x o MM o O EN o.x o EN o O x i + x j 1 x o {0, 1} (i, j) I o O En revanche, l'agilité des satellites est dicile à prendre en compte. En eet, cette agilité ore la possibilité de choisir l'ordre dans lequel réaliser l'observation de deux zones proches, ce qui se traduit de façon naturelle par une contrainte disjonctive, donc non linéaire (mais en pratique linéarisable). 1.7 Programmation par contraintes La Programmation par Contraintes, dans la formulation du problème, est assez proche de la Programmation Linéaire en Nombres Entiers à la diérence que les contraintes et le critère sont quelconques. Ceci la rend capable de modéliser, de façon naturelle, un grand nombre de problèmes complexes d'optimisation combinatoire (Rossi et al. 2006). En revanche, contrairement à la Programmation Linéaire en Nombres Entiers, les domaines de variables sont nécessairement bornés. 1.7.1 Énoncé du problème Ce problème d'optimisation s'appuie sur la notion de Problèmes de Satisfaction de Contraintes (en anglais Constraint Satisfaction Problems ou CSP) dont voici une dénition.
1.7. Programmation par contraintes 39 Dénition 8 (Problème de Satisfaction de Contraintes). Une instance du Problème de Satisfaction de Contraintes est déni par un quadruplet (X, D, C, R), où X est un ensemble de variables, D est l'ensemble des domaines associés à ces variables, C est un ensemble de m contraintes, et R est un ensemble de m relations. Les domaines sont obligatoirement nis, mais de nature quelconque, symbolique ou numérique. Chaque contrainte est associée à un sous-ensemble de variables et à une relation. L'objectif est d'aecter à chacune des variables une valeur de telle façon que les contraintes soient satisfaites. Le passage au problème d'optimisation se fait par l'adjonction d'une variable objectif o X qui est fonction d'un sous-ensemble X o des autres variables (ajout d'une contrainte liant o aux variables de X o ), et dont la valeur doit être meilleure qu'une certaine valeur (ajout d'une contrainte unaire sur o). 1.7.2 Méthodes de résolution Le problème CSP est NP-complet puisqu'il est une généralisation du problème SAT 9, dont l'appartenance à cette classe a été établie. La taille de l'espace de recherche, c'est-à dire l'ensemble des aectations possibles est en O(d n ), avec n le nombre de variables et d la taille maximale des domaines. Les trois principales techniques algorithmiques pour résoudre les CSP sont la recherche arborescente, la programmation dynamique, et la recherche locale. Les deux premières sont complètes contrairement à la troisième. Entre ces deux recherches systématiques, la recherche arborescente en profondeur d'abord est de loin la plus utilisée. Elle travaille sur une seule solution à la fois, et ache ainsi une complexité en espace polynomiale. En pratique, elle décompose une instance en sous-instances disjointes en considérant une variable v et toutes les sous-instances correspondant à l'aectation à v d'une valeur de son domaine. De nombreuses techniques ont été proposées pour améliorer les recherches arborescentes. Citons notamment la propagation de contraintes, la mémorisation de nogood, le backjumping, les heuristiques pour l'ordre des variables et des valeurs (an de réduire la taille de l'arborescence générée), ainsi que la randomisation et les stratégies de restart. Pour plus de précisions, le lecteur peut se référer à l'ouvrage (Rossi et al. 2006). Notons simplement que les retours en arrière (backtrack) sont déclenchés en cas de détection d'incohérence. Le mécanisme de détection d'incohérence le plus simple est ce qu'on appelle le backward-checking : il consiste à vérier, après chaque aectation d'une variable v, les contraintes dont toutes les variables sont aectées suite à l'aectation de v. Un mécanisme un peu plus sophistiqué est ce qu'on appelle le forward-checking : il consiste, chaque fois qu'une nouvelle variable v est aectée, à éliminer des domaines des variables non encore aectées les valeurs qui sont incohérentes avec l'aectation de v. Un exemple est fourni Figure 1.20. 9. Le problème de SATisfaction booléen est un problème de décision visant à savoir s'il existe une solution à une série d'équations logiques donnée.
40 1. Éléments d'optimisation combinatoire Pour détecter l'incohérence à chaque n ud de l'arborescence, n'importe quel mécanisme de ltrage par cohérence locale peut être utilisé (Lecoutre 2009). Plus ce mécanisme est puissant, plus l'incohérence est détectée haut dans l'arborescence, donc plus l'arborescence eectivement développée est réduite, mais plus le travail réalisé à chaque n ud est important. Un compromis doit donc être trouvé. Malgré toutes les techniques sophistiquées utilisées dans une recherche arborescente, la recherche locale, correctement paramétrée, se révèle étonnamment plus puissante pour produire des solutions de bonne qualité en temps limité. Elle part d'une aectation complète (une valeur est associée à chaque variable du problème). Cette aectation n'est en général ni cohérente, ni optimale. La recherche consiste à appliquer de façon itérative des modications locales sur cette aectation de façon à obtenir une aectation de qualité aussi bonne que possible (cohérente et optimale si possible). En pratique, on considère comme critère à minimiser le nombre de contraintes insatisfaites. Une solution est trouvée lorsque le critère vaut 0. Pour traiter des problèmes d'optimisation sous contraintes faisant intervenir un critère o 1, une démarche souvent adoptée consiste à transformer, comme pour les problèmes de satisfaction, la satisfaction des contraintes en critère o 2 et à optimiser un critère résultant de la combinaison de o 1 et de o 2. L'inconvénient de la recherche locale demeure cependant l'absence de garantie sur la qualité du résultat (satisfaction des contraintes et optimalité). 1.7.3 Lien avec le problème traité La programmation par contraintes peut être employée pour formaliser de nombreux problèmes. Tout comme la programmation linéaire en nombres entiers, elle est capable de modéliser certains problèmes d'observations de la Terre, à la diérence qu'elle accepte un critère non linéaire ainsi que des contraintes non linéaires (Lemaître et al. 2002). Considérons l'ensemble O des observations à réaliser. Pour toute observation o O, sont donnés son poids W o, sa durée D o, sa date de début au plus tôt E o, et sa date de début au plus tard L o. Pour tout couple d'observation (i, j) O 2, T i,j désigne le temps de transition minimal pour débuter l'observation j après l'observation i. Donnons-nous une variable booléenne x o qui vaut 1 si l'observation o est réalisée, 0 sinon, ainsi qu'une variable entière t o (le temps est discrétisé) représentant la date de début choisie pour réaliser l'observation o. Ajoutons, pour tout couple (i, j) O 2, une variable booléenne f i,j qui vaut 1 si l'observation i est suivie par l'observation j dans la séquence sélectionnée, 0 sinon. De plus, soit q(o, t) la qualité de l'observation o si elle est réalisée à l'instant t, par exemple une fonction linéaire par morceaux qui vaut 1/2 pour t = E o, 1 pour t = Eo+Lo 2 (angle d'acquisition le plus faible), et 1/2 pour t = L o. Enn, le critère est égal à la somme des poids des observations réalisées, pondérés par leur qualité. Le problème de planication d'observations ainsi déni s'écrit en programmation par contraintes de la façon suivante :
1.8. Optimisation multicritère 41 état 0 état 1 000 111 000 111 000 111 000 111 état 5 état 2 état 3 00 11 00 11 00 11 00 11 00 11 000 111 000 111 000 111 000 111 état 6 échec état 4 00 11 00 11 00 11 00 11 00 11 000 111 000 111 000 111 000 111 état 7 échec 000 111 000 111 000 111 000 111 état 8 première solution Figure 1.20 Illustration du forward-checking sur le problème des 4 reines. maximize W o.q(o, t o ).x o o O subject to (x o = 1) (E o t o L o ) o O (f i,j = 1) (t i + D i + T i,j t j ) (i, j) O 2 x o {0, 1} o O f i,j {0, 1} (i, j) O 2 1.8 Optimisation multicritère Très vite on se rend compte que plusieurs objectifs, souvent contradictoires, peuvent se présenter dans les problèmes réels. Une solution "idéale", c'est-à-dire optimale selon chaque critère, n'existe pas en général. Ce constat conduit directement à l'optimisation multicritère (Sawaragi et al. 1985, Ehrgott 2005).
42 1. Éléments d'optimisation combinatoire f 2 X f 2 (2) f 2 (1) f 2 (3) P 1 1 2 3 P 2 f 1 (1) f 1 (2) f 1 (3) f 1 Figure 1.21 Illustration du problème d'optimisation multicritère avec deux objectifs. 1.8.1 Énoncé du problème L'optimisation multicritère consiste à optimiser simultanément plusieurs objectifs tout en respectant certaines contraintes. Très souvent, ce type de problèmes est présenté de la façon suivante : min x X (f 1(x),..., f p (x)) où X est l'ensemble faisable ou ensemble des alternatives du problème de décision (inclus dans l'espace de décision), et chaque fonction f i désigne un certain objectif. Seulement, le min qui gure entre guillemets a plusieurs interprétations possibles selon la dénition d'optimalité considérée. Il dénit la manière dont les vecteurs de fonctions objectifs (f 1 (x),..., f p (x)) doivent être comparés pour diérentes alternatives x X. En eet, pour p 2 il n'y a pas d'ordre canonique sur R p comme il y en a sur R. Quelle que soit la sémantique de min, on souhaite que les solutions optimales soient ecaces, ou encore Pareto optimales : une solution n'est pas ecace s'il existe une autre solution qui améliore la valeur d'au moins un critère sans détériorer les autres. Un exemple simple de problème de minimisation avec deux fonctions objectifs, f 1 et f 2, est fourni en Figure 1.21. Le front de Pareto 10 est la limite de l'ensemble faisable X, entre les points P 1 et P 2. Les solutions 1 et 3 sont Pareto optimales. En revanche, la solution 2 n'est pas ecace car la solution 1 ache des valeurs plus petites, simultanément pour les deux objectifs. Il n'y a donc aucune raison de préférer la solution 2 à la solution 1. En eet, le but de l'optimisation multicritère est d'obtenir un ensemble de solutions non dominées. Voici une formulation générale du problème. 10. Le front de Pareto désigne l'ensemble des alternatives ecaces (ou Pareto optimales).
1.8. Optimisation multicritère 43 Dénition 9 (Problème d'optimisation Multicritère). De façon générale, les éléments du problème d'optimisation Multicritère sont les suivants : un ensemble faisable X un vecteur fonction objectif f = (f 1,..., f p ) : X R p un espace objectif R p un ensemble ordonné (R q, ) avec q p un "model map" θ : R p R q Le problème s'écrit alors sous la forme (X, f, R p )/θ/(r q, ). L'ensemble faisable, le vecteur fonction objectif et l'espace objectif sont les données du problème. Le "model map" fournit le lien entre l'espace objectif et l'ensemble ordonné, dans lequel est dénie la signication de la minimisation. Prenons l'exemple d'un problème où l'on souhaite minimer deux critères f 1 et f 2, c'est-àdire min x X (f 1 (x), f 2 (x)). On se donne l'ensemble ordonné (R, ) et le "model map" suivant : θ : R 2 R (a, b) a + b La comparaison entre deux alternatives x et y se traduit alors par la comparaison des réels f 1 (x) + f 2 (x) et f 1 (y) + f 2 (y). Notons que l'optimalité au sens de Pareto implique des problèmes de classe /id/(r p, ) où id est l'identité (θ(y) = y). 1.8.2 Méthodes de résolution L'ecacité est la dénition la plus importante de l'optimalité en optimisation multicritère. Néanmoins, d'autres dénitions reétant certains types de problèmes existent. En particulier, l'optimalité lexicographique et l'optimalité min-max sont très utilisées. Tandis que la caractéristique essentielle de l'ecacité est l'existence d'un compromis entre objectifs, l'optimalité lexicographique implique un classement des objectifs : l'optimisation de f k n'est considérée qu'une fois établie l'optimalité pour les objectifs {f 1,..., f k 1 }. Ceci signie que l'objectif f 1 est prioritaire sur les autres. L'objectif f 2 est pris en compte seulement s'il existe plusieurs solutions optimales, et ainsi de suite. Ces niveaux de priorité impliquent l'absence de compromis entre les critères. L'amélioration d'un objectif f k ne peut jamais compenser la détérioration d'un objectif f i avec i < k. Cette hiérarchie parmi les critères permet de résoudre des problèmes d'optimisation lexicographique de façon séquentielle, minimisant un objectif f k à la fois, et utilisant les valeurs optimales des objectifs {f 1,..., f k 1 } comme des contraintes. L'optimalité min-max, quant à elle, intervient lorsque l'on souhaite minimiser les impacts négatifs d'une décision. Dans ce type de problèmes, on associe à chaque alternative x X la pire valeur parmi tous les objectifs. Finalement, l'alternative optimale est celle de meilleure valeur associée.
44 1. Éléments d'optimisation combinatoire Une extension intéressante consiste à considérer en plus du pire objectif pour chaque alternative, le deuxième pire objectif, le troisième pire objectif, et ainsi de suite (utile dans le cas où le problème du min-max a plusieurs solutions). Cette approche est similaire à l'optimisation lexicographique car elle considère un classement des objectifs. En revanche, on trie désormais les valeurs des objectifs (f 1 (x),..., f p (x)) de la pire à la meilleure, ce classement dépend donc de x. Il s'agit là d'une combinaison entre optimalité lexicographique et optimalité min-max qu'on appelle optimalité leximax. En termes de classication, les problèmes d'optimisation lexicographique appartiennent à la classe /id/(r p, < lex ), tandis que les problèmes d'optimisation min-max appartiennent à la classe /max/(r, ) et les probèmes d'optimisation leximax à la classe /id/(r p, < leximax ). Notons que ces problèmes peuvent être vus comme des méthodes pour trouver des solutions ecaces. La méthode traditionelle pour obtenir les solutions Pareto optimales demeure néanmoins la scalarisation du problème, c'est-à-dire la formulation d'un problème d'optimisation à un seul objectif, typiquement une fonction des objectifs impliquant des variables scalaires ou vectorielles et/ou des paramètres scalaires ou vectoriels. La méthode la plus simple est ce qu'on appelle la somme pondérée, où il s'agit de résoudre min λ k f k (x) x X 1 k p Cette méthode permet d'obtenir des solutions ecaces pour des problèmes où la frontière de Pareto est convexe, en faisant varier les λ k (positifs). De très nombreux papiers appliquent diérentes métaheuristiques aux problèmes d'optimisation combinatoire multi-objectifs. Pour une étude détaillée, on peut se référer à l'ouvrage (Ehrgott et Gandibleux 2002). Si on prend l'exemple du problème du sac à dos multiobjectif, on retrouve la recherche taboue, le recuit simulé et les algorithmes évolutionnaires. Dans l'article (Gandibleux et al. 1996), une recherche taboue emploie une somme pondérée pour obtenir la frontière ecace. Les listes taboues sont utilisées pour mettre à jour les poids et ainsi diversier la recherche dans l'espace objectif. Les méthodes de recuit simulé sont très proches de la version classique. L'article (Ulungu et al. 1999) introduit la méthode MOSA qui a recours à une projection de l'espace multi-dimensionnel sur un espace à une dimension via une somme pondérée. Elle débute avec un vecteur poids prédéni. Ensuite, un recuit simulé est exécuté indépendamment sur chaque poids. L'ensemble total des solutions obtenues est alors ltré pour obtenir une bonne approximation de la frontière ecace. Enn, la plupart des algorithmes évolutionnaires multi-objectifs se basent sur l'algorithme génétique développé dans (Schaer 1985) et appelé vector evaluated genetic algorithm. Il divise la population des solutions de départ en sous-populations de taille identique. Pour chaque sous-population l'un des objectifs est optimisé. Une procédure de sélection est réalisée indépendemment sur les sous-populations tandis que l'évolution est faite sur l'ensemble des populations.
1.9. Bilan 45 1.8.3 Lien avec le problème traité Si une section est dédiée à l'optimisation multicritère, c'est simplement parce qu'elle s'avère utile à plusieurs niveaux dans notre problème de planication d'observations, que ce soit dans le critère d'évaluation (entre requêtes et au sein d'une requête) ou dans les heuristiques de l'algorithme. Tout d'abord, la qualité d'un plan, nous le verrons plus tard, combine plusieurs critères : pourcentage de réalisation des observations, qualité image (angle d'acquisition, conditions météorologiques), âge de l'information. Voilà un premier élément d'optimisation multicritère. Ensuite, pour réaliser une observation, on a le choix entre allumer l'instrument optique juste avant le début de l'observation (incluant le temps de préchauage), ou le maintenir allumé depuis sa dernière utilisation. Ce choix se fait au regard des quantités de plusieurs ressources qui n'évoluent pas forcément dans le même sens (optimisation des quantités relatives restantes par exemple). Enn, lorsque des requêtes urgentes déclenchent une replanication des activités, deux critères généraux sont à prendre en compte : la qualité du nouveau plan, et sa proximité vis-à-vis du précédent (stabilité). Il s'agit de trouver la bonne combinaison. 1.9 Bilan Le problème que nous avons posé en introduction est connexe à certains problèmes d'optimisation combinatoire. Il englobe l'aspect sélection du problème du sac à dos, l'aspect optimisation d'un parcours avec ou sans points de passage obligés des problèmes du plus long chemin et du voyageur de commerce, l'aspect multi-engin du problème des tournées de véhicules. De plus, l'ordonnancement des observations dans le temps avec allocation des ressources est en lien avec le problème d'ordonnancement d'atelier, et le choix d'autres actions en dehors des observations se rapproche du problème de planication d'actions. Enn, les aspects dynamique et multicritère apparaissent nettement dans notre problème, tout comme le côté optimisation sous contraintes de la programmation linéaire et de la programmation par contraintes. Bien que la conjugaison de ces diérents aspects rende dicile l'utilisation d'un cadre ou d'une méthode existante, certaines des techniques mentionnées peuvent toutefois s'avérer utiles à la résolution de notre problème de planication d'observations de la Terre.
Chapitre 2 Planication d'activités satellitaires pour une mission d'observation de la Terre Dans le présent chapitre, nous nous proposons d'établir un état de l'art centré davantage sur la planication d'observations de la Terre. Pour cela, nous mettons d'abord en évidence la diversité des problèmes rencontrés, à travers une série de références. Nous exhibons ensuite les cadres de modélisation et les techniques de résolution utilisés dans la littérature associée. Enn, nous tentons de tirer des leçons des études passées. 2.1 Diversité des problèmes rencontrés Les applications très variées des missions d'observation de la Terre exigent des systèmes physiques de diérentes natures et impliquent, inévitablement, des contraintes plus ou moins nombreuses et complexes. De plus, selon la mission considérée, les attentes des utilisateurs peuvent dépasser la simple acquisition d'images. Les problèmes de planication résultants, vous l'aurez compris, sont nalement assez singuliers (Verfaillie et Lemaître 2006), d'autant plus que les simplications possibles sont nombreuses. Suivent quelques points majeurs de dissemblance. 2.1.1 Demandes des utilisateurs Certaines missions comptent des requêtes complexes, de type polygones ou stéréoscopiques (Lemaître et al. 2002). Chacune de ces requêtes exige plusieurs observations élémentaires, et l'intérêt de réaliser l'une de ces observations élémentaires est lié à la réalisation des autres. La programmation peut d'ailleurs intégrer, selon la mission, diérents critères, du simple nombre d'observations planiées à la qualité des images attendues. 2.1.2 Systèmes de planication Classiquement, les observations sont programmées au sol et le plan résultant est envoyé au satellite pour exécution à bord. En revanche, certains problèmes se donnent une planication à bord an de réagir rapidement face aux aléas avec, en contrepartie, une puissance de calcul moindre (PROBA (Honvault et al. 2001, Creasey et al. 2001) de l'esa en Figure 2.1, ou EO- 1 (Chien et al. 2004, Chien et al. 2005, Chien et al. 2009) de la NASA en Figure 2.2). Des coopérations entre sol et bord sont également envisageables, alliant coordination et prise de décision.
48 2. Planication d'activités satellitaires pour une mission d'observation de la Terre Figure 2.1 Vue d'artiste du satellite PROBA-1. Figure 2.2 Vue d'artiste du satellite EO-1. 2.1.3 Systèmes physiques On rencontre des satellites de diérentes natures. Certains, par exemple, orent une certaine exibilité d'acquisition via un instrument imageur capable de dépointer son miroir, e.g. SPOT (Gabrel 1994, Verfaillie et al. 1999, Gabrel et Murat 2003, Vasquez et Hao 2003) en Figure 2.3. D'autres orent une capacité d'acquisition bien plus forte via une plate-forme qui fournit une grande liberté de mouvement autour de leur centre d'inertie. Citons les satellites Pléiades (Lemaître et al. 2002, Verfaillie et al. 2003, Mancel 2003) en Figure 2.4, d'autres satellites qualiés de "post-pléiades" (Beaumet 2008, Beaumet et al. 2011, Grasset-Bourdel et al. 2011b), ou encore les nouveaux SPOT 6 et 7 dont la réalisation a été décidée en 2009. En contrepartie, la planication des observations pour ces satellites "agiles" est plus complexe car la combinatoire plus importante.
2.1. Diversité des problèmes rencontrés 49 Figure 2.3 Vue d'artiste du satellite SPOT 5. Figure 2.4 Vue d'artiste d'un satellite Pléiades. Par ailleurs, la charge utile est parfois constituée d'instruments optiques, parfois d'instruments radars (les jumeaux allemands TerraSAR-X et TanDEM-X en Figure 2.5, les italiens COSMO-SkyMed (Bianchessi et Righini 2006) en Figure 2.6, l'européen ENVISAT (Shaw et al. 2000) ou le franco-américain JASON). En outre, le système peut regrouper plusieurs satellites avec, en conséquence, un problème moins surcontraint mais un espace de recherche augmenté (voir par exemple les satellites DMC (da Silva Curiel et al. 2003)). 2.1.4 Granularité du modèle Certains problèmes tiennent compte des ressources disponibles à bord, principalement l'énergie, la mémoire de masse et les températures d'instruments, ce qui complexie nettement la sélection et l'ordonnancement des activités. Ajouté à celà, les plans créés peuvent ou non traiter des vidages (télédéchargements) de données, activités concurrentes aux observations vis-à-vis de la mémoire et de l'énergie. Notons enn que les incertitudes qui pèsent sur
50 2. Planication d'activités satellitaires pour une mission d'observation de la Terre Figure 2.5 Vue d'artiste des satellites TerraSAR-X et TanDEM-X. Figure 2.6 Vue d'artiste d'un satellite COSMO-SkyMed. le système (état courant, eets des actions, objectifs futurs) sont parfois prises en compte, en modiant généralement le plan courant (approche réactive), rarement en anticipant les changements (approche proactive). 2.2 Cadres de modélisation employés Les cadres de modélisation qui suivent, et leur lien avec le problème traité, ont été présentés au chapitre précédent. Aussi, concentrons-nous sur leur utilisation dans la littérature propre à l'observation de la Terre.
2.2. Cadres de modélisation employés 51 2.2.1 Graphes Les graphes (Gondran et al. 1984) sont utilisés pour les problèmes de sélection, au sol, des observations à réaliser par un satellite non agile (Gabrel 1994, Gabrel et al. 1997, Gabrel et Vanderpooten 2002), pour lequel la date de réalisation de chaque observation est connue (problèmes de type recherche de plus long chemin). Il existe des algorithmes très ecaces, approchés ou optimaux selon le problème. Citons par exemple les algorithmes de recherche de plus court chemin tels que Dijkstra, A, ou Bellman-Ford. Cependant, certaines contraintes, liées aux ressources par exemple (énergie, mémoire), sont diciles à prendre en compte. 2.2.2 Programmation linéaire La programmation linéaire (Nemhauser et Wolsey 1988) est utilisée pour les problèmes de sélection des observations à réaliser par un ou plusieurs satellites, avec contraintes et critère linéaires (Bensana et al. 1996, Abramson et al. 2002, Mancel 2004, Lin et al. 2005). Elle permet d'exprimer de nombreuses contraintes et il existe des outils de résolution très ef- caces. Citons par exemple le célèbre CPLEX (ILOG n.d.b), capable de résoudre des problèmes de programmation linéaire en nombres entiers, des problèmes de programmation linéaire de taille très importante, des problèmes convexes et non convexes de programmation quadratique, et des problèmes convexes avec contraintes quadratiques. Cet outil s'interface très bien avec les langages C++, C# et Java. De plus, les méthodes de génération de colonnes (Mancel 2003) résolvent ecacement les problèmes linéaires de grande taille. Cependant, les contraintes et le critère doivent être linéaires, et les techniques de linéarisation existantes rendent les modèles parfois diciles à résoudre. La résolution se complique également si les variables sont à valeurs entières. 2.2.3 Programmation par contraintes La programmation par contraintes (Rossi et al. 2006) est utilisée pour les problèmes de planication, au sol, des observations à réaliser par un ou plusieurs satellites, agiles ou non, avec contraintes et critère quelconques (Agnèse 1994, Dago et Verfaillie 1996, Lemaître et Verfaillie 1997, Lemaître et al. 2002). Les contraintes et le critère sont quelconques, d'où une modélisation naturelle de problèmes complexes. Citons par exemple l'outil CP Optimizer (ILOG n.d.a) dans lequel l'utilisateur s'attache essentiellement à la modélisation du problème, tandis que la recherche est quasiment automatique. Néanmoins, il est toujours possible de programmer la recherche dans le langage natif (C++). CHOCO (Laburthe n.d.) est un autre outil très intéressant. C'est une librairie Java pour la programmation par contraintes. CHOCO est construit sur un mécanisme de propagation à base d'événements avec structures backtrackables. Il est utilisé dans la recherche, notamment par l'onera, et dans l'industrie, notamment par la NASA. Cependant, les domaines doivent être nis, ce qui oblige à discrétiser par exemple le temps et les ressources. De plus, les algorithmes utilisés sont moins puissants que ceux utilisés par la
52 2. Planication d'activités satellitaires pour une mission d'observation de la Terre programmation linéaire. 2.2.4 Planication classique La planication classique (Ghallab et al. 2004) est utilisée pour les problèmes de sélection, au sol, des observations à réaliser par un ou plusieurs satellites non agiles (Long et Fox 2002). Peu de contraintes sont prises en compte et le vidage des données n'est pas traité. Le langage PDDL permet de construire des modèles haut niveau et les nombreux algorithmes génériques sont performants. Citons par exemple Fast Downward Stone Soup- 1 (Helmert et al. 2011) pour les problèmes avec optimisation séquentielle, LAMA2011 (Richter et Westphal 2010) pour les problèmes avec satisfaction séquentielle, ainsi que YAHSP2 (Vidal 2011)(et les algorithmes dérivés) et POPF2 (Coles et al. 2010) pour les problèmes avec satisfaction temporelle. Notons que PDDL prend désormais en charge le temps et les ressources. De plus, il existe des outils génériques de planication d'actions utilisés dans des scénarios spatiaux : IxTeT (Ghallab et Laruelle 1994) développé par le LAAS-CNRS par exemple, ou encore EUROPA (Frank et Jónsson 2003) développé par NASA Ames. Cependant, ce cadre se focalise sur les actions. Seules les variables d'état dont la valeur change suite à l'action apparaissent dans les eets, d'où la diculté de modéliser un processus qui suit son cours (évolution de l'état avec le temps entre actions). 2.3 Techniques de résolution employées Les techniques de résolution qui suivent ont été présentées au chapitre précédent. Aussi, concentrons-nous sur leur utilisation dans la littérature propre à l'observation de la Terre. 2.3.1 Programmation dynamique La programmation dynamique (LaValle 2006) a permis de résoudre des problèmes de planication, au sol ou à bord, des observations à réaliser par un ou plusieurs satellites non agiles (Hall et Magazine 1994, Verfaillie et Bornschlegl 2000, Damiani et al. 2005a). Certains travaux ont également tenté d'y recourir dans le cas d'un satellite agile (Verfaillie et Lemaître 2001, Lemaître et al. 2002). L'intérêt majeur réside dans l'optimalité de la solution. Cependant, si le nombre de sous-problèmes à résoudre et de résultats à mémoriser est grand, la programmation dynamique s'avère très coûteuse en temps de calcul et en mémoire. C'est ce qu'il se passe dans le cas d'un satellite agile, où l'ordre des prises de vue n'est pas préétabli. 2.3.2 Recherche arborescente La Recherche arborescente a permis de résoudre des problèmes de planication, au sol, des observations à réaliser par un ou plusieurs satellites non agiles (Bensana et al. 1996, Dago 1997, Harrison et Price 1999). Certains travaux ont également tenté d'y recourir dans le cas d'un satellite agile (Verfaillie et Lemaître 2001, Lemaître et al. 2002). Elle est notamment utilisée
2.4. Bilan 53 dans les algorithmes génériques propres à la programmation linéaire et à la programmation par contraintes. La solution est optimale et il existe de nombreux mécanismes de coupe an d'éviter une exploration exhaustive de l'arbre de recherche. Cependant, les mécanismes de coupe ne sont, en pratique, pas toujours très ecaces quand il s'agit de problèmes "réels", d'où des temps de calcul souvent trop importants. 2.3.3 Recherche locale La recherche locale (Aarts et Lenstra 1997) a permis de résoudre ecacement divers problèmes de planication d'observations de la Terre, au sol ou à bord. Elle gure d'ailleurs parmi les méthodes les plus utilisées. Elle est très performante pour produire en temps limité des solutions de bonne qualité à des problèmes de grande taille. Plusieurs variantes sont utilisées, à savoir le recuit simulé (Globus et al. 2004), la recherche taboue (Vasquez et Hao 2001b, Habet et Vasquez 2004, Bianchessi et al. 2007, Lin et al. 2005), ou encore les algorithmes génétiques (Wolfe et Sorensen 2000, Globus et al. 2003). Cependant, de nombreux paramètres sont à régler pour obtenir de bons résultats, et l'optimalité n'est pas garantie. 2.3.4 Recherche gloutonne La recherche gloutonne a permis de résoudre ecacement divers problèmes de planication d'observations de la Terre, au sol ou à bord. Elle gure, elle aussi, parmi les méthodes les plus utilisées. Elle est très simple à implémenter et plutôt ecace si l'on dispose de bonnes heuristiques. Il est également possible d'eectuer une succession de descentes gloutonnes à l'aide d'heuristiques bruitées, ce qui donne de bons résultats (Bresina 1996, Frank et al. 2001, Pralet et Verfaillie 2008, Beaumet et al. 2011). Cependant, l'optimalité n'est évidemment pas garantie. 2.4 Bilan La planication d'observations de la Terre est très présente dans la littérature, mais revêt des formes diverses selon les hypothèses de départ. Un cadre de modélisation et une technique de résolution peuvent être appropriés pour un problème donné, mais inapplicables pour un problème légèrement diérent. Certains articles s'attachent à comparer les familles d'algorithmes évoquées en 2.3 pour un problème spécique (Bensana et al. 1996, Lemaître et al. 2002, Globus et al. 2004). Même si les conclusions dièrent d'un problème à l'autre, les techniques de recherche locale et de recherche gloutonne sortent souvent victorieuses. Les premières produisent rapidement des solutions de bonne qualité sur des problèmes de grande taille, et les secondes sont plébiscitées pour leur simplicité et leur ecacité sur des problèmes diciles, à condition de disposer de
54 2. Planication d'activités satellitaires pour une mission d'observation de la Terre bonnes heuristiques. Notons toutefois que les recherches arborescentes sont salutaires lorsqu'il s'agit d'évaluer la distance à l'optimum sur des petites instances, ou de fournir des bornes sur l'optimum (solution optimale d'un problème relaxé). Enn, il est bon de savoir qu'il existe des outils tout ou partie dédiés aux problèmes d'observations. Figurent parmi ces outils exploitables, ASPEN (Chien, Rabiddeau et Knight 2000) (outil de planication de mission développé par NASA JPL, voir Figure 2.7), SPIKE (Institute n.d.) (outil de planication et d'ordonnancement développé par Space Telescope Science Institute, voir Figure 2.8), et diérents outils développés par l'esa (Niezette 2000). Figure 2.7 Interface graphique de l'outil ASPEN.
2.4. Bilan 55 Figure 2.8 Exemple d'utilisation par Hubble Space Telescope de l'outil SPIKE.
Deuxième partie Planication et replanication pour des satellites agiles d'observation de la Terre : la démarche entreprise
Chapitre 3 Formulation du problème de planication Dans le présent chapitre, nous nous proposons de formuler clairement le problème auquel nous faisons face. Pour cela, une description détaillée de la mission est eectuée, abordant notamment système physique et système de planication considérés. Les dicultés liées à la prise en compte des mouvements en attitude de chaque satellite sont ensuite soulignées. Enn, après une brève analyse du problème, un modèle formel est établi. 3.1 Description de la mission Cette section explicite la physionomie de la mission considérée, principalement le type d'orbite et les caractéristiques des satellites. Elle précise les contraintes physiques prises en compte, dénit la nature des requêtes provenant des utilisateurs et le système supposé prendre en charge ces requêtes. Enn, elle fournit les objectifs de la planication journalière et les dés à surmonter. 3.1.1 Constellation de satellites Le système physique auquel nous nous intéressons est constitué de deux satellites 1 d'observation de la Terre en mouvement sur une orbite circulaire basse (altitude de quelques centaines de km), quasi-polaire et héliosynchrone (alternance de remontées de jour du pôle sud vers le pôle nord et de descentes de nuit du pôle nord vers le pôle sud survol chaque jour de l'ensemble du globe du fait de la rotation de la Terre sur elle-même). Les deux satellites sont en mouvement sur la même orbite, mais déphasés de 180 degrés (voir Figure 3.1). Chacun des satellites (voir Figure 3.2) est agile en ce sens qu'il est capable d'eectuer des mouvements très rapides en attitude suivant les trois axes (roulis, tangage et lacet) grâce à une grappe d'actionneurs gyroscopiques (Chrétien et al. 2004). C'est cette agilité qui lui permet d'eectuer par balayage l'observation d'une zone sol et de passer très rapidement de l'observation d'une zone sol à l'observation d'une autre. Des tuyères sont disponibles pour réaliser les man uvres orbitales nécessaires en cas de dérive trop importante par rapport à l'orbite de référence. Chacun des satellites est équipé d'un instrument d'observation optique comprenant deux plans focaux (rétines), un pour l'observation de jour (jour sol ; voir Figure 3.3) dans le domaine visible, l'autre pour l'observation de jour ou de nuit dans le domaine infra-rouge. 1. L'algorithme de planication que nous proposons est en mesure de gérer autant de satellites que souhaités.
60 3. Formulation du problème de planication z 180 o y x Figure 3.1 Constellation de deux satellites. Figure 3.2 Vue d'artiste de l'un des satellites. Chaque satellite est par ailleurs équipé d'une mémoire de masse permettant de stocker les données résultant des observations et d'une antenne haut-débit permettant de vider ces données vers une station sol lors de passages en visibilité. Il est aussi équipé de panneaux solaires permettant de recharger les batteries durant les périodes d'éclairement (jour bord),
3.1. Description de la mission 61 soleil nuit sol nuit bord Figure 3.3 Diérence entre jour/nuit sol et jour/nuit bord. sachant que l'énergie est fournie par ces batteries en éclipse. Pour permettre une grande agilité en man uvre d'attitude et une grande stabilité en prise de vue, il faut éviter ce qui peut induire des perturbations à basse fréquence de l'attitude satellite. C'est la raison pour laquelle les équipements cités (instrument d'observation, antenne haut-débit et panneaux solaires) sont xés de façon rigide au satellite. 3.1.2 Contraintes physiques Il est possible de répartir les contraintes physiques en six classes : trajectoire en attitude, observation, télédéchargement, mémoire, instruments et énergie. Trajectoire en attitude En plus de parcourir son orbite, le satellite peut être commandé en attitude en rotation autour de son centre de gravité, selon les trois axes de rotation, grâce à des actionneurs gyroscopiques. Ces mouvements en attitude combinés au parcours de l'orbite permettent l'observation de zones au sol par balayage, et des transitions relativement rapides entre observations. Ces mouvements sont limités en termes de vitesse et d'accélération angulaire, se traduisant par des durées minimales de basculement d'une attitude à une autre. Cependant, l'attitude requise pour observer une zone au sol dépend de la position orbitale du satellite et donc du moment auquel la prise de vue est réalisée. La durée minimale de basculement entre la n d'une observation o 1 et le début d'une observation o 2 dépend donc de la date de n de o 1 (voir Figure 3.4 pour une illustration schématique en deux dimensions). Le calcul de ce temps minimum requiert la résolution d'un problème complexe d'optimisation continue sous contraintes (voir (Beaumet et al. 2007)). Pour le résoudre de manière ecace au moment de la planication, des algorithmes approchés, dédiés, ont été développés à l'onera (voir Section 3.2). Observation L'observation d'une zone donnée par un satellite doit s'eectuer au cours d'une des fenêtres de visibilité de la zone, dénies par des angles maximaux d'observation. Sa durée
62 3. Formulation du problème de planication o 1 o 2 o 1 o 2 Figure 3.4 De quelle façon la distance angulaire et ainsi le temps de transition minimum entre deux observations dépend de la date de n de la première. Cône de visibilité station entrée du satellite en visibilité station station sol γ Cône d ouverture de l antenne bord Terre Figure 3.5 Conditions de télédéchargement en parallèle. est xée puisque uniquement liée à la vitesse de balayage au sol requise 2. La trajectoire en attitude que le satellite doit suivre durant une observation dépend de l'instant auquel cette observation débute. Télédéchargement De la même façon, en raison d'angles maximaux pour la communication bord-sol, le vidage de données doit s'eectuer au cours d'une fenêtre de visibilité de l'une des stations sol de réception. Notons que l'entrée d'un satellite dans le "cercle de visibilité" d'une station est insusante ; la projection du cône d'ouverture de l'antenne (demi-angle au sommet de 64 degrés) doit nécessairement inclure la station en question pendant tout le télédéchargement (voir Figure 3.5). En résulte un ensemble de fenêtres eectives de communication dépendant de la trajectoire en attitude du satellite. Observation et télédéchargement peuvent s'opérer en parallèle. Deux images (visible et infrarouge) issues de la même observation (de jour) sont nécessairement vidées sur la même station, pendant un même survol. 2. C'est une simplication de considérer la durée d'observation indépendante des conditions d'accès, mais cette durée est faiblement impactée (<10%) ; cette approximation est acceptable.
3.1. Description de la mission 63 Mémoire La quantité de mémoire disponible à bord pour l'enregistrement d'images doit être respectée. Instruments Un temps minimum de préchauage est nécessaire à l'utilisation des instruments (plans focaux et antenne haut-débit). Par ailleurs, les températures du plan focal visible et de l'antenne haut-débit ne doivent pas dépasser une valeur maximum. Chacune d'entre elles croît linéairement si l'instrument correspondant est activé, et subit une décroissance particulière (la dérivée par rapport au temps est une exponentielle négative) si cet instrument est désactivé. Ces températures ne peuvent pas (physiquement) descendre au-dessous d'une température minimale appelée température de régulation. La température du plan focal infrarouge est quant à elle auto-régulée via une machine cryothermique. À des ns de abilité et de durée de vie, un nombre maximal de cycles on/o et un temps on cumulé maximal sont xés par instrument et par jour, pour chaque satellite. Pour tout mouvement en attitude, il convient de vérier qu'il ne conduit pas à un éblouissement de l'instrument par le soleil et donc à une dégradation de cet instrument (angle minimum à respecter entre l'axe du satellite et la direction du soleil). Énergie L'énergie emmagasinée dans les batteries est limitée : elle ne peut pas (physiquement) dépasser une valeur maximale. Pour garantir la sûreté du satellite, l'énergie doit être maintenue au-dessus d'un certain seuil, en particulier lorsque l'engin est en éclipse, périodes pendant lesquelles la production d'énergie est nulle. Cette production est maximale lorsque les panneaux solaires sont face au soleil, mais dépend de l'attitude du satellite puisque fonction de l'angle entre le soleil et la normale aux panneaux. La consommation d'énergie est d'une part la consommation "de base" liée au fonctionnement de la plate-forme, et d'autre part la consommation des instruments activés. Notons que certaines des contraintes que nous considérons sont proches, en termes de complexité de modélisation et de vérication, des contraintes en température et pointage prises en compte dans (Chien et al. 2010) pour l'ordonnancement d'opérations à bord du satellite EO-1. 3.1.3 Requêtes des utilisateurs Chaque requête d'un utilisateur du système prend la forme d'une demande d'acquisition composite constituée d'observations élémentaires. En pratique, il s'agit de balayer au sol un polygone prédécoupé en bandes (la largeur d'une bande correspond à celle de la fauchée de l'instrument optique ; voir Figure 3.6). À chaque requête sont donc associés un polygone, un niveau de priorité, un poids, et une date butoir après laquelle la requête n'est plus valide. Typiquement, trois niveaux de priorité sont disponibles : les requêtes de routine de priorité 1, les requêtes prioritaires de priorité 2, et les requêtes super prioritaires de priorité 3. Notons que les utilisateurs exigent l'étanchéité des priorités, i.e. une requête de priorité p est toujours préférée à n'importe quel ensemble de
64 3. Formulation du problème de planication polygone au sol = requête d'observation priorité poids date butoir bande à observer zone géographique durée d'observation taille des images angle max d'observation satellite,fenêtre,météo Figure 3.6 Polygone prédécoupé en bandes. requêtes de priorité strictement inférieure à p. Les poids, quant à eux, expriment les préférences entre requêtes de même niveau de priorité, et sont supposés additifs. En général, les requêtes des utilisateurs dépassent la capacité d'acquisition de la constellation ; par conséquent, il est nécessaire de procéder à une sélection tenant compte des priorités et poids de ces requêtes. D'autre part, à chaque bande sont associés une dénition géographique (longitude, latitude, cap, longueur), des durées d'observation (celle prévue pour son acquisition de jour et celle prévue pour son acquisition de nuit), des occupations mémoire (celle de chaque image susceptible d'être générée par l'un des plans focaux), un angle maximal d'observation, et un ensemble de triplets satellite, fenêtre de visibilité, prévision météo. 3.1.4 Système de gestion La façon classique de gérer de tels satellites passe par un centre de contrôle sol qui reçoit de façon continuelle des requêtes d'observation des diérents utilisateurs du système, qui décide chaque jour d'un plan d'activités pour chaque satellite satisfaisant au mieux les requêtes des utilisateurs, et qui envoie ce plan pour exécution à chaque satellite (voir gure 3.7). Une analyse des données acquises tenant compte de la couverture nuageuse réelle permet le retrait des requêtes satisfaites. Dans un tel schéma, tout est décidé au sol de façon centralisée et les satellites sont de "simples" exécutants. Bien que des études aient été menées sur des satellites plus autonomes, réactifs et "intelligents" (Chien et al. 2004, Damiani et al. 2005b, Beaumet et al. 2011), c'est le schéma de gestion classique que nous prenons comme hypothèse. Notons la nuance entre
3.1. Description de la mission 65 Planification Requêtes d observation Envoi du plan Acquisition d image(s) Réception de la TMI temps Figure 3.7 Planication au sol d'une mission d'observation de la Terre. le centre de programmation, qui est chargé de planier les activités satellitaires, et le centre de contrôle, qui est chargé d'envoyer les plans (aidé par les centres relais) et de contrôler leur bonne exécution. Cette centralisation de la décision nous aranchit de tout problème lié à la communication entre les décideurs, à la synchronisation et à la coordination des décisions. Nous comptons néanmoins proter du fait que, dans notre cas d'étude, chaque satellite est visible un grand nombre de fois chaque jour par une des stations de contrôle sol (presque une fois par révolution du satellite autour de la Terre). Ces fenêtres de visibilité sont des opportunités pour envoyer à chaque satellite un nouveau plan ou une modication du plan courant, prenant par exemple en compte des requêtes d'observation urgentes arrivées en cours de journée, ou encore des modications des prévisions météo et donc des probabilités d'échec des observations (échec possible dû à la couverture nuageuse). Ce mode de gestion plus exible sera l'objet du Chapitre 5. Une planication à bord est justiée si les informations nouvelles viennent du satellite et si ce satellite ne se trouve pas fréquemment en visibilité de centres relais (de contrôle). Ici, il n'y a aucun intérêt à procéder ainsi puisque les informations proviennent des États-majors et de Météo France. La planication au sol nous assure, de plus, une puissance de calcul nettement supérieure. 3.1.5 Objectifs de la planication journalière Jusque-là, les algorithmes qui ont été proposés pour la gestion de satellites agiles (voir par exemple (Lemaître et al. 2002)) construisent d'abord un plan d'observation en tenant compte des fenêtres de visibilité, des durées d'observations, et des transitions entre observations. Ensuite, un plan de vidage est construit en tenant compte des fenêtres de communication et des durées de télédéchargement. Enn, les contraintes sur la mémoire et l'énergie sont vériées. En cas de violation de contraintes, des vidages ou des observations sont supprimés jusqu'à
66 3. Formulation du problème de planication retrouver la satisfaction de ces contraintes, d'où la possibilité d'obtenir des solutions fortement sous-optimales. L'un des dés de notre travail est de concevoir des algorithmes capables de construire, en une seule passe, un plan qui couvre toutes les activités des satellites (observations et vidages de données, ainsi que d'autres activités, voir en 3.3.3), respecte toutes les contraintes physiques, satisfait les requêtes d'utilisateurs autant que possible, et requiert un temps de calcul limité et maîtrisé (typiquement jusqu'à dix minutes). 3.2 Prise en compte des mouvements en attitude 3.2.1 Pourquoi? Les mouvements en attitude doivent être pris en compte essentiellement pour trois raisons : 1. la plupart des actions (voir en 3.3.3) requièrent une attitude particulière ; 2. il faut prendre en compte les temps de transition entre ces actions ; 3. l'énergie produite, les possibilités de vidage et le non éblouissement de l'instrument optique dépendent de la trajectoire en attitude. 3.2.2 Comment? La trajectoire en attitude requise pour une man uvre orbitale est connue : elle est totalement dénie au sol par les opérateurs. En pointage héliocentrique (respectivement géocentrique), l'axe du satellite est orienté à tout moment vers le soleil (respectivement le centre de la Terre). La trajectoire est donc, là encore, connue. Dans le cas d'une observation à date connue, nous connaissons les attitudes de début et de n, en position et vitesse. Le mouvement, de courte durée et à la vitesse de balayage xée, s'approxime assez bien par une interpolation linéaire du quaternion d'attitude et du vecteur vitesse (en réalité, les ingénieurs du CNES sont plus précis puisqu'ils utilisent typiquement une approximation polynomiale d'ordre 3). Le rendez-vous en attitude consiste à faire en sorte que le satellite ait, à une date donnée, l'orientation et la vitesse de rotation souhaitées. Autant dire qu'il est indispensable avant toute action de type observation, man uvre ou pointage. Cette fois-ci, le mouvement est potentiellement beaucoup plus ample que celui généré par une prise de vue, et nécessite parfois la saturation des vitesses axiales de rotation (rendez-vous au plus tôt par exemple). Une trajectoire précise est donc nécessaire. Le CNES a développé les librairies MANIAC (MAN uvre Imposée en Attitude sous Contraintes) (Parraud et al. 2006) et GOTlib (Guidage pour l'observation de la Terre). La première s'intéresse aux calculs de rendez-vous en attitude pour des satellites dont l'attitude est contrôlée par des roues à réaction. La deuxième, créée pour Pléiades, s'intéresse aux calculs de rendez-vous en attitude pour des satellites dont l'attitude est contrôlée par des actionneurs gyroscopiques. Toutes deux décident de la faisabilité d'un rendez-vous en attitude à durée xée ou minimale entre deux actions spéciques qui contraignent l'attitude. Le principal inconvénient de ces librairies semble être des temps d'exécution importants pour obtenir
3.2. Prise en compte des mouvements en attitude 67 vitesse en attitude V m V f V d T d T 1 T 2 T f temps Figure 3.8 Trajectoire d'un rendez-vous en attitude en trois phases suivant un axe (roulis, tangage ou lacet). des durées pas nécessairement optimales (recherche des racines d'une fonction par méthodes approchées). Nous avons fait le choix de ne pas utiliser ces librairies. Comme mentionné en 3.1.2, nous faisons appel à des algorithmes approchés ecaces, développés à l'onera. Nous disposons de routines qui fournissent le temps minimum minrdv(a 1, a 2 ) pour effectuer le basculement d'une attitude a 1 vers une attitude a 2, prenant en compte les limitations en vitesse et accélération des actionneurs gyroscopiques. Ces routines sont basées sur : la décomposition du mouvement en trois mouvements indépendants suivant chacun des trois axes la décomposition de chacun de ces mouvements en trois phases successives (accélération maximale, vitesse constante, et décélération maximale ; voir Figure 3.8) Le temps minimum correspond alors à la somme des durées des trois phases de l'axe le plus lent, i.e. la durée maximale T f T d sur les trois axes. Les mouvements sont ensuite synchronisés pour obtenir des changements de phase simultanés. Notons que le résultat n'est pas nécessairement optimal à cause des restrictions imposées sur les mouvements : compromis habituel entre optimalité et ecacité. Toutefois, le rendez-vous en attitude nécessaire entre l'observation o 1 d'une zone z 1 et l'observation o 2 d'une zone z 2 dépend de la date de n t 1 de o 1 et de la date de début t 2 de o 2. Causes en sont le mouvement du satellite sur son orbite et celui de la Terre sur elle-même (voir Figure 3.9 pour une illustration en deux dimensions). Soit eobatt(z, t) l'attitude à la n de l'observation de z si elle termine à t. Soit sobatt(z, t) l'attitude au début de l'observation de z si elle commence à t. Ces attitudes peuvent être obtenues facilement, connaissant le mouvement du satellite sur son orbite et celui de la Terre sur elle-même. En somme, si l'on suppose que la zone z 1 et la date t 1, à laquelle o 1 termine, sont toutes les deux données, la date de début au plus tôt de o 2 est la date t 2 la plus petite (dans la fenêtre de visibilité de o 2 ) telle que minrdv(eobatt(z 1, t 1 ), sobatt(z 2, t 2 )) = t 2 t 1. Cette date au plus tôt est obtenue par une recherche dichotomique sur la fenêtre de visibilité de z 2. Cette recherche suppose que, si o 2 ne peut pas débuter à t 2, elle ne peut pas débuter
68 3. Formulation du problème de planication t t 2 1 a 1 a 2 z 1 Terre z 2 t 1 a 1 a 2 z 1 Terre z 2 t 2 t 1 t 2 a 1 a 2 z 1 Terre z 2 t 1 t 2 a 1 a 2 z 1 Terre z 2 Figure 3.9 De quelle façon le mouvement en attitude (a 2 a 1 ) pour passer de l'observation (o 1 ) de z 1 à l'observation (o 2 ) de z 2 dépend de la date t 1 à laquelle o 1 termine et de la date t 2 à laquelle o 2 débute (vue schématique en deux dimensions). à t 2 < t 2. En réalité, cette hypothèse n'est pas toujours vériée à cause de la dynamique complexe des actionneurs gyroscopiques. Le résultat de la recherche dichotomique n'est donc pas nécessairement optimal : encore un compromis entre optimalité et ecacité. Notons que les algorithmes dont nous disposons calculent la trajectoire d'un rendez-vous en temps imposé, et donc aussi en temps minimal après calcul de la date au plus tôt. Une fois une trajectoire produite, nous pouvons la simuler pas à pas pour obtenir une estimation de l'énergie produite par les panneaux solaires tout au long de cette trajectoire, pour calculer, pour toute station sol, les créneaux durant lesquels un vidage est eectivement possible et pour vérier l'absence d'éblouissement de l'instrument par le soleil. En résumé, les algorithmes dont nous disposons permettent, étant donnés un instant et une attitude courante : de vérier si un rendez-vous en attitude est possible vers une action qui contraint l'attitude du satellite ;
3.3. Élaboration d'un modèle de type état/actions 69 de générer une trajectoire en attitude réalisable pour le rendez-vous (éventuellement en temps minimum), puis pour l'action elle-même ; d'estimer l'énergie produite tout au long de cette trajectoire ; de calculer les créneaux de visibilité eectifs associés à chaque station sol ; de vérier l'absence d'éblouissement. 3.3 Élaboration d'un modèle de type état/actions Nous proposons, dans cette section, un modèle pour le problème rencontré. Nous explicitons les données en entrée, les variables d'état, les actions disponibles, les contraintes prises en compte et le critère à optimiser. 3.3.1 Données du problème Il s'agit ici de lister l'ensemble des données du problème de planication. L'obtention de certaines d'entre elles, e.g. les fenêtres de visibilité des zones à observer, fait appel à des calculs préliminaires. Horizon de planication Les actions sélectionnées sont à ordonnancer sur l'intervalle de temps [STA; END]. Nombre de satellites Bien que notre cas d'étude ne compte que deux satellites, nous dénissons la constante Nsat égale au nombre de satellites disponibles pour réaliser la mission (souci de généricité). Caractéristiques d'un satellite Dans l'application qui est la nôtre, les satellites sont supposés identiques et partagent donc les paramètres suivants :
70 3. Formulation du problème de planication EN min EN max MM max P sun P stby P ir P vir P v P dl P dlir P dlv P dlvir Tv reg tcv max α v β v Ta reg tca max α a β a γ antenna tv tir ta γ dazzle Niveau minimal de l'énergie Niveau maximal de l'énergie Quantité maximale de mémoire disponible Puissance produite lorsque les panneaux solaires sont faces au soleil Puissance consommée en mode veille Puissance consommée si uniquement le plan focal IR est en position on (mode prise de vue seule, de nuit) Puissance consommée si uniquement les plans focaux sont en position on (mode prise de vue seule, de jour) Puissance consommée si uniquement le plan focal visible est en position on Puissance consommée si uniquement la TMI est en position on Puissance consommée si uniquement le plan focal IR et la TMI sont en position on Puissance consommée si uniquement le plan focal visible et la TMI sont en position on Puissance consommée si tous les instruments sont en position on Température de régulation du plan focal (visible) = température minimale Température maximale pour le plan focal (visible) Coecient intervenant dans la décroissance de la température du plan focal visible en mode o Coecient intervenant dans l'accroissement de la température du plan focal visible en mode on Température de régulation de l'antenne = température minimale Température maximale pour l'antenne Coecient intervenant dans la décroissance de la température de l'antenne en mode o Coecient intervenant dans l'accroissement de la température de l'antenne en mode on Demi-angle au sommet du cône d'émission de l'antenne haut-débit Durée de préchauage du plan focal visible Durée de préchauage du plan focal IR Durée de préchauage de l'antenne Angle, formé par l'axe du satellite et la direction du soleil, au-dessous duquel l'instrument optique est ébloui N.B. : Parmi ces caractéristiques gurent huit constantes diérentes propres à la puissance de consommation d'un satellite. Ces constantes sont indispensables car la puissance de consommation n'est pas additive! Par exemple, la somme des puissances P ir + P v est diérente de la puissance P vir. En pratique, cela rend le calcul du niveau d'énergie plus dicile.
3.3. Élaboration d'un modèle de type état/actions 71 Fenêtres d'éclipse Pour tout entier s dans l'intervalle [1..Nsat], soit NE s le nombre de fenêtres d'éclipse du satellite d'indice s présentes sur l'horizon de planication, i.e. le nombre de fenêtres temporelles au cours desquelles ce satellite n'est pas éclairé par le soleil. De plus, pour tout entier i dans [1..NE s ], soient SE s,i et EE s,i les dates de début et de n de la i ème fenêtre d'éclipse du satellite d'indice s (fenêtres triées par ordre chronologique). Man uvres orbitales Pour tout entier s dans l'intervalle [1..Nsat], soit NM s le nombre de man uvres orbitales prévues pour le satellite d'indice s sur l'horizon de planication. De plus, pour tout entier i dans [1..NM s ], soient SM s,i et EM s,i les dates de début et de n de la i ème man uvre pour le satellite d'indice s (fenêtres triées par ordre chronologique). La trajectoire en attitude n'est pas explicitement fournie. En revanche, les attitudes de début SATT s,i et de n EATT s,i sont données ainsi que la quantité d'énergie PEM s,i produite par les panneaux solaires. En pratique, ces attitudes de début et de n de man uvres sont celles de pointages d'attente, géocentriques ou héliocentriques. Stations sol Soit GS l'ensemble des stations sol dont dispose le système. Soient RS GS l'ensemble des stations sol de réception et CS GS l'ensemble des stations sol de contrôle (GS = RS CS). Notons qu'une station sol peut cumuler les rôles de réception et de contrôle, i.e. il est possible d'avoir RS CS. Pour tout entier s dans [1..Nsat] et pour toute station sol gs, on désigne par NVS s,gs le nombre de fenêtres temporelles au cours desquelles le satellite d'indice s est potentiellement visible depuis la station gs. De plus, pour tout entier i dans [1..NVS s,gs ], soient SVS s,gs,i et EVS s,gs,i les dates de début et de n de la i ème fenêtre de visibilité du satellite d'indice s depuis la station gs (fenêtres triées par ordre chronologique). Requêtes d'observation Les requêtes d'observation constituent les objectifs à remplir. On désigne par R l'ensemble de ces requêtes. Pour toute requête r, soient P r, W r et D r respectivement la priorité, le poids et la date butoir associés à la requête r. Par commodité, on introduit également R p R l'ensemble des requêtes de priorité p, i.e. R p = {r R P r = p}. Comme mentionné plus tôt, les requêtes d'observation prennent la forme de polygones au sol, découpés en bandes. ST r représente donc l'ensemble des bandes à observer pour accomplir la requête r. À toute bande st sont associées les données suivantes : NVO s,st le nombre de fenêtres de visibilité depuis le satellite d'indice s ; SVO s,st,i et EVO s,st,i les dates de début et de n de la i ème fenêtre de visibilité de st depuis le satellite d'indice s (date de début au plus tôt et date de n au plus tard pour l'observation de la bande) ; CC s,st,i le pourcentage de couverture nuageuse prévue au-dessus de la zone
72 3. Formulation du problème de planication pour chacune de ces fenêtres de visibilité ; M s,st,i le mode, jour ou nuit, nécessaire à l'observation pour chacune de ces fenêtres de visibilité (de valeur 1 pour le jour, de valeur 0 pour la nuit) ; DO st,m la durée d'observation de st en mode m ; m égal à 1 signie que st est éclairée par le soleil (observation de jour) ; m égal à 0 signie que st n'est pas éclairée par le soleil (observation de nuit) ; SZ st,fp,m la quantité de mémoire requise pour l'observation de st par le plan focal fp en mode m ; fp égal à 1 sous-entend la considération du plan focal visible ; fp égal à 0 sousentend la considération du plan focal infra-rouge ; par commodité, on peut considérer que le plan focal visible produit, lors d'une observation de nuit, une image de taille nulle, i.e. SZ st,1,0 = 0 ; DDI st,fp,m la durée de télédéchargement de l'image générée par l'observation de st par le plan focal fp en mode m ; comme SZ st,1,0 est nul, on a l'égalité DDI st,1,0 = 0. État initial d'un satellite Á l'instant STA, l'état de chaque satellite est connu. Une valeur est donc attribuée à chacune des variables d'état listées en section 3.3.2. De plus, on a connaissance de toutes les actions en cours, ainsi que des informations nécessaires à leur nalisation (e.g. la station vers laquelle s'exécute le télédéchargement en cours). État initial des objectifs L'état initial des objectifs est caractérisé par l'ensemble SO des bandes observées avant l'instant STA, et l'ensemble SD des bandes observées et dont les images résultantes ont été vidées. Contraintes de programmation Certaines contraintes prises en compte ne proviennent pas de la physique du système, mais contraignent le résultat de la programmation. Elles font intervenir notamment les paramètres suivants : le nombre maximal nir max de mises on/o pour le plan focal IR sur l'horizon, le nombre maximal nv max de mises on/o pour le plan focal visible sur l'horizon, le nombre maximal na max de mises on/o pour la TMI sur l'horizon, le temps on cumulé maximal tcir max pour le plan focal IR, le temps on cumulé maximal tcv max pour le plan focal visible, le temps on cumulé maximal tca max pour la TMI. 3.3.2 État du système Pour tout satellite d'indice s, les variables qui interviennent dans la modélisation du système physique sont les suivantes : 1. l'instant t ;
3.3. Élaboration d'un modèle de type état/actions 73 2. l'attitude att s, c'est-à-dire l'orientation du repère satellite par rapport au repère orbital local ou au repère inertiel (matrices de rotation, angles d'euler classiques, angles de Cardan, ou quaternions 3 ), et le vecteur vitesse de rotation ; 3. l'énergie disponible en s ; 4. le volume mémoire disponible mm s ; 5. l'état (on ou o ) de chaque instrument : fir s pour le plan focal infra-rouge, fv s pour le plan focal visible et ant s pour l'antenne haut-débit (ou plus précisément la télémesure image, module qui comprend l'antenne haut-débit) ; 6. le nombre de cycles on/o restants et le temps on restants pour chaque instrument : nir s et tcir s pour le plan focal infra-rouge, nv s et tcv s pour le plan focal visible, na s et tca s pour l'antenne haut-débit ; 7. la température du plan focal visible Tv s et celle de l'antenne haut-débit Ta s ; 8. la date du dernier changement d'état (on ou o ) pour chaque instrument : ltir s pour le plan focal infra-rouge, ltv s pour le plan focal visible et lta s pour l'antenne haut-débit ; 9. l'observation ou non ob(st) {0, 1} de la bande st ; 10. le vidage ou non dl(st) {0, 1} des images (une ou deux) issues de l'observation de st ; 11. l'indice sat(st) du satellite choisi pour l'observation de la bande st ; 12. la date de début tob(st) choisie pour l'observation de la bande st ; 13. la date de n tdl(st) pour le vidage des images résultant de l'observation de st (une ou deux selon le mode d'observation jour ou nuit) ; cette variable est initialisée à END. Les domaines respectifs des variables d'état sont les suivants : pour tout satellite d'indice s 3. Un quaternion est un type de nombre hypercomplexe. L'ensemble des quaternions, noté H, constitue une extension de l'ensemble des nombres complexes, extension similaire à celle qui avait conduit de l'ensemble des nombres réels R à celui des nombres complexes C. Les quaternions unitaires fournissent une notation mathématique commode pour représenter l'orientation et la rotation d'objets en trois dimensions. Comparés aux angles d'euler, ils sont plus simples à composer et évitent le problème du blocage de Cardan. Comparés aux matrices de rotations, ils sont plus stables numériquement et peuvent se révéler plus ecaces. Ils sont très utilisés pour la mécanique spatiale des satellites (Kuipers 1999).
74 3. Formulation du problème de planication et pour toute bande st 3.3.3 Actions disponibles do(t) = [STA, END] do(att s ) = H R 3 do(en s ) = [EN min, EN max ] do(mm s ) = [0..MM max ] do(fir s ) = {ON, OFF } do(fv s ) = {ON, OFF } do(ant s ) = {ON, OFF } do(nir s ) = [0..nir max ] do(nv s ) = [0..nv max ] do(na s ) = [0..na max ] do(tcir s ) = [0, tcir max ] do(tcv s ) = [0, tcv max ] do(tca s ) = [0, tca max ] do(tv s ) = [Tv reg, Tv max ] do(ta s ) = [Ta reg, Ta max ] do(ltir s ) = [STA, END] do(ltv s ) = [STA, END] do(lta s ) = [STA, END] do(ob(st)) = {0, 1} do(dl(st)) = {0, 1} do(sat(st)) = [0..Nsat] do(tob(st)) = [STA, END] do(tdl(st)) = [STA, END] Pour éviter de perturber les mouvements en attitude de nos satellites agiles, les équipements et instruments sont xes sur la plate-forme. De fait, l'attitude d'un satellite n'est autre qu'une ressource partagée par un ensemble d'activités : la trajectoire spécique imposée par une action interdit l'exécution d'une autre action en parallèle (excepté le télédéchargement qui ne nécessite pas un pointage précis vers la station de réception). Il est donc inconcevable de planier les observations sans planier les autres activités contraignant la trajectoire en attitude (man uvres orbitales, pointages spéciques). Nous souhaitons en outre gérer nement énergie à bord et température des instruments, ce qui nous invite à prendre en charge l'activation de ces instruments. Les actions envisageables sont explicitées ci-dessous. Man uvre orbitale Cette activité consiste en général à repositionner le satellite sur son orbite de référence. Elle est caractérisée par une date de début, une date de n, une attitude de début (orientation et
3.3. Élaboration d'un modèle de type état/actions 75 vitesse de rotation), une attitude de n et une production d'énergie (fonction de la trajectoire en attitude suivie durant la man uvre). Ces man uvres sont capitales pour la pérennité de la mission et par conséquent obligatoires. Il est d'usage de les insérer dans des fenêtres peu denses en observations (passage aux pôles ou sur les océans). Certaines d'entre elles nécessitent leur réalisation aux n uds de l'orbite. Observation Cette action consiste à balayer au sol une zone géographique donnée. Elle est caractérisée par une bande, une fenêtre de visibilité, et une date de début. Activité directement liée à la mission, il est souhaitable d'en réaliser autant que possible tout en considérant qualité des images, poids et priorité des requêtes associées. Suite à ces prises de vue, les images sont enregistrées à bord. Pointage héliocentrique Cette action consiste à positionner le satellite dos au soleil (panneaux solaires faces au soleil) pour maximiser la puissance de production d'énergie et ainsi recharger les batteries de l'engin spatial autant que possible. Elle est caractérisée par une date de début et une date de n, et utilisée à titre de position d'attente (hors éclipse). Pointage géocentrique Cette action consiste à orienter l'axe du satellite en direction du centre de la Terre. Si le satellite est visible depuis une station sol, cette action assure la possibilité de communiquer avec cette même station (attitude de l'engin nécessairement compatible avec le lien bord-sol). Elle est caractérisée par une date de début et une date de n, et constitue l'activité par défaut du satellite (position d'attente). Vidage (télédéchargement) de données Cette action consiste à vider une image sur une station sol de réception une fois la condition de liaison TMI 4 remplie (condition modélisée par la présence de la station sol dans le lobe d'antenne déni par γ antenna ). Elle est caractérisée par une image, une station de réception, une fenêtre de communication, et une date de début. Activité directement liée à la mission au même titre que l'observation, il est souhaitable d'en réaliser autant que possible tout en considérant la qualité des images, le poids et la priorité des requêtes associées, ainsi que la fraîcheur des images. Activation des instruments Cette action consiste à allumer un (ou plusieurs) instrument(s) (parmi plan focal infrarouge, plan focal visible, et télémesure image) et le (ou les) maintenir on selon les besoins émis 4. TéléMesure Image
76 3. Formulation du problème de planication par les activités liées à la mission (observation de jour ou de nuit, télédéchargement). Elle est caractérisée par un instrument, une date de début et une date de n. Man uvre orbitale, observation, pointage héliocentrique et pointage géocentrique contraignent l'attitude du satellite. La réalisation d'une action de ce type impose une trajectoire précise en attitude et la transition entre deux actions de ce type impose une certaine trajectoire de rendez-vous en attitude. Au contraire, le vidage de données n'impose pas de trajectoire précise. Étant donnée une trajectoire en attitude, il n'est cependant possible que sur les créneaux pendant lesquels le satellite est visible depuis la station sol et orienté plus ou moins en direction de cette station (station incluse dans le cône d'ouverture de l'antenne haut-débit). Quant à l'allumage des instruments, il ne dépend pas de l'attitude. En conséquence, man uvre orbitale, observation, pointage soleil, pointage géocentrique et rendez-vous en attitude doivent être réalisés en séquence. À tout moment, le satellite exécute une et une seule action de ce type. Au contraire, vidage de données et allumage d'un instrument peuvent être réalisés en parallèle. Tout plan généré prend donc la forme d'une séquence quelconque d'actions de types man uvre orbitale, observation, pointage héliocentrique et pointage géocentrique, avec rendez-vous en attitude entre actions consécutives, ainsi que des vidages de données et des allumages d'instruments en parallèle. Notons que seuls observation et vidage de données impactent la qualité du plan. Allumage d'un instrument, pointage soleil, pointage géocentrique et rendez-vous en attitude ne sont que des actions supports pour l'observation et le vidage. 3.3.4 Fonctions commodes pour la modélisation Nous listons ci-dessous un ensemble de fonctions commodes pour exprimer, d'une part, les contraintes à satisfaire et, d'autre part, le critère à optimiser. Elles prennent en entrée certaines variables d'état et/ou certains paramètres d'action : light(s, t sta, t end ) : renvoie 1 si le satellite d'indice s est éclairé par le soleil entre t sta et t end de façon permanente, 0 sinon. hpatt(s, th) : renvoie l'attitude requise par le satellite d'indice s pour eectuer un pointage héliocentrique (panneaux faces au soleil) à l'instant th. gpatt(s, tg) : renvoie l'attitude requise par le satellite d'indice s pour eectuer un pointage géocentrique à l'instant tg. cpatt(s, gs, td) : renvoie l'attitude requise par le satellite d'indice s pour pointer en direction de la station gs à l'instant td. sobatt(st, s, to) : renvoie l'attitude requise par le satellite d'indice s pour débuter l'observation de la bande st à l'instant to. eobatt(st, s, to) : renvoie l'attitude requise par le satellite d'indice s pour terminer l'observation de la bande st à l'instant to. obatt(st, s, t sta, t end, to) : renvoie l'attitude à l'instant to requise par le satellite d'indice s an de poursuivre l'observation de la bande st réalisée entre t sta et t end. angle(att 1, att 2 ) : renvoie l'angle formé entre la direction de l'axe d'un satellite, relative à l'attitude att 1 et la direction de l'axe d'un satellite, relative à l'attitude att 2.
3.3. Élaboration d'un modèle de type état/actions 77 minrdv(att 1, att 2 ) : renvoie la durée minimale pour qu'un satellite bascule de l'attitude att 1 vers l'attitude att 2. rdvatt(s, t sta, att sta, t end, att end, tr) : renvoie l'attitude à l'instant tr requise par le satellite d'indice s an de poursuivre le rendez-vous en attitude de att sta vers att end, réalisé entre t sta et t end. window(s, st, t) : renvoie la fenêtre de visibilité associée à l'observation de la bande st par le satellite d'indice s à l'instant t. cloud(st, t) : renvoie le pourcentage de couverture nuageuse prévue au-dessus de la bande st à l'instant t. acqang(s, st, t) : renvoie l'angle d'acquisition de la bande st par le satellite d'indice s à l'instant t. Il s'agit en fait de la distance angulaire entre le nadir et l'axe du satellite au début de l'observation, i.e. acqang(s, st, t) = angle(sobatt(st, s, t), gpatt(s, t)). 3.3.5 Contraintes pesant sur les décisions Des contraintes pèsent sur le choix des actions à entreprendre. Certaines de ces contraintes, plutôt locales, s'énoncent sous forme de préconditions, conditions à maintenir, eets en début et eets en n d'action. D'autres contraintes, notamment celles régissant les lois d'évolution de l'énergie et des températures avec le temps, s'avèrent plus globales. Elles peuvent être factorisées et s'énoncer séparément. Man uvre orbitale Le choix de réaliser la i ème man uvre orbitale du satellite d'indice s est sujet aux contraintes qui suivent. Préconditions l'instant courant correspond à la date de début de la i ème man uvre orbitale du satellite d'indice s : t = SM s,i l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour débuter sa i ème man uvre orbitale : att s = SATT s,i Eets en n la nouvelle attitude du satellite d'indice s est l'attitude de n prévue pour sa i ème man uvre orbitale : att s EATT s,i le nouvel instant t est la date de n prévue pour sa i ème man uvre orbitale : t EM s,i Observation Le choix d'observer la bande st par le satellite d'indice s à l'instant to, au cours de sa i ème fenêtre de visibilité, est sujet aux contraintes qui suivent. Posons m = M s,st,i (1 de jour, 0 de nuit).
78 3. Formulation du problème de planication Conditions sur les paramètres de l'action la bande st est observable par le satellite d'indice s sur toute la fenêtre envisagée : [to, to + DO st,m ] [SVO s,st,i, EVO s,st,i ] Préconditions l'instant courant correspond à l'instant to : t = to l'observation de la bande st n'a pas encore été planiée : ob(st) = 0 l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour débuter l'observation de la bande st à l'instant to : att s = sobatt(st, s, to) la quantité de mémoire disponible à bord du satellite d'indice s est susante pour enregistrer les images résultantes : mm s SZ st,0,m + SZ st,1,m le plan focal infra-rouge du satellite d'indice s est allumé et préchaué ; si la bande st est éclairée par le soleil (observation de jour), alors le plan focal visible est également allumé et préchaué : (fir s = ON ) (ltir s to tir) (m = 1) ((fv s = ON ) (ltv s to tv )) Conditions à maintenir à tout moment, l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour continuer l'observation de la bande st : att s = obatt(st, s, to, to + DO st,m, t) le plan focal infra-rouge est allumé ; il en va de même pour le plan focal visible dans le cas d'une observation de jour : fir s = ON (m = 1) (fv s = ON ) Eets en début la quantité de mémoire disponible est diminuée de la taille totale des images résultantes (réservation de l'espace mémoire) : Eets en n mm s mm s (SZ st,0,m + SZ st,1,m )
3.3. Élaboration d'un modèle de type état/actions 79 le nouvel instant t est la date de n de l'observation : l'observation de la bande st est planiée : t to + DO st,m ob(st) 1 l'observation de la bande st est aectée au satellite d'indice s : sat(st) s la date de réalisation de l'observation est to : tob(st) to Pointage héliocentrique Le choix d'un pointage héliocentrique entre th sta et th end pour le satellite d'indice s est sujet aux contraintes qui suivent. Conditions sur les paramètres de l'action l'instant th sta précède l'instant th end : th sta < th end le satellite d'indice s est éclairé par le soleil pendant toute l'action (condition sur paramètres) : light(s, th sta, th end ) = 1 Préconditions l'instant courant correspond à l'instant th sta : t = th sta l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour pointer en direction du soleil à l'instant th sta : att s = hpatt(s, th sta ) Conditions à maintenir à tout moment, l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour pointer en direction du soleil (a priori constante) : att s = hpatt(s, t) Eets en n le nouvel instant t est la date de n du pointage héliocentrique : t th end
80 3. Formulation du problème de planication Pointage géocentrique Le choix d'un pointage géocentrique entre tg sta et tg end pour le satellite d'indice s est sujet aux contraintes qui suivent. Conditions sur les paramètres de l'action l'instant tg sta précède l'instant tg end : tg sta < tg end Préconditions l'instant courant correspond à l'instant tg sta : t = tg sta l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour pointer en direction du centre de la Terre à l'instant tg sta : att s = gpatt(s, tg sta ) Conditions à maintenir à tout moment, l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour pointer en direction du centre de la Terre : att s = gpatt(s, t) Eets en n le nouvel instant t est la date de n du pointage géocentrique : Télédéchargement / vidage de données t tg end Pour que le satellite d'indice s vide, sur la station gs, la ou les images issues de l'observation de la bande st, à l'instant td, i.e. durant la i ème fenêtre au cours de laquelle le satellite est visible par gs, certaines contraintes doivent être respectées. Posons m = M s,st,vw, où vw = window(s, st, tob(st)). Conditions sur les paramètres de l'action le satellite d'indice s est visible depuis la station gs pendant tout le vidage : [td, td + DDI st,0,m + DDI st,1,m ] [SVS s,gs,i, EVS s,gs,i ] (on a choisi de vider les deux images à la suite dans le cas d'une observation qui aurait lieu de jour) Préconditions l'instant courant correspond à l'instant td : t = td
3.3. Élaboration d'un modèle de type état/actions 81 l'observation de la bande st est planiée mais pas le vidage des images résultantes : ob(st) = 1 dl(st) = 0 l'observation de la bande st est réalisée par le satellite d'indice s sat(st) = s l'instant td est postérieur à la n de l'observation de la bande st : td tperf(st) + DO st,m l'attitude du satellite d'indice s est compatible avec un vidage de données sur la station gs : angle(att s, cpatt(s, gs, td)) γ antenna l'antenne haut-débit du satellite d'indice s est allumée et préchauée : Conditions à maintenir l'antenne haut-débit est allumée : (ant s = ON ) (lta s td ta) ant s = ON l'attitude du satellite est compatible avec un vidage de données sur la station gs : angle(att s, cpatt(s, gs, t)) γ antenna Eets en n la date de n du vidage est td + DDI st,0,m + DDI st,1,m : tdl(st) td + DDI st,0,m + DDI st,1,m le nouvel instant t est la date de n du vidage : t tdl(st) le vidage des images qui résultent de l'observation de la bande st est planié : dl(st) 1 la quantité de mémoire disponible est augmentée de la taille totale des images résultant de l'observation de la bande st (libération de l'espace mémoire) : mm s mm s + (SZ st,0,m + SZ st,1,m )
82 3. Formulation du problème de planication Allumer et maintenir on un instrument Le choix d'allumer et de maintenir on l'instrument in du satellite d'indice s entre les instants ti sta et ti end, est sujet aux contraintes qui suivent. Soient ins l'état (on ou o ) de cet instrument, nin le nombre de cycles on/o consommés, tcin le temps on cumulé, et ltin la date du dernier changement d'état de l'instrument. Par exemple, si l'on considère l'antenne, on a : ins ant s, nin na s, nin max = na max, tcin tca s, tcin max = tca max et ltin lta s. Conditions sur les paramètres de l'action l'instant ti sta précède l'instant ti end : ti sta < ti end Préconditions l'instant courant correspond à l'instant ti sta : l'instrument in est éteint : t = ti sta ins = OFF le nombre maximal de cycles on/o autorisés pour l'instrument in n'est pas encore atteint : nin < nin max le temps on cumulé maximal autorisé pour l'instrument in n'est pas encore atteint : Eets en début l'instrument in est allumé : tcin < tcin max ins ON on ajoute 1 au nombre de cycles on/o consommés jusqu'à présent : nin nin + 1 ti devient la date du dernier changement d'état de l'instrument in : ltin ti 1 Eets en n le nouvel instant t est la date de n d'activation : l'instrument in est éteint : t ti end ins OFF on ajoute la durée du dernier cycle on/o au temps on cumulé jusqu'à présent : tcin tcin + (ti end ti sta ) ti devient la date du dernier changement d'état de l'instrument in : ltin ti end
3.3. Élaboration d'un modèle de type état/actions 83 Rendez-vous en attitude Le choix d'eectuer un basculement du satellite d'indice s d'une attitude ar sta, à l'instant tr sta, vers une attitude ar end, à l'instant tr end, est sujet aux contraintes qui suivent. Conditions sur les paramètres de l'action l'instant tr sta précède l'instant tr end : tr sta < tr end le temps envisagé pour ce rendez-vous en attitude est susant : minrdv(ar sta, ar end ) tr end tr sta Préconditions l'instant courant correspond à l'instant tr sta : t = tr sta l'attitude courante du satellite d'indice s correspond à l'attitude ar sta : att s = ar sta Conditions à maintenir à tout moment, l'attitude courante correspond à l'attitude requise par le satellite d'indice s pour continuer ce rendez-vous en attitude (suit la trajectoire en attitude calculée par nos algorithmes approchés) : att s = rdvatt(s, tr sta, ar sta, tr end, ar end, t) Eets en n le nouvel instant t est la date de n du rendez-vous : Loi d'évolution de l'énergie avec le temps t tr end Le niveau d'énergie disponible à bord du satellite d'indice s, à un instant donné, est égal au niveau d'énergie à l'instant précédent auquel on ajoute la quantité d'énergie produite et on retranche la quantité d'énergie consommée entre ces deux instants (pendant un pas de temps) : en s min(en max, en s + enp enc ) avec enp = (t t).p sun.cos(min(angle(att s, hpatt(s, t)), π 2 )) (un produit scalaire est nécessaire pour connaître la puissance de production à un instant donné sachant que cette production est nulle si les panneaux solaires ne perçoivent pas les rayons solaires)
84 3. Formulation du problème de planication et enc = P stby.(t t) si ant s = OFF et fv s = OFF et fir s = OFF P ir.(t t) si ant s = OFF et fv s = OFF et fir s = ON P v.(t t) si ant s = OFF et fv s = ON et fir s = OFF P vir.(t t) si ant s = OFF et fv s = ON et fir s = ON P dl.(t t) si ant s = ON et fv s = OFF et fir s = OFF P dlir.(t t) si ant s = ON et fv s = OFF et fir s = ON P dlv.(t t) si ant s = ON et fv s = ON et fir s = OFF P dlvir.(t t) si ant s = ON et fv s = ON et fir s = ON Lois d'évolution des températures avec le temps Pour tout satellite d'indice s, la température du plan focal visible (respectivement de l'antenne) croît linéairement en position on et subit une décroissance particulière (la dérivée par rapport au temps est une exponentielle négative) en position o : { Tv s + β v.(t t) si fv s = ON Tv s 1 α v.ln((e αv.tvs e αv.tvreg ).e αv.ν.(t t) + e αv.tvreg ) sinon (la formule fournie pour la décroissance de la température provient de la résolution analytique de l'équation diérentielle dt dt = e α.(t Treg ) 1) et { Ta s + β a.(t t) si ant s = ON Ta s 1 α a.ln((e αa.tas e αa.tareg ).e αa.ν.(t t) + e αa.tareg ) sinon Éblouissement proscrit À tout moment, l'angle formé par l'axe du satellite d'indice s et la direction du soleil est supérieur à γ dazzle : 3.3.6 Forme d'un plan angle(att s, hpatt(s, t)) γ dazzle Tout plan solution prend la forme suivante : d'une part, des actions d'observations, de man uvres orbitales, de pointages spéciques et de rendez-vous en attitude, réalisées en séquence sans trou temporel, et d'autre part des actions d'allumage d'instruments et de vidage eectuées en parallèle. 3.3.7 Critère d'évaluation Parce que les requêtes d'observation dépassent en général la capacité d'acquisition des satellites, le problème de planication à résoudre chaque jour est un problème d'optimisation sous contraintes.
3.3. Élaboration d'un modèle de type état/actions 85 Le critère d'optimisation opt retenu se présente sous la forme d'un vecteur, où chaque composante v p correspond à l'utilité associée aux requêtes d'un même niveau de priorité p, planiées au moins en partie. La confrontation de deux vecteurs résultant de deux plans différents se fait par comparaison lexicographique pour respecter l'"étanchéité" des priorités. Plus précisément, pour chaque niveau de priorité p, v p est la somme des poids W r des requêtes r de priorité p, pondérée par quatre facteurs dont la valeur est comprise entre 0 et 1. Ces facteurs sont les suivants : sd(r) lié au pourcentage de réalisation des bandes constitutives et au télédéchargement des images résultantes, cc(r) fonction du pourcentage moyen de couverture nuageuse prévue au-dessus des bandes, aa(r) fonction de l'angle moyen d'acquisition des bandes, et ia(r) fonction de l'âge moyen des informations télédéchargées (temps moyen écoulé entre la réalisation des bandes associées à r et la réception par le sol des images résultantes). La mesure du vecteur opt s'eectue dans l'état nal et correspond à l'évaluation du plan. Le critère à optimiser se présente donc comme suit (trois niveaux de priorité sont ici considérés) : v 3 opt = avec : v p = v 2 v 1 r R p (W r sd(r) cc(r) aa(r) ia(r)) Diérentes expressions sont envisageables pour les termes sd(r), cc(r), aa(r) et ia(r). Nous optons pour les suivantes (les valeurs à considérer pour les variables d'état ob(st), dl(st), tob(st) et tdl(st) sont celles obtenues en n d'horizon de planication) : sd(r) = cc(r) = 1 #ST r. aa(r) = 1 #ST r. #{st ST r ob(st)=1}+#{st ST r dl(st)=1} 2.#ST r st ST r ob(st)=1 st ST r ob(st)=1 (1 cloud(st, tob(st))) (1 2 acqang(sat(st), st, tob(st)) ) π ia(r) = 1 #ST r. st ST r ob(st)=1 e ln(2) T revol (tdl(st) tob(st)) + 1 2 L'expression retenue pour sd(r) revient à faire la moyenne entre le pourcentage des bandes observées, propres à la requête r, et le pourcentage des bandes observées et dont les images sont vidées sur l'horizon de planication. Le terme cc(r) est le complémentaire du pourcentage moyen de couverture nuageuse prévue au-dessus des bandes constitutives de r. Le terme aa(r) ramène l'angle moyen d'acquisition des bandes constitutives de r entre 0 (toutes observées au nadir) et 1 (toutes observées droit devant, i.e. axe du satellite parallèle au vecteur vitesse ; non réaliste).
86 3. Formulation du problème de planication L'expression retenue pour ia(r) revient à faire la moyenne, sur les bandes associées à r, des valeurs d'une fonction impliquant l'âge des informations télédéchargées. Cette fonction n'est autre qu'une exponentielle négative, qui vaut 1 lorsque les images sont vidées instantanément après l'observation, et pour laquelle la distance à 0.5 est divisée par 2 à chaque révolution du satellite autour de la Terre (après un temps T revol ) ; voir Figure 3.10. Figure 3.10 Intérêt d'une image en fonction de l'âge de son information. 3.4 Analyse du problème de planication 3.4.1 Dicultés majeures du problème Mis à part les aspects déterministe et observable, certaines caractéristiques du problème que l'on cherche à résoudre le rendent dicile. D'abord, il conjugue problème d'ordonnancement surcontraint concernant les observations, et problème de sac à dos concernant les vidages. Plus encore, le problème d'ordonnancement présente des temps de transition entre deux observations dépendant de la date de n de la première. Il est lié aux problèmes de time-dependent scheduling, à ceci près que la dépendance est ici complexe car non analytique. Ensuite, des variables aussi bien discrètes (par exemple le nombre de on/o restants) que continues (par exemple le temps, l'énergie) sont manipulées. On constate également que le temps est paramètre de chaque action, tandis que certaines d'entre elles peuvent s'exécuter en parallèle. De plus, une diculté majeure réside dans la nécessité de maintenir l'attitude des satellites. Les eets de certaines actions et la faisabilité d'autres actions dépendent de la trajectoire en attitude empruntée (voir le paragraphe suivant). Enn, le critère d'évaluation, qui s'avère complexe, dépend de la trajectoire suivie dans l'espace des états. L'état nal doit donc résumer les aspects pertinents des états visités.
3.4. Analyse du problème de planication 87 3.4.2 Imbrication entre planication d'actions et planication de mouvements Réaliser une action, telle qu'une observation o, pour les satellites considérés, impose des mouvements spéciques : atteindre d'abord une attitude qui permette de débuter o, puis maintenir une attitude qui permette de réaliser o pendant toute la durée de l'observation. Le calcul de mouvements possibles génère des informations sur la faisabilité de o et peut réduire le domaine de ses paramètres tels que sa date de début. Dès que o et ses paramètres sont choisis, le calcul précis des mouvements génère des informations sur les eets de o, notamment sa date de n, son attitude de n, ou encore la quantité d'énergie produite par les panneaux solaires. En conséquence, planication d'actions (le choix des actions (Ghallab et al. 2004)) et planication de mouvements (calcul des mouvements (LaValle 2006)) sont fortement imbriquées. Les choix d'action, la vérication de leur faisabilité, et le calcul de leurs eets nécessitent des calculs de mouvements. Construire un plan complet d'actions puis un plan de mouvement associé serait tout à fait inecace du fait du grand nombre de backtracks possibles entre planication d'action et planication de mouvement (Guitton et Farges 2009, Cambon et al. 2009). En fait, la planication de mouvement doit être appelée dès que possible, c'est-à-dire dès qu'on envisage d'intégrer une nouvelle action dans le plan courant. On peut ainsi vérier pas à pas la faisabilité des actions, et calculer les eets produits. 3.4.3 Approches classiques dicilement applicables Une première approche classique en planication consiste à modéliser le problème dans un cadre générique de modélisation tel que la programmation linéaire en nombres entiers (Nemhauser et Wolsey 1988), la programmation par contraintes (Rossi et al. 2006), la planication d'actions (Ghallab et al. 2004) ou l'ordonnancement de tâches (Baptiste et al. 2001), puis à faire appel aux algorithmes génériques associés à ces cadres pour le résoudre. Cette approche permet de disposer d'un modèle formel du problème, de garantir, à défaut de l'optimalité souvent inaccessible, que les plans produits satisferont les contraintes exprimées dans le modèle et d'utiliser les mécanismes de recherche heuristique, de calcul de borne et de propagation de contraintes présents dans les algorithmes génériques. C'est cette approche qui a été mise en uvre dans des études précédentes traitant du problème de planication pour des satellites d'observation de la Terre, agiles ou non (Bensana et al. 1999, Lemaître et al. 2002, Mancel 2003, Habet et Vasquez 2004). Les problèmes de planication traités étaient toutefois beaucoup plus simples que celui que nous considérons aujourd'hui : prise en compte simpliée de l'agilité, non prise en compte des vidages, de l'énergie, de l'éblouissement, des mises on/o ou des températures des instruments. La mise en uvre d'une approche similaire apparaît très dicile pour le problème que nous considérons aujourd'hui, essentiellement du fait de la diculté à construire un modèle précis et complet du problème dans les cadres disponibles. Concernant la planication d'actions, nous ne sommes pas certains qu'une modélisation en
88 3. Formulation du problème de planication PDDL par exemple soit impossible, mais nous ne voyons pas comment procéder même avec les extensions existentes, par exemple pour gérer la forme particulière des plans avec séquence et parallélisme, ou pour gérer les planications des actions et des mouvements d'attitude décrits plus tôt. Côté ordonnancement, la gestion ne de l'état semble être une diculté majeure. De plus, comme cela a déjà été mentionné, la variante la plus intéressante pour notre problème, à savoir le time-dependent scheduling, requiert une formule analytique pour les temps de transition entre tâches (en réalité pour la durée des tâches) qui dépendent de l'instant. La programmation par contraintes est peut-être plus la plus à même de modéliser notre problème. La diculté majeure qu'elle rencontre est l'appel, dans les contraintes, à un code de calcul extérieur (calcul de trajectoire en attitude). A priori, ce cadre peut tout à fait être employé pour la vérication d'une solution. La résolution du problème, quant à elle, ne paraît pas accessible puisque les mécanismes de propagation sont susceptibles de ne pas fonctionner. En revanche, il serait en théorie possible, mais inenvisageable en pratique, de modéliser ce problème en pré-calculant par exemple, pour chaque instance du problème de planication, pour chaque paire d'observations o 1, o 2 et pour chaque date de réalisation de o 1, la date au plus tôt de réalisation de o 2 ou encore de pré-calculer, pour chaque paire d'observations o 1, o 2 et pour chaque date de réalisation de o 1 et de o 2, l'énergie produite et les créneaux de visibilité station générés par la transition de o 1 vers o 2 et par la réalisation de o 2. Une alternative à cette approche de modélisation directe de chaque instance consisterait à apprendre, indépendamment de toute instance et via des simulations intensives, les paramètres d'expressions mathématiques permettant d'approximer au mieux les quantités recherchées : par exemple, pour toute paire d'attitudes a 1, a 2, pour toute durée du, pour toute direction du soleil et pour toute direction de station, la trajectoire permettant de passer de a 1 à a 2 en du sans éblouissement, ainsi que l'énergie produite et les créneaux de visibilité station. Nous n'avons pas exploré cette voie, essentiellement parce que le modèle à apprendre semble extrêmement complexe et parce que des approximations ne garantissent en général pas que les plans produits soient réalisables. Une autre approche classique en planication consiste à se rapprocher de problèmes standards (voir Chapitre 1). Le problème qui est le nôtre conjugue deux aspects : un aspect sélection (problème surcontraint) qui s'apparente au problème du sac à dos, et un aspect ordonnancement proche du voyageur de commerce avec fenêtres temporelles. Cependant, des diérences majeures persistent, si bien que les techniques employées pour la résolution de ces problèmes standards ne sont pas directement utilisables. 3.4.4 Hypothèses de travail Modéliser un système réel, c'est en donner une représentation pertinente pour traiter un problème donné. Il convient, au préalable, de s'accorder sur les hypothèses de travail (Ghallab et al. 2004). L'espace d'états et l'espace d'actions sont a priori non nis puisque certains domaines de variables, parmi celles concernées, sont continus. Un nombre inni d'états, par exemple,
3.4. Analyse du problème de planication 89 peut être nécessaire pour décrire attitude, temps, énergie et température. En pratique, certaines variables sont discrétisées. Le système est totalement observable. On peut considérer avoir parfaite connaissance de l'état du système puisque, dans le contexte spatial, le taux de défaillance des équipements reste très faible. Le système est déterministe car l'eet des actions est déterministe du fait de l'environnement spatial. En revanche, des incertitudes planent sur l'état de la couverture nuageuse et sur l'arrivée de requêtes urgentes (l'état des objectifs évolue). L'environnement est dynamique essentiellement à cause des nouvelles requêtes urgentes d'observation qui peuvent surgir à tout moment, et des nouvelles prévisions météorologiques. Les contraintes ne se limitent pas à l'état nal, mais s'intéressent aussi aux états intermédiaires (états critiques à éviter, états par lesquels le système doit passer, trajectoires,... ), optimisant des fonctions d'utilité. Le plan peut être une structure mathématique plus riche qu'une simple séquence d'actions. Dans notre cas, du parallélisme vient s'ajouter. La prise en compte explicite du temps est nécessaire pour exprimer l'occurence d'événements, les actions concurrentes et la durée des actions. Même si les planications au sol sont souvent qualiées de hors-ligne, il est possible d'employer le terme de planication en ligne pour le problème traité, dans la mesure où les décisions sont adaptées en fonction des retours d'exécution. Plus précisément, l'exécution à bord s'eectue en boucle ouverte et un rebouclage s'opère ensuite par le sol.
90 3. Formulation du problème de planication 3.5 Conclusion Finalement, ce chapitre propose un modèle de type état/actions pour le problème rencontré. Variables d'état, actions disponibles et contraintes pesant sur les décisions sont énoncées. Un critère d'évaluation est ajouté car il s'agit en fait d'optimiser une fonction sur la trajectoire des états atteints. Ce problème tient de la planication et de l'ordonnnancement en Intelligence Articielle et Recherche Opérationnelle (Ghallab et al. 2004), mais également de la planication de mouvement (LaValle 2006). Cela nous conduit à la conception d'un algorithme de planication dédié, sans pour autant rejeter toutes heuristiques et bornes utilisées dans la résolution des problèmes standards proches (voir dans le prochain chapitre le recours à des heuristiques de type sac à dos, et à la propagation des dates de n au plus tard inspirée des mécanismes de propagation propres à l'ordonnancement). L'imbrication entre planication d'actions et planication de mouvements, mentionnée en 3.4.2, a été étudiée dans une communication internationale (Grasset-Bourdel et al. 2011a) au workshop "AI in Space : Intelligence beyond Earth" de la conférence IJCAI'11 (International Joint Conferences on Articial Intelligence), et, plus sommairement, dans une communication internationale (Grasset-Bourdel 2010) au "Doctoral Consortium" de la conférence ICAPS'11 (International Conference on Automated Planning and Scheduling).
Chapitre 4 Élaboration d'un algorithme de planication dédié Dans le présent chapitre, nous nous proposons d'élaborer un algorithme capable de construire, en une seule passe, un plan qui couvre toutes les activités des satellites, qui respecte toutes les contraintes physiques, qui satisfait les requêtes d'utilisateurs autant que possible, et qui requiert un temps de calcul limité. Pour cela, nous ouvrons d'abord une discussion sur le type de recherche qu'il est bon d'adopter, et présentons le principe général de l'algorithme spécique vers lequel nous nous dirigeons. Ensuite, nous entrons petit à petit dans le détail, précisant notamment la nature des décisions, et les stratégies dénies dans l'algorithme pour eectuer des choix judicieux. 4.1 Discussion sur le type de recherche à adopter Les actions possibles depuis un état donné, nous l'avons constaté, forment trois types d'action en étroites relations : actions qui contraignent l'attitude du satellite, regroupant man uvres orbitales, observations, pointages héliocentriques et pointages géocentriques ; la réalisation d'une action de ce type impose une trajectoire précise en attitude et la transition entre deux de ces actions impose un certain rendez-vous en attitude ; en somme, la séquence de ces actions mutuellement exclusives fournit la trajectoire en attitude du satellite ; actions qui dépendent directement de l'attitude du satellite, à savoir les vidages (ou télédéchargements) de données vers les stations sol ; la réalisation d'une action de ce type nécessite que le satellite soit visible depuis la station envisagée et que la trajectoire en attitude le permette (axe du satellite plus ou moins orienté vers cette même station) ; il s'agit d'une séquence d'actions parallèle à la précédente ; actions qui ne sont pas directement liées à l'attitude du satellite, à savoir les activations d'instruments ; elles dépendent des activités missions (observations, vidages) ; à chaque instrument est associée une séquence d'actions (allumage/extinction) dépendant des observations et des vidages retenus. Construire un plan répondant à ce type de problème revient donc à fournir plusieurs séquences parallèles d'actions datées : une séquence réunissant les actions qui imposent la trajectoire en attitude, une séquence liée aux vidages, ainsi qu'une séquence par instrument concernant leur activation ou non. Ce constat implique un ordre naturel dans les choix à eectuer :
92 4. Élaboration d'un algorithme de planication dédié niveau 1 - quelles man uvres orbitales? quelles observations? niveau 2 - quels pointages (ils viennent seulement après puisqu'il ne s'agit que d'actions support pour le rechargement des batteries par exemple, ou le positionnement en attente)? niveau 3 - quels vidages? niveau 4 - quelles activations des instruments? Il semble d'ores et déjà intéressant de planier les observations et man uvres orbitales (choix de niveau 1) dans l'ordre chronologique pour éviter les recalculs de trajectoire très coûteux : la trajectoire en attitude est alors construite pas à pas tout en s'assurant de sa faisabilité. En outre, il est judicieux d'eectuer, après chaque insertion d'une observation ou d'une man uvre, les choix de niveaux 2, 3 et 4 sur l'horizon de décision ]datecourante, datefinactionniveau1 ] en s'assurant pas à pas du respect des contraintes (mémoire, énergie, températures,... ). La date de n de l'action de niveau 1 devient alors la nouvelle date courante pour un nouvel ensemble de choix de niveaux 1, 2, 3 et 4, et ainsi de suite jusqu'à atteindre la n de l'horizon de planication. Un choix de niveau 1 suivi des choix de niveaux 2, 3 et 4 sur l'horizon ]datecourante, datefinactionniveau1 ] constitue ce que nous appellerons une décision à plusieurs étages. Ainsi, une succession de décisions à plusieurs niveaux sur des horizons temporellement contigus nous promet, a priori, un plan réalisable par construction. Notons simplement que si les choix de niveaux 2, 3 et 4 ne survenaient qu'après l'insertion de toutes les observations et man uvres enchaînables sur l'horizon, la violation d'une contrainte quelconque remettrait en cause la quasi-totalité des choix précédents. La notion de priorité d'une observation contraint davantage le problème. Pour une mission d'observation de la Terre, il est d'usage d'associer des priorités aux requêtes, et d'exiger l'étanchéité de ces priorités (optimalité lexicographique). Cette exigence nous conduit vers ce que nous appellerons une planication par priorités décroissantes : construction d'un plan (choix de niveaux 1, 2, 3 et 4 sur l'horizon de planication) ne tenant compte que des observations les plus prioritaires en premier lieu, puis construction d'un plan tenant compte des observations de priorité directement inférieure et imposant la séquence non datée des observations insérées dans le plan précédent, etc. Autrement dit, la séquence d'observations gurant dans un plan de priorité P doit impérativement apparaître dans les plans de priorité inférieure. Nos réexions nous conduisent donc vers une succession de recherches en avant où les décisions, décomposables en choix de plusieurs niveaux, sont faites sur des horizons temporellement contigus. Cependant, l'algorithme a l'obligation de terminer et de fournir une solution faisable (si l'état initial du système le permet), ce qui exclut toute recherche purement gloutonne. Des mécanismes de vérication de contraintes, par simulation si besoin, et de retour arrière vers les décisions antérieures sont nécessaires. Le principe général de l'algorithme vers lequel nous nous dirigeons est donc le suivant :
4.2. Planication par priorités décroissantes 93 Construction d'un plan par niveau de priorité : construction de plans intermédiaires de priorité p décroissante (entre P max et P min ) tentant d'insérer les actions de priorité p, tout en imposant la séquence non datée des actions de niveau 1 qui gurent dans le plan de priorité p + 1. Construction d'un plan de priorité p par recherche chronologique en avant et backtrack en cas de violation des contraintes ou d'impossibilité de réaliser une action de niveau 1 gurant dans le plan de priorité p + 1. Décision à plusieurs niveaux, à un instant t, décomposable en niveaux de choix. niveau 1 - observation / man uvre orbitale niveau 2 - pointages spéciques niveau 3 - vidages niveau 4 - activation des instruments La gure 4.1 donne une vision globale de l'algorithme (un seul satellite est considéré pour une compréhension plus aisée). 4.2 Planication par priorités décroissantes Tout d'abord, l'algorithme fonctionne par niveaux de priorité décroissants. Les requêtes d'observation dites "super-prioritaires" sont de niveau 3, celles dites "prioritaires" de niveau 2, et celles dites "de routine" de niveau 1. À chaque niveau de priorité p, le point de départ est le plan Pl produit au niveau précédent p + 1, lequel inclut des man uvres orbitales, des observations (de priorité p + 1 ou plus), des pointages spéciques (géo ou héliocentriques), des vidages de données, et des activations d'instruments. Cependant, n'est conservée du plan Pl que la séquence Seq des man uvres orbitales et des observations présentes dans Pl, sans leurs dates de début. Les autres types d'actions sont ignorés. Au niveau p, des observations de priorité p sont insérées dans Seq en s'autorisant à déplacer les dates de début. Les autres types d'actions (pointages, vidages de données, activations d'instruments) sont également ajoutées dans le but d'obtenir un plan cohérent. Au niveau 3 de priorité, le point de départ n'est autre que l'ensemble des man uvres orbitales qui sont imposées au système de planication mission par le système de contrôle des satellites. Ces man uvres sont perçues comme des requêtes de niveau 4. Une telle approche est justiée par le fait que toute requête de priorité strictement supérieure à p soit préférée à n'importe quel ensemble de requêtes de priorité p. En eet, cela nous conduit, lorsqu'il s'agit de construire un plan de priorité p, à considérer obligatoire l'ensemble des observations présentes dans le plan produit au niveau p + 1. Pour des raisons algorithmiques, nous considérons obligatoire la séquence de ces observations. D'ailleurs, il nous semble que bouleverser la séquence a peu de chances de l'améliorer. Cette approche itérative sur les priorités d'observation est synthétisée par l'algorithme 5. La gure 4.2, quant à elle, fournit un exemple simple de ce que peut donner une telle méthode.
94 4. Élaboration d'un algorithme de planication dédié INIT p = P max Planning over ]STA, t 1 ] t = STA initial state empty plan of priority p Observation Downloads imposed sequence of observations involved in the plan of prio- rity p + 1 t = STA Pointings Instruments inconsistency partial plan over ]STA, t 1 ] Planning over ]t 1, t 2 ] Observation Downloads t = t 1 Pointings Instruments p = p 1 partial plan over ]STA, t 2 ] inconsistency partial plan over ]STA, t n ] Planning over ]t n, END] Observation Downloads t = t n Pointings Instruments intermediate plan of priority p over ]STA, END] p = P min PLAN OVER ]STA, END] Figure 4.1 Vue d'ensemble de l'algorithme de planication pour un satellite. 4.3 Recherche chronologique en avant Contrairement à ce qui est fait à l'heure actuelle dans les systèmes opérationnels du CNES, nous souhaitons nous assurer du respect des contraintes au l de la planication. À cette n
4.4. Décisions de plusieurs niveaux 95 Algorithme 5 : Construction d'un plan respectant l'étanchéité des priorités input : horizon de planication [STA,END], états initiaux s 1 et s 2 des deux satellites, ensemble d'actions AP à planier output : Pl réalisable sur l'horizon de planication 1 2 3 4 5 6 7 8 9 10 11 12 P max 4 ; P min 1 ; p P max ; Seq 1 ; Seq 2 ; while p P min do ap p getactionsofpriop(ap, p) ; Pl buildintermediateplan(s 1, s 2, ap p, Seq 1, Seq 2, STA, END) ; Seq 1 getfirstlevelactions(pl, 1) ; //on récupère la séquence des obs. et man uvres propres au sat. 1, AVEC calcul des dates au plus tard Seq 2 getfirstlevelactions(pl, 2) ; p p 1 ; return Pl et si l'on cherche à limiter les calculs de trajectoires et d'énergie notamment, il est intéressant d'eectuer des décisions chronologiques. Le plan d'activités est alors construit en avant et de façon incrémentale. À chaque niveau de priorité p, l'algorithme construit un plan en avançant dans le temps, à partir du début de l'horizon de planication STA jusqu'à la n END. À chaque étape de cette recherche en avant, nous associons la date courante t, la prochaine observation o (de priorité p+1 ou plus) qui doit être insérée car appartenant à Seq, et l'ensemble Os des observations de priorité p qui sont ordonnançables après t et avant o. À la première étape, t = STA et o est la première observation dans Seq. L'algorithme détermine la prochaine observation o Os à insérer dans le plan, ainsi que sa date de début t. Si Os =, alors o = o (l'observation o est choisie, de même qu'une date de début). À l'étape suivante, t est remplacé par la date de n t de o et, si o = o, o est remplacée par l'observation qui la suit dans Seq (aucune si o se trouve être la dernière). Figure 4.3 illustre deux étapes successives de cette recherche chronologique en avant. Cette dernière s'arrête dès que, d'une part, o est nulle et, d'autre part, Os est vide, c'est-à-dire lorsqu'aucune autre observation ne peut être insérée dans le plan. L'algorithme 6 décrit globalement la construction d'un plan intermédiaire de priorité p. 4.4 Décisions de plusieurs niveaux En réalité, le choix de la prochaine observation à insérer n'est qu'un premier niveau de décision. Une fois déterminée la prochaine observation, l'algorithme eectue des choix de niveaux diérents sur l'horizon temporel de t à t : (2) insertion d'éventuels pointages géo ou
96 4. Élaboration d'un algorithme de planication dédié priorité 4 priorité 3 priorité 2 priorité 1 1/4 2/4 priorité 4 priorité 3 priorité 2 priorité 1 B E H E H C F C F D G G P=4 P=3 A B A D STA END STA END 3/4 4/4 priorité 4 priorité 3 priorité 2 priorité 1 priorité 4 priorité 3 priorité 2 priorité 1 H C C G G P=2 P=1 E B A F D E B A F H D STA END STA END Figure 4.2 Planication par niveau de priorité sur un exemple. étape i o t t t o étape i + 1 t o Figure 4.3 Deux étapes successives de l'algorithme chronologique en avant. héliocentriques, (3) possibles vidages de données, et (4) activation des instruments. Au deuxième niveau de la décision, des pointages géo ou héliocentriques sont insérés entre t et t, si possible. La trajectoire en attitude du satellite est alors complètement xée entre t et t. À partir de là, l'énergie produite par les panneaux solaires et les fenêtres de communication eectives sont calculées pas à pas en suivant la trajectoire (avec un pas de une seconde), de même que l'absence d'éblouissement des plans focaux est vériée. Au troisième niveau de la décision, des vidages de données sont insérés dans les fenêtres de communication eectives entre t et t, et les contraintes de mémoire sont vériées. En conséquence, les observations (premier niveau de décision) sont ici prioritaires devant les vidages.
4.4. Décisions de plusieurs niveaux 97 Algorithme 6 : Construction d'un plan intermédiaire de priorité p input : horizon de planication [STA,END], états initiaux s 1 et s 2 des deux satellites, ensemble d'actions ap p de priorité p à planier, séquences d'actions, Seq 1 et Seq 2, à maintenir par chacun des satellites output : un plan intermédiaire Pl de priorité p réalisable sur l'horizon de planication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 t 1 ST A ; t 2 ST A ; sat 1 ; t t 1 ; //on considère par défaut le satellite 1 Pl ; while t < END do décider de l'action a 1 de niveau 1 et des actions de niveaux 2, 3 et 4, valides, à ajouter à Pl pour le satellite sat d'état s sat à l'instant t, compte tenu des actions ap p de priorité P non réalisées, et de la séquence Seq sat à maintenir ; if a 1 then if a 1 ap p then supprimer a 1 de l'ensemble ap p ; else supprimer a 1 de l'ensemble Seq sat ; t sat a 1.end ; else t sat END ; sat argmin(t i ) ; //on se dirige vers la prochaine échéance i [1..2] t t sat ; return Pl Ceci est justié par la mission et des considérations algorithmiques : d'une part, l'observation est le principal goulet d'étranglement du système et, d'autre part, il est nécessaire de connaître les fenêtres de communication eectives, et donc l'observation et les pointages, avant de planier les vidages. Au quatrième et dernier niveau de la décision, les activations d'instruments sont ajoutées an de satisfaire les exigences en termes d'observation (plans focaux visible et infra-rouge) et de vidages (antenne haut-débit). Les contraintes qui portent sur l'énergie et les instruments sont vériées. La gure 4.4 montre un exemple de décision complète : au niveau 1, l'observation o est choisie et débute à t ; au niveau 2, un pointage géocentrique suivi d'un pointage héliocentrique sont insérés avant t ; au niveau 3, les vidages d 1, d 2, d 3 et d 4 sont ajoutés entre t et t ; au niveau 4, les décisions suivantes sont prises : à la date t, le plan focal visible était OFF et on décide de l'allumer un peu avant o ; le plan focal infra-rouge, quant à lui, était ON et on décide de le maintenir ON entre t et t ; à la date t, l'antenne était OFF et on décide de l'allumer avant d 1 et de la maintenir ON jusqu'à la n de d 4. Après que les choix ont été faits à chaque niveau, un plan cohérent est disponible de t
98 4. Élaboration d'un algorithme de planication dédié t t geo helio t d 1 d 2 d 3 d 4 ON ON o ON observations pointings downloads visible focal plane infra red focal plane antenna Figure 4.4 Exemple d'une décision complète à quatre niveaux : (1) observation, (2) pointages, (3) vidages, et (4) instruments. à t, prolongeant le plan qui existe déjà entre STA et t. Le processus de planication peut continuer à partir de t, partant d'un état du satellite parfaitement connu. Ce processus incrémental, qui construit pas à pas la trajectoire en attitude complexe du satellite, est la justication principale du recours à une recherche chronologique en avant. Pour simplier, nous présentons l'algorithme en supposant un seul satellite. Le processus de planication intercale en fait les décisions propres à chaque satellite. Plus précisément, après chaque prise de décision, la prochaine étape de planication est celle qui a lieu le plus tôt sur les deux satellites, c'est-à-dire l'échéance la plus proche. 4.5 Mécanismes de backtracks 4.5.1 Backtracks hiérarchiques Après chaque niveau d'une même décision, certaines contraintes sont vériées. Si l'une d'entre elles est violée, on retourne vers l'un des niveaux précédents pour eectuer de nouveaux choix. Nous qualions cette opération, interne à la décision, de backtrack hiérarchique. La gure 4.5 montre les mécanismes de backtrack hiérarchique entre niveaux de décision. On peut observer dans l'algorithme 7 le caractère composite d'une décision à un instant t, et les backtracks possibles entre niveaux. On peut y voir une analogie avec le backjumping. Cette méthode générale augmente l'- ecacité d'une recherche arborescente car elle permet de remonter directement de plusieurs niveaux dans l'arbre de recherche. Plus encore, nos backtracks hiérarchiques sont liés à la méthode de backtracking orienté dépendances (Stallman et Sussman 1977). C'est une technique de résolution qui permet d'échapper ecacement aux contradictions. Elle est invoquée dès lors que l'algorithme découvre l'inconsistence de l'état courant. Niveau 2 Si la contrainte de non-éblouissement est violée, on est renvoyé au niveau 1 pour un nouveau choix, après mémorisation de l'observation ayant entraîné l'échec.
4.5. Mécanismes de backtracks 99 Algorithme 7 : Décision de plusieurs niveaux input : l'état s à l'instant de décision t output : une observation ou un man uvre orbitale, des pointages spéciques, des vidages, des activations d'instruments 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 fail true; newlevel 1 ; while fail = true do fail false ; if newlevel = 1 then a 1 getfirstlevelchoice(s) ; newlevel newlevel + 1 ; if newlevel = 2 then a 2 getsecondlevelchoice(s, a 1 ) ; simuler la trajectoire engendrée pour calculer l'énergie produite par les panneaux solaires, déterminer l'ensemble edldwindows des fenêtres eectives de vidage possible, et vérier le non-éblouissement de l'instrument optique ; if éblouissement then fail true ; ajouter a 1 à forbiddenactions ; newlevel 1 ; else newlevel newlevel + 1 ; 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 if newlevel = 3 then a 3 getthirdlevelchoice([t, a 1.end], imtodld, edldwindows) ; //imtodld désigne l'ensemble des images à vider par le satellite concerné if dépassement mémoire then fail true ; ajouter a 1 à forbiddenactions ; newlevel 1 ; else newlevel newlevel + 1 ; if newlevel = 4 then a 4 getfourthlevelchoice(s,a 1,a 3 ) ; while problème provenant de l'énergie ou de la TMI et a 3 do supprimer le dernier vidage ; if problème provenant de l'énergie ou de l'un des instruments then fail true ; ajouter a 1 à forbiddenactions ; newlevel 1 ; 33 return [a 1, a 2, a 3, a 4 ]
100 4. Élaboration d'un algorithme de planication dédié current state at time t Observation remove observation o Pointings 1 dazzle remove observation o 0 remove observation o remove the last download Downloads memory problem 0 1 Instruments remove observation o 0 no more download to be removed 1 1 energy or antenna problem 0 focal plane problem 0 1 decision made over [t,t ] horizon Figure 4.5 Backtracks hiérarchiques entre niveaux de décision. Niveau 3 Si un dépassement mémoire est constaté à ce stade, on est renvoyé au niveau 1 pour un nouveau choix, après mémorisation de l'observation ayant entraîné l'échec. Niveau 4 Ici, les raisons de l'échec peuvent être diverses. Si l'échec provient de l'énergie disponible ou de la TMI (température de l'antenne, nombre de on/o réalisés, temps on cumulé), on est renvoyé au niveau 3 pour supprimer si possible le dernier vidage planié sur l'horizon de décision considéré, ou au niveau 1 sinon (i.e. si aucun vidage n'est planié). Si l'échec provient des plans focaux (température du plan focal visible, nombre de on/o réalisés, temps on cumulé), on est directement renvoyé au niveau 1 pour un nouveau choix, après mémorisation de l'observation ayant entraîné l'échec.
4.5. Mécanismes de backtracks 101 1/13 obs1 2/13 Niveau 1 Niveau 1 Ok Niveau 2 Niveau 2 pointage géo pointage hélio obs1 3/13 Niveau 1 Ok Niveau 2 Ok Niveau 3 Niveau 3 Niveau 3 Niveau 4 Niveau 4 Niveau 4 obs1 4/13 obs1 5/13 obs1 Niveau 1 Niveau 1 Ok Ok pointage géo pointage hélio pointage géo pointage hélio pointage géo pointage hélio Niveau 2 Niveau 2 Ok Ok im1 im2 im1 im2 im1 Niveau 3 Niveau 3 Ok Ok 6/13 Niveau 1 Ok Niveau 2 Ok Niveau 3 Ok Niveau 4 Niveau 4 X Niveau 4 pointage géo im1 obs1 7/13 obs1 8/13 obs1 Niveau 1 Niveau 1 Ok Ok pointage hélio pointage géo pointage hélio pointage géo pointage hélio Niveau 2 Niveau 2 Ok Ok Niveau 3 Niveau 3 Ok Ok 9/13 Niveau 1 Ok Niveau 2 Ok Niveau 3 Ok Niveau 4 X Niveau 4 Niveau 4 X obs2 10/13 obs2 11/13 obs2 Niveau 1 Niveau 1 Ok Ok pointage géo pointage hélio pointage géo pointage hélio Niveau 2 Niveau 2 Ok im1 im2 Niveau 3 Niveau 3 12/13 Niveau 1 Ok Niveau 2 Ok Niveau 3 Ok Niveau 4 Niveau 4 Niveau 4 pointage géo pointage hélio obs2 13/13 Niveau 1 Ok im1 im2 Niveau 2 Ok Niveau 3 Ok Niveau 4 Ok Figure 4.6 Backtracks hiérarchiques sur un exemple. La gure 4.6 illustre le mécanisme sur un exemple simple. 4.5.2 Backtracks chronologiques Ce que nous appelons ici "backtrack chronologique" est un renvoi vers une décision hiérarchique antérieure dans le temps, i.e. vers un instant de décision antérieur à l'instant courant, pour eectuer de nouveaux choix. Il survient lorsque aucune décision hiérarchique cohérente n'est possible depuis l'état courant. Attention à ne pas le confondre avec le backtrack chronologique rencontré dans la littérature, qui consiste simplement à retirer le dernier choix eectué et ses
102 4. Élaboration d'un algorithme de planication dédié conséquences. En pratique, un backtrack chronologique est rencontré si, à la création du plan de priorité p et à un instant de décision donné, les conditions suivantes sont réunies : l'action choisie au niveau 1 est une observation de priorité strictement supérieure à p donc obligatoire (l'observation o selon les notations utilisées) ; cette action conduit inévitablement à une incohérence. Plus précisément, le backtrack chronologique consiste alors à retourner à la précédente insertion d'une observation de priorité p, abandonner dénitivement cette observation pour limiter la combinatoire (nombre de backtracks), eectuer de nouveaux choix aux niveaux 1, 2, 3 et 4, et poursuivre le processus décisionnel (voir l'exemple de la gure 4.7 ; nous ne gérons pas explicitement d'arbre, il illustre uniquement le principe). L'abandon pur et simple de l'observation en question peut paraître brutal. Mais, nous supposons que si elle a posé problème, il y a peu de chances pour qu'elle n'en pose plus par la suite. En eet, l'échec constaté est lié à une quantité cumulative telle que l'énergie, le nombre de cycles on/o consommés, etc. An d'éviter autant que possible ces backtracks, il est possible de calculer la date au plus tard pour chaque observation appartenant à la séquence Seq (à rebours en partant de la dernière observation et en calculant les transitions minimales). Il sut alors d'interdire le choix d'une observation de priorité p qui repousserait la prochaine observation obligatoire au-delà de sa date au plus tard. Il faut donc être en mesure de récupérer un précédent état du système. Ici, une partie de l'état est recalculé (la position sur orbite par exemple), l'autre est rétablie via ce qui a été mémorisé au l de la recherche. Pour limiter la consommation de mémoire, nous enregistrons seulement les modications de l'état du satellite après chaque décision hiérarchique. 4.6 Heuristiques Des heuristiques sont nécessaires pour faire de "bons" choix aux diérents niveaux de décision. Ces heuristiques sont cruciales pour la production de plans de bonne qualité puisque, par souci d'ecacité, l'algorithme n'eectue des retours arrières qu'en cas de violation de contraintes, jamais pour tenter d'améliorer le plan courant. Il est important de saisir la diérence entre le critère global d'optimisation déni en 3.3.7 et les heuristiques locales décrites plus bas, qui ont pour unique but de guider la recherche vers des solutions de bonne qualité. Les choix de niveaux 1 et 3, ont un impact direct sur le critère global. Le gain immédiat apporté par le choix d'une action est connu. Si le gain futur l'était également, il surait de choisir l'action qui maximise la somme de ces deux gains. Ici, le gain futur n'est ni calculable ni estimable raisonnablement. En revanche, au niveau 1 comme au niveau 3, il est possible d'associer au choix d'une action un coût rendant compte de l'impact sur le futur. On peut alors choisir l'action qui maximise le ratio gain, compromis entre gain immédiat et coût impact sur le futur. C'est le type d'heuristiques couramment utilisées dans les problèmes de sac à dos (voir en 1.2.1).
4.6. Heuristiques 103 A1 B1 D3 F1 G3 1/7 H4 2/7 H4 A1 B1 D3 F1 G3 STA C1 E1 END STA fenêtre de C1 E1 observation C visibilité de G P=1 P=1 de priorité 1 A1 B1 D3 E1 G3 Niveau 1 END Niveau 1 A A B B B B C C C C C C C C E E E E E E E E E E E E E E E E F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F Les plans de priorité 4, 3 et 2 ont déjà été produits. Les actions D, G et H figurent dans ces plans. Elles doivent donc appa raître dans le plan de priorité 1. A A B B B B E C C C C C C C E F F F X E E E E E E E E E E E E F F F F F F F F F F F F F F F F F F F F F F L'insertion de G implique un échec E dénitivement supprimée backtrack chronologique F F A1 B1 D3 F1 G3 H4 3/7 A1 B1 D3 F1 G3 H4 4/7 STA C1 E1 END STA C1 E1 END P=1 A1 B1 D3 F1 P=1 A1 B1 D3 F1 G3 Niveau 1 Niveau 1 A A B B B B C C C C C C C E E E E E E E E A A B B B B E C C C C C C C E E E E E E E L'insertion de G implique un échec F dénitivement supprimée backtrack chronologique F F F F F F F F F F F F F X F F F F F F F F F F F F F F F XX F F A1 B1 D3 F1 G3 H4 5/7 A1 B1 D3 F1 G3 H4 6/7 STA C1 E1 END STA C1 E1 END P=1 A1 B1 D3 G3 P=1 A1 C1 Niveau 1 Niveau 1 A A B B B B C C C C C C C E E E E E E E E L'insertion de G implique un échec B dénitivement supprimée backtrack chronologique A A B B B C C C C C E E E E E E F F F F F F F F F F F F F F F XX X XX X F A1 B1 D3 F1 G3 H4 7/7 STA C1 E1 END P=1 A1 C1 D3 G3 H4 Niveau 1 A A B B B Plan complet réalisable C C C C C E E E E E E F F F F F F XX X Ok F Figure 4.7 Backtracks chronologiques sur un exemple.
104 4. Élaboration d'un algorithme de planication dédié Les choix de niveaux 2 et 4 n'ont pas d'impact direct sur le critère global, mais ils en ont sur les ressources. Ils doivent donc tendre à limiter la consommation de ces ressources. Au niveau 4, nous proposons une heuristique de type max-min, retenant l'action qui maximise le minimum des quantités relatives restantes (maxmin ). On retrouve ce quantité restante quantité totale genre d'heuristiques dans les problèmes d'optimisation multicritères. Au niveau 2, une règle "experte" est employée. 4.6.1 Niveau 1 : quelle observation (ou man uvre orbitale)? Hypothèses Une man uvre orbitale se réduit à un créneau temporel, une attitude de début, et une attitude de n (attitudes de pointages d'attente : pointages hélio ou géocentriques). En fait, ce créneau englobe le créneau eectif au cours duquel se produit la man uvre. La production énergétique est fournie puisqu'il s'agit d'une trajectoire particulière. La consommation énergétique est égale à la consommation de veille. Les man uvres orbitales doivent être enchaînables indépendemment du reste (programmées par les opérateurs au sol). Heuristique de choix de l'action Si le plan en cours de construction est de priorité 4, autrement dit si les actions à insérer sont les man uvres orbitales, nous retenons la plus proche dans le temps après l'instant de décision. Si le plan en cours de construction est de priorité p < 4, autrement dit si les actions à insérer sont les observations de priorité p et les observations de priorité strictement supérieure à p insérées dans le plan de priorité p + 1, un compromis entre gain immédiat et proximité dans le temps est nécessaire. Une heuristique sac à dos de type gain coût est adaptée. Ici, le gain correspond à l'utilité apportée, et le coût à l'horizon temporel couvert entre l'instant de décision et la n de l'action (si elle est réalisée au plus tôt). Le choix se porte d'abord sur l'observation o Os qui maximise le rapport utilité(o ) eet(o ) t, où utilité(o ) représente le gain supplémentaire apporté au critère global par cette observation, eet(o ) la date de n au plus tôt (earliest ending time), et t l'instant de décision. Si l'insertion de cette observation repousse la prochaine action o de priorité supérieure à p au-delà de sa date de début au plus tard ou si le rendez-vous en attitude n'est pas réalisable, alors on passe à la suivante (observation de valeur heuristique directement inférieure). Si aucune observation n'est retenue, alors l'heuristique élit l'action o.
4.6. Heuristiques 105 Heuristique de choix de la date Si l'action choisie est une man uvre orbitale, la date de début est celle xée par les opérateurs. Si l'action choisie est une observation o, un compromis est là encore nécessaire : il faut choisir une date de début qui implique une bonne qualité image tout en limitant la perte potentielle d'utilité (une date trop tardive pourrait rendre impossibles d'autres observations ou dégrader leur qualité du fait d'angles trop conséquents). Nous choisissons la date t qui maximise la diérence entre, d'une part, l'augmentation du critère résultant de l'insertion de o à la date t (fonction de l'angle d'observation ; gain), et d'autre part, la somme des diminutions potentielles du critère (coût). Le choix se porte donc sur la date t telle que : t = argmax ( utilité(t s ) utilité impossibles (t s ) utilité dégradées (t s )) t s [est(o ),lst(o )] utilité impossibles (t s ) = (utilité(o, t best (o )) utilité(o, t s )) o IO utilité dégradées (t s ) = (utilité(o, t best (o )) utilité(o, t min (o, o, t s ))) o PO est(o ) et lst(o ) sont respectivement les dates de début et de n au plus tôt de l'observation o. utilité(t s ) est le gain supplémentaire apporté au critère global par l'observation o à la date t s. IO désigne l'ensemble des observations de Os qui, par le choix de t, deviennent impossibles. PO désigne l'ensemble des observations de Os qui, par le choix de t, sont repoussées au-delà de leur date de survol. On y ajoute, s'il s'agit d'une observation, la prochaine action o de Seq. utilité(o, t ) est la valeur du critère après insertion de l'observation o à l'instant t. t best (o ) correspond à la "date de survol" de la bande associée à l'observation o, i.e. la date qui ore la meilleure qualité image. t min (o, o, t ) correspond à la date de début au plus tôt de l'observation o, après l'observation o, réalisée à l'instant t. Intérêt de la règle choisie Chacune des deux parties de la règle propose un compromis entre le gain immédiat apporté au critère global et la perte future potentielle. Quelques conséquences de cette heuristique : Entre deux observations qui apporteraient le même gain supplémentaire, nous choisissons celle qui nirait le plus tôt.
106 4. Élaboration d'un algorithme de planication dédié Entre deux observations qui nirait en même temps, nous choisissons celle qui apporterait le gain supplémentaire le plus élevé. Entre deux dates qui apporteraient le même gain supplémentaire, nous choisissons celle qui est susceptible de repousser le moins d'observations postérieures. En conséquence, sur une "orbite chargée" (forte concentration de demandes), on aura tendance à réaliser les observations au plus tôt, tandis que, sur une orbite peu chargée, on aura tendance à réaliser les observations à angle faible (bonne qualité image). L'algorithme 8 apporte davantage de détails. Algorithme 8 : Choix de la prochaine observation ou man uvre orbitale input : l'état s à l'instant de décision t, la prochaine observation o obligatoire, les actions forbiddenactions momentanément interdites output : la prochaine observation o (ou man uvre orbitale à eectuer) 1 2 3 4 5 6 7 8 9 10 11 12 13 if p = P max then o getnextorbitalmaneuver(t) ; else Récupérer l'ensemble Os des observations de priorité p, non réalisées et réalisables depuis l'état s à t, et n'appartenant pas à forbiddenactions ; Trier Os selon le critère heuristique de choix de la prochaine observation ; i 0 ; decided false ; while i < Os.size() et decided=false do o Os.get(i) ; t 1 date au plus tôt de o depuis l'état s à t ; t 2 max(t 1, t best (o )) ; car le critère diminue ensuite //inutile d'aller au-delà de la date de survol Choisir la meilleure date t entre t 1 et t 2 selon le critère heuristique de choix de la date, avec rendez-vous possible entre o et o (si o null) ; if une telle date existe then decided true ; 14 15 16 17 18 if decided =false then o o ; t 1 date au plus tôt de o depuis l'état s à t ; t 2 max(t 1, min(t best (o ), lst(o ))) ; //lst(o ) désigne la date au plus tard qui garantit la faisabilité ultérieure des autres observations obligatoires Choisir la meilleure date t entre t 1 et t 2 ; 19 return o
4.6. Heuristiques 107 4.6.2 Niveau 2 : quels pointages spéciques? Hypothèses Un pointage géocentrique ne conduit jamais à un éblouissement de l'instrument optique (y compris en entrée et sortie d'éclipse). En sortie d'une observation sans éblouissement, il est possible de sélectionner, sans éblouissement, un rendez-vous en attitude vers un pointage hélio ou géocentrique. Le non éblouissement des man uvres orbitales est supposé garanti par le calcul de man uvres. Heuristique Une fois choisie une observation ou une man uvre au niveau 1, le niveau 2 tente d'insérer des pointages hélio et géocentriques. Ces pointages sont des activités support, chargées entre autres de maximiser le niveau d'énergie, d'optimiser les possibilités de vidage eectif, ou simplement de se positionner en attente. La règle de décision retenue se formule en deux étapes successives : 1. insertion de pointages héliocentriques de durée maximale (en période d'éclairement du satellite), avant l'action choisie au niveau 1 et avec rendez-vous en attitude réalisables ; néanmoins, on ne prévoit pas de pointage héliocentrique au voisinage d'une station sol de réception : on laisse place à un éventuel pointage géocentrique pour optimiser les communications bord-sol (en visibilité d'une station, un pointage géocentrique assure la possibilité de communiquer). 2. insertion de pointages géocentriques de durée maximale, avant l'action choisie au niveau 1, entre les pointages héliocentriques déjà insérés et avec rendez-vous en attitude réalisables. L'algorithme 9 apporte davantage de détails, et la gure 4.8 propose une série de choix possibles au niveau 2. Remarque 1 : Le pointage héliocentrique a priorité (excepté au voisinage d'une station sol de réception) sur le pointage géocentrique, ce qui est cohérent puisque, contrairement au premier, le second n'est pas directement bénéque au satellite. Remarque 2 : En entrée ou sortie d'éclipse, la transition d'un pointage héliocentrique vers un pointage géocentrique, ou inversement, s'eectue systématiquement de nuit (pour maximiser la production d'énergie). Remarque 3 : En sortie d'une action de niveau 1 (observation, man uvre), la transition vers un pointage hélio ou géocentrique, et de fait vers une man uvre orbitale, est possible sans éblouissement (voir hypothèses). En revanche, la transition vers une observation n'assure pas le non-éblouissement de l'instrument optique. Si l'éblouissement est constaté, l'observation choisie est rejetée.
108 4. Élaboration d'un algorithme de planication dédié Jour RDV helio RDV a Jour RDV a Jour Nuit RDV helio RDV geo RDV a Jour Nuit RDV helio RDV a Jour Nuit RDV geo RDV a Jour Nuit RDV a Nuit RDV geo RDV a Nuit RDV a Nuit Jour RDV geo RDV helio RDV a Nuit Jour RDV geo RDV a Nuit Jour RDV helio RDV a Nuit Jour RDV a Figure 4.8 Quelques scénarios possibles au niveau 2 de la décision. Intérêt de la règle choisie Cette règle assure un niveau élevé d'énergie disponible et la possibilité d'une communication fréquente tout au long de l'horizon de planication. Le système étant bien dimensionné, les pointages héliocentriques ne sont pas systématiquement nécessaires. En revanche, cela devient intéressant en situation critique de type panne de batteries.
4.6. Heuristiques 109 Algorithme 9 : Choix des pointages spéciques input : L'état courant s d, l'état s e au début de l'action retenue au niveau 1 output : Ensemble a 2 de pointages héliocentriques et géocentriques 1 2 3 4 5 6 7 8 9 10 11 12 13 a 2 ; SPset getsetofsunpointings(s d, s e, {eclipse}, visiwindows) ; s 0 s d ; foreach sp SPset do //on intercale si possible des pointages géocentriques s 1 sp.startstate ; gp getnextgeopointing(s 0, s 1 ) ; if gp then ajouter gp à a 2 ; ajouter sp à a 2 ; s 1 s e ; gp getnextgeopointing(s 0, s 1 ) ; if gp then ajouter gp à a 2 ; 14 return a 2 4.6.3 Niveau 3 : quels vidages? Heuristique Il s'agit, à ce niveau de la décision, d'insérer un ensemble de vidages dans les fenêtres eectives de télédéchargement. Puisque l'optimisation est globalement lexicographique, la prochaine image à vider est à choisir parmi celles issues des requêtes de plus haute priorité (tant qu'il reste des images associées à des requêtes de priorité 3, on n'essaie pas de vider les autres... ). La distinction est alors faite par tri décroissant des rapports utilité(im), où durée(im) utilité(im) représente le gain supplémentaire apporté au critère global par le vidage de l'image im, et durée(im) la durée de ce vidage. L'algorithme 10 apporte davantage de détails. Notons que deux images issues d'une même observation (jour sol) et de plans focaux diérents doivent être vidées sur une même station, au même passage. Cela n'apparaît pas dans l'algorithme 10. Intérêt de la règle choisie Cette règle propose un compromis entre gain immédiat apporté et temps consommé. Ce genre d'heuristiques a déjà fait ses preuves dans des problèmes de type sac à dos.
110 4. Élaboration d'un algorithme de planication dédié Algorithme 10 : Choix des images à télédécharger input : dates de début t s et n t e de l'horizon de décision, ensemble effdldwindows des fenêtres eectives de vidage, ensemble imtodld des images à vider output : un ensemble a 3 de vidages 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 a 3 ; t t s ; trier l'ensemble imtodld des images à télédécharger par priorité décroissante, puis, à priorité égale, par utilité(im) durée(im) décroissant ; if effdldwindows then cvisi prochaine fenêtre eective de vidage ; t date de début de cvisi ; else t t e ; while t < t e et imtodld do i 0 ; while aucun vidage n'est prévu à t et i < imtodld.size do im imtodld.get(i) ; if im peut être vidée à t dans cvisi then ajouter à a 3 le vidage associé ; supprimer im de imtodld ; else j 0 ; while le vidage de im à t n'est pas prévu ET j < effdldwindows.size do visi effdldwindows.get(j) ; if visi cvisi et im peut être vidée à t dans visi then ajouter à a 3 le vidage associé ; supprimer im de imtodld ; cvisi visi ; j j + 1 ; 25 26 27 28 29 30 31 i i + 1 ; if il existe image dont le vidage est prévu à t then t t + image.dldduration ; else if il existe des fenêtres eectives de vidage débutant après t then t date de début de la prochaine dans le temps ; else t t e ; 32 return a 3
4.6. Heuristiques 111 4.6.4 Niveau 4 : dates d'activation des instruments sollicités? Heuristique L'observation ou la man uvre ainsi que les vidages sont désormais planiés. Les besoins en termes d'activation des instruments (plans focaux et TMI) sont donc connus sur l'horizon ]datecourante, datefinactionniveau1 ]. Le plan focal infrarouge doit impérativement être allumé pendant une observation ; le plan focal visible doit impérativement être allumé pendant une observation de jour (au sol) ; la TéléMesure Image doit impérativement être allumée pendant un vidage. Entre deux créneaux temporels [t 1, t 2 ] et [t 3, t 4 ] au cours desquels un instrument est nécessairement on, deux actions s'envisagent : 1. maintenir l'instrument on entre t 2 et t 3 ; 2. éteindre l'instrument à t 2 et l'allumer à nouveau légèrement avant t 3 (durée de préchauage à respecter). Pour un instrument donné, si aucune de ces deux actions n'est possible (lorsque le temps on cumulé maximal est atteint par exemple), un échec est constaté. En revanche, si seule l'une d'entre elles s'avère possible (lorsque la durée t 3 t 2 est inférieure au temps de préchauage par exemple), elle est aussitôt retenue. Enn, si les deux actions mentionnées plus haut sont possibles entre deux activations d'un même instrument, la deuxième alternative (économie d'énergie, limitation de l'échauement) ne sera pas forcément retenue à cause du nombre maximal de cycles on/o autorisés (durée de vie et abilité de l'instrument). Le choix doit tenir compte de l'énergie, de la température de l'instrument considéré (à l'exception du plan focal infrarouge), du nombre de on/o réalisés et du temps on cumulé. Seul le nombre de on/o pousse à maintenir on l'instrument considéré. Il s'agit de choisir, pour l'instrument considéré, l'alternative qui maximise les quatre rapports quantiterestante quantitemax à la date t 4, ce qui s'apparente à un problème d'optimisation multicritère. Nous décidons de comparer le plus petit des quatre rapports de l'alternative 1 à celui de l'alternative 2, et de choisir l'alternative qui détient le plus grand d'entre eux (technique max-min classique). L'indice alt de l'alternative à suivre pour l'instrument in est donnée par la relation : alt = argmax k {1,2} (min( onoffrestant in(k) onoffmax in, tonrestant in(k) tonmax in, TRestant in(k), enrestant in(k) )) TMax in enmax in Seulement, l'un des rapports, celui lié à l'énergie, peut s'avérer dicile à prédire puisqu'il dépend de l'activation de chacun des instruments. L'idée est la suivante : nous traitons d'abord les instruments pour lesquels l'alternative est toute désignée ; les instruments pour lesquels le (ou les) choix n'ont pas encore été pris sont traités dans l'ordre plan focal visible, plan focal infra-rouge, et antenne haut-débit (télémesure image), en supposant des activations minimalistes. L'algorithme 11 applique cette heuristique.
112 4. Élaboration d'un algorithme de planication dédié Algorithme 11 : Choix des mises on/o des instruments input : a 1 et a 3 choisis précédemment, état courant au début de l'horizon de décision output : a 4 constitué de deux actions de maintien en activité ou non propres aux plans focaux IR et visible, et d'un ensemble d'actions similaires propres à la TMI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 foreach fp {plan focal IR, plan focal visible} do if aucune des deux actions {maintenir on, rallumer} n'est envisageable pour fp then return échec plan focal fp else if une seule action est envisageable then cette action est retenue par le plan focal fp pour a 1 ; foreach dld a 3 do if aucune des deux actions {maintenir on, rallumer} n'est envisageable pour le vidage de dld then return échec TMI else if une seule action est envisageable then cette action est retenue par la TMI pour le vidage dld ; if les deux actions sont envisageables pour le plan focal visible then choisir l'action A qui maximise, après exécution, les quantités les plus limitantes (température, nombre de cycles on/o, temps on cumulé, et énergie à bord) ; ajouter à a 4 l'action décidée pour le plan focal visible ; if les deux actions sont envisageables pour le plan focal IR then choisir l'action A qui maximise, après exécution, les quantités les plus limitantes (nombre de cycles on/o, temps on cumulé, et énergie à bord) ; ajouter à a 4 l'action décidée pour le plan focal IR ; foreach dld a 3 do if les deux actions sont envisageables pour le vidage de dld then choisir l'action A qui maximise, après exécution, les quantités les plus limitantes (température, nombre de cycles on/o, temps on cumulé, et énergie à bord) ; ajouter à a 4 l'action décidée pour le vidage dld ; 21 return a 4 Intérêt de la règle choisie Cette règle choisit globalement l'alternative qui, après exécution, limite la consommation des ressources, chose raisonnable. Cette heuristique max-min est employée de façon classique dans ce type de problèmes d'optimisation multicritère. Ce critère égalitariste est justié par la volonté de satisfaire les contraintes sur les ressources à la n de la décision.
4.7. Propagation 113 4.7 Propagation Dans une recherche arborescente, toutes formes de propagation (ou anticipation) sont bonnes à prendre. Ces stratégies de look ahead sont ecaces dans la mesure où elles réduisent l'espace de recherche. Cependant, de tels mécanismes peuvent s'avérer gourmands en temps de calcul. Il faut donc trouver un compromis entre ce qu'ils rapportent (choix élagués) et ce qu'ils coûtent. Dans l'algorithme présenté ici gurent quelques mécanismes de propagation, essentiellement pour limiter les backtracks chronologiques, c'est-à-dire les échecs mettant en cause une observation obligatoire. Par exemple, lorsque nous débutons la construction d'un plan de priorité p, nous calculons (à rebours et avec prise en compte des durées de transition) les dates au plus tard des observations de priorité strictement supérieure à p, qui apparaissent dans le plan de priorité p + 1 et qui sont désormais obligatoires (séquence Seq). Ainsi, à l'insertion d'une observation de priorité p, il sut de vérier que le rendez-vous nécessaire ne repousse pas la prochaine observation o Seq au-delà de sa date au plus tard pour s'assurer qu'aucune observation obligatoire ultérieure ne devienne impossible. Autre chose, nous maintenons, pour chaque plan focal, un temps d'activation minimal nécessaire aux observations obligatoires sur l'horizon restant, an d'éviter les mauvaises surprises. Des mécanismes plus complexes sont tout à fait envisageables, en gardant bien sûr à l'esprit le compromis entre gain et coût. Une idée intéressante serait d'évaluer, pour chaque plan focal, le temps d'activation minimal nécessaire aux observations obligatoires sur l'horizon restant, compte tenu du nombre de cycles on/o restants, et inversement, le nombre de cycles on/o minimal nécessaire, compte tenu du temps d'activation restant. 4.8 Nature du résultat Le résultat fourni par l'algorithme est un plan réalisable (si l'état initial du système le permet). Il prend la forme d'une séquence d'actions de type man uvres orbitales, observations, pointages géo et héliocentriques, avec des mouvements en attitude entre actions consécutives, et avec des vidages de données et des activations d'instruments en parallèle. Par ailleurs, on compte seulement sur les heuristiques pour obtenir une solution de bonne qualité puisque, d'une part, l'algorithme termine au premier plan produit, et d'autre part, les backtracks sont autorisés en cas de violation de contraintes et non pour optimiser la solution. 4.9 Conclusion Finalement, l'algorithme proposé dans ce chapitre est une succession de recherches en avant dans le temps avec règles de décision dédiées et mécanismes de backtrack en cas de violation de contraintes. Il s'agit de recherches arborescentes limitées puisque peu de choix sont remis en cause : en cas d'incohérence seulement, jamais pour obtenir un plan de
114 4. Élaboration d'un algorithme de planication dédié meilleure qualité. Il termine à la première solution obtenue. (Lemaître et al. 2002) étudie également un problème de planication d'observation de la Terre par un satellite agile. Il compare diérentes techniques plus ou moins sophistiquées : algorithme glouton, approche à base de programmation par contraintes, programmation dynamique et recherche locale. Toutefois, insistons sur le fait que le problème à traiter dans ce papier est nettement moins complexe que celui qui fait l'objet de cette thèse. En eet, les contraintes de limitation de la mémoire et de l'énergie à bord ne sont pas prises en compte, tout comme les télédéchargements, les pointages d'attente... De plus, le temps de transition minimal entre deux observations dépend seulement de la séquence, et non pas de la date de n de la première. (Beaumet et al. 2011) étudie un problème qui se rapproche davantage. Cependant, nous n'utilisons pas les algorithmes qui y sont développés car les problèmes présentent en réalité des diérences trop importantes. Viennent s'ajouter ici le besoin de non éblouissement des plans focaux par exemple, la gestion de l'activation et le contrôle de la température des instruments, ainsi que la possibilité de télédécharger des données sans pointage précis vers une station et donc en parallèle. De plus, dans l'article cité, l'objectif était de construire des plans sur un horizon court en avant, an de prendre de bonnes décisions à bord, tandis que notre problème est de construire au sol, sur un horizon d'une journée, des plans réellement exécutables par les satellites, autrement dit qui prennent en compte précisément l'ensemble des contraintes physiques. Au niveau algorithmique, les apports majeurs sont l'utilisation de mécanismes de backtrack en cas de violation de contraintes et l'emploi d'heuristiques de choix sophistiquées, contre l'emploi dans (Beaumet et al. 2011) d'heuristiques limitées à des règles de décision bruitées. Au chapitre suivant, l'algorithme développé pour répondre à notre problème de planication d'observations de la Terre est adapté pour prendre en compte d'éventuelles requêtes urgentes, reçues durant l'exécution du plan. L'objet des chapitres 3 et 4 s'est traduit par une communication internationale (Grasset- Bourdel et al. 2011b) à la conférence IWPSS'11 (International Workshop on Planning and Scheduling for Space).
Chapitre 5 Résolution du problème de replanication suite à l'arrivée de requêtes urgentes Dans le présent chapitre nous nous proposons, dans un premier temps, de formuler le problème de replanication qui survient lorsque des requêtes urgentes d'observation sont reçues durant l'exécution du plan, et dans un second temps, de résoudre ce nouveau problème. Pour cela, qualité intrinsèque et stabilité d'un plan sont dénies et forment ainsi, une fois combinée, le nouveau critère à optimiser. Les données spéciques à ce nouveau problème sont précisées. Enn, nous montrons comment l'algorithme de planication présenté plus tôt peut être utilisé dans cette conguration, en eectuant quelques modications qui limitent le temps de calcul et qui tendent eectivement à optimiser ce nouveau critère. 5.1 Description du problème de replanication Chaque jour, à un instant donné, un plan est construit pour le jour suivant à partir de toutes les requêtes qui ne sont pas entièrement satisfaites. Ce plan est produit au sol et ensuite envoyé aux satellites pour exécution à bord. Une fois le plan exécuté, les données qui ont été transférées au sol par les satellites sont analysées en tenant compte de la couverture nuageuse réelle. Les requêtes pleinement achevées sont alors supprimées. Cependant, un tel système de gestion n'est pas très réactif : nous sommes contraints d'attendre le jour suivant pour prendre en compte toute requête urgente 1 d'observation qui surviendrait au cours de la journée programmée. Ceci amène à considérer un système qui tire avantage de la présence de plusieurs stations de contrôle. Les nombreuses fenêtres de visibilité associées sont autant d'occasions d'envoyer des modications de plans d'activités (voir Figure 5.1). En pratique, avant une fenêtre de communication possible entre une station sol de contrôle et l'un des satellites, un plan est construit pour le reste de la journée, à partir de toutes les requêtes connues, urgentes ou non. Les données du problème de replanication sont, d'une part, le plan courant d'activités impliquant des centaines d'observations et, d'autre part, au plus quelques dizaines de requêtes urgentes d'observation. La replanication est guidée par deux objectifs : produire un nouveau plan de meilleure qualité possible, comme en planication journalière, mais aussi maintenir, dans ce nouveau plan, un maximum d'observations déjà présentes dans l'ancien. En eet, un plan est une sorte d'engagement vis-à-vis des utilisateurs. 1. Attention, une requête urgente n'est pas nécessairement prioritaire. C'est simplement une requête de dernière minute jugée assez importante pour replanier les activités satellitaires.
116 5. Résolution du problème de replanication suite à l'arrivée de requêtes urgentes Bord Exécution Sol Planification Replanif. Planification 0 h 24 h Envoi du plan nouvelles informations Envoi du plan Figure 5.1 Replanication en cours de journée. Enn, insistons sur la criticité du temps de calcul : an de continuer à prendre en compte des requêtes urgentes le plus tard possible avant l'envoi du nouveau plan, et ainsi d'assurer une grande réactivité, le temps de calcul disponible pour la replanication se limite à la moitié de celui disponible pour la création du plan journalier. 5.2 Formulation du problème Le nouveau problème est désormais posé. Cette section se consacre à sa modélisation. 5.2.1 Qualité intrinsèque et stabilité des plans Lorsqu'il s'agit de replanier, i.e. construire un nouveau plan d'actions, il est crucial de se demander comment gérer les deux objectifs potentiellement contradictoires que sont la qualité intrinsèque du nouveau plan, mesurée via le critère utilisé en planication, et la stabilité du plan, qui évalue la diérence entre le nouveau et l'ancien plan. Émergent alors les deux questions suivantes : 1. Comment dénir la diérence entre deux plans? 2. Comment combiner ces objectifs de qualité et de stabilité? Ces questions sont notamment étudiées en planication (Fox et al. 2006, Cushing et al. 2008), en ordonnancement (Sakkout et al. 1998), et en satisfaction de contraintes (Verfaillie et Jussien 2005). A priori, il n'existe pas de réponse générique évidente. Tout dépend du problème considéré. Dans notre problème, la qualité d'un plan est mesurée par un vecteur d'utilités (v 3, v 2, v 1 ), où v p correspond à l'utilité globale associée aux requêtes de priorité p. Nous maintenons cette vue hiérachique globale au moment de replanier. Pour toute priorité p, soit R p l'ensemble des requêtes de priorité p. Pour toute requête r, soit w r l'utilité associée à r. Nous avons : v p = r R p w r.
5.2. Formulation du problème 117 Soit I p R p l'ensemble des requêtes r de priorité p impactées négativement par la replanication (au moins l'une des bandes du polygone associé à r, présente dans le plan précédent, n'apparaît plus dans le nouveau). Nous dénissons la stabilité comme étant l'utilité perdue par les requêtes impactées négativement : s p = r I p (w r w r ) avec w r (respectivement w r ) l'ancienne (respectivement la nouvelle) utilité associée à r. Notons que s p est positif ou nul 2. Le plan est d'autant plus stable que s p est faible. De là, nous dénissons le critère à optimiser en replanication comme étant un vecteur (vs 3, vs 2, vs 1 ), où vs p est une somme pondérée de la qualité et de la stabilité associée aux requêtes de priorité p : vs p = v p α s p, avec α un paramètre positif que les utilisateurs doivent régler selon l'importance qu'ils attachent à la stabilité par rapport à la qualité intrinsèque. Pour prendre un exemple, considérons deux requêtes A et B de même priorité, de poids respectifs w A et w B, toutes deux réduites à une bande et donc à une observation. Supposons que A soit dans le plan précédent, que B soit une nouvelle requête urgente, mais que A et B soient en conit (il est impossible de les satisfaire toutes les deux). La valeur d'un nouveau plan impliquant seulement A (aucun changement) est w A, tandis que la valeur d'un plan impliquant seulement B (changement) est w B α w A. Aussi, le second plan est préféré seulement si w B α w A > w A, c'est-à-dire si w B > w A (1 + α). 5.2.2 Données spéciques Les données du nouveau problème sont très proches de celles utilisées en planication : mêmes requêtes, mêmes variables d'état, mêmes actions, et mêmes contraintes. La diérence principale réside dans la dénition du critère à optimiser. Néanmoins, certaines données se veulent spéciques au problème de replanication : le plan précédent, un ensemble de requêtes urgentes, ainsi que, pour chaque satellite s, un horizon de planication depuis le premier instant t s à partir duquel un nouveau plan peut être exécuté par s jusqu'à la n de la journée courante. Cette date est appelée point de reprise (voir Figure 5.2). En pratique, il s'agit du premier instant, après le créneau de visibilité de la station émettrice, où les trois "les TéléCommandes" (SCAO, plans focaux, antenne haut-débit) sont en veille. Autrement dit, elle correspond au premier instant où les instruments sont éteints et le satellite en pointage géocentrique ou héliocentrique. Pour information, une durée forfaitaire de 15 minutes est prise en compte pour la préparation de l'envoi du plan, et une durée de 4 minutes pour l'envoi lui-même. Enn, une durée minimale allouée à la replanication doit être précisée. 2. En théorie, s p pourrait s'avérer négatif si la qualité moyenne des images issues des requêtes impactées était nettement meilleure. Le cas échéant nous imposons s p = 0.
118 5. Résolution du problème de replanication suite à l'arrivée de requêtes urgentes plan en exécution 000000000 111111111 000000000 111111111 interrompu 000000000 111111111 000000000 111111111 nouveau plan bord point de reprise date limite de dépôt replanification préparation de l envoi envoi du plan sol créneau de visibilité d un centre de contrôle Figure 5.2 Point de reprise du plan sur un satellite. 5.3 Adaptation de l'algorithme utilisé en planication régulière 5.3.1 Discussion sur le type de recherche à adopter Lorsqu'il s'agit de replanier les actions à eectuer par un système, la pression temporelle est souvent plus forte qu'en planication régulière. Cette pression prend généralement la forme d'une date limite de production du plan. Les méthodes de Recherche Locale (Aarts et Lenstra 1997) sont connues pour produire rapidement des solutions de bonne qualité sur des problèmes diciles d'optimisation combinatoire. L'une des forces de ces méthodes est sans conteste la capacité à être utilisées de la même façon, avec le même type de mouvements locaux, aussi bien dans un cadre statique (pour résoudre un problème) que dans un cadre dynamique (pour résoudre un problème légèrement modié, en s'appuyant sur une solution anciennement calculée). C'est la raison pour laquelle nombreux sont ceux qui y ont recours dans un contexte de planication et de replanication (Zweden et al. 1994, Chien, Knight et Rabiddeau 2000). Toutefois, nous avons décidé de ne pas employer ces méthodes de Recherche Locale, principalement parce qu'un changement local engendre un coût potentiellement élevé : l'ajout ou le retrait d'une action au milieu d'un plan impose le recalcul (complexe) de la trajectoire et de nouvelles vérications depuis le point d'ajout/retrait jusqu'à la n de l'horizon de planication. Nous avons choisi de développer un algorithme de recherche chronologique en avant, l'idée étant d'adapter en replanication l'algorithme utilisé en planication, avec des données légèrement diérentes. 5.3.2 Algorithme de planication modié Soit P l'ensemble des observations qui étaient considérées au cours de la planication. Soit S P l'ensemble des observations qui avaient été sélectionnées (présentes dans le plan
5.4. Conclusion 119 précédent). Enn, soit U l'ensemble des observations associées aux requêtes urgentes. Nous considérons quatre modes de replanication (un exemple est fourni Figure 5.3). 1. dans le mode 1, l'ensemble des observations candidates est S U ; la stabilité est néanmoins favorisée en estimant obligatoires toutes les observations appartenant à S ; pour cela, il sut de les assimiler à des observations de priorité 4 ; dans ce mode, nous tentons simplement d'insérer les observations urgentes dans le plan précédent sans aucun retrait (séquence précédente conservée) ; cependant, il est tout à fait possible de déplacer les dates de début des observations appartenant à S ; de la même façon, les activités de pointage, de télédéchargement, et d'activation d'instruments peuvent être modiées ; 2. dans le mode 2, l'ensemble des observations condidates est le même : S U ; néanmoins, à chaque niveau de priorité, les observations appartenant à S sont considérées prioritaires par rapport aux observations appartenant à U ; pour cela, il sut d'ajouter 0.5 à la priorité de chaque observation qui gure dans S ; en conséquence, le nombre de niveaux de priorité est multiplié par 2 ; dans ce mode, une observation de priorité 3 appartenant à U ne peut pas engendrer la suppression d'une observation de même priorité et appartenant à S, mais peut engendrer la suppression d'une observation appartenant à S de priorité inférieure (2 ou 1) ; 3. dans le mode 3, l'ensemble des observations candidates demeure le même : S U ; cette fois, aucune diérence n'est faite, en termes de niveau de priorité, entre les observations appartenant à S et celles appartenant à U ; 4. dans le mode 4, l'ensemble des observations candidates devient P U, c'est-à-dire la totalité des observations demandées ; comme dans le mode précédent, aucune diérence n'est faite, en termes de niveau de priorité, entre les observations appartenant à P et celles appartenant à U. Globalement, la recherche est de moins en moins restrictive du mode 1 au mode 4 : de moins en moins de contraintes imposent les observations précédemment planiées, tandis que de plus en plus d'observations sont prises en compte. On peut envisager une exécution séquentielle ou parallèle de ces modes et la restitution du meilleur résultat obtenu avant la date butoir. Contrairement aux deux premiers, les modes 3 et 4 n'ont pas de tendance naturelle à favoriser la stabilité des plans. Pour qu'il en soit ainsi, les heuristiques employées au premier niveau (choix de la prochaine observation à réaliser et de sa date de début) doivent être modiées. Il est raisonnable de multiplier par (1 + α) le poids de toute requête r dont au moins l'une des observations o gurait dans le plan précédent (o S). L'idée est d'accorder plus d'importance à ces requêtes au moment des choix d'observation (voir l'exemple fourni en 5.2.1 pour une justication intuitive). 5.4 Conclusion Finalement, le problème qui se pose suite à l'arrivée de requêtes urgentes d'observation est très proche, dans sa formulation, du problème initial. Certaines données, telles que le plan en cours d'exécution et l'ensemble des requêtes urgentes, lui sont néanmoins spéciques. Le critère
120 5. Résolution du problème de replanication suite à l'arrivée de requêtes urgentes ensemble P des observations considérées en planification : de A à H ensemble S (en bleu) des observations sélectionées : A,C,D,F,G ensemble U (en rouge) des observations urgentes : de I à L planification journalière observation F de priorité 3 A3 C2 D1 F3 G1 replanification (sur toute la journée) A3 J3 C2 D1 F3 G1 mode 1 A3 J3 K3 F3 G1 mode 2 I3 J3 K3 F3 G1 mode 3 I3 B3 L3 G1 mode 4 Figure 5.3 Les 4 modes de replanication sur un exemple. à optimiser est, de plus, modié pour tenir compte aussi bien de la qualité intrinséque que de la stabilité du plan via une somme pondérée de ces deux métriques. Nous avons montré qu'il est possible de recourir à l'algorithme utilisé en planication régulière (recherche chronologique en avant) en jouant uniquement sur les poids et les priorités des requêtes, ainsi que sur l'ensemble des observations candidates. Nous proposons quatre modes de replanication pour lesquels la recherche est plus ou moins restrictive. Après la présentation, au Chapitre 6, de l'environnement expérimental développé, les algorithmes utilisés en planication et en replanication sont évalués au Chapitre 7. L'objet de ce chapitre s'est traduit par une communication internationale (Grasset-Bourdel et al. 2011d) au workshop "Scheduling and Planning Applications" de la conférence ICAPS'11 (International Conference on Automated Planning and Scheduling).
Chapitre 6 Développement d'un environnement expérimental : l'outil PLANET Dans le présent chapitre, nous nous proposons de décrire l'environnement expérimental mis en place pour évaluer les mécanismes de décision. Pour cela, nous précisons la structure de l'outil, puis nous détaillons l'interface graphique et les fonctionnalités mises à disposition de l'utilisateur. 6.1 Intention Un environnement sur lequel s'appuyer est primordial pour mener des expériences pertinentes. Il doit prendre en considération une modélisation cinématique de la Terre, du Soleil, et des satellites. Plus encore, il doit intégrer les caractéristiques propres à la plate-forme et la charge utile de chaque satellite, et être en mesure de simuler chacune de leurs actions. De plus, il est essentiel que l'utilisateur puisse spécier les scénarios, à savoir la position des objectifs sur le globe et les stations sol utilisées (contrôle et réception). L'outil en question doit inclure les mécanismes de décision proposés dans les deux précédents chapitres, et permettre la visualisation des solutions produites sous forme de chronogrammes, pour que l'utilisateur appréhende facilement les choix eectués. Enn, il est important de pouvoir simuler une replanication des activités suite à l'arrivée de requêtes urgentes au cours de la journée programmée. 6.2 Structure de l'outil L'outil développé dans cette thèse, PLANET pour PLanner for Agile observation satellites, est globalement constitué de quatre paquetages liés entre eux (voir Figure 6.1). N.B. : Le langage utilisé est Java. Les paquetages model et simulation s'inspirent librement de précédents travaux réalisés à l'onera par Michel Llibre et Grégory Beaumet (Beaumet 2008). 6.2.1 Paquetage model Le paquetage model regroupe l'ensemble des classes modélisant les satellites, leur environnement et leurs comportements, ainsi que les objectifs. Un diagramme de classes simplié est fourni Figure 6.2.
122 6. Développement d'un environnement expérimental : l'outil PLANET planning GUI model simulation Figure 6.1 Diagramme de paquetages. Model scenarstarttime scenarendtime 1..* 0..* Satellite ccn lightwds ccl state oml_c Station Goals CloudCover Sun target cinstateupdt(t) tminbascul (t1,att1,o,eps) 1 1 1 Orbit Platform Payload t i minenergy minmemory a Om maxenergy maxmemory e om maxprodrate enconso(acti) axisrotspeeds axisrotaccel 0..* ReceivSta ControlSta Polygon priority weight dlddeadline TMI coneangle dldrate temperature OptInstr aimingangle 1..* Strip dayduration nightduration 2 FocalPlane Zone cloudcover VisibleFP temperature IRFP 2 Target latitude longitude cap Figure 6.2 Diagramme de classes simplié du paquetage model.
6.3. Interface graphique 123 State satellite time getobsset(horizon) getspset(horizon) getgpset(horizon) getomset(horizon) 2 Action startstate duration simulate() neededattrdv() SatelliteSt maneuversstate energylevel memorylevel attitude TS_c vs_c GoalsSt CloudSt cloud[][] 0..* PolygonSt Observation GeoPoint HelioPoint OrbitMan AttChange status strip maneuver starttime startattitude endtime endattitude 1..* StripSt Image Trajectory status cloudcover realizationtime obsangle satellite 1..2 strip focalplane dldtime size 1..2 startattitude endattitude duration Vmax Gmax modvmax etat(t) Figure 6.3 Diagramme de classes simplié du paquetage simulation. 6.2.2 Paquetage simulation Le paquetage simulation regroupe l'ensemble des classes décrivant l'état du système et les diérentes actions exécutables par un satellite. Un diagramme de classes simplié est fourni Figure 6.3. 6.2.3 Paquetage planning Le paquetage planning regroupe l'ensemble des classes propres au processus de décision et à la représentation des solutions. Un diagramme de classes simplié est fourni Figure 6.4. 6.2.4 Paquetage GUI Le paquetage GUI regroupe l'ensemble des classes chargées de la visualisation (interface graphique). 6.3 Interface graphique 6.3.1 Menus Les menus orent globalement la possibilité de modier le modèle pris en compte : ajout de nouveaux éléments tels que des polygones, des bandes et des stations sol ; modication ou suppression des éléments existants ; modication des caractéristiques des satellites ; chargement ou enregistrement d'un modèle au format XML ;
124 6. Développement d'un environnement expérimental : l'outil PLANET Planner planhorizon model startstates Solution timelineset IntPlanner model prio seqtomaintain1,2 forbiddenactions1,2 currenttimelines1,2 planhorizon n n Timeline domain values TimeRef domain values m plan() ChronoPl currenttime Decision model action1 satellite actions2 actions3 dechorizon actions4 getdecision() Rule1 Rule2 Rule3 Rule4 getaction1() getactions2() getactions3() getactions4() MyRule1 MyRule2 MyRule3 MyRule4 Figure 6.4 Diagramme de classes simplié du paquetage planning. création aléatoire de modèles après spécication de paramètres clés (nombre de zones à observer, nombre de stations de réception à disposition... ). 6.3.2 Onglets Onglet Overview Cet onglet présente une visualisation partielle du modèle considéré, des requêtes d'observation, des décisions eectuées par le planicateur, et de l'état des objectifs. Le bloc Model fournit la date de début et la durée du scénario, le nombre de satellites, le nombre de man uvres orbitales, le nombre de stations de réception, le nombre de polygones et le nombre de bandes. Le bloc State permet de modier l'état initial de chaque satellite. Le bloc Planning ore la possibilité de lancer le processus de planication, de sauvegarder le plan résultant, ou de charger un plan précédemment enregistré. Le bloc Replanning permet d'ajouter un ensemble de nouvelles requêtes, à intégrer si possible. Il est possible de spécier la date à laquelle est réaliser la replanication, de choisir le mode, de demander les points de reprise envisagés, et de lancer cette replanication. Le bloc Deliberation ache, au cours de la planication, les décisions prises par l'algorithme.
6.3. Interface graphique 125 Le diagramme circulaire intitulé Observation status ache la proportion des observations non réalisées, des observations réalisées dont les images résultantes ne sont pas télédéchargées, et des observations réalisées dont les images résultantes sont télédéchargées. Le graphique intitulé Criterion evolution trace l'évolution, au cours de la planication, des trois composantes du critère global (liées aux trois priorités d'observation). Enn, le planisphère central ore la possibilité de visualiser les orbites (éclairées ou non) des deux satellites, la position des zones (éclairées ou non) à observer, la position des stations sol ainsi que leur cercle de visibilité. Figure 6.5 est une capture d'écran de cet onglet après résolution d'une instance quelconque. Figure 6.5 Onglet Overview. Les autres onglets sont dédiés à la représentation des solutions. Ils synthétisent le résultat de la planication sous forme de chronogrammes. Notons que la durée des actions considérées (quelques secondes) est très faible en comparaison de l'horizon de planication d'une journée. Aussi, nous apportons la possibilité de zoomer sur chacun de ces chronogrammes. Onglet Main Activities Cet onglet regroupe les chronogrammes liés aux activités principales, c'est à dire celles qui imposent une trajectoire précise. On y retrouve, pour chaque satellite, l'action (rendez-vous en attitude, man uvre orbitale, pointage géocentrique, pointage héliocentrique, observation de jour ou de nuit) eectuée à un instant donné, l'indice de l'observation planiée le cas échéant, et l'indice de la man uvre planiée le cas échéant. Nous achons également l'ensemble des
126 6. Développement d'un environnement expérimental : l'outil PLANET périodes d'activation des plans focaux nécessaires aux observations. Figure 6.6 est une capture d'écran de cet onglet après résolution d'une instance dite "réelle". Figure 6.6 Onglet Main Activities. Onglet Downloads Cet onglet regroupe les chronogrammes liés aux vidages des données. On y retrouve, pour chaque satellite, l'image (observation et plan focal d'origine) télédéchargée à un instant donné et la station sol sur laquelle cette image est vidée. Nous achons également l'ensemble des périodes d'activation de la TMI nécessaires aux vidages des données. Figure 6.7 est une capture d'écran de cet onglet après résolution d'une instance dite "réelle". Onglet Satellite evolution Cet onglet regroupe les chronogrammes liés à l'évolution des satellites. On y retrouve, pour chaque satellite, la trajectoire en attitude suivie, les températures du plan focal visible et de la TMI, l'énergie disponible à bord, la mémoire libre, et les périodes d'éclairement. Figure 6.8 est une capture d'écran de cet onglet après résolution d'une instance dite "réelle". Onglet Station visibility windows Cet onglet regroupe les chronogrammes liés aux visibilités stations. On y retrouve, pour chaque satellite, l'ensemble des visibilités stations (périodes durant lesquelles le satellite est potentiellement visible par une station) et des visibilités eectives de télédéchargement (le
6.3. Interface graphique 127 Figure 6.7 Onglet Downloads. Figure 6.8 Onglet Satellite evolution. satellite est visible et son attitude est compatible avec une activité de vidage). Figure 6.9 est une capture d'écran de cet onglet après résolution d'une instance dite "réelle".
128 6. Développement d'un environnement expérimental : l'outil PLANET Figure 6.9 Onglet Station visibility windows. 6.4 Fonctionnalités 6.4.1 Entrées / Sorties Instances Une instance du problème est entièrement décrite par un objet Model, lequel regroupe un horizon de planication, un ensemble de satellites avec orbites et caractéristiques physiques, un ensemble de stations sol (contrôle et réception), un ensemble de requêtes d'observation (objectifs) avec bandes associées. L'état du soleil et de la couverture nuageuse prévue dépend en fait de l'horizon de planication. Cette instance peut s'enregistrer sous la forme d'un chier XML. Un exemple d'un tel chier est donné Figure 6.10, pour une instance de petite taille. Plans Le plan produit pour une instance donnée apparaît sous la forme de plusieurs chronogrammes répartis sur les diérents onglets (autre que Overview). Toutefois, ce plan est également imprimé dans un chier texte sous forme tabulaire. 6.4.2 Utilisation en planication Les étapes générales pour la production d'un plan journalier d'activités sont listées ici. Des captures d'écran illustrent les propos.
6.4. Fonctionnalités 129 <?xml version="1.0" encoding="utf-8"?> <model> <scenariostart_j2000_j> 0.0 </scenariostart_j2000_j> <scenarioduration_j> 0.5 </scenarioduration_j> <satelliteset> <satellite name="pleiades1"> <orbit> <t0 definition="date des elements orbitaux">0.0</t0> <i0 definition="inclinaison">1.7136566234810915</i0> <om0 definition="argument du perigee a t0">3.1392178887963595</om0> <e definition="excentricite">0.001271111773765</e> <Om0 definition="ascension droite du noeud ascendant a t0">118.30836467548629</om0> <m0 definition="anomalie moyenne a t0">-3.1415971920701042</m0> <n0 definition="mouvement moyen">0.001060063760426043</n0> </orbit> <orbitalmaneuverset> </orbitalmaneuverset> </satellite> <satellite name="pleiades2"> <orbit> <t0 definition="date des elements orbitaux">0.0</t0> <i0 definition="inclinaison">1.7136566234810915</i0> <om0 definition="argument du perigee a t0">3.1392178887963595</om0> <e definition="excentricite">0.001271111773765</e> <Om0 definition="ascension droite du noeud ascendant a t0">118.30836467548629</om0> <m0 definition="anomalie moyenne a t0">-6.283189845659898</m0> <n0 definition="mouvement moyen">0.001060063760426043</n0> </orbit> <orbitalmaneuverset> </orbitalmaneuverset> </satellite> </satelliteset> <recepstationset> <station name="creil"> <target name="creil"> <longitude>0.04</longitude> <latitude>0.86</latitude> <altitude>0.0</altitude> <cap>0.0</cap> </target> </station> </recepstationset> <controlstationset> <station name="kiruna"> <target name="kiruna"> <longitude>0.37</longitude> <latitude>1.18</latitude> <altitude>0.0</altitude> <cap>0.0</cap> </target> </station> </controlstationset> <goals> <polygon index="1"> <user>cnes</user> <priority>3</priority> <downloaddeadline>3628.8</downloaddeadline> <status>noncommencee</status> <strip index="1" name="obs1"> <duration_day>5.0</duration_day> <duration_night>37.0</duration_night> <scanningspeed>10.0</scanningspeed> <status>nonrealisee</status> <memoryconsumption_irday>1.19663252e9</memoryconsumption_irday> <memoryconsumption_irnight>2.7862559e8</memoryconsumption_irnight> <memoryconsumption_vday>1.4015927117e10</memoryconsumption_vday> <realizationtime>0.0</realizationtime> <zone name="zone 1"> <longitude>-0.055752501841093836</longitude> <latitude>0.45393980742060125</latitude> <altitude>94.0</altitude> <cap>0.6072054785246733</cap> <dimension>108523.0</dimension> </zone> </strip> </polygon> </goals> </model> Figure 6.10 Exemple de chier XML pour une instance d'une demi-journée, avec une station de réception, une station de contrôle, une seule requête d'observation, et aucune man uvre orbitale.
130 6. Développement d'un environnement expérimental : l'outil PLANET 1. Nous établissons l'instance à résoudre. Pour cela, deux possibilités s'orent à nous : ou bien charger le chier XML regroupant les informations nécessaires, ou bien créer les éléments requis via l'interface graphique. Dans le dernier cas, nous créons les stations sol en précisant si elles sont destinées à la réception, au contrôle, ou aux deux. Nous créons aussi les requêtes d'observation en désignant sur le planisphère la localisation des bandes, et en précisant toutes les autres caractéristiques. 2. Nous lançons le processus de planication en cliquant sur le bouton Build a plan. 3. Pendant le calcul du plan, les décisions prises par le système sont imprimées dans l'aire de texte, en haut à droite. 4. Une fois le plan généré, l'onglet Overview nous donne des informations générales sur la solution : pourcentage des bandes acquises par priorité, pourcentage total, nombre d'observations réalisées de jour, nombre d'observations réalisées de nuit, pourcentage moyen de couverture nuageuse présente au-dessus des zones observées, angle moyen d'acquisition, nombre d'images produites, pourcentage de ces images vidées, évolution de la qualité du plan courant au cours du processus de planication. 5. Les chronogrammes présents dans les autres onglets forment le plan produit. 6.4.3 Utilisation en replanication La replanication des activités est demandée lorsque des requêtes urgentes surviennent au cours de la journée programmée. Nous explicitons ici comment simuler une telle situation. 1. Nous chargeons le chier XML qui dénit les requêtes urgentes (localisation et autres caractéristiques pour chaque bande constitutive). 2. Nous précisons la date à laquelle le processus de replanication est amorcé (équivaut à la date limite de dépôt des requêtes). 3. Nous découvrons la prochaine opportunité d'envoyer un plan modié, pour chaque satellite, en cliquant sur le bouton opportunity?. Pour chaque satellite, le point de reprise est indiqué (date d'interruption du plan précédent et de poursuite du nouveau). 4. Nous choisissons un mode de replanication. 5. Nous lançons le processus de replanication. 6. Les résultats se présentent de la même façon que ceux produits en planication journalière.
6.5. Conclusion 131 6.5 Conclusion Finalement, l'outil développé (PLANET) est un environnement expérimental qui nous permet de spécier une instance du problème et de procéder à la planication des activités. Il a connaissance de l'environnement spatial, simule le comportement des satellites, et intègre les algorithmes de planication et replanication que l'on propose. Dans le chapitre suivant, nous engageons l'évaluation à proprement parler des mécanismes de décision explicités plus tôt. L'outil PLANET a été présenté dans un papier (Grasset-Bourdel et al. 2011c) pour les démonstrations de la conférence ICAPS'11 (International Conference on Automated Planning and Scheduling).
Chapitre 7 Mise à l'épreuve des algorithmes élaborés Dans le présent chapitre, nous nous proposons d'évaluer les performances des algorithmes élaborés. Pour cela, nous eectuons diverses expérimentations, aussi bien sur le problème de planication que sur le problème de replanication. Concernant le premier problème, nous analysons les résultats obtenus sur une instance réaliste fournie par le CNES, nous comparons les heuristiques retenues à d'autres heuristiques envisageables, nous étudions la sensibilité aux instances, nous calculons la distance à l'optimum sur une petite instance à l'ordonnancement fortement contraint, et nous confrontons notre algorithme à des techniques sophistiquées (ex : recherche taboue) sur un problème très simplié (proposé au challenge ROADEF'2003). Concernant le problème de replanication, nous rapportons les résultats expérimentaux obtenus sur des instances de diérents types, suivant la localisation géographique des requêtes urgentes. 7.1 Évaluation des performances en planication L'évaluation de l'algorithme proposé et sa comparaison avec d'autres approches est problématique parce que les algorithmes existants (voir par exemple (Lemaître et al. 2002, Cordeau et Laporte 2005, Bianchessi et al. 2007, Beaumet et al. 2011)) ont été developpés pour des systèmes physiques de nature diérente. Néanmoins, la mission qui se rapproche le plus de celle étudiée est Pléiades-HR, qui sera d'ailleurs opérationnelle très prochainement. Le CNES obtient un plan journalier d'activités en 40 minutes (incluant contrôles a posteriori, traduction en message de programmation pour les satellites, production des interfaces et des bilans de programmation). Pour information, le planicateur utilisé fait appel à un glouton hiérarchique dont le fonctionnement général est le suivant : on tente d'insérer successivement les observations candidates (par ordre de priorité décroissante et selon un certain critère entre observations de même priorité) à leur date de survol, avec vérication exacte de la cinématique des rendez-vous en attitude ; en cas d'échec, on calcule un réarrangement local de la séquence des observations voisines ; en cas de nouvel échec, l'observation candidate est dénitivement abandonnée. Une fois le plan de prises de vue obtenu, la construction du plan de vidage est engagée. Les vérications liées à la mémoire, l'énergie et les températures notamment, sont eectuées après coup. En cas de problème, on désature les vidages et les observations de façon itérative. En se plaçant dans le contexte précis de la mission Pléiades-HR, il semble toujours dicile de comparer notre algorithme à celui déjà en place pour la simple raison qu'il est dicile de s'assurer que les hypothèses liées aux satellites sont bien les mêmes. Le résultat en serait
134 7. Mise à l'épreuve des algorithmes élaborés biaisé. Nous aurions pu cependant encoder nous-même l'algorithme actuellement utilisé et le comparer avec celui que l'on propose, sur une base commune. Là encore, pour comparer de façon juste, il faut s'assurer que toutes les subtilités de l'algorithme actuel ont été intégrées. Cela n'a pas été réalisé dans ces travaux. En revanche, nous réalisons toutes sortes d'expérimentations dans cette section pour attester de l'ecacité de l'algorithme de planication. 7.1.1 Résultats expérimentaux sur une instance réaliste de taille réelle Un scénario réaliste de taille réelle est fourni par le CNES. Ses caractéristiques sont les suivantes : un horizon de planication de 24 heures ; 8 stations sol de réception ; 3 niveaux de priorité ; 1166 requêtes d'observations, toutes associées à une bande et toutes de même poids (1) ; parmi ces requêtes, 377 de priorité 3 (la plus forte), 419 de priorité 2, et 370 de priorité 1 (la plus faible) ; des prévisions météorologiques construites à partir de données climatologiques. Sur cette instance, le temps nécessaire à la production du plan journalier est de l'ordre de 5 minutes sur un processeur Intel 3 GHz, sous Linux, en s'autorisant jusqu'à 2.5 Go de mémoire vive. Ce temps de calcul est acceptable puisque l'objectif est de descendre au-dessous de 10 minutes. Dans ce plan, notons que 907 (78%) observations se voient réalisées et vidées, 15 (1%) se voient réalisées mais non vidées, et 244 (21%) se voient non réalisées. Plus précisément, 274 (73%) observations de priorité 3 sont réalisées, contre 355 (85%) de priorité 2 et 293 (79%) de priorité 1. Les taux de réalisation des observations de priorité 2 et 1 supérieurs à celui des observations de priorité 3 peuvent s'expliquer par la présence de conits géographiques plus nombreux entre observations de priorité 3. Une autre raison est que l'algorithme évite, étant donnée l'heuristique utilisée au niveau 1 de décision, de sélectionner les observations pour lesquelles les prévisions météorologiques sont mauvaises. La gure 7.1 rapporte la vue principale de l'outil PLANET une fois la planication achevée. Les observations réalisées apparaissent en bleu sur le planisphère, tandis que les autres apparaissent en rouge. En bas à droite se trouve représentée l'évolution de la valeur du plan courant au cours du processus de planication (voir le zoom fourni par Figure 7.2). On y décèle trois phases distinctes, chacune associée à un niveau de priorité : la première considère exclusivement les requêtes de priorité 3 (en rouge) ; la deuxième considère les requêtes de priorité 3 mais aussi celles de priorité 2 (en bleu) ; enn, la troisième considère, en plus de celles de priorité 2 et 3, les requêtes de priorité 1 (en vert). Il est intéressant de constater que l'étanchéité des priorités est préservée. Dans le cas contraire, nous aurions une baisse signicative de la qualité des observations de priorité p dans les plans de priorité inférieure à p. À noter qu'aucun backtrack chronologique n'apparaît ici. Le cas échéant, une alternance d'augmentations et de chutes brutales dans le critère serait constatée. Les gures 6.6, 6.7, 6.8 et 6.9 détaillent le plan obtenu pour ce scénario qualié de "réel".
7.1. Évaluation des performances en planication 135 Figure 7.1 Vue principale de l'outil PLANET une fois la planication achevée. quality 120 110 100 90 80 70 60 50 40 30 20 10 0 00:00 00:01 00:02 00:03 00:04 time (minutes) priority 3 priority 2 priority 1 Figure 7.2 Évolution de la valeur du plan courant au cours du processus de planication. Tout fonctionne correctement, avec un niveau d'énergie globalement élevé tout au long de la journée et la mémoire protégée de toute saturation. Signalons que le système étant bien dimensionné, il y a très peu de chances de saturer la mémoire ou d'atteindre un niveau critique d'énergie. En pratique, les contraintes qui s'expriment sont avant tout l'agilité dans les zones (très) denses, puis la thermique, et seulement après, et rarement, l'énergétique et la mémoire (panne de batteries, perte de stations de réception,... ).
136 7. Mise à l'épreuve des algorithmes élaborés La gure 7.3 met l'accent sur certains chronogrammes représentant l'évolution de l'état de l'un des satellites, sur un horizon de 14 minutes (zoom sur une tranche temporelle). En haut à gauche, un premier chronogramme fournit l'activité principale à bord (OBN pour observation de nuit, OBD pour observation de jour, HP pour pointage héliocentrique, GP pour pointage géocentrique, OM pour man uvre orbitale, et RDV pour rendez-vous en attitude). On y retrouve l'alternance des activités qui contraignent l'attitude du satellite. Au-dessous, un deuxième chronogramme indique l'indice de la bande observée, le cas échéant. Encore plus bas, un chronogramme rapporte les cycles d'activation du plan focal IR, lequel reste on pour les cinq premières observations, puis pour les quatre suivantes, et enn pour la dernière. Dans la seconde colonne, un premier chronogramme indique l'indice de l'observation dont est issue l'image télédéchargée le cas échéant. Au-dessous, un chronogramme rapporte les cycles d'activation de l'antenne haut-débit, laquelle est maintenue on pendant tous les télédéchargements. Encore plus bas, un autre chronogramme montre la station sol (toujours St3 dans cet exemple) vers laquelle s'exécute le télédéchargement courant le cas échéant. Enn, les deux chronogrammes du bas représentent respectivement l'évolution de l'énergie et l'évolution de la mémoire. La mémoire disponible à bord décroît suite aux observations au début de la fenêtre, et croît suite aux vidages à la n. 7.1.2 Pertinence des heuristiques adoptées Dans cette section, nous confrontons les heuristiques retenues à d'autres possibles. Nous pointons toute une série d'éléments, même si seuls la qualité du plan et le temps de calcul jugent de leurs performances. Les heuristiques testées sont décrites dans la table 7.1, et les 10 instances aléatoires sur lesquelles sont faites ces comparaisons sont précisées dans la table 7.2. Pour chaque quantité intéressante, nous relevons sa moyenne et son écart-type, lequel gure entre parenthèses. Niveau 1 La table 7.3 récapitule les résultats obtenus. Notons d'emblée que l'heuristique retenue ore en moyenne le meilleur vecteur qualité (avec de faibles écarts-types) suivie par EOED (Earliest Observation Earliest Date), et enn EOBU (Earliest Observation Best Utility). Si l'on regarde de plus près les résultats consignés, EOED réalise plus d'observations que les autres, mais avec une couverture nuageuse moyenne et un angle d'acquisition moyen plus élevés. Elle s'avère intéressante sur les orbites "chargées" puisque la densité des zones oblige, quoiqu'il en soit, les satellites à acquérir certaines images à fort tangage avant ou arrière. En revanche, elle ne tient pas compte des conditions météorologiques et est médiocre sur les orbites peu chargées, où certaines observations peuvent s'eectuer à leur date de survol. EOBU réalise moins d'observations que les autres car elle a tendance à les eectuer aux dates de survol, mais avec une couverture nuageuse moyenne et un angle d'acquisition meilleurs (plus faibles). Elle permet d'obtenir des angles d'acquisition faibles, mais est myope dans son choix de date (gain immédiat intéressant mais choix limitant pour la suite) et repousse, voire empêche, les observations ultérieures.
7.1. Évaluation des performances en planication 137 Figure 7.3 Mise en évidence de certains chronogrammes représentant l'évolution de l'état de l'un des satellites sur un horizon de 14 minutes. L'heuristique rule1 est un bon compromis puisque, nalement, elle ache la meilleure qualité moyenne pour les plans produits. Le temps de calcul engendré par rule1 est supérieur aux autres mais reste très faible.
138 7. Mise à l'épreuve des algorithmes élaborés Identiant Stratégie EOED Choix de l'observation la plus proche dans le temps + date au plus tôt EOBU Choix de l'observation la plus proche dans le temps + date de meilleure utilité rule1 Heuristique retenue au niveau 1 (décrite en 4.6.1) GP Insertion de pointages géocentriques exclusivement HPGP Insertion de pointages héliocentriques en priorité puis géocentriques rule2 Heuristique retenue au niveau 2 (décrite en 4.6.2) CO Vidages par ordre chronologique de création BU Vidages par utilité décroissante rule3 Heuristique retenue au niveau 3 (décrite en 4.6.3) MA Activations minimalistes des instruments CR Activations regroupées si distantes de moins d'une minute rule4 Heuristique retenue au niveau 4 (décrite en 4.6.4) Paramètres Table 7.1 Heuristiques testées Valeurs nombre de satellites 2 centres de réception {Kiruna,Creil,Bruxelles,Madrid,Rome,Gelsdorf, Tanagra,Mas Palomas} centres de contrôle (inutiles ici) {Kiruna,Aussaguel,Kerguelen} observations (nombre, position, priorité) 1000 zones choisies aléatoirement dans des régions d'intérêt militaire (probabilité de 0.15 d'accepter une autre zone sur le continent, éloignée des pôles) horizon de planication 24 h angles d'observations autorisés 30 avant et arrière, 40 de façon globale couverture nuageuse données climatologiques moyennes man uvres orbitales (nombre, type) 0 Table 7.2 Caractéristiques des 10 instances utiles à la comparaison des heuristiques Niveau 2 La table 7.4 récapitule les résultats obtenus. Notons d'emblée que les qualités moyennes et les temps de calcul sont similaires. En eet, les choix de niveau 2 (insertion de pointages hélio et géocentriques) n'ont pas d'impact direct sur le critère d'évaluation en situation nominale. En revanche, ces choix peuvent s'avérer importants dans le cas d'une panne de batterie ou d'une perte de station de réception. On aura donc tendance à préférer, entre deux plans de même qualité, celui qui assure le plus fort taux de charge et les meilleures communications bord-sol. Si l'on regarde de plus près les résultats consignés, GP fournit les meilleurs ratios moyens temps de vidage possible visibilités stations réception car elle assure aux satellites une communication avec le sol dès lors
7.1. Évaluation des performances en planication 139 EOED EOBU rule1 nombre d'observations réalisées 752.3 (10.3) 685.0 (11.9) 720.4 (10.9)... de jour 410.8 (13.3) 367.6 (15.1) 392.4 (11.7)... de nuit 341.5 (11.3) 317.4 (12.4) 328.0 (13.3)... de priorité 3 (sur 333.6 (15.9)) 232.5 (21.1) 205.3 (13.4) 222.7 (15.9)... de priorité 2 (sur 328.3 (17.1)) 271.8 (19.2) 242.4 (12.9) 253.7 (13.8)... de priorité 1 (sur 338.1 (15.5)) 248.0 (16.6) 237.3 (13.4) 244.0 (12.7)... avec une couverture nuageuse < 50% 349.1 (11.8) 342.3 (11.7) 346.6 (12.1)... avec une couverture nuageuse 50% 403.2 (16.4) 342.7 (15.8) 373.8 (15.9) couverture nuageuse moyenne 0.508 (0.010) 0.484 (0.012) 0.494 (0.014) angle moyen d'acquisition 29.8 (0.4) 25.6 (0.5) 25.7 (0.4) temps de calcul 102 s (6) 112 s (3) 173 s (6) qualité du plan 74.44 (7.27) 75.04 (6.23) 77.18 (6.72) 63.79 (7.93) 71.81 (6.36) 71.40 (6.13) Table 7.3 Évaluation de l'heuristique retenue au niveau 1 GP HPGP rule2 satellite 1 taux de charge moyen 48.5 % (1.2) 97.2 % (0.1) 96.4 % (0.6) temps de vidage possible visi. stations récep. 81.4 % (2.2) 64.3 % (1.7) 80.3 % (2.1) satellite 2 taux de charge moyen 50.9 % (1.1) 97.2 % (0.1) 96.4 % (0.3) temps de vidage possible visi. stations récep. 81.2 % (3.3) 57.9 % (3.1) 80.0 % (3.4) temps de calcul 172 s (5) 176 s (6) 173 s (6) 76.12 (6.61) qualité du plan 77.18 (6.72) 76.77 (6.97) 77.18 (6.72) 71.44 (6.01) 68.99 (5.87) 71.40 (6.13) Table 7.4 Évaluation de l'heuristique retenue au niveau 2 qu'ils se trouvent en visibilité station, mais les pires taux de charge moyen. A contrario, HPGP fournit les meilleurs taux de charge moyen, mais les pires temps de vidage possible. L'heuristique rule2 est un bon compromis puisque, nalement, elle ache des taux de charge très proches de ceux de HPGP, et des temps de vidage possible très proches de ceux de GP. Niveau 3 La table 7.5 récapitule les résultats obtenus. L'heuristique retenue, qui est un compromis entre gain immédiat apporté au critère et durée de vidage, ne se distingue pas des deux autres, pourtant plus naïves. En eet, le dimensionnement du système est tel que, sans perte de station sol, le télédéchargement n'est jamais un goulet d'étranglement, et la totalité des images peut être vidée sur un passage. En revanche, l'heuristique joue sur l'ordre de vidage, et donc sur l'âge de l'information fournie aux opérateurs. En réalité, il n'y a ici presqu'aucune diérence entre rule3 et BU car les images générées de jour sont toutes de durée identique, de même
140 7. Mise à l'épreuve des algorithmes élaborés CO BU rule3 nombre d'images générées 1112.8 (18.2) 1112.8 (18.2) 1112.8 (18.2) nombre d'images télédéchargées 1076.3 (43.0) 1076.3 (43.0) 1076.3 (43.0)... de priorité 3 328.0 (29.5) 328.0 (29.5) 328.0 (29.5)... de priorité 2 377.0 (28.4) 377.0 (28.4) 377.0 (28.4)... de priorité 1 371.3 (21.2) 371.3 (21.2) 371.3 (21.2) âge moyen de l'information télédéchargée 3045 s (324) 3046 s (324) 3046 s (324) temps de calcul 173 s (5) 174 s (6) 173 s (6) 76.12 (6.60) 76.12 (6.61) qualité du plan 77.17 (6.71) 77.18 (6.72) 77.18 (6.72) 71.39 (6.13) 71.40 (6.13) 71.40 (6.13) Table 7.5 Évaluation de l'heuristique retenue au niveau 3 pour les images générées de nuit (durée environ trois fois plus élevée). Niveau 4 La table 7.6 récapitule les résultats obtenus. Notons d'emblée que l'heuristique retenue ore en moyenne le meilleur vecteur qualité et le meilleur temps de calcul (avec de faibles écarts-types) suivie par CR (Current Rule, actuellement utilisée chez Pléiades), et enn MA (Minimal Activation). Pour chacune des règles et pour chaque instrument, nous relevons d'une part le pourcentage de cycles on/o restants et d'autre part le pourcentage de temps on restant. L'objectif est qu'ils ne soient pas trop diérents pour ne pas consommer trop tôt l'une des deux quantités. Si l'on regarde de plus près les résultats consignés, la règle MA est très mauvaise : au bout des 10 minutes autorisées, elle fournit un plan ne contenant que les observations de priorité 3, et consomme beaucoup plus vite son nombre de on/o restants que son temps on restant. La règle CR, qui regroupe les activations distantes de moins d'une minute, fournit un plan complet en 6 minutes. Seulement, là encore, nous observons d'importants écarts entre les deux quantités étudiées. Nous constatons notamment que le nombre de on/o restant pour la TMI est consommé tandis qu'il reste 70% du temps on, si bien qu'une grande partie des images en mémoire ne sont pas télédéchargées, et implique donc une mauvaise qualité moyenne du plan. 7.1.3 Sensibilité au nombre de demandes d'observation Nous étudions ici l'inuence du nombre d'observations demandées sur le processus de planication. Les instances aléatoires utilisées sont décrites dans la table 7.7. Il s'agit de 10 instances de 100 observations aléatoires, 10 instances de 200 observations aléatoires, et ainsi de suite par pas de 100 jusqu'à 2300 observations (230 instances). Les temps de calcul moyens relevés sont achés sur la gure 7.4, et les qualités moyennes par priorité gurent sur la gure 7.5. Quoiqu'il arrive, si le processus de planication n'est pas achevé au bout de 10 minutes (du fait de backtracks chronologiques), celui-ci est stoppé. Si le dernier plan en construction était
7.1. Évaluation des performances en planication 141 MA CR rule4 satellite 1 plan focal IR % on/o restants 11.8 7.7 22.6 % temps on restant 90.7 36.8 18.5 plan focal visible % on/o restants 9.2 4.8 13.7 % temps on restant 90.1 25.8 10.8 TMI % on/o restants 0.0 0.0 1.3 % temps on restant 97.1 70.8 24.3 satellite 2 plan focal IR % on/o restants 21.3 8.6 25.6 % temps on restant 92.4 43.6 23.2 plan focal visible % on/o restants 5.3 2.3 12.5 % temps on restant 89.0 27.5 13.3 TMI % on/o restants 0.0 0.0 22.0 % temps on restant 92.9 69.2 29.0 temps de calcul 600 s (0) 249 s (137) 173 s (6) Paramètres qualité du plan 58.25 (6.53) 0 (0) 0 (0) 65.18 (5.90) 65.81 (6.21) 54.12 (20.0) Table 7.6 Évaluation de l'heuristique retenue au niveau 4 Valeurs 76.12 (6.61) 77.18 (6.72) 71.40 (6.13) nombre de satellites 2 centres de réception {Kiruna,Creil,Bruxelles,Madrid,Rome, Gelsdorf,Tanagra,Mas Palomas} centres de contrôle (inutiles ici) {Kiruna,Aussaguel,Kerguelen} observations (nombre, position, priorité) 100..2300 zones choisies aléatoirement (par pas de 100) dans des régions d'intérêt militaire (probabilité de 0.15 d'accepter une autre zone sur le continent, éloignée des pôles) horizon de planication 24 h angles d'observations autorisés 30 avant et arrière, 40 de façon globale couverture nuageuse données climatologiques moyennes man uvres orbitales (nombre, type) 0 Table 7.7 Caractéristiques des 23 10 instances évaluant l'inuence du nombre d'observations demandées de priorité p, alors on retourne le plan de priorité p + 1 (réalisable sur l'horizon entier). En pratique, nous disposons toujours d'un plan à retourner car le premier plan est toujours créé rapidement : aucun backtrack chronologique n'est susceptible d'être déclenché. Cette limitation en temps de calcul est tout à fait visible sur la gure 7.4 puisque les plans, à partir de 1500 observations environ, sont produits en 10 minutes. Notons que, jusqu'à 1000 observations les temps sont faibles (inférieurs à 200 secondes) avec de très faibles écarts-types. La gure 7.5 est très intéressante car elle montre les bénéces de notre planication par niveau de priorité. La valeur du critère associée aux requêtes de priorité 3 (requêtes les plus prioritaires) augmente linéairement avec le nombre d'observations, évidemment jusqu'à une certaine limite qui n'apparaît pas sur la gure. À noter que la qualité des requêtes de plus faible
142 7. Mise à l'épreuve des algorithmes élaborés 600 550 500 Temps de calcul (s) 450 400 350 300 250 200 150 100 50 0 0 500 1 000 1 500 2 000 nombre d'observations demandées Figure 7.4 Évolution du temps de calcul en fonction du nombre d'observations demandées. priorité commence à être sacriée à partir de 1000 observations, suivie ensuite par la qualité des requêtes de priorité intermédiaire. Cette gure souligne l'optimisation lexicographique qui est eectuée. 7.1.4 Distance à l'optimum sur une petite instance à l'ordonnancement fortement contraint Il est toujours bon d'avoir une estimation de l'écart entre une solution approchée et la solution optimale. Pour ce faire, nous exécutons l'algorithme PLANET sur une instance petite néanmoins très contrainte, après relaxation du problème. Cette instance implique 13 observations de régions géographiquement très proches les unes des autres. Toutes les requêtes considérées ont la même priorité (3) et le même poids (1), et se limitent à l'observation d'une bande. Les prévisions météorologiques prises en compte sont également identiques (très bonnes) entre requêtes. Sur cette instance, nous comparons l'algorithme PLANET avec un algorithme optimal A, qui utilise un pas de discrétisation d'une seconde (avec durées de rendez-vous arrondies à la seconde supérieure). L'algorithme PLANET est en mesure de planier 12 observations, obtenant une valeur de critère de 9.48, tandis que l'algorithme A est capable de toutes les planier avec une valeur de critère de 10.58 (les valeurs de critère tiennent seulement compte des angles d'acquisition). Figure 7.6 et Figure 7.7 fournissent les plans produits par les deux algorithmes. La trace au sol du satellite survolant la France du sud vers le nord est achée en vert. Pour chaque zone au sol, sa petite fenêtre d'observation et la projection de l'attitude
7.1. Évaluation des performances en planication 143 175 150 125 Qualité 100 75 50 25 0 0 500 1 000 1 500 2 000 nombre d'observations demandées prio 3 prio 2 prio 1 Figure 7.5 Évolution du vecteur qualité en fonction du nombre d'observations demandées. du satellite au moment de la prise de vue sont achées en bleu ou rouge, selon l'algorithme. Soulignons que PLANET produit le résultat qui est le sien en seulement 2 secondes alors que notre algorithme A prend ici 5241 secondes pour statuer. De plus, notre algorithme A est incapable de résoudre des instances de plus de 13 observations par manque de RAM. Cependant, la comparaison est ici faite pour avoir une idée (visuelle) de la diérence entre une solution produite par PLANET et la solution optimale. 7.1.5 Performance de l'heuristique de choix des observations sur le problème très simplié du Challenge ROADEF'2003 Par ailleurs, nous avons souhaité confronter notre algorithme à des techniques sophistiquées (recherche taboue, recuit simulé, algorithmes génétiques, programmation linéaire... ) sur un problème proche, celui du challenge ROADEF'2003 (Verfaillie et al. 2003). Alors organisée par l'onera et le CNES, cette compétition ore l'énorme avantage de disposer d'une base commune bien dénie, des mêmes outils d'évaluation et des résultats propres à chaque participant. En réalité, ce problème très relaxé par rapport à celui qui fait l'objet de la thèse nous oblige à mettre entre parenthèses une grande partie de l'algorithme : seule l'heuristique de choix d'observation est ici évaluée, mais le résultat demeure tout de même une indication importante.
144 7. Mise à l'épreuve des algorithmes élaborés Figure 7.6 Plan produit par l'algorithme PLANET. Figure 7.7 Plan optimal produit par un algorithme A. Description du challenge Le challenge ROADEF est une compétition organisée tous les deux ans par la Société Française de Recherche Opérationnelle et d'aide à la décision. Le but de ce challenge est double. D'une part, il permet aux industriels d'avoir une meilleure perception des développements récents dans le domaine de la Recherche Opérationnelle et de l'aide à la Décision, et il confronte les jeunes universitaires à une problématique décisionnelle, souvent complexe, rencontrée dans le milieu industriel. En ce sens, le challenge leur permet de vivre une expéri-
7.1. Évaluation des performances en planication 145 ence des exigences et dicultés rencontrées dans l'industrie. D'autre part, ce challenge initie un partenariat permanent entre des industriels et des jeunes universitaires sur des projets d'ampleur industrielle nécessitant la conjonction de compétences scientiques élevées avec une culture et une réalité de l'entreprise actuelle. Aussi, depuis que la catégorie Senior existe, ce challenge permet aux chercheurs conrmés d'une part de montrer et de confronter leurs savoirs et savoir-faires sur un sujet pratique, et d'autre part d'établir des partenariats avec les industriels. Le sujet de 2003 était proposé par l'onera et le CNES. Il s'agissait d'un problème simplié de gestion des prises de vue réalisées par un satellite agile d'observation de la Terre. Le problème se résume ainsi : sélectionner un ensemble de prises de vue parmi l'ensemble des prises de vue réalisables sur l'horizon considéré et les ordonner dans le temps. Le résultat attendu est donc une séquence de prises de vue qui soit réalisable. Les contraintes à respecter sont les suivantes. Chaque observation doit être réalisée dans sa fenêtre de visibilité. Entre deux observations o et o, un temps minimal de transition dépendant de o et o est à respecter. Enn, pour toute paire de bandes jumelles issues d'une demande stéréoscopique, soit aucune n'est acquise, soit les deux (voir en 7.1.5). Le critère à optimiser (à maximiser) est un critère de gain, déni comme la somme sur l'ensemble des demandes du gain associé à l'acquisition complète ou partielle de chaque demande. Le gain associé à l'acquisition complète d'une demande est déni comme le produit de la surface associée à cette demande par le gain par unité de surface. Il est multiplié par 2 en cas de demande de type stéréo, de façon à ne pas défavoriser ces demandes qui sont plus consommatrices en termes de ressource satellite. Le gain associé à l'acquisition partielle d'une demande est déni comme le produit du gain associé à son acquisition complète par une fonction de la fraction acquise (fonction linéaire par morceaux passant par les points < 0, 0 >, < 0.4, 0.1 >, < 0.7, 0.4 > et < 1, 1 >). La fraction acquise d'une demande est dénie comme la somme des fractions associées aux bandes acquises, divisée par 2 dans le cas d'une demande stéréo, pour tenir compte du fait que toute bande d'une demande stéréo est acquise deux fois. Nr g = gr[i] i=1 gr[i] = gc[i].p(fr[i]) gc[i] = G[i].S[i].(St[i] + 1) fr[i] = 1 St[i]+1. 1 S[i]. ss[j].su[j] j Str[i] ss[j] = sa[2j 1] + sa[2j]
146 7. Mise à l'épreuve des algorithmes élaborés où : Nr désigne le nombre de requêtes d'observation G[i] désigne le gain par kilomètre carré associé à la réalisation complète de la requête i S[i] désigne la surface en kilomètres carrés du polygone associé à la requête i St[i] précise si la requête est mono (= 0) ou stéréoscopique (= 1) Str[i] désigne l'ensemble des bandes associées à la requête i Su[j] désigne la surface utile de la bande j sa[j] précise si la bande j est retenue (= 1) ou non (= 0) La phase de qualication consiste à évaluer les programmes des candidats sur huit instances. L'évaluation dière légèrement selon la nature déterministe ou non des programmes. Pour une méthode déterministe, l'évaluation consiste à faire tourner le programme du candidat une fois sur chaque instance. Pour chaque instance i, on obtient la valeur de la solution pour chaque instance : ValSol i. Pour une méthode non déterministe, l'évaluation consiste à faire tourner le programme du candidat 10 fois sur chaque instance. Pour chaque exécution j du programme sur une instance i, on obtient la valeur de la solution pour chaque instance : ValSol ij. Avec chaque instance est fournie une solution de référence. La note d'un candidat est la moyenne des écarts relatifs par rapport aux solutions de référence exprimée en pourcentage : 8 Note = 100 1 ValSol i ValRef i 8 (si déterministe) ValRef i=1 i 8 10 Note = 100 1 ValSol ij ValRef i 80 (si non déterministe) ValRef i=1 j=1 i Disposant d'un processeur à 3 GHz sous Linux, nous nous autorisons un temps de calcul de 115 secondes. Adaptation au contexte du challenge Ce problème concentre de nombreuses simplications vis-à-vis de celui qui fait l'objet de cette thèse. Tout d'abord, les contraintes de limitation de la mémoire et de l'énergie à bord ne sont pas prises en compte, tout comme la planication des vidages de données, des pointages spéciques, et de l'activation des instruments. Un seul satellite est considéré et l'horizon de planication équivaut à une seule révolution de ce satellite autour de la Terre, ce qui élimine la possibilité d'avoir plusieurs fenêtres de visibilité pour une même bande. Les requêtes d'observation sont toutes identiques, d'où la suppression de l'aspect lexicographique de l'optimisation. Le temps de transition minimal entre deux observations o 1 et o 2 dépend seulement de la séquence, et non plus de la date de n de o 1. De plus, les contraintes portant sur la trajectoire en attitude (non éblouissement de l'instrument optique, production énergétique des panneaux solaires, fenêtres eectives de vidage) sont oubliées. Enn, notons que le critère d'optimisation ne tient pas compte de la qualité image (angle d'acquisition, et conditions météo). An de comparer les solutions produites par notre planicateur à celles des autres participants, nous sommes donc amenés à mettre entre parenthèses une grande partie de notre
7.1. Évaluation des performances en planication 147 algorithme : pour toute décision à un instant t, le niveau 2 (insertion de pointages spéciques), le niveau 3 (vidages de données) et le niveau 4 (activation d'instruments avec vérication des contraintes de limitation de l'énergie à bord) sont supprimés ; de plus, le niveau 1 se limite désormais au choix de l'observation car la date au plus tôt, tenant compte du temps de transition minimum, est systématiquement préférée (aucun critère de qualité image) ; un seul plan est construit (une seule priorité est considérée), d'où la disparition des observations obligatoires et de leur calcul de date au plus tard ; les calculs de trajectoire en attitude sont bien sûr éludés, tout comme la vérication des contraintes portant sur cette trajectoire. À noter cependant une diculté n'apparaissant pas dans notre cas d'étude : la notion de requêtes stéréoscopiques. Pour ce type de demande, deux images sont nécessaires (sur la même révolution), en respectant certaines contraintes angulaires (diérences minimales et maximales entre les angles de prise de vue). Une contrainte complexe est alors ajoutée, à savoir l'obligation de, soit les réaliser toutes les deux, soit n'en réaliser aucune. Notre idée pour prendre en compte ce type de requête est la suivante. Dès qu'une observation est choisie par notre heuristique, et qu'il s'agit en fait de la première d'une paire d'observations stéréo, nous ajoutons la seconde dans une liste d'observations obligatoires à réaliser sur l'horizon restant. Cette liste est alors triée par ordre croissant des dates de début au plus tôt, et les dates de début au plus tard sont calculées. Ainsi, nous traitons ces observations jumelles de la même façon que nous traitions les observations obligatoires de priorité strictement supérieure à p (priorité du plan courant) : à un instant donné, si l'observation choisie repousse la prochaine observation obligatoire au-delà de sa date au plus tard, alors nous en choisissons une autre. Résultats et comparaison aux participants Les solutions produites se situant en moyenne à 26% au-dessous des solutions de référence (voir Table 7.8), notre algorithme n'aurait pas été susamment ecace pour se qualier. Néanmoins, n'oublions pas qu'ici seule l'heuristique de choix des observations intervient. Cette règle très simple, de type un temps de calcul très faible. utilité temps consommé, enregistre nalement un score honorable, avec Chose intéressante, si l'on eectue des descentes gloutonnes successives en s'écartant, parfois et légèrement de l'heuristique, nous obtenons un bien meilleur score. En pratique, nous choisissons la première observation de la liste ordonnée avec une probabilité de 0.8, la deuxième avec une probabilité de 0.8 2 = 0.64, etc. Les solutions produites se situant en moyenne à 2.3% au-dessus des solutions de référence, cette méthode aurait passé les qualications. Pour information, l'équipe TNO-PEL Kuipers a été la grande vainqueur du Challenge en 2003. L'algorithme utilisé était un recuit simulé. Notons que les recherches taboues ont obtenu de très bons résultats : 2ème au classement Senior, 1er au classement Junior. La programmation linéaire, quant à elle, a été mise en grande diculté.
148 7. Mise à l'épreuve des algorithmes élaborés Équipe Note obtenue Qualié? Catégorie ID-IMAG, France 21.47 Oui junior IME-USP, Brasil 20.98 Oui ETC-UPMC, France -17.03 Non LAAS-CNRS, France -26.74 Non LGI-EMA-EERIE, France 21.08 Oui UTT, France -58.01 Non Univ. Sarajevo-IMAG-IMD, Bosnie/France Non UCL1, Belgium (Bottin et al.) Non UCL2, Belgium (Billen et al.) -20.69 Non Catégorie Bouygues e-lab, France 18.97 Oui senior DIRO-Crt, Canada 19.57 Oui BT, UK -2.62 Non HEC-Crt-GERAD, Canada 19.50 Oui LGI2P-EMA-EERIE, France 21.44 Oui Poznan Univ. of Technology, Poland 19.11 Oui Thales-INRA, France 20.09 Oui TNO-PEL Bloemen, The Netherlands 19.39 Oui TNO-PEL Kuipers, The Netherlands 19.61 Oui Nous - glouton chronologique -26.06 Non Nous - glouton chronologique stoch. itéré 2.32 Oui Table 7.8 Résultat virtuel obtenu par un glouton chronologique au Challenge ROADEF'2003 Le succès des techniques de recherche locale n'est pas un hasard. Elles sont connues pour être capables de traiter des problèmes d'optimisation de très grande taille et de produire rapidement de bonnes solutions. Seulement, dans le problème qui fait l'objet de la thèse, il est déjà dicile d'obtenir ne serait-ce qu'une solution. C'est la raison pour laquelle nous nous sommes dirigés vers une recherche plus proche du glouton, prisé pour sa simplicité et son ecacité. 7.2 Évaluation des performances en replanication Les performances de l'algorithme de planication ont été évaluées. C'est désormais au tour de celles de l'algorithme de replanication. Nous étudions les performances moyennes des quatre modes de replanication sur une série de 100 instances, puis soulignons des comportements potentiellement diérents selon la physionomie de l'instance. 7.2.1 Résultats expérimentaux sur des instances aléatoires An d'évaluer les quatre modes de replanication, nous avons considéré des scénarios dans lesquels 10 requêtes urgentes de priorité 3 (la plus élevée) surviennent quelques minutes avant l'envoi du plan journalier. De tels scénarios sont parmi les plus pressants pour la replanication car les nouveaux plans doivent couvrir à nouveau la journée entière. Concernant la combinaison des objectifs de qualité et de stabilité, nous avons posé α = 0.5 (lié à l'importance que l'on attache à la stabilité des plans).
7.2. Évaluation des performances en replanication 149 mode 1 mode 2 mode 3 mode 4 temps CPU (s) 121 (1) 173 (2) 206 (2) 210 (2) prio 3 0 (0) 0 (0) 1.9 (1.2) 1.3 (1.1) # obs. retirées prio 2 0 (0) 11.6 (5.1) 5.4 (3.2) 5.1 (3.2) prio 1 0 (0) 15.3 (6.4) 6.5 (4.3) 9.0 (5.0) # obs. urgentes ajoutées 5.6 (1.5) 9.0 (1.0) 3.9 (1.5) 3.9 (1.4) prio 3 100.88 (0.55) 101.03 (0.68) 99.52 (0.90) 100.11 (1.44) critère prio 2 115.06 (0.06) 108.91 (2.48) 112.11 (1.84) 113.20 (1.83) prio 1 92.60 (0.05) 86.74 (2.79) 89.86 (2.21) 90.54 (2.56) Table 7.9 Résultats moyens des quatre modes de replanication sur 100 instances aléatoires Nous nous donnons l'instance du problème de planication étudiée en 7.1.1 (instance réaliste) et la supposons résolue, c'est-à-dire que nous disposons du plan journalier. À partir de là, nous créons 100 instances aléatoires du problème de replanication : dans chacune de ces instances, 10 requêtes urgentes sont choisies aléatoirement dans des zones d'intérêt militaire (cette fois-ci la probabilité d'accepter une observation située ailleurs est nulle). Enn, nous exécutons pour toute instance les quatre modes de replanication introduits au chapitre 5. Les résultats de ces expérimentations sont consignés dans la table 7.9. Les modes 1 et 2 semblent les plus ecaces en moyenne car ils obtiennent les meilleures valeurs de critère (combinant qualité intrinsèque et stabilité) en des temps de calcul plus faibles que ceux observés par les modes 3 et 4. Le mode 1 est le plus rapide, mais le mode 2 obtient en moyenne les plans de meilleur qualité. En eet, contrairement au mode 1, le mode 2 s'autorise à retirer des observations de priorité 1 et 2 pour insérer davantage d'observations de priorité 3. La conséquence en est une augmentation de la qualité associée aux requêtes de priorité 3 au détriment des qualités associées aux requêtes de priorité 1 et 2. Notons que les temps de calcul sont tous inférieurs aux 5 minutes autorisées. De plus, la plupart du temps, la replanication sera plus rapide encore car elle ne sera pas requise sur la journée complète, mais seulement sur l'horizon restant. Il est vrai cependant que le temps de calcul aché pour le mode 2, inférieur à ceux des modes 3 et 4, peut étonner car le nombre de plans intermédiaires est potentiellement doublé (priorités 3.5, 3, 2.5, 2, 1.5, 1). Les raisons sont que, d'une part, les requêtes urgentes sont toutes de même priorité, et d'autre part, le plan de priorité 3.5 n'est pas calculé et fournit seulement au plan suivant la séquence d'observations obligatoires de priorité 3.5. Ces résultats donnent une bonne indication sur les performances moyennes des quatre modes pour α = 0.5. Nous observons néanmoins, en y regardant de plus près, des comportements diérents selon la densité des zones à observer autour des zones associées aux requêtes urgentes. Nous isolons trois instances, de diculté croissante, qui nous semblent caractéristiques de ces diérences : 1. dans la première instance, des bandes associées à des requêtes urgentes sont générées aléatoirement sur les terres émergées ; on a une faible probabilité que ces bandes soient dans des régions "chargées" (régions particulièrement denses en zones à observer) ;
150 7. Mise à l'épreuve des algorithmes élaborés 2. dans la deuxième instance, des bandes associées à des requêtes urgentes sont générées manuellement dans des régions denses en requêtes de priorité 1 et 2, mais peu denses en requêtes de priorité 3 ; 3. dans la troisième instance, des bandes associées à des requêtes urgentes sont générées manuellement dans des zones denses en requêtes de priorité 1, 2 et 3. La table 7.10 et la gure 7.8 récapitulent les résultats obtenus par les quatre modes de replanication sur ces trois instances : temps de calcul, nombre d'observations ôtées de l'ancien plan selon leur priorité, nombre d'observations urgentes ajoutées dans le nouveau plan, valeur du nouveau plan à chaque niveau de priorité (prenant en compte la qualité et la stabilité). Sur la première instance (instance "facile"), le mode 1 est clairement le plus ecace : toutes les requêtes urgentes peuvent être ajoutées sans aucun retrait. De plus, ce mode est le meilleur en termes de temps de calcul. Sur la deuxième instance (instance "moyenne"), le mode 2 produit les meilleurs résultats en termes de valeur du critère : toutes les requêtes urgentes sont ajoutées. Aucune requête de priorité 3 n'est supprimée (c'est de toute façon interdit en mode 2). Seules des requêtes de priorité 1 et 2 sont retirées. Ce mode est cependant moins rapide que le mode 1. Sur la troisième instance (instance "dicile"), les choses sont plus complexes. Aucune requête urgente ne peut être insérée en mode 1. Le mode 2 permet d'en ajouter 7. Une de plus (ce qui nous amène à 8) peut être insérée en modes 3 et 4. Cependant, le mode 4 supprime moins de requêtes de priorité 3. De plus, on constate dans ce mode moins de retraits de requêtes de priorité 3 et 2 que de priorité 1. Le mode 4 produit les meilleurs résultats en termes de valeur du critère, suivi de près par le mode 2. Concernant le temps CPU, les modes de replanication 3 et 4 en requièrent presque autant qu'en planication. Néanmoins, ce temps reste inférieur au temps maximum spécié par les besoins de la mission (5 minutes). Le mode 1, quant à lui, divise par deux ce temps de calcul. 7.2.2 Recommandations en vue d'une utilisation opérationnelle Nous avons montré qu'il était possible de recourir au même algorithme de recherche chronologique en avant pour la planication et pour la replanication, en jouant simplement sur les priorités et poids des requêtes et en modiant l'ensemble des observations candidates. Quatre modes de replanication, de moins en moins restrictifs, sont établis. Les expériences menées indiquent que leur ecacité relative en termes de qualité, de stabilité et de temps de calcul dépend du type d'instance, plus précisément de la répartition au sol des zones à observer. Exécuter ces quatre modes de replanication en parallèle serait une option. Une autre option serait de les exécuter en séquence. Pour celà, l'ordre selon lequel les modes seraient appelés pourrait être déterminé par une analyse rapide de la situation, pour chaque instance : requêtes localisées ou non dans des régions déjà chargées en demandes d'acquisition.
7.3. Conclusion 151 première instance (facile) mode 1 mode 2 mode 3 mode 4 temps CPU (s) 121 176 206 210 prio 3 0 0 1 0 # obs. retirées prio 2 0 0 1 0 prio 1 0 1 0 2 # obs. urgentes ajoutées 10 10 8 8 prio 3 102.38 101.67 100.92 101.34 critère prio 2 115.02 114.86 114.46 115.01 prio 1 92.53 92.21 92.92 92.92 deuxième instance (moyenne) mode 1 mode 2 mode 3 mode 4 temps CPU (s) 122 176 211 214 prio 3 0 0 1 0 # obs. retirées prio 2 0 4 2 1 prio 1 0 1 4 4 # obs. urgentes ajoutées 2 10 9 9 prio 3 100.63 104.00 102.49 102.89 critère prio 2 115.11 111.49 113.21 115.45 prio 1 92.57 91.49 89.65 94.22 troisième instance (dicile) mode 1 mode 2 mode 3 mode 4 temps CPU (s) 124 180 214 217 prio 3 0 0 3 2 # obs. retirées prio 2 0 4 5 6 prio 1 0 4 1 11 # obs. urgentes ajoutées 0 7 8 8 prio 3 99.55 102.49 102.30 102.79 critère prio 2 115.12 111.75 111.76 112.84 prio 1 92.62 90.44 91.98 92.61 Table 7.10 Résultats des quatre modes de replanication sur les trois instances 7.3 Conclusion Finalement, l'algorithme de planication a été éprouvé de diérentes manières, bien que la comparaison avec des approches existantes soit dicile. Les résultats obtenus en termes de temps de calcul et de qualité de plan sur l'instance réaliste sont considérés satisfaisants par le CNES. L'ecacité des heuristiques retenues aux niveaux 1 et 4 est attestée par la qualité des plans produits. En revanche, l'heuristique au niveau 3 ne se dinstingue pas des heuristiques naïves testées car le télédéchargement des images n'est pas problématique ; l'heuristique joue seulement sur l'ordre de vidage et donc sur l'âge de l'information. L'heuristique au niveau 2, quant à elle, n'a pas d'incidence directe sur la qualité des plans en situation nominale, mais sera un atout certain en cas de panne de batteries (énergie) ou de perte d'une station sol de réception (vidage). Nous avons également souhaité nous faire une idée du comportement de l'algorithme avec
152 7. Mise à l'épreuve des algorithmes élaborés % observations maintained 100 99 100 95 90 85 80 75 % urgent obs. added mode 1 mode 2 mode 3 mode 4 % observations maintained 100 99 98 97 100 90 80 70 60 50 40 30 20 10 0 % urgent obs. added mode 1 mode 2 mode 3 mode 4 % observations maintained 100 99 98 97 96 95 mode 1 mode 2 mode 3 mode 4 100 90 80 70 60 50 40 30 20 10 0 % urgent obs. added prio 3 prio 2 prio 1 urgent obs. added Figure 7.8 Vue graphique des résultats en replanication ; haut : première instance (facile) ; milieu : deuxième instance (moyenne) ; bas : troisième instance (dicile). l'augmentation du nombre de requêtes d'observation. Premièrement, le temps maximal de calcul (10 minutes) est atteint en moyenne à partir de 1500 observations. Deuxièmement, nous constatons que, petit à petit, la qualité des observations de priorité 1 (surtout leur nombre d'ailleurs) est sacriée, puis celle des observations de priorité 2, tandis que la qualité des observations de priorité 3 augmente de façon linéaire, au-delà de 2000 observations. Nous avons ensuite tenté de comparer notre approche à des techniques existantes, sophistiquées pour la plupart. Cette comparaison n'a été possible que sur des versions très simpliées
7.3. Conclusion 153 de notre problème, nous conduisant d'ailleurs à passer sous silence certaines parties de notre algorithme. Les résultats obtenus sont satisfaisants, même si la possibilité d'interprétation est plutôt réduite. Enn, l'algorithme de replanication a, lui aussi, été mis à l'épreuve. La qualité moyenne des nouveaux plans produits et le temps moyen de calcul utilisé sur un ensemble d'instances aléatoires suggèrent l'utilisation du mode 2 : garder la séquence des observations de priorité 3 qui gurent dans le plan journalier, tenter d'insérer les requêtes urgentes (de priorité 3), et enn insérer autant que possible les observations de priorité 1 et 2 présentes dans le plan journalier. Nous soulignons cependant des comportements assez diérents selon la densité des zones à observer, à proximité des zones associées aux requêtes urgentes.
Bilan global
Bilan global Ici s'achève le manuscrit... Nous voilà au terme, ou presque, de ce manuscrit de thèse. Nous avons souligné la complexité à planier l'observation de zones terrestres par une constellation de satellites agiles, dès que l'on souhaite prendre en compte de nombreux aspects du problème réel. Nous avons alors tenté de montrer qu'il était possible de formaliser et de résoudre un tel problème. Une fois étudiées les méthodes employées sur certains problèmes connexes, une approche dédiée a été proposée. Les expérimentations eectuées ont attesté des bonnes performances de cette approche, à diérents égards. De plus, nous avons traité le problème de replanication au cours de la journée programmée, intégrant les requêtes de dernière minute, dites urgentes. L'algorithme de résolution est simplement une adaptation de celui élaboré pour le problème statique. Les résultats expérimentaux obtenus laissent à penser que la méthode retenue est tout à fait satisfaisante. Contributions Globalement, ces travaux ont permis de montrer qu'il était possible de concevoir un algorithme capable de construire, en une seule passe, un plan qui couvre toutes les activités de satellites agiles d'observation de la Terre (y compris celles eectuées en parallèle), qui respecte toutes les contraintes physiques (y compris celles liées à la trajectoire en attitude), et qui satisfait les requêtes d'utilisateurs autant que possible, le tout en un temps limité et maîtrisé. Dans ces travaux, une approche pragmatique a également été proposée pour résoudre la version dynamique du problème de planication, lequel se pose lorsque des requêtes urgentes d'observation arrivent en cours d'exécution du plan journalier. Cette approche tient compte des exigences de qualité intrinsèque des plans, de stabilité, et de temps de calcul limité. Modèle formel du problème de planication Le problème auquel nous nous sommes intéressés présente plusieurs dicultés qui ont notamment compliqué la tâche de modélisation. Premièrement, variables discrètes et continues
158 7. Mise à l'épreuve des algorithmes élaborés sont manipulées. Ensuite, le temps est un paramètre de chaque action et certaines de ces actions s'eectuent en parallèle. L'attitude des satellites doit être maintenue car les eets de certaines actions et la faisabilité d'autres actions dépendent de la trajectoire en attitude empruntée. De plus, le temps de transition minimal entre l'observation o 1 d'une zone z 1 et l'observation o 2 d'une zone z 2 dépend non seulement de la localisation de z 1 et z 2, mais également de la date de n de o 1 (non xée du fait de l'agilité des satellites). Ce temps minimal est obtenu par un code de calcul, et non pas une formule analytique. Enn, le critère d'évaluation des plans produits est complexe et dépend de la trajectoire suivie dans l'espace des états. Après avoir évoqué les obstacles à l'utilisation des cadres existants, nous avons tout de même proposé un modèle formel, de type état/actions. Il regroupe les données du problème, les nombreuses variables d'état du système et les actions disponibles. Certaines fonctions de variables d'état et/ou de paramètres d'action sont dénies pour faciliter l'expression des contraintes pesant sur les décisions. La forme d'un plan solution est précisée : une séquence d'actions sans trou temporel (les actions contraignant l'attitude d'un satellite), ainsi que d'autres actions réalisées en parallèle. Parce que les requêtes d'observation dépassent en général la capacité d'acquisition des satellites, un critère d'optimisation est établi. Il s'agit d'un vecteur où chaque composante v p correspond à l'utilité associée aux requêtes de même priorité p, planiées au moins en partie, tenant compte de la qualité des images et de la fraîcheur de l'information acheminée. Algorithme de résolution spécique mais approche généralisable Puisque nous n'avons eu recours à aucun cadre de modélisation existant, l'emploi d'algorithmes génériques a été exclu. Nous avons développé un algorithme spécique capable de résoudre le problème posé. Cet algorithme réalise une succession de recherches en avant dans le temps avec règles de décision dédiées et mécanismes de backtrack en cas de violation de contraintes. Il s'agit de recherches arborescentes limitées puisque peu de choix sont remis en cause : en cas d'incohérence seulement, jamais pour obtenir un plan de meilleure qualité. Il termine à la première solution obtenue, qui n'est autre qu'un plan réalisable sur l'horizon. Diverses expérimentations ont été eectuées : évaluation sur un scénario réaliste fourni par le CNES, comparaison d'heuristiques possibles sur des instances aléatoires, étude du comportement de l'algorithme avec l'augmentation du nombre de requêtes, et confrontation (d'une partie) de l'algorithme avec des techniques plus ou moins sophistiquées sur des problèmes simpliés. Les résultats semblent satisfaisants malgré la diculté de comparaison. C'est une approche pragmatique qui permet de traiter ce problème spécique. Nous pensons cependant que la méthode proposée (recherche chronologique en avant, réalisant des choix de façon hiérarchique et vériant les contraintes par simulation) peut être généralisée pour prendre en compte d'autres contextes impliquant planication d'action et de mouvement (voir ci-après la section dédiée aux perspectives).
7.3. Conclusion 159 Formulation du problème de replanication et approche pragmatique pour le résoudre Nous avons traité, par souci de réactivité, la prise en compte des requêtes urgentes qui sont déposées pendant l'exécution du plan. La formulation de ce problème de replanication est similaire à la version statique, si ce n'est un critère d'optimisation modié, ainsi que des données ajoutées (plan en cours d'exécution, ensemble des requêtes urgentes,... ). Le critère combine les deux objectifs potentiellement contradictoires que sont la qualité intrinsèque du nouveau plan et la stabilité par rapport à l'ancien, via une somme pondérée de ces deux métriques. L'algorithme de résolution pour ce nouveau problème a été obtenu à moindre coût puisque nous avons montré qu'il était possible de recourir à l'algorithme utilisé en planication régulière (recherche chronologique en avant) en jouant uniquement sur les poids et les priorités des requêtes, ainsi que sur l'ensemble des observations candidates. Nous avons proposé quatre modes de replanication pour lesquels la recherche est plus ou moins restrictive. La méthode a été éprouvée sur un ensemble d'instances aléatoires. Les performances moyennes nous invitent à utiliser le mode 2 (conservation des observations de plus forte priorité, puis insertion si possible des requêtes urgentes, et enn conservation autant que possible des observations de priorité inférieure). Néanmoins, la performance de chaque mode dépend en réalité de la répartition au sol des zones à observer. L'idéal serait de les exécuter en parallèle. Une autre option serait de déterminer le mode approprié par une analyse rapide de la situation pour chaque instance : requêtes urgentes localisées ou non dans des régions déjà chargées en demandes d'acquisition. Environnement expérimental avec visualisation des plans produits An de réaliser nos expériences, nous avons développé l'environnement PLANET, basé sur l'outil présenté dans (Beaumet et al. 2011). Il considère un modèle cinématique de la Terre, du Soleil et des satellites. Il tient compte des nombreuses caractéristiques de la plateforme (batteries, générateurs solaires, actionneurs gyroscopiques,... ) et de la charge utile (instrument optique constitué de deux plans focaux, module de télémesure image avec antenne haut-débit et mémoire de masse) de chaque satellite, et simule les actions possibles. Une instance du problème est entièrement décrite par un objet Model, lequel regroupe un horizon de planication, un ensemble de satellites avec orbite et caractéristiques physiques, un ensemble de stations sol (contrôle et réception), un ensemble de requêtes d'observation (objectifs) avec bandes associées. Enn, PLANET intègre les mécanismes de décision élaborés et permet de visualiser les solutions produites sous forme de chronogrammes. Perspectives Ces travaux sont bien évidemment perfectibles à plusieurs niveaux, dans la solution proposée comme dans les tests eectués. Nous listons des modications qu'il est possible d'ap-
160 7. Mise à l'épreuve des algorithmes élaborés porter. Ces travaux semblent néanmoins généralisables pour s'appliquer à d'autres problèmes que nous évoquons plus loin. Nous mentionnons ensuite une approche plus générique qu'il serait intéressant d'explorer. Enn, nous signalons certaines études à venir concernant l'observation de la Terre par des systèmes de nature diérente. Algorithmes de planication Si l'idée de planication par priorité décroissante semble inévitable pour la mission étudiée, la recherche de type chronologique en avant n'est pas une obligation. Néanmoins, sachant que l'on obtient ici une seule solution en un temps non négligeable par une technique proche du glouton, un autre type de recherche peut s'avérer trop coûteux en temps de calcul (nombre accru de calculs de trajectoire notamment). Par ailleurs, la hiérarchie des choix de niveaux 1 à 4 peut dicilement être remise en cause du fait de la nature de la mission. En revanche, la façon de faire ces choix est tout à fait discutable. En fait, les heuristiques employées peuvent être aussi sophistiquées que l'on souhaite. Mais c'est sans doute au niveau des possibilités de propagation qu'il serait judicieux de concentrer ses eorts : il s'agit surtout de limiter les backtracks chronologiques qui sont la principale cause de temps de calcul trop importants. Ici, nous n'avons que très peu exploré cette voie car, étant données les caractéristiques de la mission, ces backtracks n'apparaissent qu'en présence d'un grand nombre de requêtes d'observation ou en situation critique, liée par exemple à une panne de batterie ou une perte de station de réception. Une idée intéressante pourrait être d'évaluer, pour chaque plan focal, le temps d'activation minimal nécessaire aux observations obligatoires sur l'horizon restant, compte tenu du nombre de cycles on/o restants, et inversement, le nombre de cycles on/o minimal nécessaire, compte tenu du temps d'activation restant. Notons que l'élaboration de mécanismes de propagation doit prendre en considération le compromis nécessaire entre gain (choix élagués) et coût (temps de calcul). Concernant la replanication, les choses sont très ouvertes. La mesure de la stabilité du nouveau plan par rapport à l'ancien, par exemple, peut prendre une allure assez diérente de celle que l'on propose. De même, on peut imaginer combiner les objectifs de qualité et de stabilité, autrement que par une simple somme pondérée. Rien ne nous oblige à réutiliser l'algorithme développé pour le problème statique. On a cependant intérêt à conserver son aspect chronologique pour les mêmes raisons. Enn, toutes heuristiques qui vont eectivement dans le sens du nouveau critère (incluant l'objectif de stabilité) sont envisageables. Expérimentations Suivent quelques recommandations d'expérimentations supplémentaires : Une comparaison précise avec l'existant, algorithme actuel du système Pléiades, serait un très bon indicateur de performances. Il convient, pour ce faire, d'encoder le "Glouton
7.3. Conclusion 161 Hiérarchique" utilisé, ainsi que toutes ses subtilités (exemple : tentative de réarrangement si l'insertion d'une prise de vue à sa date de survol est impossible). An d'évaluer convenablement les bénéces de l'heuristique de choix des vidages, il serait souhaitable de créer des scénarios volontairement non nominaux : images de taille mémoire très diérente, avec des possibilités de télédéchargement réduites (perte de la station polaire par exemple). Concernant la replanication des activités satellitaires, il serait intéressant d'évaluer le temps moyen entre l'envoi d'un plan par un centre relais et le point de reprise, à partir duquel le plan est modié. Il serait ainsi possible d'estimer la réactivité du système. Applications Comme mentionné plus tôt, nous pensons qu'au delà de notre contexte très spécique, le type d'approche proposé (recherche chronologique en avant, réalisant des choix de façon hiérarchique et vériant les contraintes par simulation) peut être généralisé pour prendre en compte d'autres contextes impliquant planication d'action et de mouvement. Nous songeons notamment à la planication pour des satellites d'observation de l'univers, pour des drones à voilure xe ou tournante ou pour des robots terrestres. Approche diérente Au regard des missions d'observations passées, nous constatons qu'en pratique un planicateur dédié est systématiquement conçu pour tenir compte de contraintes physiques spéciques, et pour garantir des temps d'exécution réduits. Un réel dé serait de développer un cadre générique apte à modéliser l'ensemble de ces missions, aussi complexes soient-elles, et fournissant des algorithmes génériques performants. Un grand pas serait alors franchi, évitant ainsi de réinventer la roue à chaque nouvelle étude. Études futures Certaines missions d'observation de la Terre prévoient que les satellites soient capables de percevoir une modication du contexte (par exemple des prévisions météorologiques contredites par un détecteur de nuages à bord). Un tel schéma peut justier une planication à bord dans un but de réactivité accrue, même si la puissance de calcul y est toujours très limitée. Ce type de satellites autonomes a déjà fait l'objet de travaux (Beaumet 2008). Une idée intéressante consisterait désormais à combiner une planication au sol, comme dans la présente thèse, et certaines décisions prises à bord : par exemple, se pencher sur la construction de plans exibles au sol, adaptables à bord une fois levées les incertitudes pesant sur le système.
Annexe A Missions d'observation de la Terre : généralités Si l'on souhaite conserver une vue d'ensemble de notre planète, il convient naturellement de prendre du recul, et de l'observer depuis l'espace. Aussi, faisons-nous appel à des satellites spéciques disposés sur des orbites particulières. Leur mission n'est autre que la réalisation d'une série de prises de vue de régions identiées, ainsi que la transmission (télédéchargement) des images résultantes vers les entités concernées (station-sol de réception). A.1 Caractéristiques physiques Nous apportons ici quelques précisions concernant l'équipement des satellites en question, et l'orbite sur laquelle ils transitent (Lemaître et al. 2002). Type d'orbite Les orbites utilisées pour l'observation de la Terre présentent quelques particularités. Tout d'abord, elles se veulent basses (altitude proche de 700 km) par souci de résolution des images. Ensuite, an de préserver des caractéristiques image identiques pour toute zone observée, on les choisit circulaires. La focale instrument, xe, doit être compatible avec la totalité du domaine de vol (la distance au sol varie fortement entre un pointage nadir et un pointage d'une autre nature). Ajout à cela, il est d'usage de sélectionner des orbites héliosynchrones (l'angle formé entre le plan orbital du satellite et l'axe Terre-Soleil demeure constant tout au long de l'année, voir Figure A.1) : le satellite survole ainsi un même point à une même heure locale, préservant les conditions d'éclairement de la zone considérée (utile pour le suivi régulier de son évolution). Cet héliosynchronisme est assuré par la quasi-polarité de l'orbite retenue (inclinaison proche de 90 degrés). A noter que cette quasi-polarité, associée au mouvement naturel de la Terre autour de son axe, assure au satellite l'exploration quasi-totale de la surface terrestre. Plate-forme La plate-forme, comme pour tout autre type de satellite, est équipée de façon à fournir à la charge utile les ressources nécessaires à son fonctionnement. Elle regroupe ainsi des tuyères chargées de maintenir le satellite sur son orbite de référence (man uvres orbitales régulières), un système de contrôle en attitude, des panneaux solaires attachés à la production d'énergie, ainsi que des antennes bas débit recevant les télécommandes et transmettant la télémesure de servitude. L'agilité angulaire du satellite (capacité à se tourner autour de son centre de gravité) est une contrainte forte liée aux actionneurs de cette plate-forme et aux
164 A. Missions d'observation de la Terre : généralités Figure A.1 Orbite héliosynchrone. inerties satellite. Elle dénit les délais minimums de man uvre pour relier deux pointages, et induit donc une forte contrainte sur la capacité d'enchaînement des prises de vue. Charge utile La charge utile, ensemble des éléments destinés à remplir la mission, est constituée d'un ou plusieurs instruments d'observation, de résolutions et de fauchées diérentes (observation haute résolution et faible champ nous concernant). Une mémoire de masse est ajoutée pour collecter les données avant leur télédéchargement via des antennes haut-débit. Mémorisation et télédéchargement des données Comme précisé ci-dessus, en plus d'être acquises, les images doivent être enregistrées à bord et télédéchargées vers une station-sol. En conséquence, il est indispensable de prendre en compte la limitation de la mémoire de masse, les fenêtres de visibilité entre le satellite et ces stations, sans oublier la limitation du ux de données descendant. Évolution de l'énergie L'énergie est produite par les panneaux solaires en période d'éclairement du satellite, et par les batteries en période d'éclipse. Hors éclipse, le taux de production est fonction de l'angle entre les rayons du Soleil et le plan contenant les panneaux solaires. Notons que la production d'énergie surpasse la somme des consommations des sous-systèmes lorsque les panneaux sont faces au soleil, et le surplus est stocké dans les batteries. Celles-ci présentent un niveau minimum de charge au-dessous duquel le satellite en mode nominal ne peut descendre,
A.2. Planication des activités 165 et un niveau maximum de charge au dessus duquel l'énergie produite par les panneaux solaires n'est plus stockée et se trouve perdue. Échec d'une prise de vue Dans le cas d'instruments optiques, la présence de nuages dégrade la qualité des images acquises, et peut même invalider ces prises de vue. Dans la mesure où les couvertures nuageuses sont dicilement prévisibles dans la durée, aucune observation planiée n'est assurée de sa réussite. A.2 Planication des activités Pour mener à bien ces missions d'observation, un plan établissant les activités à eectuer doit être élaboré et envoyé pour exécution à bord. Cette phase de planication est donc essentielle (Verfaillie et Lemaître 2006). Cependant, la capacité d'acquisition satellitaire est très inférieure à la population des observations souhaitées, d'où une combinatoire importante et un fort taux de conits. Approche classique Actuellement, la planication des activités satellitaires a lieu quotidiennement (pour le lendemain) depuis le sol, selon les requêtes d'observation des utilisateurs. Un plan regroupant ces activités et leurs dates précisées d'activation, est alors téléchargé à bord du satellite. Ce plan doit, autant que possible, satisfaire les requêtes des utilisateurs. Initialement, ce travail se faisait à la main, les opérateurs étant munis d'un grand planisphère et de petits papiers. Les ordinateurs ont ensuite été sollicités pour visualiser les choix retenus, et vérier l'exécutabilité du plan. Désormais, on a recours à une planication automatique basée sur les requêtes courantes, un critère d'évaluation de la qualité du plan, et un modèle du système physique. C'est dire l'évolution fulgurante! Approches nouvelles Déjà se prolent des avancées importantes dans la planication d'activités. On envisage notamment une gestion de constellations de satellites non homogènes (instruments, orbites, et degrés de liberté diérents), ainsi qu'une gestion distribuée, coordonnée ou négociée. En outre, on s'interroge sur la possibilité d'une gestion plus exible, prenant en compte l'arrivée de requêtes urgentes. Cette planication pourrait demeurer au sol (c'est l'objet de la présente thèse), ou migrer à bord du satellite, lui conférant davantage d'autonomie. Quoiqu'il en soit, deux démarches se démarquent : la réparation de plans, via la recherche locale par exemple, et la prise de décisions en avant (meilleures prochaines actions).
166 A. Missions d'observation de la Terre : généralités orbit observation instrument swath ground track visibility corridor boundaries Figure A.2 Prise de vue par un satellite agile. A.3 Particularités liées à l'agilité des satellites Dénition Un satellite est dit agile s'il peut se mouvoir autour des 3 axes de rotation (roulis, tangage, lacet) de sorte à eectuer des rendez-vous rapides. Cette agilité constitue une avancée considérable en matière d'observation, puisque les prises de vue peuvent être réalisées dans n'importe quel sens et direction (voir Figure A.2), d'où un nombre beaucoup plus important de prises de vue possibles sur le même passage). Complexication du problème de planication Du fait de ces nombreux angles de prise de vue possibles, le problème de planication des activités devient nettement plus dicile que celui d'un satellite non agile tel que SPOT (combinatoire très complexe (Beaumet 2008)) : Satellite non-agile (ex : SPOT) 1 fenêtres de visibilités 3 satellite 2 fenêtres de réalisations 4 observations 5 trace au sol Pour chaque zone à imager, la fenêtre d'observation est xée. Soit le satellite débute la prise de vue à la date précise de début d'observation de cette zone, soit il ne la réalise pas. L'activité de planication se résume à décider quelles images acquérir (ordre directement donné par leurs positions géographiques, voir Figure ci-dessus).
A.3. Particularités liées à l'agilité des satellites 167 Satellite agile (ex : Pléiades) 1 3 2 4 5 Pour chaque zone à imager, la fenêtre d'observation est variable, l'intérieur de sa fenêtre de visibilité. Le satellite dispose donc de plusieurs opportunités sur un même passage (date de début non xée). L'activité de planication consiste ici à décider quelles images acquérir, dans quel ordre et à quelle date (combinatoire bien plus complexe). A noter que, pour ce type de satellites, les équipements (instrument optique, générateur solaire, antenne radio... ) sont xes sur la plate-forme, pour éviter de perturber les mouvements en attitude. En conséquence, cette attitude n'est autre qu'une ressource partagée par l'ensemble des activités : la trajectoire spécique imposée par une action interdit l'exécution d'une autre action en parallèle (excepté le télédéchargement opportuniste, qui ne nécessite pas un pointage précis vers la station de réception).
Annexe B Notions de mécanique spatiale Cette annexe est extraite des volumes 1 et 3 d'un ouvrage de référence en matière de systèmes spatiaux (Bernard et al. 1999, Albukerque et al. 1999). B.1 Paramètres orbitaux Pour dénir parfaitement le mouvement d'un point dans l'espace, on a besoin de trois coordonnées de position ainsi que de trois coordonnées de vitesse. En pratique, on se contente d'intégrer numériquement le mouvement du centre de gravité avec ces coordonnées cartésiennes (x, y, z, ẋ, ẏ, ż). Néanmoins celles-ci ne permettent pas : une interprétation plus "physique" des phénomènes rencontrés (évolution du demi-grand axe de l'orbite... ), d'éventuelles simplications mathématiques an d'obtenir par exemple des expressions analytiques du mouvement. Ces six composantes peuvent être exprimées d'une manière plus "géométrique" dans le cas d'orbites circumterrestres. De plus, on sait par la première loi de Kepler que le mouvement est plan et que la trajectoire a la forme d'une ellipse. Position du plan de l'orbite On peut donc dénir deux angles permettant de positionner le plan de l'orbite par rapport à un repère équatorial : i : "inclinaison" par rapport à l'équateur, Ω : "ascension droite au n ud ascendant" c'est-à-dire l'angle entre l'axe X et la ligne d'intersection du plan de l'orbite avec l'équateur, appelée ligne des n uds, orientée vers le n ud ascendant (voir Figure B.1). Forme de l'orbite Dans le plan, l'ellipse elle-même est caractérisée par deux paramètres qui peuvent être par exemple : a : le "demi-grand axe", e : l'"excentricité". Position du satellite sur l'orbite Enn, reste à savoir où le satellite est positionné exactement sur l'ellipse. Pour ce faire, il sut de se dénir une origine sur l'ellipse puis un angle depuis cette origine. Convention-
170 B. Notions de mécanique spatiale z Ligne des n uds ND y Ω i Équateur NA x NA : n ud ascendant ND : n ud descendant Figure B.1 Position du plan de l'orbite. nellement, on a l'habitude de la situer au périgée de l'orbite (point le plus près du centre de la Terre). On appellera alors l'"argument du périgée" (ω) l'angle dans le plan de l'orbite entre le n ud ascendant et le périgée (voir Figure B.2). Enn, l'angle déterminant la position du satellite par rapport au périgée peut s'exprimer de diérentes manières : v : l'"anomalie vraie" correspondant en fait à une coordonnée polaire, E : l'"anomalie excentrique" en projetant le satellite sur le cercle principal de l'ellipse (voir Figure B.3) M : déni par l'équation de Kepler M = E esin(e). Cet angle ctif permet de dénir simplement le mouvement keplerien en fonction du temps par M = M 0 + n.(t t 0 ) où n est le mouvement moyen égal à µ/a 3 et constant du fait de la 3ème loi de Kepler. On a donc obtenu six paramètres orbitaux : (a, e, i, ω, Ω, v ou E ou M) On peut alors montrer qu'ils sont équivalents aux positions/vitesses cartésiennes. D'autres types de paramètres orbitaux existent en remplaçant par exemple le couple (a, e) par les rayons (ou les altitudes) de l'apogée et du périgée (voir formulaire). De même dans les cas spéciaux d'orbites quasi circulaires (e 0) ou quasi équatoriales (i 0), on pourra se trouver en face d'indéterminations : comment par exemple dénir ω,
B.1. Paramètres orbitaux 171 z Périgée Ω ω i y x Figure B.2 Position du périgée sur l'orbite. Satellite Ligne des apsides E ω v Périgée NA Figure B.3 Position du satellite sur l'orbite. c'est-à-dire le périgée d'une orbite circulaire? Pour cela, il existe des paramètres orbitaux adaptés :
172 B. Notions de mécanique spatiale orbite quasi circulaire : (a, e x = e.cos(ω), e y = e.sin(ω), i, Ω, α = ω + M) orbite quasi équatoriale : (a, e, h x = 2.sin( i 2 ).cos(ω), h y = 2.sin( i 2 ).sin(ω), ω + Ω, M) orbite quasi circulaire et quasi équatoriale : (a, e x, e y, h x, h y, λ = ω + Ω + M) avec e x = e.cos(ω + Ω) e y = e.sin(ω + Ω) B.2 Repères utiles à la modélisation de l'attitude La modélisation du mouvement d'attitude, les lois de guidage et l'estimation de l'attitude à partir de senseurs (terrestres ou inertiels) nécessitent l'utilisation de deux classes de repères : les repères liés au corps (satellite, générateur solaire, charge utile ou instrument de mesure d'attitude) dont on cherche à caractériser l'orientation dans l'espace ; ce sont les repères "instruments" et les repères "satellites" ; les repères de référence par rapport auxquels est caractérisée l'orientation du corps considéré ; selon le but recherché, qui est soit lié à la mission du satellite ou la vocation de l'instrument, soit au domaine étudié (thermique, énergétique, liaisons radio-fréquences,... ), on se référera à un repère inertiel, c'est-à-dire de direction xe par rapport aux étoiles (missions astronomiques), ou à un repère orbital local (missions terrestres d'observation ou de télécommunication), ou encore à un repère solaire (repère lié à la direction Terre-Soleil, pour les études thermiques ou énergétiques). Le repère de consigne est un repère intermédiaire à ces deux classes. Il dénit l'attitude commandée d'un repère satellite ou instrument par rapport au repère de référence. La matrice de rotation permettant de passer du repère de consigne au repère satellite, ou les angles de Cardan associés, caractérise l'erreur d'attitude. Les axes du repère de consigne peuvent être parallèles à ceux du repère de référence (exemple : pointage géocentrique avec commande de lacet nul) ou en être distinct (exemple : satellites man uvrants). Repères satellites et repères instruments Un repère satellite est lié à l'architecture mécanique du satellite. On distingue souvent le "repère satellite" et le "repère de pilotage" ; le premier sert à la dénition de l'architecture mécanique de la plate-forme, il a son origine en un point caractéristique, sur l'interface satellitelanceur par exemple, et ses axes sont orientés selon les faces principales de la plate-forme ; le second est asservi par le système de contrôle d'attitude sur le repère de consigne, son origine est proche du centre de masse et ses axes sont liés aux directions privilégiées de la charge utile principale. Des repères secondaires liés au satellite peuvent être dénis, notamment au point d'ancrage de corps mobiles sur le corps principal du satellite (par exemple : point d'ancrage du GS). Ils sont dénis par les coordonnées du point origine et les cosinus directeurs de leurs axes dans le repère satellite.
B.2. Repères utiles à la modélisation de l'attitude 173 Un repère instrument est aligné suivant les directions caractéristiques de l'instrument (axe optique d'un instrument de visée, axe radio-fréquence d'une antenne, axes de mesure d'un gyromètre). Du point de vue technologique, ces repères sont dénis par rapport au repère satellite ou par rapport à un repère secondaire. Du point de vue du contrôle d'attitude, leurs directions sont ramenées dans le repère de référence adéquat par changements de repère successifs. Repères orbitaux locaux Les repères orbitaux sont liés à l'orbite du satellite et à sa position sur cette orbite. On dénit deux repères orbitaux (voir Figure B.4) : le repère (G SAT, q, s, w ) qui se réfère à l'axe géocentrique ( q // OG SAT ) le repère (G SAT, t, n, w ) qui se réfère au vecteur vitesse du satellite ( t // V SAT ) O, G SAT et V SAT désignent respectivement le centre de masse de la Terre, le centre de masse et le vecteur vitesse du satellite. Dans les deux cas, w est parallèle et de même sens que le moment cinétique orbital H O = m SAT. OG SAT V SAT. q est dirigé suivant la géocentrique ascendante et s est perpendiculaire au plan ( q, w ) et dirigé vers le même demi-plan que V SAT. t est parallèle et de même sens que V SAT. n est le vecteur normal à la trajectoire au point position du satellite dans le plan de l'orbite et orienté vers le centre de la Terre. w s Repère lié à la géocentrique q G SAT O n t G SAT w Repère lié au vecteur vitesse Figure B.4 Repères orbitaux locaux. De manière générale, c'est le repère géocentrique ( G SAT, q, s, w ) qui est le mieux approprié pour les missions spatiales terrestres. C'est pourquoi, pour de telles missions, on dénit le roulis, le tangage et le lacet, par analogie avec l'aéronautique, comme étant les angles de
174 B. Notions de mécanique spatiale débattement autour des axes de directions respectives s, w et q, au signe près, l'orientation des axes de roulis, tangage et lacet dépendant de la convention adoptée par chaque projet. Repères solaires Dans certains domaines, comme la thermique et l'énergétique, la direction du soleil joue un rôle prépondérant. C'est pourquoi, certains repères de référence privilégient la direction Terre-Soleil. Par exemple, le repère solaire équatorial R seq = ( u seq, vseq, w seq ) se dénit : u seq : vecteur directeur de l'intersection du méridien contenant le soleil avec l'équateur ; w seq : vecteur orthogonal à l'équateur dirigé vers le pôle nord ; v seq complète le trièdre. Repères inertiels Les repères inertiels sont des repères dont les axes sont xes par rapport aux étoiles. Le repère de référence est le plus souvent le repère céleste moyen de l'époque J2000, dans lequel sont exprimés les nouveaux catalogues d'étoiles. Repères de consigne Un repère de consigne se dénit par rapport au repère de référence par matrice de rotation, angles d'euler ou de Cardan, ou quaternion (on parle alors de quaternion de consigne). Il s'agit d'un repère purement vectoriel (sans point origine), dans la mesure où il ne concerne pas la position du satellite, qui relève du contrôle d'orbite, mais uniquement son attitude. Dans le cas d'un pointage géocentrique classique, les directions du repère de consigne sont parallèles aux axes du repère orbital local (O SAT, q, s, w ). L'ordre et le sens des vecteurs du repère dépendent des conventions utilisées pour dénir le repère satellite, ce dernier coïncidant avec le repère de consigne lorsque l'attitude est parfaite. Ainsi dans le cas des satellites SPOT, le repère de consigne (G SAT, u C, v C, w C ) est déni comme suit (voir Figure B.5) : u C = w v C = s w C = q Dans le cas des satellites TELECOM et PROTEUS, le repère de consigne est déni par : u C = s v C = w w C = q Dans le cas des satellites man uvrants, on peut dénir le repère de consigne par rapport au repère de référence, repère orbital local ou inertiel, en exprimant le quaternion d'attitude en fonction du temps, de préférence aux angles d'euler ou de Cardan, les quaternions ne présentant pas de singularité. On peut également adopter une consigne en vitesse, en exprimant le vecteur vitesse de rotation en fonction du temps, ou de la position sur l'orbite.
B.2. Repères utiles à la modélisation de l'attitude 175 w C Repère de consigne SPOT v C u C G SAT u C Repère de consigne TELECOM et Protéus vc w C w s Repère orbital local géocentrique q G SAT O Figure B.5 Repères de consignes.
Annexe C Précisions sur certains codes de calcul utilisés C.1 Calcul de la durée de transition minimale pour l'observation d'une zone donnée Le calcul de la durée de transition minimale pour l'observation d'une zone donnée fait appel à une méthode itérative d'estimation des trajectoires en attitude, développée à l'onera. Cette section fait écho à une partie des travaux présentés dans (Beaumet 2008). Étant donné un satellite S ayant une attitude A 0 et une vitesse de rotation Ω 0 à une date t 0, on cherche ici à déterminer le rendez-vous en attitude de durée minimale nécessaire pour débuter une observation o entre les dates t s et t e (voir Figure C.1). orbite Terre (M, t s ) (M, t e ) (A obs (t e ), t e ) (A obs (t s ), t s ) (A 0, t 0 ) Figure C.1 Rendez-vous nécessaire au commencement d'une observation. Calcul de la durée minimale d'un rendez-vous vers une attitude xe On cherche à calculer le temps minimal de basculement pour faire passer le satellite d'une attitude A et une vitesse de rotation Ω A à une attitude B et une vitesse de rotation Ω B.
178 C. Précisions sur certains codes de calcul utilisés On note B A et B B les bases correspondant au repère satellite lorsque celui-ci se trouve respectivement dans l'attitude A et B. A et B sont repérées par deux quaternions d'attitude Q OA et Q OB relativement à une attitude de référence O. Les vitesses Ω A et Ω B sont connues dans le repère satellite, c'est-à-dire en composantes dans les bases B A et B B : Ω B A A On a alors : et ΩB B B. Q B A A = 1 2 ΩB A A.Q OA Q B B B = 1 2 ΩB B B.Q OB On note Q AB = Q OA.Q OB le quaternion de rotation de B A à B B, exprimé indiéremment dans B A ou B B. Notons α AB et u AB l'angle et le vecteur unitaire de l'axe de cette rotation : Q AB = (cos( α AB 2 ), sin(α AB 2 ) u AB ) Considérons la base intermédiaire B I à mi-chemin entre B A et B B. On a : Q AI = Q IB = (cos( α AB 4 ), sin(α AB 4 ) u AB ) Q IA = Q AI Q IA et Q IB repèrent les attitudes A et B par rapport à la base intermédiaire B I. En composantes dans cette base, on a : Q B I A = Q IA. Q B A A.Q AI = 1 2 Q IA.Ω B A A.Q OA.Q AI = 1 2 Q IA.Ω B A A.Q OI Q B I B = Q IB. Q B B B.Q BI = 1 2 Q IB.Ω B B B.Q OB.Q BI = 1 2 Q IB.Ω B B B.Q OI Les temps de basculement minimaux sont alors calculés dans la base intermédiaire B I, de manière indépendante sur les trois composantes vectorielles du quaternion courant Q IM évoluant de Q IA à Q IB, à l'aide d'une loi de commande de type "bang bang" (LaValle 2006) implémentée dans un algorithme, Tmin (Llibre 2009). Le temps minimal global de basculement nécessaire au satellite pour passer d'une attitude A et une vitesse de rotation Ω A à une attitude B et une vitesse de rotation Ω B, correspond au plus grand de ces trois temps. Les accélérations et vitesses maximales sur les trois composantes vectorielles de Q B I M sont respectivement prises égales à la moitié des accélérations et vitesses de rotation maximales sur les axes de roulis, tangage et lacet du satellite. Cette approximation est relativement bonne car la base B I dénit l'attitude moyenne du satellite au cours du basculement. Ainsi, si Q OM est proche de Q OI alors : Donc Q B I IM 1 0 0 0
C.2. Calcul des fenêtres de visibilité d'une zone ponctuelle 179 Il en est de même pour : Q B I M = 1 2 Ω.Q IM 1 2 Ω Q B I max 1 2 Ω max Q B I M = = 1 2 ( Ω.Q IM + Ω. Q B I M ) 2 ( Ω.Q IM + Ω.( 1 2 Ω.Q IM)) 1 Ω.Q 2 IM Q B I max 1 Ω 2 2 max Si en plus d'une limitation par axe, la vitesse de basculement du satellite est limitée en module (du type Ω < Ω max ), les valeurs de chaque composante de la partie vectorielle de Q B I M sont limitées aux valeurs absolues des composantes correspondantes de Ω max u AB. Calcul de la durée minimale d'un rendez-vous nécessaire au commencement d'une observation On cherche maintenant à utiliser le calcul précédent pour déterminer la durée minimale d'un rendez-vous nécessaire au commencement d'une observation. Les dates t s et t e sont les instants de début au plus tôt et au plus tard de l'observation que l'on souhaite réaliser. Les attitudes et vitesses de rotation du satellite correspondantes sont notées (A fs, Ω fs ) et (A fe, Ω fe ). On représente un rendez-vous en attitude débutant à la date t 0 avec l'attitude A 0 et la vitesse de rotation Ω 0 par un triplet (t, A, Ω) où t, A et Ω sont respectivement sa date, son attitude et sa vitesse de rotation nales. Le triplet de rendez-vous (t k, A fk, Ω fk ) est calculé par l'algorithme Tbascul, qui fait appel de façon itérative à l'algorithme Tmin, de calcul de la durée minimale d'un rendez-vous à attitude xe, décrit en C.1. L'algorithme Tbascul procède par dichotomie sur l'intervalle [t s, t e ] an de déterminer le temps de basculement minimum, sous l'hypothèse que si un rendez-vous en attitude est possible en une durée d, alors il est possible pour toute durée d supérieure à d. La gure C.2 illustre l'idée de l'algorithme. C.2 Calcul des fenêtres de visibilité d'une zone ponctuelle Le calcul d'une fenêtre de visibilité d'une zone ponctuelle est très simple une fois connue sa distance d par rapport à la trace au sol du satellite (d = altitude.tan(α) où α est l'angle minimal d'acquisition nécessaire). Soit t la date de "survol" de cette zone, c'est-à-dire la date à laquelle les projections du satellite et de la zone sur la trace sont confondues. Soit α max l'angle maximal d'observation possible 1. Soit v la vitesse de la projection du satellite sur le sol. La fenêtre de visibilité [t s, t e ] est alors donnée par : 1. On n'oublie volontairement la contrainte supplémentaire en "tangage" pour simplier.
180 C. Précisions sur certains codes de calcul utilisés t min : date au plus tôt pour atteindre l'attitude A obs (t s ) t max : date au plus tôt pour atteindre l'attitude A obs (t e ) date t 0 attitude A 0 t s te date eective t e à laquelle on atteint l'attitude A obs (t esp ) t e = t esp t max tau t min t s t k t e date espérée t esp pour atteindre l'attitude de début d'observation A obs (t esp ) Figure C.2 Idée de l'algorithme Tbascul. t s = t (altitude.tan(αmax )) 2 d 2 (altitude.tan(αmax )) t e = t + 2 d 2 v Pour une justication intuitive, on se référera à la gure C.3. v
C.2. Calcul des fenêtres de visibilité d'une zone ponctuelle 181 orbite satellite (instant t, vitesse au sol v) trace au sol α α max d Figure C.3 Calcul d'une fenêtre de visibilité d'une zone ponctuelle.
Bibliographie Aarts, E. et Lenstra, J. : 1997, Local Search in Combinatorial Optimization, John Wiley & Sons. Aarts, E. et van Laarhoven, P. : 1985, Statistical Cooling : A General Approach to Combinatorial Optimization Problems, Philips Journal of Research 40, 193226. Abramson, M., Carter, D., Kolitz, S., Ricard, M. et Scheidler, P. : 2002, Real-Time Optimized Earth Observation Planning, Proc. of the Earth Science Technology Conference (ESTC-02), Pasadena, CA, USA. Agnèse, J. : 1994, Ordonnancement SPOT5 : Dénition du problème simplié de l'ordonnancement des prises de vue de SPOT5 pour l'action de R&D Intersolve, Note technique S5-NT-0-379-CN, -94-CT/TI/MS/MN/419, CNES. Alaya, I., Solnon, C. et Ghedira, K. : 2007, Optimisation par colonies de fourmis pour le problème du sac-à-dos multi-dimensionnel, Techniques et Sciences Informatiques (TSI) 26(3-4), 371390. Albukerque, J., Charmeau, M.-C., Dulot, J.-L., Granier, J.-P., Guay, P., Du, M. L., Marchal, P., Mignot, J., Navoni, R., Potteck, S., Sebbag, I., Vandermarcq, O. et Troostenberghe, P. V. : 1999, Stabilisation et pointage, Cours de Technologie Spatiale, Techniques et Technologies des Véhicules Spatiaux, Volume 3, Plates-Formes, Cepadues-Editions, pp. 337528. Alon, N., Yuster, R. et Zwick, U. : 1995, Color-coding, J. ACM 42, 844856. Baptiste, P., Pape, C. L. et Nuijten, W. : 2001, Constraint-based Scheduling : Applying Constraint Programming to Scheduling Problems, Kluwer Academic Publishers. Barbulescu, L., Howe, A., Whitley, L. et Roberts, M. : 2006, Understanding Algorithm Performance on an Oversubscribed Scheduling Application, Journal of Articial Intelligence Research 27, 577 615. Beaumet, G. : 2008, Planication continue pour la conduite d'un satellite d'observation agile autonome, Thèse de doctorat, ISAE, Toulouse, France. Beaumet, G., Verfaillie, G. et Charmeau, M. : 2007, Estimation of the Minimal Duration of an Attitude Change for an Autonomous Agile Earth-observing Satellite, Proc. of the 13th International Conference on Principles and Practice of Constraint Programming (CP-07), Providence, RI, USA, pp. 317. Beaumet, G., Verfaillie, G. et Charmeau, M. : 2011, Feasibility of Autonomous Decision Making on board an Agile Earth-observing Satellite, Computational Intelligence 27(1), 123139. Beek, P. V. et Chen, X. : 1999, Cplan : A constraint programming approach to planning, Proc. of the 16th National Conference on Articial Intelligence (AAAI-99), Orlando, FL, USA, pp. 585590. Bellman, R. : 1957, Dynamic Programming, Princeton University Press. Bensana, E., Lemaître, M. et Verfaillie, G. : 1999, Benchmark Problems : Earth Observation Satellite Management - ftp ://ftp.cert.fr/pub/verfaillie/spot-constraints.ps, Constraints 4(3), 293299.
184 BIBLIOGRAPHIE Bensana, E., Verfaillie, G., Agnèse, J., Bataille, N. et Blumstein, D. : 1996, Exact and Approximate Methods for the Daily Management of an Earth Observation Satellite - ftp ://ftp.cert.fr/pub/verfaillie/spaceops96.ps, Proc. of the 4th International Symposium on Space Mission Operations and Ground Data Systems (SpaceOps-96), Münich, Germany. Bernard, J., Brousse, P., Darrigan, C., Folliard, J., Fourcade, J., Gautier, H., Goester, J.-F. et Houry, S. : 1999, Mécanique spatiale, Cours de Technologie Spatiale, Techniques et Technologies des Véhicules Spatiaux, Volume 1, Généralités et contraintes de développement, Cepadues-Editions, pp. 79311. Bianchessi, N., Cordeau, J., Desrosiers, J., Laporte, G. et Raymond, V. : 2007, A Heuristic for the Multi-satellite, Multi-orbit and Multi-user Management of Earth Observation Satellites, European Journal of Operational Research. Bianchessi, N. et Righini, G. : 2006, A Mathematical Programming Algorithm for Planning and Scheduling an Earth Observing SAR Constellation., Proc. of the 4th International Workshop on Planning and Scheduling for Space (IWPSS-06), Baltimore, MD, USA. Bidot, J., Vidal, T., Laborie, P. et Beck, J. C. : 2009, A theoretic and practical framework for scheduling in a stochastic environment, Journal of Scheduling 12(3), 315344. Bonet, B., Loerincs, G. et Gener, H. : 1997, A robust and fast action selection mechanism for planning, Proc. of the 14th National Conference on Articial Intelligence (AAAI-97), Providence, RI, USA. Bresina, J. : 1996, Heuristic-Biased Stochastic Sampling, Proc. of the 13th National Conference on Articial Intelligence (AAAI-96), Portland, OR, USA, pp. 271278. Bullnheimer, B., Hartl, R. et Strauss, C. : 1997, Applying the ant system to the vehicle routing problem. Cambon, S., Alami, R. et Gravot, F. : 2009, A Hybrid Approach to Intricate Motion, Manipulation and Task Planning, International Journal Robotics Research pp. 104126. Cheng, T., Ding, Q. et Lin, B. : 2004, A Concise Survey of Scheduling with Time-dependent Processing Times, European Journal of Operational Research 152, 113. Chien, S., Knight, R. et Rabiddeau, G. : 2000, An Empirical Evaluation of the Eectiveness of Local Search for Replanning, Proc. of the ECAI-00 Workshop on "Local Search for Planning and Scheduling", Berlin, Germany. Chien, S., Knight, R., Stechert, A., Sherwood, R. et Rabideau, G. : 2000, Using Iterative Repair to Improve the Responsiveness of Planning and Scheduling, pp. 300307. Chien, S., Rabiddeau, G. et Knight, R. : 2000, ASPEN : Automated Planning and Scheduling for Space Mission Operations, Proc. of the 6th International Symposium on Space Operations at the Start of the 3rd Millennium (SpaceOps-00), Toulouse, France. Chien, S., Sherwood, R., Tran, D., Cichy, B., Rabideau, G., Castano, R., Davies, A., Lee, R., Mandl, D., Frye, S., Trout, B., Hengemihle, J., D'Agostino, J., Shulman, S., Ungar, S., Brakke, T., Boyer, D., VanGaasbeck, J., Greeley, R., Doggett, T., Baker, V., Dohm, J. et Ip, F. : 2004, The EO-1 Autonomous Science Agent, Proc. of the 3rd Conference on Autonomous Agents and Multi-Agent Systems (AAMAS-04), New York City, USA, pp. 420427. Chien, S., Sherwood, R., Tran, D., Cichy, B., Rabideau, G., Castano, R., Davies, A., Mandl, D., Frye, S., Trout, B., Shulman, S. et Boyer, D. : 2005, Using Autonomy Flight Software to Improve Science Return on Earth Observing One, Journal of Aerospace Computing, Information, and Communication. Chien, S., Tran, D., Rabideau, G., Schaer, S., Mandl, D. et Frye, S. : 2009, Challenges in Representing and Reasoning with Spacecraft Operations Constraints : A Case Study with Earth Observing One., Proc. of the ICAPS-09 Worshop on "Scheduling and Planning Applications" (SPARK-09), Thessaloniki, Greece.
BIBLIOGRAPHIE 185 Chien, S., Tran, D., Rabideau, G., Schaer, S., Mandl, D. et Frye, S. : 2010, Timeline-based Space Operations Scheduling with External Constraints, Proc. of the 20th International Conference on Automated Planning and Scheduling (ICAPS-10), Toronto, Canada. Christodes, N. : 1975, Graph Theory - an Algorithmic Approach, Academic Press. Chrétien, J.-P., Llibre, M. et Jouhaud, F. : 2004, Agilité en attitude par actionneurs gyroscopiques : génération de consignes et commande boucle fermée, Atelier CNES "Commande optimale, Commande boucle fermée", Toulouse, France. Chu, P. C. et Beasley, J. E. : 1998, A Genetic Algorithm for the Multidimensional Knapsack Problem, Journal of Heuristics 4, 6386. Clarke, G. et Wright, J. : 1964, Scheduling of vehicles from a central depot to a number of delivery points, Operations Research 12(4), 568581. CNES : 2007, Sécurité et Défense, rapport d'activités. Coles, A., Coles, A., Fox, M. et Long, D. : 2010, Forward-Chaining Partial-Order Planning, Proc. of the 20th International Conference on Automated Planning and Scheduling (ICAPS-10), Toronto, Canada. Cordeau, J. et Laporte, G. : 2005, Maximizing the Value of an Earth Observation Satellite Orbit, Journal of the Operational Research Society 56(8), 962968. Creasey, R., Teston, F. et Bernaerts, D. : 2001, Project for Onboard Autonomy : PROBA, an ESA Technological Microsat Mission to Demonstrate Autonomous Spacecraft Operation, Proc. of the ESA Workshop on On-Board Autonomy, Noordwijk, The Netherlands. Cushing, W., Benton, J. et Kambhampati, S. : 2008, Replanning as Deliberative Re-selection of Objectives, Technical report, Arizona State University. da Silva Curiel, A., Boland, L., Cooksley, J., Bekhti, M., Stephens, P., Sun, W. et Sweeting, M. : 2003, First Results from the Disaster Monitoring Constellation (DMC), Proc. of the 4th IAA Symposium on Small Satellites for Earth Observation, Berlin, Germany. Dago, P. : 1997, Extension d'algorithmes dans le cadre satisfaction de contraintes valué : application a l'ordonnancement de systèmes satellitaires, Thèse de doctorat, ENSAE, Toulouse, France. Dago, P. et Verfaillie, G. : 1996, Nogood Recording for Valued Constraint Satisfaction Problems - ftp ://ftp.cert.fr/pub/verfaillie/ictai96.ps, Proc. of the 8th IEEE International Conference on Tools with Articial Intelligence (ICTAI-96), Toulouse, France, pp. 132139. Damiani, S., Verfaillie, G. et Charmeau, M.-C. : 2005a, A Continuous Anytime Planning Module for an Autonomous Earth Watching Satellite, Proc. of the ICAPS-05 Workshop on Planning under Uncertainty for Autonomous Systems, Monterey, CA, USA. Damiani, S., Verfaillie, G. et Charmeau, M.-C. : 2005b, Cooperating On-board and On the ground Decision Modules for the Management of an Earth Watching Constellation, Proc. of i-sairas- 05, Munich, Germany. Daniels, R. L. et Carrillo, J. E. : 1997, Beta-robust scheduling for single-machine systems with uncertain processing times, IIE Transactions. Davis, L. : 1985, Job shop scheduling with genetic algorithms, Proc. of the 1st International Conference on Genetic Algorithms, L. Erlbaum Associates Inc., Hillsdale, NJ, USA, pp. 136140. Dell'Amico, M. et Trubian, M. : 1993, Applying tabu search to the job-shop scheduling problem, Ann. Oper. Res. 41, 231252. Desaulniers, G., Desrosiers, J. et Solomon, M. : 2005, Column Generation, Springer-Verlag New York Inc. Drummond, M., Bresina, J. et Swanson, K. : 1994, Just-In-Case scheduling, Proc. of the 12th National Conference on Articial Intelligence (AAAI-94), Seattle, WA, USA, pp. 10981104.
186 BIBLIOGRAPHIE Dubois, D., Fargier, H. et Prade, H. : 1993, The Calculus of Fuzzy Restrictions as a Basis for Flexible Constraint Satisfaction, Proc. of the 2nd IEEE Conference on Fuzzy Sets, San Francisco, CA, pp. 11311136. Ehrgott, M. : 2005, Multicriteria optimization, Springer. Ehrgott, M. et Gandibleux, X. : 2002, Multiple Criteria Optimization, Kluwer Academic Publishers. Erol, K., Nau, D. et Hendler, J. : 1994, HTN planning : Complexity and expressivity, Proc. of the 12th National Conference on Articial Intelligence (AAAI-94), Seattle, WA, USA. Esquirol, P. et Lopez, P. : 1999, L'ordonnancement, Economica. Fikes, R. et Nilsson, N. : 1971, STRIPS : A new approach to the application of theorem proving to problem solving, Articial Intelligence 2(3-4), 189208. Fisher, M. : 1994, Optimal Solution of Vehicle Routing Problems Using Minimum K-trees, Operations Research 42(4), 626642. Fox, M., Gereveni, A., Long, D. et Serina, I. : 2006, Plan Stability : Replanning versus Plan Repair, Proc. of the 16th International Conference on Automated Planning and Scheduling (ICAPS-06), Cumbria, UK. Frank, J. et Jónsson, A. : 2003, Constraint-Based Attribute and Interval Planning, Constraints 8(4), 339364. Frank, J., Jónsson, A., Morris, R. et Smith, D. : 2001, Planning and Scheduling for Fleets of Earth Observing Satellites, Proc. of the 6th International Symposium on Articial Intelligence, Robotics, and Automation for Space (i-sairas-01), Montreal, Canada. Gabrel, V. : 1994, Méthodologie pour la planication de production de systèmes d'observation et détermination d'ensembles stables, Thèse de doctorat, LAMSADE, Université Paris Dauphine, Paris, France. Gabrel, V., Moulet, A., Murat, C. et Paschos, V. : 1997, A New Single Model and Derived Algorithms for the Satellite Shot Planning Problem Using Graph Theory Concepts, Annals of Operations Research 69, 115134. Gabrel, V. et Murat, C. : 2003, Mathematical Programming for Earth Observation Satellite Mission Planning, in T. Ciriani, G. Fasano, S. Gliozzi et R. Tadei (eds), Operations Research in Space and Air, chapter 7. Gabrel, V. et Vanderpooten, D. : 2002, Enumeration and Interactive Selection of Ecient Paths in a Multiple Criteria Graph for Scheduling an Earth Observing Satellite, European Journal of Operational Research 139, 533542. Gandibleux, X., Mezdaoui, N. et Fréville, A. : 1996, A tabu search procedure to solve multiobjective combinatorial optimization problems, Proc. of the Second International Conference on Multi- Objective Programming and Goal Programming, Torremolinos, Spain. Gawiejnowicz, S. : 2008, Time-dependent Scheduling, Springer. Ghallab, M. et Laruelle, H. : 1994, Representation and Control in IxTeT : a Temporal Planner, Proc. of the 2nd International Conference on Articial Intelligence Planning and Scheduling (AIPS-94), Chicago, IL, USA, pp. 6167. Ghallab, M., Nau, D. et Traverso, P. : 2004, Automated Planning : Theory and Practice, Morgan Kaufmann. Globus, A., Crawford, J., Lohn, J. et Morris, R. : 2004, A Comparison of Techniques for Scheduling Earth Observing Satellites, Proc. of the 16th Conference on Innovative Applications of Articial Intelligence (IAAI-04), San Jose, CA, USA.
BIBLIOGRAPHIE 187 Globus, A., Crawford, J., Lohn, J. et Pryor, A. : 2003, Scheduling Earth Observing Satellites with Evolutionary Algorithms, Proc. of the 1st International Conference on Space Mission Chalenges for Information Technology (SMC-IT-03), Pasadena, CA, USA. Glover, F. : 1987, Tabu Search Methods in Articial Intelligence and Operations Research, ORSA Articial Intelligence 1(2). Glover, F. et Kochenberger, G. A. : 1996, Critical event tabu search for multidimensional knapsack problems, Meta-Heuristics : Theory & Applications. Goldberg, D. : 1989, Genetic Algorithms in Search, Optimization and Machine Learning, 1st edn, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Gondran, M., Minoux, M. et Vajda, S. : 1984, Graphs and Algorithms, John Wiley & Sons. Grasset-Bourdel, R. : 2010, Interaction between action and motion planning for an agile Earthobserving satellite, Doctoral Consortium of the International Conference on Automated Planning and Scheduling (ICAPS-10), Toronto, Canada. Grasset-Bourdel, R., Verfaillie, G. et Flipo, A. : 2011a, Action and Motion Planning for Agile Earthobserving Satellites, Proc. of the IJCAI-11 Workshop on "AI in Space : Intelligence beyond planet Earth", Barcelona, Spain. Grasset-Bourdel, R., Verfaillie, G. et Flipo, A. : 2011b, Building a really executable plan for a constellation of agile Earth observation satellites, Proc. of the 7th International Workshop on Planning and Scheduling for Space (IWPSS-11), Darmstadt, Germany. Grasset-Bourdel, R., Verfaillie, G. et Flipo, A. : 2011c, PLANET : a planning and replanning tool for a constellation of agile Earth-observing satellites, Proc. of the ICAPS-11 System Demonstrations, Freiburg, Germany. Grasset-Bourdel, R., Verfaillie, G. et Flipo, A. : 2011d, Planning and replanning for a constellation of agile Earth observation satellites, Proc. of the ICAPS-11 Workshop on "Scheduling and Planning Applications" (SPARK-11), Freiburg, Germany. Guitton, J. et Farges, J.-L. : 2009, Towards a Hybridization of Task and Motion Planning for Robotic Architectures, Proc. of the IJCAI-09 Workshop on "Hybrid Control of Autonomous Systems", Pasadena, CA, USA. Gutin, G. et Punnen, A. : 2002, The traveling salesman problem and its variations, Kluwer Academic Publishers. Habet, D. et Vasquez, M. : 2004, Solving the Selecting and Scheduling Photographs Problem with a Consistent Neighborhood Heuristic, Proc. of the 16th IEEE International Conference on Tools with Articial Intelligence (ICTAI-04), Boca Raton, FL, USA. Hall, N. et Magazine, M. : 1994, Maximizing the Value of a Space Mission, European Journal of Operational Research 78, 224241. Harrison, S. et Price, M. : 1999, Task Scheduling for Satellite Based Imagery, Proc. of the 18th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSig-99), Salford, UK. Helmert, M., Röger, G. et Karpas, E. : 2011, Fast Downward Stone Soup : A Baseline for Building Planner Portfolios, Proc. of the ICAPS-11 Workshop on "Planning and Learning" (PAL-11), Freiburg, Germany. Homann, J. et Nebel, B. : 2001, The FF planning system : Fast plan generation through heuristic search, Journal of Articial Intelligence Research 14, 253302. Honvault, C., Simon, C., David, P. et Bornschlegl, E. : 2001, An Autonomous On-board Mission Manager for LEO Satellite Powered by the ERC32SC, Proc. of the ESA Workshop on On-Board Autonomy, Noordwijk, The Netherlands.
188 BIBLIOGRAPHIE ILOG, I. : n.d.a, CP Optimizer. http ://www-01.ibm.com/software/integration/optimization/cplexcp-optimizer/. ILOG, I. : n.d.b, CPLEX. http ://www-01.ibm.com/software/integration/optimization/cplexoptimizer/. Institute, S. T. S. : n.d., SPIKE. http ://www.stsci.edu/resources/software_hardware/spike/. Johnson, E., Nemhauser, G. et Savelsbergh, M. : 2000, Progress in linear programming-based algorithms for integer programming : An exposition, INFORMS JOURNAL ON COMPUTING 12(1), 223. Karger, D., Motwani, R. et Ramkumar, G. : 1993, On Approximating the Longest Path in a Graph, Algorithmica 18, 421432. Kautz, H. et Selman, B. : 1992, Planning as Satisability, Proc. of the 10th European Conference on Articial Intelligence (ECAI-92), Vienna, Austria, pp. 359363. Kautz, H. et Selman, B. : 1999, Unifying SAT-based and Graph-based Planning, Proc. of the 16th International Joint Conference on Articial Intelligence (IJCAI-99), Stockholm, Sweden, pp. 318 325. Kellerer, H., Pferschy, U. et Pisinger, D. : 2004, Knapsack Problems, Springer. Kramer, L., Barbulescu, L. et Smith, S. : 2007, Understanding Performance Tradeos in Algorithms for Solving Oversubscribed Scheduling, Proc. of the 22nd National Conference on Articial Intelligence (AAAI-07), Vancouver, Canada, pp. 10191024. Kuipers, J. B. : 1999, Quaternions and rotation Sequences : a Primer with Applications to Orbits, Aerospace, and Virtual Reality, Princeton University Press. Laarhoven, P. V., Aarts, E. et Lenstra, J. : 1992, Job shop scheduling by simulated annealing, Oper. Res. 40, 113125. Laburthe, F. : n.d., CHOCO. http ://www.emn.fr/z-info/choco-solver/. LaValle, S. : 2006, Planning Algorithms, Cambridge University Press. Lawler, E., Lenstra, J., Kan, A. R. et Shmoys, D. : 1985, The Traveling Salesman Problem : A Guided Tour of Combinatorial Optimization, John Wiley & Sons. Lawler, E. et Wood, D. : 1966, Branch-and-bound methods : A survey, Operations Research. Lecoutre, C. : 2009, Constraint Networks : Techniques and Algorithms, Wiley-IEEE Press. Lemaître, M., Verfaillie, G., Jouhaud, F., Lachiver, J.-M. et Bataille, N. : 2002, Selecting and Scheduling Observations of Agile Satellites, Aerospace Science and Technology. Lemaître, M. et Verfaillie, G. : 1997, Daily management of an earth observation satellite : comparison of ilog solver with dedicated algorithms for valued constraint satisfaction problems - ftp ://ftp.cert.fr/pub/verfaillie/ilog97.ps, Proc. of the 3rd ILOG International Users Meeting, Paris, France. Lemaître, M., Verfaillie, G., Jouhaud, F., Lachiver, J.-M. et Bataille, N. : 2002, Selecting and scheduling observations of agile satellites, Aerospace Science and Technology 6, 367381. Lin, W., Liao, D., Liu, C. et Lee, Y. : 2005, Daily Imaging Scheduling of an Earth Observation Satellite, IEEE Transactions on Systems, Man, and Cybernetics 35(2), 213223. Llibre, M. : 2009, Programme AGATA : Constitution d'une bibliothèque de calculs spatiaux, Rapport technique 8/14013/DCSD, ONERA. Long, D. et Fox, M. : 2002, Bridging the Modelling Gap : Examining the Expressiveness of Planning Domain Description Languages, Proc. of the 3rd NASA International Workshop on Planning and Scheduling for Space, Houston, TX, USA.
BIBLIOGRAPHIE 189 Mancel, C. : 2003, A Column Generation Approach for Earth Observing Satellites, Proc. of the 2nd Operational Research Peripatetic Postgraduate Programme (ORP3-03), Lambrecht, Germany. Mancel, C. : 2004, Modélisation et résolution de problèmes d'optimisation combinatoire issus d'applications spatiales, Thèse de doctorat, INSA, Toulouse, France. Marchand, H., Martin, A., Weismantel, R. et Wolsey, L. : 1999, Cutting planes in integer and mixed integer programming. core discussion paper. Morris, P., Muscettola, N. et Vidal, T. : 2001, Dynamic Control of Plans with Temporal Uncertainty, Proc. of the 17th International Joint Conference on Articial Intelligence (IJCAI-01), Seattle, WA, USA, pp. 494499. Nau, D., Ilghami, O., Kuter, U., Murdock, J., Wu, D. et Yaman, F. : 2003, Shop2 : An HTN planning system, Journal of Articial Intelligence Research 20, 379404. Nemhauser, G. et Wolsey, L. : 1988, Integer and Combinatorial Optimization, John Wiley & Sons. Niezette, M. : 2000, Mission Planning Systems for Earth Observation Missions, Proc. of the 2nd NASA International Workshop on Planning and Scheduling for Space, San Francisco, CA, USA, pp. 19 24. Parraud, P., Flipo, A., Jaubert, J. et Lassalle-Balier, G. : 2006, Computing Smooth Attitude Guidance Laws for Homing Maneuvers, Proc. of the International Symposium on Space Technology and Science, Kanazawa, Japan. Portugal, D., Antunes, C. et Rocha, R. : 2010, A study of genetic algorithms for approximating the longest path in generic graphs, SMC'10, pp. 25392544. Pralet, C. et Verfaillie, G. : 2008, Decision upon Observations and Data Downloads by an Autonomous Earth Surveillance Satellite, Proc. of the 9th International Symposium on Articial Intelligence, Robotics, and Automation for Space (i-sairas-08), Los Angeles, CA, USA. Prins, C. : 1994, Algorithmes de graphes (avec programmes en Pascal), Eyrolles. Puterman, M. : 1994, Markov Decision Processes, Discrete Stochastic Dynamic Programming, John Wiley & Sons. Richter, S. et Westphal, M. : 2010, The LAMA planner : Guiding cost-based anytime planning with landmarks, Journal of Articial Intelligence Research 39, 127177. Rossi, R., Beek, P. V. et Walsh, T. : 2006, Handbook of Constraint Programming, Elsevier. Sakkout, H. E., Richards, T. et Wallace, M. : 1998, Minimal Perturbation in Dynamic Scheduling, Proc. of the 13th European Conference on Articial Intelligence (ECAI-98), Brighton, UK, pp. 504508. Sawaragi, Y., Nakayama, H. et Tanino, T. : 1985, Theory of Multiobjective Optimization, Academic Press. Schaer, J. : 1985, Multiple objective optimization with vector evaluated genetic algorithms, Proc. of the 1st International Conference on Genetic Algorithms, pp. 93100. Shaw, I., Niezette, M. et Santos, B. : 2000, Mission Planning for Europe's Latest Earth Observer, Proc. of the 6th International Symposium on Space Operations at the Start of the 3rd Millennium (SpaceOps-00), Toulouse, France. Sigaud, O. et Buet, O. : 2010, Markov Decision Processes in Articial Intelligence, ISTE Ltd and John Wiley & Sons Inc. Smith, S. : 1994, OPIS : A Methodology and Architecture for reactive Scheduling Systems, in M. Zweben et M. Fox (eds), Intelligent Scheduling, Morgan Kaufmann, pp. 2966. Stallman, R. et Sussman, G. : 1977, Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis, Articial Intelligence 9(2), 135 196.
190 BIBLIOGRAPHIE Ulungu, B., Teghem, J., Fortemps, P. et Tuyttens, D. : 1999, MOSA method : a tool for solving multi-objective combinatorial optimization problems, Journal of Multi-Criteria Decision Analysis 8, 221236. Vasquez, M. et Hao, J. : 2001a, A hybrid approach for the 0-1 multidimensional knapsack problem, Proceedings of the 17th international joint conference on Articial intelligence - Volume 1, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, pp. 328333. Vasquez, M. et Hao, J. : 2001b, A Logic-constrained Knapsack Formulation and a Tabu Algorithm for the Daily Photograph Scheduling of an Earth Observation Satellite, Journal of Computational Optimization and Applications 20(2), 137157. Vasquez, M. et Hao, J. : 2003, Upper Bounds for the SPOT5 Daily Photograph Scheduling Problem, Journal of Combinatorial Optimization 7, 87103. Verfaillie, G., Bensana, E., Michelon-Edery, C. et Bataille, N. : 1999, Dealing with Uncertainty when Managing an Earth Observation Satellite, Proc. of the 5th International Symposium on Articial Intelligence, Robotics, and Automation for Space (i-sairas-99), Noordwijk, The Netherlands, pp. 205207. Verfaillie, G. et Bornschlegl, E. : 2000, Designing and Evaluating an On-line On-board Autonomous Earth Observation Satellite Scheduling System - ftp ://ftp.cert.fr/pub/verfaillie/nasa00.ps, Proc. of the 2nd NASA International Workshop on Planning and Scheduling for Space, San Francisco, CA, USA, pp. 122127. Verfaillie, G. et Jussien, N. : 2005, Constraint Solving in Uncertain and Dynamic Environments : A Survey, Constraints 10(3), 253281. Verfaillie, G. et Lemaître, M. : 2006, Tutorial ICAPS on Planning activities for Earth watching and observation satellites and constellations : from o-line ground planning to on-line on-board planning. Verfaillie, G. et Lemaître, M. : 2001, Selecting and Scheduling Observations for Agile Satellites : Some Lessons from the Constraint Reasoning Community Point of View - ftp ://ftp.cert.fr/pub/verfaillie/cp01.ps, Proc. of the 7th International Conference on Principles and Practice of Constraint Programming (CP-01), Paphos, Cyprus, pp. 670684. Verfaillie, G., Lemaître, M., Bataille, N. et Lachiver, J. : 2003, 2003 ROADEF Challenge : Informal and Formal Problem Description, Booklet of Abstracts of the ROADEF'2003 Challenge, Avignon, France. Vidal, T. : 2004, The many ways of facing temporal uncertainty in planning and scheduling, TIME, pp. 910. Vidal, V. : 2011, YAHSP2 : Keep It Simple, Stupid, 7th International Planning Competition (IPC 2011) at ICAPS-11, Freiburg, Germany. Wolfe, W. et Sorensen, S. : 2000, Three Scheduling Algorithms applied to the Earth Observing Systems Domain, Management Science 46(1), 148168. Wolsey, L. : 1998, Integer programming, John Wiley & Sons. Xu, J. et Kelly, J. : 1996, A network ow-based tabu search heuristic for the vehicle routing problem, Transportation Science 30, 379393. Zweden, M., Daun, B., Davis, E. et Deale, M. : 1994, Scheduling and Rescheduling with Iterative Repair, in M. Zweden et M. Fox (eds), Intelligent Scheduling, Morgan Kaufmann, pp. 241256.
Index Éblouissement (contrainte), 84 Étanchéité des priorités, 63 Activation d'instrument, 75 contraintes, 82 Agilité, 4, 59 ASPEN, 54 Backtrack chronologique, 101 hiérarchique, 98 Branch and Bound, 9 Chemin simple, 17 CHOCO, 51 CP Optimizer, 51 CPLEX, 51 Critère d'évaluation, 84 Cycle hamiltonien, 19 Décisions de plusieurs niveaux, 95 EUROPA, 52 GOTlib, 66 Heuristiques, 102 niveau 1, 104 niveau 2, 107 niveau 3, 109 niveau 4, 111 Hierarchical Task Network, 29 IxTeT, 52 Lexicographique (optimalité), 43 Man uvre orbitale, 74 contraintes, 77 MANIAC, 66 Min-max (optimalité), 43 MUSIS, 3 Observation, 61 caractéristiques, 75 contraintes, 77 Optimisation multicritère, 41 Ordonnancement Earliest Deadline First, 26 High Priority First, 27 Job-shop scheduling, 25 Last Laxity First, 26 Last Release Time First, 27 Time-dependent scheduling, 26 Pareto optimalité, 42 Plan conditionnel, 34 exible, 34 robuste, 34 PLANET, 121 fonctionnalités, 128 interface graphique, 123 Planication, 27 classique, 29 dans l'espace des états, 29 dans l'espace des plans, 30 PDDL, 31 Planication par priorités décroissantes, 93 Plus long chemin, 17 Point de reprise, 117 Pointage géocentrique, 75 contraintes, 80 Pointage héliocentrique, 75 contraintes, 79 Problème de Satisfaction de Contraintes, 38 Processus Décisionnel de Markov, 34 Programmation dynamique, 10
192 INDEX Programmation Linéaire en Nombres Entiers, 36 Programmation par contraintes, 38 Propagation, 113 Qualité intrinsèque d'un plan, 116 Quaternion, 73 Recherche chronologique en avant, 94 Recherche gloutonne, 13 Recherche Locale, 11 Algorithmes génétiques, 12 Recherche taboue, 12 Recuit simulé, 12 Requête d'observation, 63 bande, 64 polygone, 63 ROADEF'2003 (Challenge), 143 Sac à dos, 13 Satellite d'observation de la Terre COSMO-SkyMed, 49 EO-1, 47 Pléiades, 48 PROBA, 47 SPOT 5, 48 TanDEM-X, 49 TerraSAR-X, 49 Somme pondérée, 44 SPIKE, 54 Stabilité d'un plan, 116 STRIPS, 31 Système à états-transitions, 28 Télédéchargement, 62 caractéristiques, 75 contraintes, 80 Tournées de véhicules, 23 Trajectoire en attitude, 61 Contrainte sur un rendez-vous, 83 Planication de mouvements, 87 Prise en compte des mouvements, 66 Voisinage k-opt, 21 Voyageur de commerce, 19 avec fenêtres temporelles, 20 meilleure insertion, 21 plus lointaine insertion, 21 plus proche insertion, 21 plus proche voisin, 21
Planification et replanification pour une constellation de satellites agiles d observation de la Terre Le contexte dans lequel s'inscrivent ces travaux est le projet européen MUSIS, et plus précisément la gestion de satellites équipés d'instruments d'observation optique à haute résolution. Un premier objectif était de concevoir un algorithme capable de construire, en une seule passe et en un temps limité, un plan qui couvre toutes les activités de satellites agiles d'observation de la Terre (observation de zones au sol, manœuvres orbitales, pointages héliocentriques et géocentriques, vidage de données en parallèle, activations des instruments), qui respecte toutes les contraintes physiques (y compris celles liées à la trajectoire en attitude), et qui satisfasse autant que possible les requêtes d'utilisateurs. Le second objectif était de traiter la version dynamique du problème qui se pose lorsque des requêtes urgentes d'observation arrivent en cours d'exécution du plan journalier, en tenant compte des exigences de qualité et de stabilité des plans et de temps de calcul cette fois très limité. L'algorithme de planification élaboré est une succession de recherches chronologiques en avant, avec des règles de décision dédiées et des mécanismes de backtrack en cas de violation de contraintes. Une approche pragmatique a également été proposée pour résoudre le problème de replanification. Elle consiste à utiliser l'algorithme de planification journalière en jouant uniquement sur les priorités, les poids et les observations candidates. Un environnement expérimental intégrant les mécanismes de décision retenus a été développé. Les expérimentations effectuées sur des instances réalistes attestent des bonnes performances de l'algorithme en termes de temps de calcul et de qualité des résultats, en modes planification et replanification. Mots clés : Planification d actions, planification de mouvements, replanification, satellites d observation de la Terre, Ordonnancement dépendant du temps Planning and replanning for a constellation of agile Earth-observing satellites The context of this work is the European MUSIS project and more precisely the management of satellites that are equipped with high-resolution optical observation instruments. The first objective was to design an algorithm able to build, in an integrated way, a plan that covers all the activities of agile Earth-observing satellites (observation of ground areas, orbital manoeuvres, heliocentric and geocentric pointings, data downloads in parallel, instrument activations), meets all the physical constraints (including those related to the attitude trajectory), satisfies as well as possible the user requests, and requires a limited computing time. The second objective was to deal with the replanning problem which arises when urgent observation requests are received during plan execution, while considering requirements in terms of plan quality and stability, and computing time. The planning algorithm we designed is a chronological forward search with dedicated decision heuristics and backtrack in case of constraint violation. A pragmatic approach has been also proposed to solve the replanning problem : using the algorithm for planning and replanning only by modifying request priorities and weights, as well as the set of candidate observations. A planning tool which integrates the selected decision mechanisms has been developed. The experiments performed on realistic instances testify to the good performances of the algorithm in terms of computing time and result quality, in both planning and replanning modes. Keywords : action planning, motion planning, replanning, Earth-observing, satellites, time-dependent scheduling