Optimisation Discrete

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

Cours de Master Recherche

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

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

Machines virtuelles Cours 1 : Introduction

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

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

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

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

Programmation linéaire

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

Efficacité énergétique des réseaux de cœur et d accès

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Programmation par contraintes. Laurent Beaudou

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

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

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Calculabilité Cours 3 : Problèmes non-calculables.

Annexe 6. Notions d ordonnancement.

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

FIMA, 7 juillet 2005

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Intelligence Artificielle et Robotique

QUI VEUT JOUER AVEC MOI?

Évaluation et implémentation des langages

6. Les différents types de démonstrations

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Cours 1 : La compilation

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

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

Les apports de l informatique. Aux autres disciplines

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

Optimisation Discrète

Limites finies en un point

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

Application de K-means à la définition du nombre de VM optimal dans un cloud

Corrigé des TD 1 à 5

Algorithmes : conception et réalisation MQT 63834

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

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

"Calcul et hyper-calcul"

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

Corps des nombres complexes, J Paul Tsasa

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

4.2 Unités d enseignement du M1

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Mlle Yasmin A. RÍOS SOLÍS

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Cryptographie et fonctions à sens unique

Chapitre 2. Eléments pour comprendre un énoncé

Amphi 3: Espaces complets - Applications linéaires continues

Cours Informatique Master STEP

Ordonnancement robuste et décision dans l'incertain

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

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

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

RECHERCHE OPERATIONNELLE

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009

Algorithmes de recherche d itinéraires en transport multimodal

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

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

UE Programmation Impérative Licence 2ème Année

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Raisonnement par récurrence Suites numériques

Rapport d'analyse des besoins

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

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

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Laboratoire d Automatique et Productique Université de Batna, Algérie

Peut-on tout programmer?

Introduction aux systèmes temps réel. Iulian Ober IRIT

Continuité d une fonction de plusieurs variables

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

Utilisation des tableaux sémantiques dans les logiques de description

FONDEMENTS DES MATHÉMATIQUES

La persistance des nombres

Initiation à l algorithmique

Resolution limit in community detection

U.F.R. Sciences Fondamentales et Appliquées. pour obtenir. le grade de Docteur en Sciences. Spécialité : informatique

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Couplage efficace entre Optimisation et Simulation stochastique Application à la maintenance optimale d une constellation de satellites

L ordinateur quantique (suite)

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

Introduction à l étude des Corps Finis

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

Chapitre 7. Récurrences

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

Model checking temporisé

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON

Transcription:

Optimisation Discrete Notions sur la Théorie de la Complexité et Introduction à la resolution des problémes d optimisation combinatoire Sonia Cafieri ENAC sonia.cafieri@enac.fr S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 1 / 25 Outline 1 Notions sur la Théorie de la Complexité des Algorithmes Machines de Turing Classes de Complexité 2 Resoudre un Probleme d Optimisation Discrete Remarques préliminaires Introduction aux méthodes de resolution S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 2 / 25

Introduction Peut-on connaitre la difficulté (ou la complexité) d une réponse par un algorithme à un problème formulé de manière mathématique? Est-il possible énoncer formellement et rigoureusement ce qu est la complexité d un algorithme? (avec une approche indépendante des facteurs matériels, comme le temps d accès à la mémoire, le langage de programmation et le compilateur utilisé) S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 4 / 25 Théorie de la Complexité Théorie de la Complexité : Le but : donner une évaluation du temps de calcul ou de l espace de calcul nécessaire en fonction de la taille du probleme, qui sera notée n. La théorie de la complexité établit des hiérarchies de difficultés entre les problèmes algorithmiques, dont les niveaux sont appelés des classes de complexité. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 5 / 25

Modèles de calcul L analyse de la complexité est étroitement associée à un modèle de calcul. L un des modèles de calcul les plus utilisés : Machines de Turing. Des autres modèles de calcul : les fonctions récursives le lambda-calcul les automates cellulaires. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 6 / 25 Machines de Turing La machine de Turing : un modèle de calcul qui a été proposé en 1936 par Alan Turing. La thèse Church-Turing postule que : tout problème de calcul fondé sur une procédure algorithmique peut être résolu par une machine de Turing. Cette machine peut être adaptée pour simuler la logique de tout algorithme, et est particulièrement utile pour expliquer les fonctions d une CPU dans un ordinateur. Un calcul est constitué d étapes élémentaires : à chacune de ces étapes, pour un état donné de la mémoire de la machine, une action élémentaire est choisie dans un ensemble d actions possibles. Exemple d une règle d une machine de Turing : Si vous êtes dans l état 2 et que vous voyez un A, le changer pour un B et aller à gauche. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 7 / 25

Machines de Turing Definition (Machines Déterministes) Les Machines Déterministes sont telles que chaque action possible est unique; l action à effectuer est dictée de manière unique par l état courant de celle-ci. Ces machines correspondent tout à fait aux ordinateurs (avec un programme écrit dans un langage impératif quelconque). Definition (Machines non-déterministes) Les Machines non-déterministes sont telles qu il va exister des choix possibles pour effectuer une action; l action à effectuer est à considérer parmi un choix possibles d actions et l algorithme fera toujours le bon choix. De telles machines n existent pas et son purement abstraite; elles servent pour la définition de la théorie de la complexité. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 8 / 25 Algorithmes polynomiaux Definition Une fonction f (n) est O(g(n)) s il existe une constante c tel que f (n) c g(n) n 0. Un algorithme polynomial en temps est un algorithme dont la complexité est O(p(n)) pour une fonction polynomiale p(n) de la taille des données. Un algorithme pour lequel la fonction de complexité ne peut pas etre bornée de cette manière est dit algorithme exponential. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 10 / 25

Classe P et NP Definition (Classe P) Un problème est dit de classe P s il existe un algorithme de complexité polynomiale en temps (par rapport à la taille de ses données) pour le résoudre. Exemple : - le classement des éléments d un ensemble par ordre croissant ou décroissant S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 11 / 25 Classe P et NP Definition (Classe NP) Un problème est dit de classe NP si il est vérifiable (i.e. on peut prouver qu une réponse est bien la solution du problème) par un algorithme de complexité polynomiale en temps (par rapport à la taille de ses données) Equivalentement : NP est l ensemble des problèmes de décision qui peuvent être résolus par un algorithme non-déterministe de complexité polynomiale en temps. L équivalence des deux définitions : un algorithme sur une machine non déterministe consiste en deux phases - la première consiste en une conjecture sur la solution qui est généré de manière non-déterministe, - la seconde consiste en un algorithme déterministe qui vérifie la solution. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 12 / 25

Classe P et NP Exemple de problème NP : - le problème général SAT de satisfaction de formule logique - le problème du voyageur de commerce - les problèmes de coloration de graphes S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 13 / 25 Classe P et NP Proposition P NP Une question ouverte : P = NP ou P NP? S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 14 / 25

Classe NP-complet Definition (NP-Complet) Un problème est NP-Complet si il est dans NP est si il existe un transformation polynomiale qui transforme ce problème en un problème de la classe NP-Complet. Pour montrer qu un problème est NP-Complet, il suffit donc de montrer que par une réduction polynomiale il se ramène à un problème connu de la classe des problèmes NP-Complet. Définition incrémentale : il a fallu donner un premier problème de la classe Théorème (de Stephen Cook) : le problème SAT est NP-Complet. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 15 / 25 Classe NP-complet La classe NP-Complet est la classe la plus étudiée car elle constitue la classe des problèmes les plus difficiles de NP (c est-à-dire ceux qui n ont pas d algorithmes polynomiaux connus pour les résoudre). De plus, ils sont tous reliés par des transformations (ou réductions) polynomiales. Pour montrer que P = NP, il suffit de trouver un algorithme polynomial pour résoudre un problème classé NP-Complet. Les théoriciens de cette discipline pensent en général que. P NP S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 16 / 25

Classe NP-complet On qualifie de NP-complets les problèmes de décision, on qualifie de NP-difficiles (NP-hard) les problèmes d optimisation. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 17 / 25 Resoudre par Programmation Lineaire continue? PLNE : la fonction objectif et les contraintes sont des relations linéaires ce ressemble exactement à un programme linéaire standard, sauf que les variables ne peuvent pas prendre des valeurs réelles. Est-ce que les modèles entieres peuvent être résolus par des méthodes adaptées à des valeurs réelles des variables? Rounding : résoudre le problème par programmation linéaire standard et ensuite arrondir les valeurs non entières à la valeur entier la plus proche. N est pas une bonne strategie! on ne peut pas utiliser des solutions à valeurs réelles afin d optimiser des modèles entières. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 19 / 25

Resoudre par Programmation Lineaire continue? Exemple (Hillier et Lieberman) : min Z = x 1 + 5x 2 s.t. x 1 + 10x 2 20 x 1 2 x 1, x 2 integer La solution de programmation linéaire donne Z = 11 en (2, 1.8). L arrondissement de x 2 a la plus proche valeur entière, soit x 2 = 2, donne (2, 2) qui est infaisable par la première contrainte. L arrondissement de x 2 dans la direction opposée, c est à dire x 2 = 1, donne (2, 1) avec Z = 7. Mais ce n est pas le point optimal! Le point entier (réalisable) optimal est à (0, 2) où Z = 10. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 20 / 25 Remarque Si la solution de la relaxation continue R P de P est entiere, x Z n, alors cette solution c est aussi la solution optimale de P (total unimodularity property) on peut resoudre P en resolvant simplement R P La resolution de la relaxation continue (PL) est souvent la base de méthodes de resolution du PLNE. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 21 / 25

Les principales idees algorithmiques énumération intelligent de toutes les solutions (Branch & Bound) utilisation des méthodes pour PL (algorithme du simplexe) en tant que démarche algorithmique principale ajouter progressivement des contraintes au problème (cutting planes) alternativement, trouver seulemement une solution approchée du problème (heuristiques) S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 23 / 25 Méthodes de resolution Méthodes exactes garantissent de trouver une solution optimale pour une instance ou, s il n y a pas de solution, la preuve de son infaisabilité effectuent des recherches exhaustives sont généralement basés sur l exploration d un arbre binaire de recherche ne vérifient pas toutes les possibilités (ils utilisent généralement des stratégies visant à accélérer la recherche) leurs performances peuvent être limitées pour les grandes instances Méthodes approchées ne garantissent pas de trouver une solution optimale sont rapides à trouver une solution (si en trouvent) sont souvent basées sur des recherches locales et des algorithmes évolutionnaires S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 24 / 25

Bibliography I Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979. Frederic Messine. Notions sur la Theorie de la Complexité des algorithmes. 2010. John W. Chinneck. Practical Optimization: a gentle introduction www.sce.carleton.ca/faculty/chinneck/po.html, 2010. L.R. Foulds. Combinatorial Optimization for Undergraduates Springer-Verlag, 1984. S. Cafieri (ENAC) Complexite, Intro Methodes de resolution 2011-2012 25 / 25