Introduction à la Recherche Opérationnelle

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

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

Introduction à la théorie des graphes. Solutions des exercices

Chapitre 5 : Flot maximal dans un graphe

Programmation linéaire

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Eléments de Théorie des Graphes et Programmation Linéaire

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Programmation Linéaire - Cours 1

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Quelques algorithmes simples dont l analyse n est pas si simple

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

MIS 102 Initiation à l Informatique

Introduction à la théorie des graphes

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

Sujet 4: Programmation stochastique propriétés de fonction de recours

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

Cours de Master Recherche

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Jean-Philippe Préaux

Annexe 6. Notions d ordonnancement.

Faculté des sciences Département de mathématiques. Théorie des graphes

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Indications pour une progression au CM1 et au CM2

Optimisation for Cloud Computing and Big Data

Amphi 3: Espaces complets - Applications linéaires continues

OUTILS EN INFORMATIQUE

OPTIMISATION À UNE VARIABLE

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Résolution d équations non linéaires

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Faites connaissance avec votre Rubik s Cube Étape 1

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Fonctions de plusieurs variables

Continuité et dérivabilité d une fonction

Feuille TD n 1 Exercices d algorithmique éléments de correction

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

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

Chapitre 6. Fonction réelle d une variable réelle

Raisonnement par récurrence Suites numériques

Chp. 4. Minimisation d une fonction d une variable

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Probabilités sur un univers fini

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Exercices de dénombrement

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

6. Les différents types de démonstrations

BACCALAUREAT GENERAL MATHÉMATIQUES

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

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

Programmation linéaire

Quelques Algorithmes simples

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

Quelques tests de primalité

Hela Boukef. To cite this version: HAL Id: tel

Ce cours introduit l'électrodynamique classique. Les chapitres principaux sont :

Big Data et Graphes : Quelques pistes de recherche

Sites web éducatifs et ressources en mathématiques

Programmation mathématique Discrète et Modèles Linéaires

Introduction à l étude des Corps Finis

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Plus courts chemins, programmation dynamique

Big Data et Graphes : Quelques pistes de recherche

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Continuité d une fonction de plusieurs variables

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Pourquoi l apprentissage?

Travaux dirigés d introduction aux Probabilités

INFO-F Algorithmique 3 et Recherche Opérationnelle

Plus petit, plus grand, ranger et comparer

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Conception de réseaux de télécommunications : optimisation et expérimentations

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Principes d implémentation des métaheuristiques

FIMA, 7 juillet 2005

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Colorations identiantes de graphes

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

I. Polynômes de Tchebychev

Apprendre à apprendre avec les cartes heuristiques

NOTICE DOUBLE DIPLÔME

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

OPTION SCIENCES BELLE-ISLE-EN-TERRE

Master of Science en mathématiques

Polynômes à plusieurs variables. Résultant

Limites finies en un point

Comparer l intérêt simple et l intérêt composé

4.2 Unités d enseignement du M1

Probabilités sur un univers fini

UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL

Transcription:

Introduction à la Recherche Opérationnelle Frédéric Meunier 28 septembre 2016 Ecole des Ponts, France

4??????? 5 10 7 3 2 2 7 10 10 9 8 1 4 5 5 5 3 4 1 10 8 6 7 6 12 10 11 13 Monsieur R. doit organiser sa tournée.

4 5 10 7 3 2 2 7 10 10 9 8 1 4 5 5 5 3 4 1 10 8 6 7 6 12 10 11 13 Monsieur R. a organisé sa tournée.

A 25 villes, cela fait 24! = 24 23 22 2 1 possibilités, soit environ 6.204 10 25 possibilités. A la main, à raison d une possibilité par seconde, il faudrait environ 1.976 10 16 années. Avec un ordinateur, à raison d 1 million de possibilités par seconde, il faudrait environ 19 milliards d années.

Plan Qu est-ce que la Recherche Opérationnelle? Déroulement du cours. Notions de bases (un peu de théorie).

Qu est-ce que la Recherche Opérationnelle?

La Recherche Opérationnelle Ce que nous venons de voir, c est un problème typique de la Recherche Opérationnelle : problème du voyageur de commerce. Recherche Opérationnelle, ou RO : discipline des mathématiques appliquées traitant des questions d utilisation optimale des ressources en entreprise.

10 2 3 7 10 10 2 7 5 9 13 8 1 4 3 4 5 5 5 4 8 7 6 1 10 6 12 10 11 Début 0 0 0 A C B 80 30 70 80 30 E D F 50 40 30 Fin Exemples de problème de RO trouver la meilleure tournée organiser le meilleur emploi du temps concevoir le réseau le plus robuste remplir de manière optimale un conteneur positionner intelligemment ses entrepôts ordonnancer des tâches sur des machines

Monge, Blackett, Dantzig. Les Pères

A partir des années 50, fort développement de la RO : laboratoires (mathématiques, informatique), entreprises (supply chain, transport, télécommunications, etc.) Deux mots-clés : Modélisation et Optimisation.

Progrès des performances sur le problème du voyageur de commerce 1954 Dantzig, Fulkerson, Johnson 49 villes 1971 Held, Karp 64 villes 1975 Camerini, Fratta, Maffioli 67 villes 1977 Grötschel 120 villes 1980 Crowder, Padberg 318 villes 1987 Padberg, Rinaldi 532 villes 1987 Grötschel, Holland 666 villes 1987 Padberg, Rinaldi 2 392 villes 1994 Applegate, Bixby, Chvátal, Cook 7 397 villes 1998 Applegate, Bixby, Chvátal, Cook 13 509 villes 2001 Applegate, Bixby, Chvátal, Cook 15 112 villes 2004 Applegate, Bixby, Chvátal, Cook, Helsgaun 24 978 villes Et ce n est pas avant tout une question de puissance d ordinateur.

Déroulement du cours

Fondements 1. Plus courts chemins et programmation dynamique 2. Flots 3. Graphes bipartis 4. Problèmes difficiles : programmation linéaire en nombres entiers, heuristiques et métaheuristiques e z k B T

Début 0 0 0 A C B 80 30 70 80 30 E D F 50 40 30 Fin Problématiques 1. Localisation d entrepôts 2. Remplissage de conteneurs 3. Conception de réseau 4. Tournées 5. Ordonnancement

Intervenants extérieurs A cela s ajouteront trois interventions d 1h par des personnes du monde industriel Bouygues. Air France. Saint-Gobain.

Support de cours et mode d évaluation Support Polycopié. Page web Educnet. Mode d évaluation Par ordre décroissant de pondération. 1. Contrôle final de 2h45 le 1er février (c) 2. Un miniprojet (p) Deux miniprojets, à commencer sur les séances en autonomie (p i pour i = 1, 2) 3. Deux contrôles surprises de 20 minutes (q i pour i = 1, 2) 4. Participation, assiduité. note = 1 9 (max(q 1, q 2 ) + 3p + 5c). Si note < 8, pas de rattrapage. Si 8 note < 10, rattrapage.

Séances en autonomie Les deux séances en autonomie seront les 7 décembre et 11 janvier. 7 décembre : Modélisation par la programmation linéaire en nombres entiers planification de la production conception d une grille horaire pour du transport ferroviaire 11 janvier : Régulation d un système de vélos partagés

Notions de base

Quelles notions? 1. Modélisation. 2. Optimisation. 3. Graphes. 4. Problèmes. 5. Algorithmes et Complexité.

Modélisation Modèle = Un modèle mathématique est une traduction de la réalité pour pouvoir lui appliquer les outils, les techniques et les théories mathématiques, puis généralement, en sens inverse, la traduction des résultats mathématiques obtenus en prédictions ou opérations dans le monde réel.

Graphes Brique de base en modélisation. Graphe : G = (V, E) V : ensemble de sommets E : ensemble d arêtes ; à toute arête correspond une paire de sommets. v 3 v 3 v 3 v 5 v 1 v 2 v 2 v 1 v 2 v 5 v 1 v 2 v 5 v 6 v 3 v 4 v 4 v 6 degré d un sommet : nombre d arêtes incidentes au sommet.

Graphes complets, graphes bipartis Graphe complet : toute paire de sommets est reliée par une arête. Graphe biparti : sommets peuvent être partitionnés en deux parties n induisant chacune aucune arête.

Chaîne : suite de la forme Graphes : Chaîne v 0, e 1, v 1,..., e k, v k v i V, e j E avec e j = v j 1 v j. Chaîne ne passant jamais plus d une fois par une arête : chaîne simple. Chaîne ne passant jamais plus d une fois sur un sommet : chaîne élémentaire. Chaîne simple passant par toutes les arêtes d un graphe : chaîne eulérienne. Chaîne élémentaire passant par tous les sommets du graphe : chaîne hamiltonienne.

Graphes : Chaîne hamiltonnienne

Hamilton inventa l Icosian Game au XIXe siècle, mais ce fut un bide commercial.

Hamilton (1805 1865)

Graphes : connexité, cycles Graphe connexe : entre toute paire de sommets, il y a une chaîne. Cycle : chaîne simple fermée. Cycle élémentaire, hamiltonien, eulérien.

Graphes : Coloration Coloration : c : V N (N= couleurs). Coloration propre : pour toute paire de voisins u, v, on a c(u) c(v). nombre minimum de couleurs d une coloration propre : nombre chromatique (noté χ(g))

Graphes : Couplage et couverture Ensemble d arêtes deux à deux disjointes : couplage Ensemble de sommets tel que toute arête touche au moins un de ses éléments : couverture : couverture par les sommets du graphe

Euler, 1736. Les ponts de Königsberg

Euler (1707 1783)

Chaîne et cycle eulériens : existence Modélisation Un graphe connexe admet une chaîne eulérienne si et seulement si il possède au plus deux sommets de degré impair. Un graphe connexe admet un cycle eulérien si et seulement si il n a pas de sommet de degré impair.

Optimisation Min f (x) s.c. x X. f : critère. «s.c.» = «sous contraintes» X : ensemble des solutions réalisables «x X» : contraintes du programme. Parmi les solutions réalisables, on veut chercher une solution optimale x, i.e. une solution réalisable qui minimise le critère.

Minimisation : De l importance des bornes inférieures OPT = Min f (x) s.c. x X. Toujours se demander s il n y a pas une borne inférieure simple et de bonne qualité à OPT. Une borne inférieure permet d évaluer la qualité d une solution courante évite de continuer à chercher des solutions et éventuellement, montre l optimalité d une solution.

Coloration Graphe coloré avec 5 couleurs: rouge, bleu, vert, jaune et noir.

Coloration et sous-graphe complet : une inégalité cardinalité d un sous-graphe complet nombre de couleurs dans une coloration propre. La cardinalité maximale d un sous-graphe complet de G se note ω(g). ω(g) χ(g).

Couplage

Couplage et couverture : une inégalité Soit M un couplage et C une couverture par les sommets. Alors M C. τ (G) : cardinalité minimale d une couverture ν(g) : cardinalité maximale d un couplage ν(g) τ (G).

Problèmes Problème : Donnée Tâche ou Question.

Exemples de problèmes PROBLÈME DE LA CHAÎNE EULÉRIENNE Donnée : Un graphe G = (V, E). Question : G a-t-il une chaîne eulérienne? PROBLÈME DU COUPLAGE DE PLUS GRAND POIDS Donnée : Un graphe G = (V, E), une fonction de poids w : E R +. Tâche : Trouver le couplage de G de plus grand poids.

Problème de décision, problème d optimisation Problème de décision : consiste à répondre Oui ou Non à une question. Problème d optimisation : consiste à trouver l optimum d une fonction.

Algorithmes et complexité algorithme = suite d opérations élémentaires implémentable dans un ordinateur Supposons donnés un problème P et un algorithme A qui le résout. Se pose alors la question de son efficacité. Théorie de la complexité.

Fonction de complexité Fonction de complexité f (n) d un algorithme : nombre d opérations élémentaires qu il faut effectuer si la donnée est de taille n. Exemples : Trier n entiers : O(n log(n)). Tester l existence d un cycle eulérien : O(n + m).

Algorithme polynomial/exponentiel Algorithme polynomial : fonction de complexité = O(n a ) avec a constante. Sinon, algorithme exponentiel. Taille n Fonction de complexité 10 20 50 60 n 0, 01 µs 0, 02 µs 0, 05 µs 0, 06 µs n 2 0, 1 µs 0, 4 µs 2, 5 µs 3, 6 µs n 3 1 µs 8 µs 125 µs 216 µs n 5 0, 1 ms 3, 2 ms 312, 5 ms 777, 6 ms 2 n 1 µs 1 ms 13 jours 36 années et 6 mois ABLE: Comparaison de diverses fonctions de complexité pour un ordinateur fectuant 1 milliard d opérations par seconde.

Une question de puissance des ordinateurs? Soit A un algorithme résolvant un problème P en 2 n opérations. On a une machine qui résout P avec A en 1 heure jusqu à n = 438. Si on a un machine 1000 fois plus rapide?

Une question de puissance des ordinateurs? On a une machine qui résout P avec A en 1 heure jusqu à n = 438. Machine 1000 fois plus rapide en une heure, jusqu à n = 448.

Une question de puissance d ordinateurs? Taille de l instance la plus large que l on peut résoudre en 1 heure Fonction Avec un ordinateur Avec un ordinateur Avec un ordinateur de complexité actuel 100 plus rapide 1000 plus rapide n N 1 100N 1 1000N 1 n 2 N 2 10N 2 31.6N 2 n 3 N 3 4.64N 3 10N 3 n 5 N 4 2.5N 4 3.98N 4 2 n N 5 N 5 + 6.64 N 5 + 9.97 3 n N 6 N 6 + 4.19 N 6 + 6.29 TABLE: Comparaison de diverses fonctions de complexité.

Classe P Problème (de décision) est polynomial ou dans P : il existe un algorithme polynomial qui le résout. Problème (de décision) est non-déterministiquement polynomial ou dans NP : si la réponse est oui pour l instance considérée, il existe un certificat et un algorithme polynomial qui permet de vérifier que la réponse est bien oui.

Classe NP PROBLÈME DU CYCLE HAMILTONIEN Donnée : Un graphe G = (V, E). Question : G a-t-il un cycle hamiltonien? Pour F E, on peut tester en temps polynomial si F est un cycle hamiltonien. F est un certificat. Le problème du cycle hamiltonien est dans NP.

Classe NP Proposition P NP. Démonstration. En cas de réponse Oui, la donnée est un certificat.

Problèmes NP-complets problème de décision est NP-complet : s il existe un algorithme polynomial qui le résout, alors il existe un algorithme polynomial pour tout problème NP. On ne connaît pas d algorithme polynomial résolvant un problème NP-complet. Theorem (Cook, 1970) Il existe des problèmes NP-complets.

Exemple de problème NP-complet PROBLÈME DU CYCLE HAMILTONIEN Données : Un graphe G = (V, E). Question : G a-t-il un cycle hamiltonien? est NP-complet.

Problèmes NP-difficiles problème est NP-difficile : s il existe un algorithme polynomial qui le résout, alors il existe un algorithme polynomial pour tout problème NP. Différence avec NP-complet : pas nécessairement un problème de décision. Exemple : le problème du voyageur de commerce est NP-difficile.

Les problèmes NP NP-complets NP-difficiles NP P

Question à 1 millions de $ P? = NP. offerts par la Fondation Clay.