UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE THESE

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

Download "UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE THESE"

Transcription

1 UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE Année 1998 N attribué par la bibliothèque _ THESE pour obtenir le grade de DOCTEUR DE L'UNIVERSITE PARIS VII Discipline : Informatique présentée et soutenue publiquement par François Laburthe le Titre : Contraintes et Algorithmes en Optimisation Combinatoire Directeur de thèse : Yves Caseau M. Nivat : président JURY

2 J.-L. Lambert : rapporteur C. Roucairol : rapporteur Y. Caseau : directeur de thèse F. Fages : examinateur E. Jacquet Lagrèze : examinateur P. Van Hentenryck : examinateur 2

3 3

4 Table des matières 0. Introduction Sujet...Erreur! Signet non défini. 0.2 Motivations...Erreur! Signet non défini. 0.3 Méthode...Erreur! Signet non défini. 0.4 Historique...Erreur! Signet non défini. 0.5 Plan de l étude...erreur! Signet non défini. 1. Chapitre 1. Formalismes pour l optimisation combinatoire...erreur! Signet non défini. 1.1 Programmation linéaire...erreur! Signet non défini. 1.2 Programmation par contraintes...erreur! Signet non défini. 1.3 Recherche arborescente globale...erreur! Signet non défini. 1.4 Algorithmes approchés, recherche locale...erreur! Signet non défini. 1.5 Un exemple : la couverture d ensembles...erreur! Signet non défini. 2. Chapitre 2. Couplages et allocation...erreur! Signet non défini. 2.1 Les problèmes de couplages bipartis...erreur! Signet non défini. 2.2 Couplages bipartis et flots...erreur! Signet non défini. 2.3 Modélisation linéaire, méthode Hongroise...Erreur! Signet non défini. 2.4 Programmation par contraintes...erreur! Signet non défini. 2.5 Variations...Erreur! Signet non défini. 2.6 Bilan...Erreur! Signet non défini. 3. Chapitre 3. Ordonnancement disjonctif...erreur! Signet non défini. 3.1 Ordonnancement...Erreur! Signet non défini. 3.2 Contraintes...Erreur! Signet non défini. 3.3 Techniques de Recherche Opérationnelle...Erreur! Signet non défini. 3.4 Solution heuristique et optimisation locale...erreur! Signet non défini. 3.5 Bilan...Erreur! Signet non défini. 4. Chapitre 4. Le voyageur de commerce (TSP)...Erreur! Signet non défini. 4.1 Circuits Hamiltoniens...Erreur! Signet non défini. 4.2 Algorithmes de résolution exacte...erreur! Signet non défini. 4

5 4.3 Contraintes...Erreur! Signet non défini. 4.4 Solutions heuristiques...erreur! Signet non défini. 4.5 Optimisation locale...erreur! Signet non défini. 4.6 Bilan...Erreur! Signet non défini. 5. Chapitre 5. Problèmes de grilles d emplois du temps...erreur! Signet non défini. 5.1 Introduction, typologie...erreur! Signet non défini. 5.2 Un problème académique : l'allocation matricielle...erreur! Signet non défini. 5.3 Contraintes redondantes...erreur! Signet non défini. 5.4 Application à des problèmes réels d'emplois du temps....erreur! Signet non défini. 5.5 Conclusion...Erreur! Signet non défini. 6. Chapitre 6. Ordonnancement cumulatif...erreur! Signet non défini. 6.1 Ordonnancement et ressources...erreur! Signet non défini. 6.2 Techniques de propagation de contraintes...erreur! Signet non défini. 6.3 Stratégies d énumération...erreur! Signet non défini. 6.4 Expériences et résultats...erreur! Signet non défini. 6.5 Autres techniques...erreur! Signet non défini. 6.6 Bilan...Erreur! Signet non défini. 7. Chapitre 7. Problèmes de tournées...erreur! Signet non défini. 7.1 Tournées de véhicules...erreur! Signet non défini. 7.2 Algorithmes de résolution...erreur! Signet non défini. 7.3 Insertion et optimisation locale incrémentale...erreur! Signet non défini. 7.4 Cas du VRPTW...Erreur! Signet non défini. 7.5 Application à des applications réelles de tournées...erreur! Signet non défini. 7.6 Bilan...Erreur! Signet non défini. 8. Chapitre 8. Bilan...Erreur! Signet non défini. 8.1 Cartographie de la résolution de problèmes combinatoires...erreur! Signet non défini. 8.2 P.P.C. et Optimisation Combinatoire...Erreur! Signet non défini. 8.3 Algorithmes hybrides...erreur! Signet non défini. 8.4 Perspectives...Erreur! Signet non défini. 9. Chapitre 9. Un langage pour les algorithmes hybrides : programme de recherches....erreur! Signet non défini. 5

6 9.1 Un langage de modélisation et de simulation...erreur! Signet non défini. 9.2 Structures de données algorithmiques additionnelles...erreur! Signet non défini. 9.3 Description déclarative de comportements...erreur! Signet non défini. 9.4 contrôle...erreur! Signet non défini. 9.5 Environnement...Erreur! Signet non défini. 9.6 Conclusion...Erreur! Signet non défini. 10. Chapitre 10. Définition du langage SaLSA...Erreur! Signet non défini Pourquoi et comment décrire le flot de contrôle...erreur! Signet non défini Décisions locales...erreur! Signet non défini Composition des choix...erreur! Signet non défini Grammaire du langage SaLSA...Erreur! Signet non défini. 11. Chapitre 11. Utilisation de SaLSA pour résoudre des problèmes combinatoires...erreur! Signet non défini Stratégies de recherche globale pour un résolveur de contraintes sur les domaines finis....erreur! Signet non défini GSAT...Erreur! Signet non défini Algorithmes d insertion pour des problèmes de tournées...erreur! Signet non défini Heuristiques en ordonnancement....erreur! Signet non défini Méthodes complètes en ordonnancement et shaving...erreur! Signet non défini Optimisation locale et solutions partielles : «Shuffling»...Erreur! Signet non défini Jeux d échecs...erreur! Signet non défini Recherche de bonnes cliques maximales en ordonnancement cumulatif...erreur! Signet non défini La procédure d optimisation locale de Lin & Kernighan pour le TSPErreur! Signet non défini. 12. Chapitre 12. Sémantique opérationnelle et implémentation...erreur! Signet non défini Préliminaires et notations...erreur! Signet non défini Transitions du calcul de processus...erreur! Signet non défini Implémentation du générateur de code...erreur! Signet non défini. 13. Conclusion...Erreur! Signet non défini. 14. Bibliographie...Erreur! Signet non défini. 6

7 7

8 Remerciements Je remercie Maurice Nivat de me faire l'honneur de présider ce jury, témoignant ici de son intérêt pour mes travaux. Je souhaite remercier très particulièrement Yves Caseau pour le plaisir que j'ai eu à travailler avec lui, pour sa vision scientifique et ses conseils avisés, pour sa direction efficace et confiante et enfin, pour l'attention et la disponibilité dont il a fait preuve. Je remercie François Fages et Guy Cousineau de m'avoir chaleureusement accueilli au LIENS. Mon intégration à l'équipe Langages Logiques, Contraintes et Optimisation m'a permis d'avoir un cadre bien agréable pour mener cette thèse, et la collaboration amicale avec l'équipe a été fructueuse. Je remercie Jean Jourdan et Béatrice Bacconnet de m'avoir accueilli au Laboratoire Central de Recherches de Thomson-CSF. J'ai beaucoup apprécié notre collaboration et la confiance qu'ils m'ont accordée en décidant d'utiliser Claire, Eclair et SaLSA. Je remercie particulièrement Éric Jacopin, Jean-Luc Lambert et Catherine Roucairol qui ont relu ce mémoire avec une minutie bienveillante, pour leurs suggestions pertinentes. Je remercie Krysztof Apt et Monique Laurent pour leur invitation à venir présenter mes travaux aux CWI. L'intérêt qu'ils leur ont porté est une reconnaissance chaleureuse. Je remercie Eric Jacquet-Lagrèze et Pascal Van Hentenryck d'avoir accepté de prendre de leur temps pour participer à ce jury. Je remercie enfin tous ceux avec lesquels j'ai eu le plaisir de reflechir au tableau ou devant une feuille blanche. Ces moments d'échange comptent parmi les meilleurs souvenirs de ces quatre années. Pour ces passionantes discussions, pour le plaisir de chercher et argumenter ensemble, je souhaiterais remercier Philippe Baptiste, Hervé Chibois, Simon De Givry, Akim D le, Sébastien Desreux, Francois Fages, Éric Jacopin, Tibor Kökény, Claude Le Pape, Domitile Lourdeaux, Laurent Perron, Pierre Savéant, Vincent Schächter et Mark Wallace. Enfin, merci à celui, qui m'a montré, il y a maintenant longtemps, en faisant dessiner une maison à une petite tortue, que l'informatique, c'est cool. 8

9 9

10 0. Introduction 0.1 Sujet Le but de cette thèse est d étudier les apports mutuels de la programmation par contraintes et de la recherche opérationnelle à résolution de problèmes d optimisation combinatoire réels. Cet objectif se décline selon deux axes : d une part trouver les techniques algorithmiques pertinentes pour la résolution de tels problèmes et en particulier celles relatives à la programmation par contraintes, et d autre part, les mettre en oeuvre dans un environnement informatique. La première direction de recherche veut répondre à la question «Que faut-il faire pour résoudre de tels problèmes combinatoires?», alors que la seconde vise la question «Comment faut-il le faire?». 0.2 Motivations Quand ce travail de recherche a commencé, les réponses à ces questions étaient mal connues, pressenties ou dispersées. Un certain nombre de techniques algorithmiques (i.e. la programmation linéaire, la programmation par contraintes, les algorithmes de graphes, la recherche tabou, etc.) étaient étudiées dans des communautés séparées. Chacune avait obtenu de bons résultats ou des résultats prometteurs sur certains problèmes. En particulier, la programmation par contraintes effectuait ses premières percées en milieu industriel, provoquant des réactions contrastées : réactions enthousiastes devant la flexibilité de son formalisme qui permet de décrire des problèmes fort complexes, prenant en compte de nombreux aspects spécifiques à une application; réactions sceptiques devant la piètre qualité des résultats obtenus par rapport à d autres techniques algorithmiques, lors de mises en œuvre naïves. Face à l'attrait de cette nouvelle technique qu'était la programmation par contraintes, la littérature était de peu d'aide à celui qui voulait résoudre un problème d'optimisation particulier. En effet, peu de comparaisons systématiques entre ces techniques algorithmiques étaient disponibles, et si un certain nombre de chercheurs savaient de manière expérimentale, pour un problème donné, quelles étaient les techniques pertinentes à utiliser, cette connaissance dispersée n'était pas accessible dans les publications. Enfin, une fois identifiés les algorithmes pertinents à la résolution du problème, l'expérimentation informatique pouvait s'avérer problématique. En effet, chacune des techniques étant décrite dans son formalisme propre, l'utilisateur, à moins d'investir beaucoup de temps en programmation, en était généralement réduit à l'utilisation d'un outil spécifique (système CLP, résolveur linéaire, bibliothèque d'algorithmes de graphe). Ces outils relativement rigides limitaient le brassage des algorithmes et l'expérimentation de combinaisons des méthodes de résolution. Cette situation nous a incité à proposer à la communauté une évaluation de la programmation par contraintes face aux autres grandes techniques algorithmiques, sur un ensemble de problèmes d'optimisation classiques, pour mettre à la disposition de celui qui envisage la résolution d'un problème similaire, une synthèse des techniques appropriées, directement utilisable. De plus, nous avons voulu apporter notre contribution aux problèmes de génie logiciel des algorithmes hybrides d'optimisation en proposant un langage pour la programmation d'algorithmes de recherche locale et globale. 0.3 Méthode La méthode suivie a consisté à répondre d'abord à la première question avant d'aborder la seconde. En effet, de manière pragmatique, nous voulions d'abord délimiter les algorithmes avant de proposer un langage pour les exprimer. Pour répondre à la première question, nous avons décidé de faire un tour d horizon des problèmes d optimisation combinatoire. On s est limité à un ensemble de problèmes qui semblaient revenir de 9

11 manière récurrente dans le contexte d applications réelles, comme l'ordonnancement, l'affectation de ressources, l'optimisation de parcours et les problèmes de grilles d'emplois du temps. Pour chacun de ces problèmes, nous avons voulu comparer les techniques algorithmiques classiques (du moins, celles programmables en un temps raisonnable), avec des techniques de programmation par contraintes, d un double point de vue : = celui de l efficacité. On veut comparer des algorithmes suivant leur rapidité et suivant la taille maximale des problèmes résolus. = celui de la robustesse. On veut évaluer, pour chaque algorithme, la capacité à résoudre des problèmes voisins, c est à dire des problèmes dont on a légèrement changé les spécifications de départ, en ajoutant certaines contraintes additionnelles spécifiques, ou en introduisant des dépendances nouvelles entre certaines parties du problème. Le premier objectif était d obtenir une cartographie pour ces problèmes d optimisation combinatoire qui mette en relation des zones d utilisation (taille du problème et présence ou non de contraintes additionnelles) avec des techniques algorithmiques particulières. En particulier, on cherche à évaluer les limites d une résolution en programmation par contraintes (et le cas échéant, à les repousser). Notons que ce premier objectif ne constitue pas exactement une évaluation de la programmation par contraintes pour la résolution de problèmes combinatoires réels. Notre méthode a introduit un biais en délaissant les problèmes vraiment difficiles à modéliser (souvent trop spécifiques pour être présenter un intérêt général) et en se concentrant sur de vrais problèmes combinatoires (sur lesquels on peut mener des comparaisons de manière rigoureuse). En pratique, il semble qu'il existe de nombreux problèmes où la difficulté réside bien plus dans la modélisation que dans la résolution, et qu'une approche naïve par contraintes parvient à résoudre de manière satisfaisante (quand ces problèmes sont soit petits, soit denses en solutions). Mais une telle affirmation étant difficile à étayer de manière scientifique, nous avons laissé de telles situations en dehors du champ d'expériences de ce travail. Le second objectif - fournir un environnement pour le développement des algorithmes pertinents - a été abordé au tout début de ce travail, puis plus tard dans la thèse. La première étape a consisté à proposer un langage de programmation simple et élégant, CLAIRE [CL 96a], dans lequel nous avons programmé tous les algorithmes décrits dans ce travail. Cette expérience de programmation ainsi que l'interaction avec d'autres utilisateurs de CLAIRE nous a permis d'aborder à nouveau la question du langage plus tard dans la thèse. Parmi les nombreuses possibilités ouvertes, nous aurions pu, par exemple, proposer une extension du cadre CLP, ou un système d'optimisation intégrant un certain nombre d'objets prédéfinis (des tâches, des ressources, des grilles, des réseaux, etc. ), ou encore un système avec des contraintes sur les relations dans la lignée d'alice [Lau 78]. En 1996, nous ne nous sommes pas senti assez mûrs pour franchir ce pas, et nous n'avons pas voulu proposer un système fermé proposant un ensemble non-extensible par l'utilisateur de mécanismes d'optimisation. Nous avons préféré nous concentrer sur une difficulté : l'expression du contrôle pour certains algorithmes hybrides. Nous avons proposé un langage, SaLSA, qui permet de décrire de manière élégante et très synthétique des algorithmes hybrides complexes et nous avons implémenté un compilateur de SaLSA vers CLAIRE. Cette approche de génération de code (ou compilation) a l'intérêt de pouvoir s'appliquer à n'importe quel langage cible de programmation et de ne pas se limiter à un système particulier. Pour proposer le langage SaLSA, notre démarche a été pragmatique et a commencé par réunir un cahier des charges rassemblant tous les algorithmes complexes de recherche arborescente que nous avions rencontrés. Le langage à proposer devait ainsi permettre de les exprimer tous de manière simple. Après avoir proposé et implémenté la première version de SaLSA, nous nous sommes rendu compte que les opérations de base de SaLSA étaient les mêmes que celles d'un langage pour l'optimisation locale, 10

12 LOCALIZER [MVH 97]. Nous avons alors choisi d'étendre SaLSA et d'en proposer une version plus générale permettant d'exprimer aussi bien les algorithmes de recherche locale que globale. 0.4 Historique Les deux questions de la thèse s étaient posées de manière naturelle à l équipe d Yves Caseau. En effet, elle avait développé le système LAURE [Ca 91a] à Bellcore, qui proposait, au-dessus d un modèle objet issu de la représentation de connaissances, toute une série d outils pour faire de la résolution de problèmes (règles de production, règles déductives, contraintes, etc.). Ce système avait été utilisé pour réaliser des prototypes d applications industrielles en optimisation et avait, entres autres, remporté de beaux succès en enrichissant le cadre de la programmation par contraintes, soit par l utilisation d algorithmes de propagation spécialisés (en emplois du temps [CGL 92] ou en ordonnancement [CL 94]), soit par l utilisation de la propagation par contraintes dans le cadre d algorithmes plus généraux (application de LAURE à la gestion des tâches de maintenance sur un réseau téléphonique). Au cours de son utilisation, nous nous sommes rendu compte que LAURE était trop complexe et trop difficile à maîtriser pour un nouvel utilisateur. Dans les faits, une partie des technologies avancées offertes par le système n était que rarement utilisée. Le succès des applications fit apparaître un autre problème, lié à l explication d un programme à un utilisateur novice : à mesure que l'on programmait des algorithmes de plus en plus complexes, le code devenait de plus en plus difficile à comprendre, et Laure ne pouvait plus être utilisé à la fois comme langage de spécification et comme langage de programmation, comme cela avait été le cas lors d utilisations antérieures plus simples. Nous avons donc réfléchi en 1993 à la conception d un langage de spécifications formelles orientées-objets, CECILE [CL 93], qui permettrait de documenter le code LAURE. Faute de moyens, ce langage n a jamais été supporté, mais nous en avons gardé un goût fort pour les descriptions élégantes en pseudo-code de programmes complexes. A commencé alors le projet d un nouveau langage, CLAIRE [CL 96a], qui mettrait à la disposition de l utilisateur, les technologies de LAURE qui s étaient avérées utiles et dont le code serait aussi élégant et naturel que celui de CECILE. Avec un petit groupe d intéressés, nous avons passé l année à définir le langage dont Yves Caseau a réalisé la première implémentation à l été 94. A partir de ce moment, CLAIRE a été notre environnement informatique d'expérimentation. Le travail exploratoire de cartographie des méthodes de résolution par contraintes pour les problèmes d'optimisation combinatoire a été mené conjointement avec Yves Caseau, dont le cours Contraintes et Algorithmes au Magistère de l'école Normale Supérieure (MMFAI) aux printemps 95, 96 et 97 a joué le rôle d'aiguillon (il fallait pouvoir présenter dans un cours de trois heures une synthèse des techniques algorithmiques efficaces sur un problème combinatoire donné). Ce cours a aussi permis de mettre à l'épreuve le langage CLAIRE : nous avons systématiquement utilisé CLAIRE comme langage de pseudocode pour la description d'algorithmes d'optimisation qui ont pu être compris par des élèves sans formation préalable au langage. Le deuxième volet de la thèse a été abordé à partir de Après presque deux ans d'utilisation de CLAIRE et d'expérimentation en optimisation combinatoire, et d'interaction avec d'autres utilisateurs de Claire, nous pouvions commencer à considérer le pas suivant vers le système idéal de résolution de ces problèmes. Cette thématique a été explorée en liaison avec le projet ESPRIT CHIC-2 (consacré à la programmation d'algorithmes hybrides en optimisation combinatoire) auquel nous étions associés. De plus, j'ai fait ma troisième année de thèse au Laboratoire Central de Recherches de Thomson/CSF comme scientifique du contingent, où l'on m'a demandé de réfléchir à la résolution de problèmes combinatoires en temps réel avec des contraintes. Ce cadre d'utilisation rejoignait exactement nos préoccupations, puisqu'il passait par le développement d'algorithmes hybrides. Le travail lié à SaLSA a donc permis de collaborer avec de nombreuses personnes, dans le cadre du projet CHIC-2, au Laboratoire 11

13 Central de Recherches de Thomson/CSF et dans le cercle des utilisateurs de Claire (à l'ens, à Bouygues et ailleurs). Aujourd'hui, CLAIRE est utilisé dans des applications industrielles d'optimisation combinatoire à Bouygues et à Thomson-CSF et comme outil d'expérimentation dans de nombreux laboratoires universitaires (ENSAM, LIRMM, CMU,...) ainsi qu'à EDF, Lucent technologies, Axlog ingénierie, etc. 0.5 Plan de l étude Cette thèse se décompose en deux parties répondant aux deux objectifs visés : = la partie A est consacrée à l évaluation des techniques de programmation par contraintes par rapport aux techniques d algorithmique classique sur un certain nombre de problèmes d'optimisation discrète. = la partie B est consacrée à l étude de la description de tels algorithmes du point de vue du langage ou du système de programmation. On décrit maintenant, pour chaque chapitre, les principaux points abordés. Après cette introduction, le premier chapitre brosse un panorama des techniques algorithmiques disponibles pour l'optimisation combinatoire. On présente ainsi, rapidement, les principes de la programmation linéaire et de la programmation par contraintes. On montre comment ces deux techniques peuvent être utilisées dans le cadre d'algorithmes de recherche globale pour résoudre de manière exacte des problèmes d'optimisation. On présente ensuite des familles d'algorithmes approchés d optimisation, notamment les algorithmes gloutons et les méthodes de recherche locale. Enfin, on conclut en présentant la résolution d'un exemple simple, la couverture d'ensembles, en programmation linéaire et en programmation par contraintes. Partie A La partie A qui comporte sept chapitres (deux à huit), s'intéresse à un ensemble de problèmes d'optimisation. Chaque chapitre est consacré à un problème donné. Pour chacun d'entre eux, on s'efforce de présenter le problème, de motiver son étude et d'envisager les principaux algorithmes pour le résoudre. Dans ce cadre, on présente l'approche habituelle en programmation par contraintes, que l'on s'efforce d'améliorer, pour permettre une évaluation de la programmation par contraintes par rapport aux autres techniques algorithmiques sur le problème en question. Le chapitre deux présente le problème de l allocation de ressources. On commence par en décrire une formulation comme un problème de couplage maximal dans un graphe biparti et on présente dans ce cadre deux algorithmes de Recherche Opérationnelle, un algorithme de flot et un algorithme linéaire primal-dual, la méthode Hongroise. Après avoir décrit une formulation naïve par contraintes, on propose des améliorations du schéma de propagation qui permettent de résoudre des problèmes de taille moyenne (jusqu'à 2 40 noeuds), alors que la méthode Hongroise permet de résoudre des grands problèmes. On considère ensuite deux extensions du problème d'allocation pour lesquelles, contrairement au cas du problème pur, la programmation par contraintes devient compétitive avec la méthode Hongroise. On propose en conclusion l'ajout d'une nouvelle contrainte globale aux systèmes de P.P.C., dédiée aux problèmes d'affectation bijective et implémentée grâce à la méthode Hongroise. Le chapitre trois présente le problème de l ordonnancement disjonctif. Après avoir décrit une formulation linéaire, on présente un cadre complet pour sa résolution en programmation par contraintes. Celui-ci comporte des règles de propagation, basées sur l'analyse d' intervalles de tâches et un schéma de branchement, et permet une résolution exacte très compétitive des problèmes, grâce à laquelle nous avons résolu des problèmes ouverts. On aborde ensuite la famille des algorithmes approchés et on montre 12

14 comment le cadre précédent de propagation de contraintes peut être réutilisé pour proposer une heuristique gloutonne ainsi qu'une procédure d'optimisation locale très efficaces. On conclut que la propagation de contraintes est une technique essentielle à la résolution de problèmes d'ordonnancement disjonctif, tant pour leur résolution exacte que leur résolution approchée. Le chapitre quatre présente le problème du voyageur de commerce. Après avoir décrit le modèle linéaire et présenté les méthodes de résolution associées, pour le cas d'un distance symmétrique ou d'une distance asymétrique, on propose un algorithme de propagation de contraintes basé sur une formulation issue des couplages bipartis. On décrit la propagation de la contrainte d'élimination de sous-cycles, la propagation croisée avec un modèle temporel (en présence d'éventuelles fenêtres de temps). Pour les petits problèmes (moins de 15 nœuds), la PPC est ainsi un des algorithmes génériques (s'appliquant en particulier aussi bien aux distances symétriques qu'aux distances asymétriques) les plus rapides actuellement disponibles. Enfin, on complète le schéma de propagation par plusieurs techniques de bornes inférieures, basées sur des relaxations (couplage Hongrois, arbre couvrant de poids minimum et relaxation Lagrangienne à la Held & Karp). L'ensemble de ces techniques permet de résoudre, de manière exacte, des problèmes jusqu'à 70 nœuds. Pour les problèmes plus grands, on passe en revue les heuristiques gloutonnes (par insertion) ainsi que les méthodes d'optimisation locale. Le chapitre cinq s'intéresse à la résolution de problèmes d'emplois du temps. On commence par délimiter deux formulations de problèmes différents, l'allocation matricielle et la gestion de personnel. On décrit le lien entre le problème de l'allocation matricielle et d'autres problèmes combinatoires comme les multiflots, l'ordonnancement ou la reconstruction de polyominos. On présente ensuite une modélisation simple par contraintes, puis quatre techniques de propagation redondante. Pour le problème de l'allocation matricielle, on montre comment analyser de manière globale les demandes minimales et maximales sur les lignes et les colonnes et on montre comment traiter le problème limité à une ligne (ou une colonne) comme un problème de flot maximal. Pour le problème de gestion de personnel, on montre comment résoudre de manière exacte le problème où tous les individus sont semblables et où tous les horaires sont des intervalles par un algorithme de flots, et on propose une technique de borne, basée sur la méthode Hongroise, applicable au cas de gestion de personnel en présence de préférences pour les personnes. Enfin, on utilise ces techniques dans deux applications réalistes, une pour les rotations en 3/8 du personnel dans un central téléphonique, l'autre pour la planification des horaires de personnel dans un centre d'appel. Le chapitre six présente le problème de l ordonnancement cumulatif. Après avoir motivé la généralisation du cadre de l'ordonnancement disjonctif pour la modélisation de problèmes réels de production, et décrit le problème général de l'ordonnancement cumulatif et sa restriction au cadre du RCPSP, on présente les deux techniques principales de propagation de contraintes, celle issue de l'analyse des fenêtres de temps (généralisation des intervalles de tâches) et celle issue de l'analyse des demandes de ressource (prise en compte des parties fixes des tâches). On décrit ensuite un cadre de recherche arborescente basé sur la construction chronologique de l'ordonnancement et enrichi par un apprentissage des échecs et l'utilisation de règles de dominance. On applique ensuite ces techniques à trois séries de problèmes, cumulatifs monoressource, cumulatif multi-ressource et RCPSP. Enfin, on évoque d'autres techniques de propagation dont l'apport est moins clair. On conclut, comme pour l'ordonnancement disjonctif, à l'importance des techniques de contraintes, en insistant sur la variété des problèmes et des techniques utilisées. Le chapitre sept présente le problème des tournées. Après avoir évoqué rapidement les méthodes exactes impropres à traiter de grands problèmes, on décrit les principales heuristiques ainsi que les procédures d'optimisation locale, issues du problème du voyageur de commerce (TSP). On propose ensuite une nouvel algorithme basé sur une procédure d'insertion enrichie par une phase d'optimisation locale incrémentale (O.L.I) après chaque insertion. On montre comment cet algorithme fournit des résultats de bonne qualité pour un temps de calcul très rapide, pour le problèmes de tournées, avec ou sans fenêtres de temps. On propose ensuite deux améliorations de cet algorithme : l'une, fait appel à un module 13

15 d'optimisation exact pour l'optimisation de chacune des routes individuelles (petits TSP), l'autre, plonge l'algorithme d'insertion dans un arbre de recherche à branchement limités (recherche LDS ). On montre ensuite comment la complexité de cet algorithme permet de résoudre des problèmes de grande taille (2 minutes pour mille nœuds). Enfin, sur une série de petits problèmes de tournées de taille plus petite, pour lesquels on dispose de résultats comparatifs, on montre que l'on obtient des résultats compétitfs avec le meilleur algorithme de recherche tabou, et on améliore l'état de l'art sur 4 instances. Enfin, on conclut en proposant des pistes pour prendre en compte d'autres contraintes (qualification de personnel, ressources, synchronisation de tâches, etc.) dans l'algorithme d'insertion. Enfin, on propose un bilan, dans le chapitre huit, de l'ensemble de ces expérimentations avec la programmation par contraintes sur ces problèmes combinatoires. D'une part, on présente, pour chacune des familles de problèmes, une cartographie synthétique des techniques considérées. D autre part, en faisant la synthèse des algorithmes qui se sont illustrés dans cette comparaison, on présente quelques conclusions méthodologiques, évoquant en particulier l'intérêt de la combinaison de différentes techniques algorithmiques, pour aboutir à la mise en œuvre d algorithmes hybrides. Partie B La partie B s'attache à la deuxième question de la thèse, celle de la mise en œuvre d'algorithmes complexes d'optimisation dans un environnement informatique. Elle comprend quatre chapitres (neuf à douze). Comme le sujet de cette deuxième partie est vaste et que l'état de l'art est beaucoup moins avancé que pour la première partie, on ne prétend pas chercher à y répondre de manière exhaustive. On commence par faire, dans le chapitre neuf, un tour d horizon des directions de recherche qui nous ont apparu importantes au cours de ce travail, pour la mise en œuvre de procédures de résolution. On retient cinq directions majeures, sur lesquelles on indique des pistes de travail. On commence par évoquer les problèmes liés à la modélisation d'un système et d'une situation. On discute ensuite les problèmes de programmation liés à l'utilisation de structures de données spécifiques à certains algorithmes. Puis, on examine les possibilités de spécification déclarative de comportements de composants algorithmiques. On aborde ensuite la question de la programmation d'algorithmes de recherche dont le flot de contrôle est complexe. Enfin, on évoque les problèmes d'environnement de programmation qui sont spécifiques au développement d'applications en optimisation combinatoire. Parmi ces cinq points, on choisit de se concentrer sur le quatrième (la spécification du contrôle pour des algorithmes de recherche complexe) que l'on traite en détail dans les deux chapitres suivants. Le chapitre dix présente le langage SaLSA dont le but est de permettre la spécification de manière élégante et très concise des algorithmes de recherche globale, locale ou hybride. Après avoir présenté les motivations à la définition d'un tel langage, ainsi que les solutions disponibles actuellement, on présente les briques du langage, les points de choix qui correspondent à la description de décisions indéterministes. On présente ensuite une algèbre permettant de composer ces points de choix pour décrire des arbres de recherche complexes. Le chapitre onze décrit l application de SaLSA à des algorithmes présentés dans la partie A. On commence par montrer comment SaLSA permet de décrire simplement un grand nombre d'algorithmes hybrides en optimisation combinatoire. On passe en revue une dizaine de problèmes, issus, pour la plupart, des expériences de la partie A, en évoquant entre autres la spécification des algorithmes de shuffle, de GSAT, d'optimisation locale incrémentale, de recherche LDS et la procédure de Lin et Kernighan. Le chapitre douze se penche sur l'utilisation pratique du langage SaLSA. On présente une sémantique opérationnelle du langage sous forme de règles de transitions dans un calcul de processus concurrents. 14

16 Enfin, on évoque quelques aspects liés à l'implémentation, qui génère du code Claire à partir de description SaLSA. Enfin, on conclut sur cette seconde partie liée à l'étude des problèmes de mise en œuvre et de génie logiciel des algorithmes hybrides. 15

17

18 17

19 1. Chapitre 1. Formalismes pour l optimisation combinatoire L'objet de ce premier chapitre est la description des principaux formalismes pour exprimer et résoudre des problèmes d optimisation combinatoire. On commencera par présenter le cadre le plus éprouvé, celui de la programmation linéaire, puis on s'attachera au cadre qui nous intéresse particulièrement, celui de la programmation par contraintes. On décrira ensuite la partie algorithmique commune à ces deux formalismes : les algorithmes de recherche par séparation et évaluation (branch and bound). Enfin, on survolera rapidement des grandes familles d algorithmes approchés. Ce chapitre se conclura par le développement d un exemple introductif : le problème de la couverture d ensembles. 1.1 Programmation linéaire Formalisme - description des problèmes La programmation linéaire (P.L.) [Chv 83] s'attache à la résolution de problèmes qui peuvent se décrire de la façon suivante : on cherche à affecter des valeurs réelles positives à un ensemble de variables x i de sorte qu'un certain nombre d'inéquations linéaires soient satisfaites. Chaque valuation admissible (respectant toutes les inégalités) du vecteur x est appelée solution. Parmi toutes les solutions, on en cherche une qui maximise un coût dont la donnée est une fonction linéaire de x. Le problème peut ainsi s'exprimer sous la forme suivante, appelée programme linéaire : max c.x sous les contraintes A.x b, x 0 Pour que les calculs restent dans les rationnels, on impose aux contraintes (la matrice A et le membre droit b) ainsi qu'à la fonction objective (vecteur c) d'être à coefficients entiers. Il existe de multiples versions équivalentes de cette formalisation, suivant que l'on minimise ou que l'on maximise la fonction objective, et que les contraintes sont des égalités ou des inégalités. Mentionnons enfin que l'on peut imposer aux variables x i de prendre des valeurs entières : on parle alors de programmation linéaire en nombres entiers (P.L.N.E) [Sch 86]. La traduction d'un problème combinatoire dans ce formalisme n'est pas toujours évidente. Il existe généralement de nombreux encodages possibles d'un problème sous forme linéaire, et la sélection d'un bon modèle demande une certaine expertise. Pour les problèmes d'optimisation discrète qui nous intéressent, cette traduction se fait au moyen de variables entières. Plus précisément, on est souvent amené à utiliser des variables à valeur dans {0,1} pour représenter des alternatives binaires. La traduction d'un problème en formalisme linéaire génère parfois un nombre important de variables [mat 97] L algorithme du simplexe Géométriquement, l'ensemble des solutions à un programme linéaire réside dans un polyèdre de R n (où n est le nombre de variables), défini par les inégalités linéaires de A. Dans le cas où ce polyèdre est borné (et ainsi la valeur maximale du programme linéaire est finie), on parle de polytope. Savoir si le programme admet une solution revient à savoir si ce polyèdre est vide ou non. Optimiser une fonction linéaire sous ces contraintes revient à trouver le(s) sommet(s) du polyèdre qui sont les plus éloignés de l'origine suivant une direction de l'espace (celle de c). Plusieurs algorithmes génériques ont été proposés pour résoudre les programmes linéaires. L algorithme du simplexe est un algorithme géométrique élémentaire qui part d un sommet quelconque du polytope et glisse le long des arêtes vers un (le) sommet optimal. Sa complexité, dans le cas le pire, est exponentielle. Suivant [Chv 83] et [Mau 92], décrivons de manière plus précise cet algorithme. En rajoutant à chaque inéquation linéaire une variable (appelée variable d'écart), on peut transformer les 1

20 inégalités linéaires en égalités, pourvu que ces variables d'écart prennent des valeurs positives. On peut ainsi réécrire le programme linéaire sous la forme suivante : max c.x sous les contraintes A.x = b, x 0 On peut aussi transformer A pour qu'elle soit de dimension m n, où m est son rang (m n). (Notons ici que n correspond au nombre de variables de départ, augmenté du nombre de contraintes, à cause des variables d'écart). Un ensemble d'indices B = {i 1,..., i m } forme une base si les colonnes A i1,..., A im sont linéairement indépendantes. Dans ce cas, la matrice carrée A B = A i1,..., A im est inversible. On va construire une solution au système linéaire de la manière suivante : on part du vecteur x B = A -1 B b, que l'on complète en une solution complète x* en fixant à 0 toutes les autres variables x i pour i B. On a ainsi Ax* = b. La solution x* est appelée solution basique, et, dans le cas où toutes ses composantes sont positives, solution basique réalisable. Enfin, on montre que l'ensemble des sommets du polytope défini par A et b correspond exactement à l'ensemble des solutions basiques réalisables, obtenues par une base B quelconque. On montre encore que deux sommets adjacents du polytope peuvent être obtenus par deux bases identiques à un indice près. On peut ainsi passer de la description géométrique de l'algorithme du simplexe à sa description algébrique. On part d'un sommet initial sur lequel on évalue la fonction objective. Cela revient à chercher une base qui fournisse une solution basique réalisable. Ensuite, on passe d'un sommet à un sommet adjacent de sorte que la fonction objective augmente (strictement) le long de l'arête entre les deux sommets. Ce déplacement le long d'une arête correspond au remplacement, dans la base courante, d'un indice par un autre. D'autres algorithmes géométriques plus complexes ont été proposés (méthode de l ellipsoïde [Kh 79] ou du point intérieur, [Ka 84] voir [Sch 86]) dont les complexités théoriques sont polynomiales. L algorithme du simplexe, bien qu'il puisse être, dans le cas le pire, de complexité exponentielle est, en pratique, plus rapide que la méthode de l ellipsoïde. En revanche, la méthode du point intérieur fournit, elle, dans certains cas, des résultats très compétitifs. Il existe aussi une théorie de la dualité pour les programmes linéaires, qui permet, à partir d'un programme linéaire P, d'en considérer un autre, D, (que l'on appelle son dual) : p = max{ c.x A.x b, x 0} (P) d = min{ b.u u.a c, u 0} (D) L'étude conjointe de ces deux programmes peut être particulièrement intéressante, car on a la relation d'ordre suivante : soit x une solution réalisable du programme primal P et u une solution du programme dual D, alors : c.x p = d b.u Ainsi, dans le cas où les deux programmes sont réalisables, leurs valeurs optimales coïncident. La connaissance de deux solutions x et u permet ainsi d'encadrer cet optimal. Enfin, on prouve encore que si p =, alors D est irréalisable, et réciproquement, si d = -, alors P est irréalisable Programmation entière Le cas de la P.L.N.E., où l'on cherche des solutions à coordonnées entières est beaucoup plus complexe. En effet, d'un point de vue géométrique, le domaine d'optimisation n'est plus un corps convexe continu, mais un ensemble discret de points. Alors que dans le cas précédent, il suffisait de parcourir l'ensemble des sommets du polytope, puisqu'ils correspondaient à des solutions, ici, cette approche n'est plus valable, car les sommets sont en général à coordonnées fractionnelles. 2

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

INTRODUCTION A L OPTIMISATION

INTRODUCTION A L OPTIMISATION INTRODUCTION A L OPTIMISATION Les domaines d application L optimisation est essentiellement un outil d aide à la décision au sein de l entreprise, mais aussi pour des individus. Le terme optimal est souvent

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

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

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls.

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls. Diagonalisation des matrices http://www.math-info.univ-paris5.fr/~ycart/mc2/node2.html Sous-sections Matrices diagonales Valeurs propres et vecteurs propres Polynôme caractéristique Exemples Illustration

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

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP)

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Loris Marchal, Guillaume Melquion, Frédéric Tronel 21 juin 2011 Remarques générales à propos de l épreuve Organisation

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

La notion de dualité

La notion de dualité La notion de dualité Dual d un PL sous forme standard Un programme linéaire est caractérisé par le tableau simplexe [ ] A b. c Par définition, le problème dual est obtenu en transposant ce tableau. [ A

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

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

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

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

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

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

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

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

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

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

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Introduction au Branch Cut and Price et au solveur SCIP (Solving Constraint Integer Programs) Hélène Toussaint 1. Rapport de recherche LIMOS/RR-13-07

Introduction au Branch Cut and Price et au solveur SCIP (Solving Constraint Integer Programs) Hélène Toussaint 1. Rapport de recherche LIMOS/RR-13-07 Introduction au Branch Cut and Price et au solveur SCIP (Solving Constraint Integer Programs) Hélène Toussaint 1 Rapport de recherche LIMOS/RR-13-07 19 avril 2013 1. helene.toussaint@isima.fr Résumé Ce

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

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

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan Exo7 Systèmes linéaires Vidéo partie 1. Introduction aux systèmes d'équations linéaires Vidéo partie 2. Théorie des systèmes linéaires Vidéo partie 3. Résolution par la méthode du pivot de Gauss 1. Introduction

Plus en détail

2B La résolution de modèles linéaires par Excel 2010

2B La résolution de modèles linéaires par Excel 2010 2B La résolution de modèles linéaires par Excel 2010 Nous reprenons ici, de façon plus détaillée, la section où est indiqué comment utiliser le solveur d'excel 2010 pour résoudre un modèle linéaire (voir

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

Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique

Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 Motivation et objectif du cours

Plus en détail

Cours de mathématiques fondamentales 1 année, DUT GEA. Mourad Abouzaïd

Cours de mathématiques fondamentales 1 année, DUT GEA. Mourad Abouzaïd Cours de mathématiques fondamentales 1 année, DUT GEA Mourad Abouzaïd 9 décembre 2008 2 Table des matières Introduction 7 0 Rappels d algèbre élémentaire 9 0.1 Calcul algébrique................................

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

Programmation Linéaire - Cours 2

Programmation Linéaire - Cours 2 Programmation Linéaire - Cours 2 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Sommaire 1 2 3 Retournons dans le yaourt! Reprenons l exemple du 1er cours Forme normale

Plus en détail

TP Sage. Yannick Renard.

TP Sage. Yannick Renard. TP Sage. Yannick Renard. 1. Introduction. Le logiciel Software for Algebra and Geometry Experimentation (Sage) est un logiciel de mathématiques qui rassemble de nombreux programmes et bibliothèques libres

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

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

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

Nature des épreuves et programmes

Nature des épreuves et programmes Le concours comporte : Nature des épreuves et programmes - 4 épreuves écrites obligatoires : composition d'ordre général, mathématiques, statistique (étude d'une documentation statistique) et économie

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

Correction de l épreuve intermédiaire de mai 2009.

Correction de l épreuve intermédiaire de mai 2009. Licence de Gestion. 3ème Année Année universitaire 8-9 Optimisation Appliquée C. Léonard Correction de l épreuve intermédiaire de mai 9. Exercice 1 Avec les notations du cours démontrer que la solution

Plus en détail

Cahier de textes Mathématiques

Cahier de textes Mathématiques Cahier de textes Mathématiques Mercredi 6 janvier : cours 2h Début du chapitre 12 - Convergence de suites réelles : 12.1 Convergence de suites : suites convergentes, limites de suites convergentes, unicité

Plus en détail

LICENCE (LMD) - INFORMATIQUE

LICENCE (LMD) - INFORMATIQUE LICENCE (LMD) - INFORMATIQUE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine ministériel : Sciences, Technologies, Santé OBJECTIFS Les connaissances et compétences informatiques visées par

Plus en détail

LICENCE (LMD) - INFORMATIQUE

LICENCE (LMD) - INFORMATIQUE LICENCE (LMD) - INFORMATIQUE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine ministériel : Sciences, Technologies, Santé OBJECTIFS Les connaissances et compétences informatiques visées par

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

Implanter les algorithmes Oum-Seymour et Oum

Implanter les algorithmes Oum-Seymour et Oum Implanter les algorithmes Oum-Seymour et Oum J.-F Raymond, B.-M Bui-Xuan et P. Trébuchet jeanflorent.raymond@ens-lyon.fr LIP6, Université Pierre et Marie Curie 17/11/2011 J.-F Raymond, B.-M Bui-Xuan et

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

1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre

1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre 1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre BCPST Lycée Hoche $\ CC BY: Pelletier Sylvain Les deux modes de représentation des sous-espaces vectoriels Il existe deux modes

Plus en détail

Rapport d'analyse des besoins

Rapport d'analyse des besoins Projet ANR 2011 - BR4CP (Business Recommendation for Configurable products) Rapport d'analyse des besoins Janvier 2013 Rapport IRIT/RR--2013-17 FR Redacteur : 0. Lhomme Introduction...4 La configuration

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

MATHEMATIQUES. Premier Cycle TROISIEME

MATHEMATIQUES. Premier Cycle TROISIEME MATHEMATIQUES Premier Cycle TROISIEME 79 INTRODUCTION Le programme de la classe de troisième, dernier niveau de l enseignement moyen, vise à doter l élève de savoirs faire pratiques par une intégration

Plus en détail

Arbres binaires, arbres non-croisés, quadrangulations. janvier 2010

Arbres binaires, arbres non-croisés, quadrangulations. janvier 2010 Arbres binaires, arbres non-croisés, quadrangulations Frédéric Chapoton janvier 2010 Plan 1 Les arbres binaires 2 Les arbres non-croisés 3 La relation entre les deux 4 Dualité et rotation 5 Les intervalles

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

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

LICENCE (LMD) MENTION : INFORMATIQUE

LICENCE (LMD) MENTION : INFORMATIQUE LICENCE (LMD) MENTION : INFORMATIQUE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine ministériel : Sciences, Technologies, Santé Objectifs Les connaissances et compétences informatiques

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

I) Le temps des matrices. A- A propos des matrices. Quang-Thai NGO Ch 01. Difficulté ** Importance **** Objectifs

I) Le temps des matrices. A- A propos des matrices. Quang-Thai NGO Ch 01. Difficulté ** Importance **** Objectifs Ch01 : Matrice Les matrices ont été introduites récemment au programme des lycées. Il s agit d outils puissants au service de la résolution de problèmes spécifiques à nos classes, en particulier les problèmes

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

UFR STAPS Informatique de Gestion 2007/2008. Support de cours

UFR STAPS Informatique de Gestion 2007/2008. Support de cours UFR STAPS Informatique de Gestion 2007/2008 Support de cours Farah Benamara-Zitoune benamara@irit.fr Tel: 0561557705 SOMMAIRE Fenêtre principale du tableur Excel... 3 Mise en forme des données... 3 Validation

Plus en détail

DEFINITION DU LANGAGE Sum

DEFINITION DU LANGAGE Sum HI-21/8342 Département TIEM DEFINITION DU LANGAGE Sum JL.DORMOY SYNTHESE : Sum est la troisième brique du synthétiseur de programmes Descartes. Son langage est dit "algorithmique de bas niveau", c'est-à-dire

Plus en détail

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE Annexe MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE L enseignement des mathématiques au collège et au lycée a pour but de donner à chaque

Plus en détail

www.almohandiss.com Recherche opérationnelle EXERCICES DE Serveur d'exercices 1/16

www.almohandiss.com Recherche opérationnelle EXERCICES DE Serveur d'exercices 1/16 EXERCICES DE RECHERCHE OPERATIONNELLE Serveur d'exercices 1/16 EXERCICE 1. Niveau : Gymnase (Lycée) Auteur : Vincent Isoz (isozv@hotmail.com Mots-clés : recherche opérationnelle Enoncé : Supposons qu'une

Plus en détail

Encadré par : Mr Philippe Janssen

Encadré par : Mr Philippe Janssen ABADIE Martin BENMOUFFOK Yasmine HEIDMANN Paul UTZEL Sylvain Encadré par : Mr Philippe Janssen 2014-2015

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

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

Programmation logique par contraintes. Partie II

Programmation logique par contraintes. Partie II Programmation logique par contraintes Partie II Plan du cours Programmation logique et Prolog (PL) SWI-Prolog, Sicstus Programmation logique par contraintes (PLC) Sicstus Problèmes de satisfaction de contraintes

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Génération aléatoire de structures ordonnées

Génération aléatoire de structures ordonnées Génération aléatoire de structures ordonnées Olivier Roussel Équipe APR Laboratoire d Informatique de Paris 6 Université Pierre et Marie Curie ALÉA 2011 7 mars 2011 Olivier Roussel (LIP6) Génération de

Plus en détail

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé ALGÈBRE PAD - Notes de cours S. Rigal, D. Ruiz, et J. C. Satgé November 23, 2006 Table des Matières Espaces vectoriels Applications linéaires - Espaces vectoriels............................... 3 -. Approche

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

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

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013»

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» I Objectifs Niveau fondamental : «on se fixe pour objectif la

Plus en détail

FichierTexOrigin.tex, fourni avec son package ProjetExomaths.sty

FichierTexOrigin.tex, fourni avec son package ProjetExomaths.sty Motivation du projet Nous cherchons à établir une base d'exercices de maths corrigés de la première au supérieur. Elle sera accessible par tous en ligne (notamment grâce au site de l'association Tremplin)

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Couplages et colorations d arêtes

Couplages et colorations d arêtes Couplages et colorations d arêtes Complément au chapitre 5 «Une employée mécontente» et au chapitre 9 «L apprentie sudokiste» Considérons n équipes de hockey qui doivent s affronter lors d un tournoi.

Plus en détail

Optimisation en nombres entiers

Optimisation en nombres entiers Optimisation en nombres entiers p. 1/83 Optimisation en nombres entiers Michel Bierlaire michel.bierlaire@epfl.ch EPFL - Laboratoire Transport et Mobilité - ENAC Optimisation en nombres entiers p. 2/83

Plus en détail

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

Formulaire de présentation d un projet au. CCDMD (mars 2014) RENSEIGNEMENTS GÉNÉRAUX

Formulaire de présentation d un projet au. CCDMD (mars 2014) RENSEIGNEMENTS GÉNÉRAUX Formulaire de présentation d un projet au CCDMD (mars 2014) Utilisez la touche de tabulation «Tab» pour passer d un champ d information à l'autre. Consultez l annexe 1 du document Appel de projets pour

Plus en détail

Niveaux 1 2 3 4 Option spécifique - 2 2 3 Option complémentaire - - 2 2

Niveaux 1 2 3 4 Option spécifique - 2 2 3 Option complémentaire - - 2 2 Direction de l'instruction publique, de la culture et du sport Direktion für Erziehung, Kultur und Sport Service de l enseignement secondaire du deuxième degré Amt für Unterricht der Sekundarstufe 2 CANTON

Plus en détail

^ Springer. Optimisation combinatoire. Théorie et algorithmes. Bernhard Korte Jens Vygen. Traduit de l'anglais par Jean Fonlupt et Alexandre Skoda

^ Springer. Optimisation combinatoire. Théorie et algorithmes. Bernhard Korte Jens Vygen. Traduit de l'anglais par Jean Fonlupt et Alexandre Skoda Bernhard Korte Jens Vygen Optimisation combinatoire Théorie et algorithmes Traduit de l'anglais par Jean Fonlupt et Alexandre Skoda TECHN1SCHE INFORMATIONSBIBLIOTHEK UNIVERSITÂTSBIBLIOTHEK HANKOVER/ ^

Plus en détail

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Résolution d un problème de Job-Shop intégrant des contraintes de Ressources Humaines

Résolution d un problème de Job-Shop intégrant des contraintes de Ressources Humaines Résolution d un problème de Job-Shop intégrant des contraintes de Ressources Humaines ROADEF 09, 10-12 février 2009, Nancy (France) O. Guyon 1.2, P. Lemaire 2, É. Pinson 1 et D. Rivreau 1 1 LISA - Institut

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Modèles et algorithmes pour la reconfiguration de systèmes répartis utilisés en téléphonie mobile

Modèles et algorithmes pour la reconfiguration de systèmes répartis utilisés en téléphonie mobile Modèles et algorithmes pour la reconfiguration de systèmes répartis utilisés en téléphonie mobile Renaud Sirdey Chercheur au CEA / Ex-architecte système Nortel Journée du prix de thèse Guy Deniélou, 4

Plus en détail

Programmation Par Contraintes

Programmation Par Contraintes Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien

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

U2 MATHÉMATIQUES POUR L INFORMATIQUE

U2 MATHÉMATIQUES POUR L INFORMATIQUE Brevet de Technicien Supérieur SERVICES INFORMATIQUES AUX ORGANISATIONS U2 MATHÉMATIQUES POUR L INFORMATIQUE U21 MATHÉMATIQUES Cette unité d'enseignement se décline en six modules spécifiques : Arithmétique

Plus en détail

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S POUR L ENSEIGNEMENT DE L INFORMATIQUE MPSI première année I. Objectifs de la formation II-1 Développement de compétences et d aptitudes

Plus en détail

Espaces vectoriels et applications linéaires

Espaces vectoriels et applications linéaires Espaces vectoriels et applications linéaires Exercice 1 On considère l'ensemble E des matrices carrées d'ordre 3 défini par,,, 1) Montrer que est un sous-espace vectoriel de l'espace vectoriel des matrices

Plus en détail

Collaboration : Sachez distinguer, parmi votre personnel, les enthousiastes des réfractaires

Collaboration : Sachez distinguer, parmi votre personnel, les enthousiastes des réfractaires Collaboration : Sachez distinguer, parmi votre personnel, les enthousiastes des réfractaires Les leçons de ce document La a attiré l'attention d'entreprises à la recherche de compétitivité dans un contexte

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

LA TRADUCTION AUTOMATIQUE

LA TRADUCTION AUTOMATIQUE 165 La "Traduction Automatique" s'inscrit dans un ensemble de recherches menées depuis le début des années 1950 - recherches que l'on a coutume de regrouper sous l'appellation de "traitement automatique

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels.

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels. Licence de Sciences et Technologies EM21 - Analyse Fiche de cours 1 - Nombres réels. On connaît les ensembles suivants, tous munis d une addition, d une multiplication, et d une relation d ordre compatibles

Plus en détail