• Aucun résultat trouvé

THÈSE. En vue de l'obtention du JURY

N/A
N/A
Protected

Academic year: 2022

Partager "THÈSE. En vue de l'obtention du JURY"

Copied!
212
0
0

Texte intégral

(1)

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

Romain Grasset-Bourdel Planification et replanification pour une constellation de satellites agiles d’observation de la Terre

THÈSE

En vue de l'obtention du

DO D O CT C T OR O RA AT T D DE E L’ L ’U UN N IV I VE ER RS SI I T É DE D E T TO O UL U L OU O US SE E

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 : Aéronautique - Astronautique Unité de recherche : Équipe d’accueil ISAE-ONERA MOIS Directeur de thèse : M. Gérard Verfaillie

Co-directeur de thèse : M. Gérard Lassalle-Balier

(2)

Avant-propos

Happiness only real when shared.

Jon Krakauer, Into The Wild, 1996

D

es études américaines ont montré que dire "merci" rendait plus heureux car plus optimiste et 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 tech- nique auquel j'ai eu droit. Mon directeur de thèse, Gérard Verfaillie, a été d'un soutien ex- emplaire 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

(3)

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 doc- torants 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

(4)

À la mémoire de mon frère Julien

iii

(5)
(6)

Table des matières

Avant-propos i

Table des gures xiii

Liste des tableaux xv

Liste des algorithmes 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

(7)

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

(8)

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

(9)

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 ur- gentes 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 forte- ment 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

(10)

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

(11)
(12)

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

(13)

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(a2−a1)pour passer de l'observation (o1) dez1 à l'observation (o2) de z2 dépend de la datet1 à laquelle o1 termine et de la datet2 à laquelleo2 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

(14)

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 algorithmeA. . . 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'algorithmeTbascul. . . 180

C.3 Calcul d'une fenêtre de visibilité d'une zone ponctuelle. . . 181

xiii

(15)
(16)

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'observa- tions 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

(17)
(18)

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

(19)
(20)

Introduction générale

(21)
(22)

Introduction générale

L

e 23 juillet 1972, le lancement du satellite Landsat-1 (initialement nommé E.R.T.S.-1) annonce 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 par- ticuliè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 MUSIS1, futur système mil- itaire 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 re- connaissance 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

(23)

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 ob- servations, à 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÷u- vrabilité 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 attitude3 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).

(24)

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 con- nexes 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é ex- pose 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 per- formances des algorithmes proposés.

Le chapitre 7 rapporte les résultats expérimentaux obtenus, d'une part, sur des in- stances 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 contribu- tions sont résumées, une analyse critique est eectuée et des perspectives sont proposées.

(25)
(26)

Première partie

Problèmes connexes et approches suivies : la littérature pour nous

éclairer

(27)
(28)

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 combinatoirea, 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 in- formatique 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 prob- lè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éth- odes 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 im- plicite (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 explicite- ment (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épa- ration des solutions, une fonction d'évaluation des solutions et une stratégie d'exploration.

(29)

Séparation La recherche arborescente considère implicitement l'ensemble S0 des solutions d'un problème d'optimisation combinatoire et le sépare en appliquant des décisions successives, formant ainsi un arbre de racineS0. 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 contenirS. 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 àS0. La meilleure solution déjà trouvées0 et son coût z0 peuvent être initialisés par une heuristique. Dans le cas contraire, s0 est indénie et z0 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 s0, alors s0 etz0 sont mis à jour ;

. il ne contient pas de solution meilleure que celle déjà trouvée (eval(S)≥z0).

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.

(30)

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 x0

. l'étape i∈[0..N]

. l'ensemble Xi des états possibles à chaque pasi

. l'ensemble Ai(x)des actions réalisables au pas idans l'état x∈Xi

. l'état d'arrivéeTi(x, a)∈Xi+1après application de l'actiona∈Ai(x)dans l'étatx∈Xi (fonction de transition à chaque pas)

. le coût c(x, a) de l'action adans l'étatx

. le coût minimal Ci(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(x0) = 0 Ci(x) = min

x0,a|Ti−1(x0,a)=x

{c(x0, a) +Ci−1(x0)} ∀i∈[1..N],∀x∈Xi

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∈XN{CN(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 solution2 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.

(31)

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 combi- natoire. 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ûtD(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 positifT 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 solutions0, même sis0 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 hasardNc paires de solutions (2∗Nc< N) à reproduire avec une probabilité qui croît avec leur adaptation (valeur du critère à optimiser). Chacune des paires(x, y)subit un croisement :xfournit une partie des

(32)

1.2. Problèmes classiques 13 gènes au descendant ety fournit la partie complémentaire. Ensuite, au cours de cette même itération, Nm 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. LesN 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 de1 à n, lui apporterait un certain confort mesuré par un nombre positif pj. Bien sûr, le poids wj de chaque objet que le randonneur ajoute dans son sac augmente la charge

(33)

qu'il doit porter. Pour des raisons évidentes, il souhaite limiter le poids total du sac à dos et xe ainsi une charge maximalec à 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).

1 boîte de conserve et une bouteille d’eau de 1l?

1 bouteille d’eau de 50cl?

2 boîtes de conserve et

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). SoitN l'ensemble ni des objets disponibles. Pour tout objetj, soientpj etwj respectivement l'utilité et le poids dej. On désigne parcla 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 respectantX

j∈S

wj ≤c et maximisant X

j∈S

pj.

Il existe de nombreuses variantes de ce problème célèbre. Citons le sac à dos multi- dimensionnel 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 ensembleS⊆N tel que P

j∈Swj ≤c etP

j∈Spj ≥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

(34)

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 in- stances 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 tech- niques 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é trierN par ordre décroissant d'ecacité wpjj ;

1

S← ∅ ;

2

¯

w←0; //w¯ est le poids total des objets actuellement dans le sac

3

zG←0 ; //zG est l'utilité de la solution courante

4

foreachj∈N do

5

if w¯+wj ≤c then

6

S←S∪ {j} ; //insérer l'objet j dans le sac à dos

7

¯

w←w¯+wj ;

8

zG←zG+pj ;

9

return(S, zG)

10

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(n1),O(n2+ 12) . . . ). 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 al- gorithme 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 destderniè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-

(35)

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 succes- sifs 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écu- tivement, . . . ).

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).

temps fenêtre de visibilité d’une station de réception

temps fenêtre de visibilité d’une station de réception

Télédéchargements :

utilité totale = 8+6+4 =18

solution optimale problème

utilité ded1= 8 utilité ded2= 9 utilité ded3= 6 utilité ded4= 4 d1

d2

d3

d4

durée du vidaged4

d1 d3 d4

Figure 1.2 Télédéchargement des données sous forme d'un problème de sac à dos.

(36)

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é.

A

B D

E 2

1

3

1 1

4

C

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êtes3 deG. À chaque arête (i, j) est associé un coût ci,j. L'objectif est de trouver un chemin de coût maximal entre un sommet de départ s∈X et un sommet nalt∈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éral4, ce qui se démon- tre 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 Ns etNe, 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.

(37)

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 grapheGavec 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 Ns etNe. Elle permet de savoir s'il existe un chemin de longueur k en un tempsO(2k.mlogn)où nest le nombre de sommets etm le nombre d'arêtes. En conséquence, elle détecte en temps polynomial si un chemin de longueurO(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

initialiser à 0 les |X|éléments du tableau L;

1

trier dans T les éléments de X par (un) ordre topologique ; //pour tout arc (u, v), u

2

vient avant v dans T foreachx∈T do

3

foreach(x, y)∈E do

4

if L[y]≤L[x] +cx,y then

5

L[y] =L[x] +cx,y;

6

returnmax

x∈X(L[x]); //pour reconstruire le chemin, il suffit d'introduire un

7

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'obser- vations 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émen- tées d'une observation factice de départ of et d'une observation factice d'arrivée ol, toutes deux obligatoires. Considérons un graphe orienté pour préciser les relations de précédence en- tre observations. Le poids d'un arc(i, j)désigne l'utilité apportée par l'observationj. Dans ce

(38)

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 entreof etol (voir Figure 1.4).

plus long chemin 2

1

2

2

3

3

2

2

3 o1

o2 o3

o4

o5

ol of

utilité deo1= 2 utilité deo2= 1 utilité deo3= 2 utilité deo4= 3 utilité deo5= 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 grapheG= (X, E)oùXetEdésignent respec- tivement 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 deG.

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

(39)

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 parcoursdi,j entre les villesietj est associée à toute arête(i, j)∈E. La longueur d'un chemin dansG 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.

Références

Documents relatifs

Comparaison de l’hématocrite du sportif 1 et 2 pour le même entraînement Description des variations de l’hématocrite du sportif 1. Interprétation des variations de

Retrouve le nom d’un grand athlète, champion olympique du marathon en 1956.. Il ne te manquera qu’une seule lettre : la quinzième

Enigme 10 Les élèves peuvent utiliser la calculatrice pour leur

Il faut 10 cuillères pleines d’eau pour remplir une tasse, 9 tasses pour remplir un pot et 4 pots pour remplir la moitié d’un seau?. Combien faut-il de cuillères pour remplir

Emprunter la carte bleue d’un de vos parents et tester son numéro avec votre programme.. Lien avec le programme :

2/ Mission 1 : Initialiser le robot de sorte qu’il soit placé dans le coin Sud-Ouest et orienté vers le Nord.. Faire avancer Nono de

[r]

Vaugelade chez l’école des loisirs!. • Le magicien des couleurs