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

Dimension: px
Commencer à balayer dès la page:

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

Transcription

1 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

2 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

3 J'en prote pour saluer Gilles Picart qui a encadré mon stage au CNES en 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

4 iii À la mémoire de mon frère Julien

5

6 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 Gestion de la mission et besoins sous-jacents Vision globale du problème Organisation du manuscrit I Problèmes connexes et approches suivies : la littérature pour nous éclairer 7 1 Éléments d'optimisation combinatoire Techniques génériques de résolution La recherche arborescente par évaluation et séparation (branch and bound) La programmation dynamique La recherche locale La recherche gloutonne Problèmes classiques Le sac à dos Le plus long chemin Le voyageur de commerce Les tournées de véhicules Ordonnancement de tâches Énoncé du problème v

7 Table des matières Méthodes de résolution Lien avec le problème traité Planication d'actions Énoncé du problème Méthodes de résolution Lien avec le problème traité Planication et ordonnancement en environnement dynamique Exigences éventuelles sur la solution Approche réactive Approche progressive Approche proactive Lien avec le problème traité Programmation Linéaire en Nombres Entiers Énoncé du problème Méthodes de résolution Lien avec le problème traité Programmation par contraintes Énoncé du problème Méthodes de résolution Lien avec le problème traité Optimisation multicritère Énoncé du problème Méthodes de résolution Lien avec le problème traité Bilan Planication d'activités satellitaires pour une mission d'observation de la Terre Diversité des problèmes rencontrés Demandes des utilisateurs Systèmes de planication Systèmes physiques Granularité du modèle Cadres de modélisation employés Graphes Programmation linéaire Programmation par contraintes Planication classique Techniques de résolution employées Programmation dynamique Recherche arborescente Recherche locale Recherche gloutonne vi

8 Table des matières 2.4 Bilan 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 Description de la mission Constellation de satellites Contraintes physiques Requêtes des utilisateurs Système de gestion Objectifs de la planication journalière Prise en compte des mouvements en attitude Pourquoi? Comment? Élaboration d'un modèle de type état/actions Données du problème État du système Actions disponibles Fonctions commodes pour la modélisation Contraintes pesant sur les décisions Forme d'un plan Critère d'évaluation Analyse du problème de planication Dicultés majeures du problème Imbrication entre planication d'actions et planication de mouvements Approches classiques dicilement applicables Hypothèses de travail Conclusion Élaboration d'un algorithme de planication dédié Discussion sur le type de recherche à adopter Planication par priorités décroissantes Recherche chronologique en avant Décisions de plusieurs niveaux Mécanismes de backtracks Backtracks hiérarchiques Backtracks chronologiques Heuristiques Niveau 1 : quelle observation (ou man uvre orbitale)? Niveau 2 : quels pointages spéciques? Niveau 3 : quels vidages? vii

9 Table des matières Niveau 4 : dates d'activation des instruments sollicités? Propagation Nature du résultat Conclusion Résolution du problème de replanication suite à l'arrivée de requêtes urgentes Description du problème de replanication Formulation du problème Qualité intrinsèque et stabilité des plans Données spéciques Adaptation de l'algorithme utilisé en planication régulière Discussion sur le type de recherche à adopter Algorithme de planication modié Conclusion Développement d'un environnement expérimental : l'outil PLANET Intention Structure de l'outil Paquetage model Paquetage simulation Paquetage planning Paquetage GUI Interface graphique Menus Onglets Fonctionnalités Entrées / Sorties Utilisation en planication Utilisation en replanication Conclusion Mise à l'épreuve des algorithmes élaborés Évaluation des performances en planication Résultats expérimentaux sur une instance réaliste de taille réelle Pertinence des heuristiques adoptées Sensibilité au nombre de demandes d'observation Distance à l'optimum sur une petite instance à l'ordonnancement fortement contraint Performance de l'heuristique de choix des observations sur le problème très simplié du Challenge ROADEF' Évaluation des performances en replanication Résultats expérimentaux sur des instances aléatoires viii

10 Table des matières Recommandations en vue d'une utilisation opérationnelle Conclusion Bilan global 154 Ici s'achève le manuscrit Contributions Perspectives A Missions d'observation de la Terre : généralités 163 A.1 Caractéristiques physiques A.2 Planication des activités A.3 Particularités liées à l'agilité des satellites B Notions de mécanique spatiale 169 B.1 Paramètres orbitaux B.2 Repères utiles à la modélisation de l'attitude 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 Bibliographie 183 Index 191 ix

11

12 Table des gures 1.1 Illustration du problème du sac à dos Télédéchargement des données sous forme d'un problème de sac à dos Illustration du problème du plus long chemin entre A et E Planication d'observations sous forme de problème de plus long chemin Illustration du problème du voyageur de commerce Tansformation 2-OPT dans un graphe Planication d'observations sous forme de problème du voyageur de commerce Illustration du problème des tournées de véhicules Illustration du concept d'économie de distance Illustration du problème d'ordonnancement d'atelier Modèle conceptuel de la planication Planication dans l'espace des états Illustration de l'algorithme STRIPS Planication/Ordonnancement en environnement certain et statique Illustration de l'approche réactive Illustration de l'approche progressive Illustration des activités ottantes Illustration des branches conditionnelles Illustration de la programmation linéaire en nombres entiers avec 2 variables Illustration du forward-checking sur le problème des 4 reines Illustration du problème d'optimisation multicritère avec deux objectifs Vue d'artiste du satellite PROBA Vue d'artiste du satellite EO Vue d'artiste du satellite SPOT Vue d'artiste d'un satellite Pléiades Vue d'artiste des satellites TerraSAR-X et TanDEM-X Vue d'artiste d'un satellite COSMO-SkyMed Interface graphique de l'outil ASPEN Exemple d'utilisation par Hubble Space Telescope de l'outil SPIKE xi

13 Table des gures 3.1 Constellation de deux satellites Vue d'artiste de l'un des satellites Diérence entre jour/nuit sol et jour/nuit bord 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 Conditions de télédéchargement en parallèle Polygone prédécoupé en bandes Planication au sol d'une mission d'observation de la Terre Trajectoire d'un rendez-vous en attitude en trois phases suivant un axe (roulis, tangage ou lacet) 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) Intérêt d'une image en fonction de l'âge de son information Vue d'ensemble de l'algorithme de planication pour un satellite Planication par niveau de priorité sur un exemple Deux étapes successives de l'algorithme chronologique en avant Exemple d'une décision complète à quatre niveaux : (1) observation, (2) pointages, (3) vidages, et (4) instruments Backtracks hiérarchiques entre niveaux de décision Backtracks hiérarchiques sur un exemple Backtracks chronologiques sur un exemple Quelques scénarios possibles au niveau 2 de la décision Replanication en cours de journée Point de reprise du plan sur un satellite Les 4 modes de replanication sur un exemple Diagramme de paquetages Diagramme de classes simplié du paquetage model Diagramme de classes simplié du paquetage simulation Diagramme de classes simplié du paquetage planning Onglet Overview Onglet Main Activities Onglet Downloads Onglet Satellite evolution Onglet Station visibility windows 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 Vue principale de l'outil PLANET une fois la planication achevée Évolution de la valeur du plan courant au cours du processus de planication 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 Évolution du temps de calcul en fonction du nombre d'observations demandées Évolution du vecteur qualité en fonction du nombre d'observations demandées Plan produit par l'algorithme PLANET Plan optimal produit par un algorithme A Vue graphique des résultats en replanication ; haut : première instance (facile) ; milieu : deuxième instance (moyenne) ; bas : troisième instance (dicile) A.1 Orbite héliosynchrone A.2 Prise de vue par un satellite agile B.1 Position du plan de l'orbite B.2 Position du périgée sur l'orbite B.3 Position du satellite sur l'orbite B.4 Repères orbitaux locaux B.5 Repères de consignes C.1 Rendez-vous nécessaire au commencement d'une observation C.2 Idée de l'algorithme Tbascul C.3 Calcul d'une fenêtre de visibilité d'une zone ponctuelle xiii

15

16 Liste des tableaux 7.1 Heuristiques testées Caractéristiques des 10 instances utiles à la comparaison des heuristiques Évaluation de l'heuristique retenue au niveau Évaluation de l'heuristique retenue au niveau Évaluation de l'heuristique retenue au niveau Évaluation de l'heuristique retenue au niveau Caractéristiques des instances évaluant l'inuence du nombre d'observations demandées Résultat virtuel obtenu par un glouton chronologique au Challenge ROADEF' Résultats moyens des quatre modes de replanication sur 100 instances aléatoires Résultats des quatre modes de replanication sur les trois instances xv

17

18 Liste des Algorithmes 1 Algorithme glouton insérant les objets par ordre décroissant d'ecacité Calcul de la longueur du plus long chemin d'un graphe orienté acyclique par programmation dynamique Heuristique du Plus Proche Voisin Algorithme STRIPS Construction d'un plan respectant l'étanchéité des priorités Construction d'un plan intermédiaire de priorité p Décision de plusieurs niveaux Choix de la prochaine observation ou man uvre orbitale Choix des pointages spéciques Choix des images à télédécharger Choix des mises on/o des instruments xvii

19

20 Introduction générale

21

22 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

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

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

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

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

31 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

32 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 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 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

33 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

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

35 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 = =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.

36 1.2. Problèmes classiques 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 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 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.

37 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 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

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 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 = o 1 3 o 4 o f 1 2 plus long chemin o 2 2 o o 5 o l 2 Figure 1.4 Planication d'observations sous forme de problème de plus long chemin 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

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

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

41 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 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 ; 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

42 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 o o 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 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

43 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-

44 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 É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

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

46 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) 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,... ) É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

47 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 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

48 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

49 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 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

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

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

52 1.5. Planication et ordonnancement en environnement dynamique 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 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 interrompu Réaction nouveau plan en exéc. événement imprévu temps Figure 1.15 Illustration de l'approche réactive.

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

54 1.5. Planication et ordonnancement en environnement dynamique plan en exécution fin d une tâche observée temps Figure 1.17 Illustration des activités ottantes. branche 1 plan en exécution 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é

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

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

57 38 1. Éléments d'optimisation combinatoire 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 É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.

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

59 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é) 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 :

60 1.8. Optimisation multicritère 41 état 0 état état 5 état 2 état état 6 échec état état 7 échec é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 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).

61 42 1. Éléments d'optimisation combinatoire f 2 X f 2 (2) f 2 (1) f 2 (3) P 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 É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 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).

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

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

64 1.9. Bilan 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.

65

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

67 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 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 En contrepartie, la planication des observations pour ces satellites "agiles" est plus complexe car la combinatoire plus importante.

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

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

70 2.2. Cadres de modélisation employés 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 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 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

71 52 2. Planication d'activités satellitaires pour une mission d'observation de la Terre programmation linéaire 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 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 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

72 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 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 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

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

74 2.4. Bilan 55 Figure 2.8 Exemple d'utilisation par Hubble Space Telescope de l'outil SPIKE.

75

76 Deuxième partie Planication et replanication pour des satellites agiles d'observation de la Terre : la démarche entreprise

77

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

79 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),

80 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 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

Table des matières I La programmation linéaire en variables continues 1 Présentation 3 1 Les bases de la programmation linéaire 5 1.1 Formulation d'un problème de programmation linéaire........... 5 1.2

Plus en détail

HEURISTIQUES D'OPTIMISATION. Evelyne LUTTON - INRA AgroParisTech - Grignon http ://evelyne-lutton.fr/

HEURISTIQUES D'OPTIMISATION. Evelyne LUTTON - INRA AgroParisTech - Grignon http ://evelyne-lutton.fr/ HEURISTIQUES D'OPTIMISATION Evelyne LUTTON - INRA AgroParisTech - Grignon http ://evelyne-lutton.fr/ D'après Patrick Siarry, LiSSi, Univ. de Paris-Est Créteil MÉTA-HEURISTIQUES Du grec : méta :au-delà,

Plus en détail

INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE

INTRODUCTION AUX PROBLEMES COMBINATOIRES DIFFICILES : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Leçon 10 INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Dans cette leçon, nous présentons deux problèmes très célèbres,

Plus en détail

OÙ EN EST-ON? ABANDONNER L IDÉE D AVOIR UN ALGORITHME

OÙ EN EST-ON? ABANDONNER L IDÉE D AVOIR UN ALGORITHME OÙ EN EST-ON? Que faire face à un problème dur? AAC S.Tison Université Lille1 Master1 Informatique Quelques schémas d algorithmes Un peu de complexité de problèmes Un peu d algorithmique avancée ou Que

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

Gestion d'un entrepôt

Gestion d'un entrepôt Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez

Plus en détail

Exploration informée

Exploration informée Exploration informée Jerôme Champavère jerome.champavere @ lifl.fr http://www.grappa.univ-lille3.fr/~champavere/?page=enseignement Stratégies d'exploration informée Exploration «meilleur d'abord» Best-first

Plus en détail

Introduction à la programmation en variables entières Cours 3

Introduction à la programmation en variables entières Cours 3 Introduction à la programmation en variables entières Cours 3 F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 272 Sommaire Notion d heuristique Les algorithmes gloutons

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 1 - Introduction Qu est-ce qu un

Plus en détail

CH.5 MÉTHODES APPROCHÉES

CH.5 MÉTHODES APPROCHÉES CH.5 MÉTHODES APPROCHÉES 5.1 Les voisinages 5. Les méthodes de descentes 5. Le recuit simulé 5.4 La Méthode Tabou 5.5 Les algorithmes génétiques Opti-comb ch 5 1 5.1 Les voisinages Dans les problèmes de

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Placement de centres logistiques

Placement de centres logistiques Master 1 - Spécialité Androide Année 2014/2015 Module RP Résolution de Problèmes Projet Placement de centres logistiques On considère dans ce projet la résolution du problème de placement de centres logistiques

Plus en détail

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI Chapitre 6 Modélisation en P.L.I. 6.1 Lien entre PL et PLI (P) problème de PL. On restreint les variables à être entières : on a un problème de PLI (ILP en anglais). On restreint certaines variables à

Plus en détail

Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun

Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun Aziz Amnay Encadrant : Nadia Brauner Responsable Ensimag : Florence MARANINCHI Grenoble, le 16 mai 2012 Table des

Plus en détail

Plan du cours. Métaheuristiques pour l optimisation combinatoire. Quelques problèmes classiques (2/3) Quelques problèmes classiques (1/3)

Plan du cours. Métaheuristiques pour l optimisation combinatoire. Quelques problèmes classiques (2/3) Quelques problèmes classiques (1/3) Plan du cours Quelques problèmes classiques Quelques algorithmes classiques Métaheuristiques pour l optimisation combinatoire un peu de vocabulaire codage des solutions taxinomie méthodes complètes méthodes

Plus en détail

UNIVERSITE SAAD DAHLAB DE BLIDA

UNIVERSITE SAAD DAHLAB DE BLIDA Chapitre 5 :. Introduction aux méthodes par séparation et évaluation Les méthodes arborescentes ( Branch and Bound Methods ) sont des méthodes exactes d'optimisation qui pratiquent une énumération intelligente

Plus en détail

TD 2 Exercice 1. Un bûcheron a 100 hectares de bois de feuillus. Couper un hectare de bois et laisser la zone se régénérer naturellement coûte 10 kf par hectares, et rapporte 50 kf. Alternativement, couper

Plus en détail

RECHERCHE OPERATIONNELLE

RECHERCHE OPERATIONNELLE RECHERCHE OPERATIONNELLE PROBLEME DE L ARBRE RECOUVRANT MINIMAL I - INTRODUCTION (1) Définitions (2) Propriétés, Conditions d existence II ALGORITHMES (1) Algorithme de KRUSKAL (2) Algorithme de PRIM I

Plus en détail

La recherche locale. INF6953 La recherche locale 1

La recherche locale. INF6953 La recherche locale 1 La recherche locale INF6953 La recherche locale 1 Sommaire Recherche locale et voisinage. Fonction de voisinage, optimum local Fonction de voisinage et mouvements Fonction de voisinage et mouvements Exemples

Plus en détail

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson Algorithmique des graphes quelques notes de cours Ioan Todinca, avec le concours de Julien Tesson 29 avril 2008 2 Table des matières I Algorithmes de base 5 1 Généralités 7 1.1 Dénitions et notations...............................

Plus en détail

LA PROGRAMMATION LINEAIRE : UN OUTIL DE MODELISATION

LA PROGRAMMATION LINEAIRE : UN OUTIL DE MODELISATION LA PROGRAMMATION LINEAIRE : UN OUTIL DE MODELISATION Dans les leçons précédentes, nous avons modélisé des problèmes en utilisant des graphes. Nous abordons dans cette leçon un autre type de modélisation.

Plus en détail

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce Année 2007-2008 Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce B. Monsuez Projet informatique «Voyageur de commerce» Résolution

Plus en détail

Chapitre 7 : Programmation dynamique

Chapitre 7 : Programmation dynamique Graphes et RO TELECOM Nancy 2A Chapitre 7 : Programmation dynamique J.-F. Scheid 1 Plan du chapitre I. Introduction et principe d optimalité de Bellman II. Programmation dynamique pour la programmation

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

optimisation robuste de réseaux de télécommunications

optimisation robuste de réseaux de télécommunications optimisation robuste de réseaux de télécommunications Orange Labs Laboratoire Heudiasyc, UMR CNRS 6599, Université de Technologie de Compiègne Olivier Klopfenstein thèse effectuée sous la direction de

Plus en détail

5.1.1 La procédure pour la description d'une situation-problème

5.1.1 La procédure pour la description d'une situation-problème 5 LE CHOIX DES PARTIES DE COURS : UNE PROGRESSION DES APPRENTISSAGES Éléments du cinquième chapitre 5.1 La description de la situation-problème finale 5.1.1 La procédure pour la description d'une situation-problème

Plus en détail

Diagrammes de décisions binaires

Diagrammes de décisions binaires Diagrammes de décisions binaires Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juillet 2009 ATTENTION! N oubliez

Plus en détail

Optimisation des tournées de ramassage scolaire de la commune de Seneffe

Optimisation des tournées de ramassage scolaire de la commune de Seneffe Optimisation des tournées de ramassage scolaire de la commune de Seneffe Laurie Hollaert Séminaire GRT 7 novembre Laurie Hollaert Optimisation des tournées de ramassage scolaire de la commune de Seneffe

Plus en détail

Cours 9 Une variable numérique : distribution et répartition

Cours 9 Une variable numérique : distribution et répartition Cours 9 Une variable numérique : distribution et répartition Lorsqu'une variable est qualitative et l'autre numérique, il est courant que la première identie des sous-populations (sexe, catégories socio-économiques,

Plus en détail

1 Récupération des données

1 Récupération des données Lycée Buffon MP*/PSI 014-15 Épreuve d informatique du concours blanc, jeudi 5 mars 015 (3h00) Les documents, téléphones portables, ordinateurs et calculatrices sont interdits. Le sujet de cette épreuve

Plus en détail

L Intelligence Artificielle

L Intelligence Artificielle L Intelligence Artificielle pour les développeurs Concepts et implémentations en C# Virginie MATHIVET Table des matières 1 Les exemples à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Introduction à l optimisation combinatoire

Introduction à l optimisation combinatoire Introduction à l optimisation combinatoire S. Ben Ismail Majeure Informatique INF413 C5 2 e semestre 2012 Objectifs pédagogiques À l'issue de ce cours, vous devriez être capables de : connaitre la diérence

Plus en détail

Rapport de stage. Simulation d'algorithmes auto-stabilisants

Rapport de stage. Simulation d'algorithmes auto-stabilisants Université Joseph Fourier Département Licence Sciences & Technologies Rapport de stage Simulation d'algorithmes auto-stabilisants DIAKITE Moussa Laboratoire d'accueil : Verimag Directeur du laboratoire

Plus en détail

Applications #2 Problème du voyageur de commerce (TSP)

Applications #2 Problème du voyageur de commerce (TSP) Applications #2 Problème du voyageur de commerce (TSP) MTH6311 S. Le Digabel, École Polytechnique de Montréal H2014 (v2) MTH6311: Heuristiques pour le TSP 1/34 Plan 1. Introduction 2. Formulations MIP

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

1 Exercice 1 Question de cours (4 points)

1 Exercice 1 Question de cours (4 points) Info32B Systèmes d'exploitation année 2013-2014 Examen (1ère session) 16 décembre 2014 N. Sabouret L'épreuve dure 2h30. Tous les documents sont autorisés. Les exercices sont indépendants. 1 Exercice 1

Plus en détail

Méthodologie Scientifique

Méthodologie Scientifique Haute Ecole de la Communaut é Française du Hainaut INSTITUT SUPERIEUR INDUSTRIEL MONS Département technique type long BA1 PROJET Méthodologie Scientifique Prototypage d' une application logicielle Veterinar

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos

Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos Inès Alaya To cite this version: Inès Alaya. Optimisation multi-objectif par colonies de fourmis : cas des problèmes

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Leçon 3. Ordonnancement : planification

Leçon 3. Ordonnancement : planification Leçon 3 Ordonnancement : planification Objectif : A l'issue de la leçon l'étudiant doit être capable : de planifier tout ou partie d'une production à partir d'un dossier de gestion des flux décrivant le

Plus en détail

Optimisation combinatoire Métaheuristiques

Optimisation combinatoire Métaheuristiques Optimisation combinatoire Métaheuristiques Original Pierre Brezellec Laboratoire Génome et Informatique, Evry (modifié par Joël Pothier) OPTIMISATION COMBINATOIRE METAHEURISTIQUES...1 PRESENTATION INFORMELLE

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Applications des métaheuristiques #1 Coloration de graphes

Applications des métaheuristiques #1 Coloration de graphes Applications des métaheuristiques #1 Coloration de graphes MTH6311 S. Le Digabel, École Polytechnique de Montréal H2014 (v2) MTH6311: Applications des métaheuristiques #1 Coloration de graphes 1/29 Plan

Plus en détail

Groupe. Chapter 1. Félix Abecassis (CSI) Christopher Chedeau (CSI) Gauthier Lemoine (SCIA) Julien Marquegnies (CSI)

Groupe. Chapter 1. Félix Abecassis (CSI) Christopher Chedeau (CSI) Gauthier Lemoine (SCIA) Julien Marquegnies (CSI) Chapter 1 Groupe Félix Abecassis (CSI) Christopher Chedeau (CSI) Gauthier Lemoine (SCIA) Julien Marquegnies (CSI) Nous avons choisi d implémenter le projet avec le langage Javascript. L avantage offert

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

Plus en détail

Planifica(on du stockage intermédiaire dans l industrie du shampoing

Planifica(on du stockage intermédiaire dans l industrie du shampoing dans l industrie du shampoing R. Belaid, V. T kindt, C. Esswein, rabah.belaid@etu.univ-tours.fr Université François Rabelais Tours Laboratoire d Informatique 64 avenue Jean Portalis, 37200, Tours Journées

Plus en détail

La Clé informatique. Formation Powerpoint XP Aide-mémoire

La Clé informatique. Formation Powerpoint XP Aide-mémoire La Clé informatique Formation Powerpoint XP Aide-mémoire Septembre 2003 Contenu de la formation Powerpoint XP Leçon 1 : Introduction à PowerPoint Démarrage de PowerPoint Leçon 2 : Environnement Powerpoint

Plus en détail

Cahier des charges - 42Capture

Cahier des charges - 42Capture Cahier des charges - 42Capture Etienne Folio - Antoine Leblanc Andrei Pastramagiu - Christophe Vignix (Document recompilé) 23 avril 2006 Bref aperçu du contenu Table des matières 1 Introduction 3 2 Le

Plus en détail

THÈSE DE DOCTORAT. soutenue le 27/09/2013. par. Marc LETOURNEL APPROCHES DUALES DANS LA RESOLUTION DE PROBLEMES STOCHASTIQUES

THÈSE DE DOCTORAT. soutenue le 27/09/2013. par. Marc LETOURNEL APPROCHES DUALES DANS LA RESOLUTION DE PROBLEMES STOCHASTIQUES UNIVERSITE PARIS-SUD ÉCOLE DOCTORALE : Laboratoire de Recherche en Informatique. DISCIPLINE Graphes Combinatoires. THÈSE DE DOCTORAT soutenue le 27/09/2013 par Marc LETOURNEL APPROCHES DUALES DANS LA RESOLUTION

Plus en détail

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr Ordonnancement Temps Réel Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr 2 Plan de la présentation 1. Introduction aux systèmes temps réel 1.1 Différents modèles de tâches 1.2

Plus en détail

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Heuristique Constructive Itérativement, ajoute de nouvelles composantes à une solution partielle candidate Espace

Plus en détail

Quelques problèmes NP-complets

Quelques problèmes NP-complets Chapitre 12 Quelques problèmes NP-complets Maintenant que nous connaissons la NP-complétude d au moins un problème (SAT), nous allons montrer qu un très grand nombre de problèmes sont NP-complets. Le livre

Plus en détail

Formation STI2D Découverte de LabView 2011

Formation STI2D Découverte de LabView 2011 1 Présentation de Labview LabVIEW est un langage de programmation graphique destiné au développement d'applications d'instrumentation : acquisition par l'intermédiaire de cartes externes et restitution

Plus en détail

Rapport de projet : Construction d'un simulateur pour la gestion de conteneurs sur une plateforme portuaire

Rapport de projet : Construction d'un simulateur pour la gestion de conteneurs sur une plateforme portuaire Rapport de projet : Construction d'un simulateur pour la gestion de conteneurs sur une plateforme portuaire Bouvier Matias - Chaouche Mohamed - Délye Serge - Mommers Alexandre 25 janvier 2011 Master 2

Plus en détail

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Problème combinatoire sur le réseau de transport de gaz Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Au programme Présentation du problème Un problème d optimisation

Plus en détail

Equilibre de charge. Equilibre de charge statique Equilibre de charge dynamique

Equilibre de charge. Equilibre de charge statique Equilibre de charge dynamique Equilibre de charge Equilibre de charge statique Equilibre de charge dynamique Approches centralisées Approches distribuées Approches semi-distribuées Jaillet Info53 - L3 Informatique - 2006 1 Equilibre

Plus en détail

Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives

Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives Stéphanie Combes et Pauline Givord (DMCSI) INSEE-DMSCI 02/04/2015 Plan Qu'est-ce que le Big Data? Les

Plus en détail

RÉPUBLIQUE ALGERIÉNNE DÉMOCRATIQUE ET POPULAIRE MINISTÉRE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE

RÉPUBLIQUE ALGERIÉNNE DÉMOCRATIQUE ET POPULAIRE MINISTÉRE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE RÉPUBLIQUE ALGERIÉNNE DÉMOCRATIQUE ET POPULAIRE MINISTÉRE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université des sciences et de la technologie Houari Boumediene USTHB Faculté d'électronique

Plus en détail

9 5 2 5 Espaces probabilisés

9 5 2 5 Espaces probabilisés BCPST2 9 5 2 5 Espaces probabilisés I Mise en place du cadre A) Tribu Soit Ω un ensemble. On dit qu'un sous ensemble T de P(Ω) est une tribu si et seulement si : Ω T. T est stable par complémentaire, c'est-à-dire

Plus en détail

INTRODUCTION GENERALE

INTRODUCTION GENERALE INTRODUCTION GENERALE Chaque année, les entreprises ont de nombreux challenges à relever; adaptation à des contraintes légales nationales, européennes ou internationales, lancement de nouveaux services

Plus en détail

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

Plus en détail

Consultation publique sur la portabilité des numéros

Consultation publique sur la portabilité des numéros Consultation publique sur la portabilité des numéros Table des matières 1 Préambule 2 2 Cadre réglementaire 2 3 Dénitions 4 4 Système de portabilité des numéros 4 4.1 Modes de routage.................................

Plus en détail

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Sauvegarder ses données avec Syncback

Sauvegarder ses données avec Syncback Sauvegarder ses données avec Syncback D.Mouchené, ATICE Tarentaise - nov. 2015 Une fausse manœuvre, un virus, un incident matériel peuvent causer la destruction de fichiers informatiques et donc la perte

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j ))

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j )) La logique oue dans les PME/PMI Application au dosage de l'eau dans les bétons P.Y. Glorennec INSA de Rennes/IRISA glorenne@irisa.fr C. Hérault Hydrostop christophe@hydrostop.fr V. Hulin Hydrostop vincent@hydrostop.fr

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

REPRÉSENTATION DES NOMBRES EN MACHINE

REPRÉSENTATION DES NOMBRES EN MACHINE Info 2 REPRÉSENTATION DES NOMBRES EN MACHINE Problématique Dans la mémoire d'un ordinateur, les données sont représentées sous forme de séquences de 0 et de 1. Par conséquent, toute information mémorisée

Plus en détail

M. Jean-Yves Le Drian, Ministre de la défense. Discours pour les vingt ans du lancement du satellite Hélios IA

M. Jean-Yves Le Drian, Ministre de la défense. Discours pour les vingt ans du lancement du satellite Hélios IA MINISTÈRE DE LA DÉFENSE M. Jean-Yves Le Drian, Ministre de la défense Discours pour les vingt ans du lancement du satellite Hélios IA A Toulouse, le 9 juillet 2015 Seul le prononcé fait foi Page 1 sur

Plus en détail

Gestion de projet. Jean-Charles Régin. Licence Informatique 3 ème année - MIAGE

Gestion de projet. Jean-Charles Régin. Licence Informatique 3 ème année - MIAGE Gestion de projet Jean-Charles Régin Licence Informatique 3 ème année - MIAGE Gestion de projet : Ordonnancement Jean-Charles Régin Licence Informatique 3 ème année - MIAGE Remerciements Michel Minoux

Plus en détail

Modélisation et résolution du problème de transport de gaz: application au réseau principal français

Modélisation et résolution du problème de transport de gaz: application au réseau principal français Modélisation et résolution du problème de transport de gaz: application au réseau principal français Présentation des travaux de thèse GDF SUEZ - INPT - ENSIACET - LGC EMN 24 mars 2011 Le gaz en Europe

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Premier Exemple. Premier Exemple - Slack variables. Optimiser? Un peu de maths préliminaires La géométrie des PL

Premier Exemple. Premier Exemple - Slack variables. Optimiser? Un peu de maths préliminaires La géométrie des PL 1 Intro, Optimisation, Problème Linéaire 2 1 Intro, Optimisation, Problème Linéaire Optimiser? Problème Linéaire Un peu de maths préliminaires La géométrie des PL 2 Laure Gonnord (Lyon1 / ENS Lyon) Optimisation

Plus en détail

IVRG Image and Visual Representation Group

IVRG Image and Visual Representation Group IVRG Image and Visual Representation Group Projet en Digital Photography Responsable : Patrick Vandewalle Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003 Table des matières Table des matières 2 1. Introduction

Plus en détail

Épreuve n 11 : contrôle de gestion

Épreuve n 11 : contrôle de gestion Épreuve n 11 : contrôle de gestion Nature : épreuve écrite portant sur l étude d une ou de plusieurs situations pratiques et/ou un ou plusieurs excercices et/ou une ou plusieurs questions. Durée : 4 heures.

Plus en détail

Optimisation Combinatoire (Méthodes approchées) VI. Algorithmes à Population (Les bases)

Optimisation Combinatoire (Méthodes approchées) VI. Algorithmes à Population (Les bases) Optimisation Combinatoire (Méthodes approchées) VI. Algorithmes à Population (Les bases) Algorithmes à Population Idée principale 'Amélioration' d'un ensemble de solutions Recombiner des solutions Orienté

Plus en détail

PARCOURS DU CAVALIER SUR L ÉCHIQUIER

PARCOURS DU CAVALIER SUR L ÉCHIQUIER I05 ÉPREUVE COMMUNE DE TIPE 2011 - Partie D TITRE : PARCOURS DU CAVALIER SUR L ÉCHIQUIER Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec

Plus en détail

Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A*

Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A* Résolution de problèmes en intelligence artificielle et optimisation combinatoire : les algorithmes A* Michel Couprie Le 5 avril 2013 Ce document est une courte introduction à la technique dite A*. Pour

Plus en détail

Les graphes d intervalles

Les graphes d intervalles Les graphes d intervalles Complément au chapitre 3 «Vol aux archives cantonales» Considérons un ensemble de tâches ayant chacune une heure de début et une heure de fin bien précises. Supposons qu on demande

Plus en détail

PLANIFICATION ET SUIVI D'UN PROJET

PLANIFICATION ET SUIVI D'UN PROJET Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique PLANIFICATION ET SUIVI D'UN PROJET Référence : CNRS/DSI/conduite-projet/developpement/gestion-projet/guide-planfi-suivi-projet

Plus en détail

Les mathématiques du calcul

Les mathématiques du calcul Les mathématiques du calcul Module Maths Discrètes, INSA, Univ Lyon 1, 2015-2016 Eric Tannier (eric.tannier@univ-lyon1.fr) Les mathématiques du calcul Tradition orientale Al-Khawarizmi Al-Khawarizmi, 783-850

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

Rappel du plan du cours

Rappel du plan du cours Rappel du plan du cours 1 - Introduction Qu est-ce qu un problème «complexe»? Exemples de problèmes «complexes» 2 - Approches complètes Structuration de l espace de recherche en Arbre Application à la

Plus en détail

Conception d une Métaheuristique Réactive

Conception d une Métaheuristique Réactive République Algérienne Démocratique et Populaire وزارة التعليم العالي والبحث العلمي Ministère de l Enseignement Supérieur et de la Recherche Scientifique UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE d ORAN

Plus en détail

Observation des modalités et performances d'accès à Internet

Observation des modalités et performances d'accès à Internet Observation des modalités et performances d'accès à Internet Avant-propos La base de cette étude est constituée par les informations collectées par l'outil Cloud Observer d'iplabel (chargement des différents

Plus en détail

3 - Description et orbite d'un satellite d'observation

3 - Description et orbite d'un satellite d'observation Introduction à la télédétection 3 - Description et orbite d'un satellite d'observation OLIVIER DE JOINVILLE Table des matières I - Description d'un satellite d'observation 5 A. Schéma d'un satellite...5

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre Recherche opérationnelle Programmation linéaire et recherche opérationnelle Ioan Todinca Ioan.Todinca@univ-orleans.fr tél. 0 38 41 7 93 bureau : en bas à gauche Tentative de définition Ensemble de méthodes

Plus en détail

LE PROBLEME DU FLOT MAXIMAL

LE PROBLEME DU FLOT MAXIMAL LE PROBLEME DU FLOT MAXIMAL I Exemple d introduction Deux châteaux d'eau alimentent 3 villes à travers un réseau de canalisations au sein duquel se trouvent également des stations de pompage. Les châteaux

Plus en détail