Méthodes et modélisation pour l optimisation

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

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

Programmation linéaire

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

Cours de Master Recherche

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

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

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

Resolution limit in community detection

OPTIMISATION À UNE VARIABLE

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

Programmation Linéaire - Cours 1

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

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

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

Programmation linéaire

Rapport d'analyse des besoins

Chapitre 5 : Flot maximal dans un graphe

TRANSPORT ET LOGISTIQUE :

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

REFORME LMD SCIENCES APPLIQUEES & TECHNOLOGIES PROPOSEES PAR LA COMMISSION NATIONALE SECTORIELLE EN SCIENCES APPLIQUEES & TECHNOLOGIES

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

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

SCIENCES POUR L INGENIEUR

Cours de recherche opérationnelle I

MIS 102 Initiation à l Informatique

Quelques tests de primalité

4.2 Unités d enseignement du M1

Plus courts chemins, programmation dynamique

TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE

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

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

Annexe 6. Notions d ordonnancement.

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

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Optimisation for Cloud Computing and Big Data

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

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

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

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

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

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

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

GESTION DES ENTREPRISES ET DES ADMINISTRAT I O N S

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

Votre Réseau est-il prêt?

Polynômes à plusieurs variables. Résultant

ECTS INFORMATIQUE DE GESTION Option Administrateur de réseaux Locaux d entreprise

OUTILS EN INFORMATIQUE

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

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

Optimisation Discrète

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

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Initiation à l algorithmique

Manipulation N 6 : La Transposition de fréquence : Mélangeur micro-ondes

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Sites web éducatifs et ressources en mathématiques

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Maple: premiers calculs et premières applications

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

Statistique : Résumé de cours et méthodes

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

livreblanc REALISATION D UN RESEAU INFORMATIQUE AVEC L OFFRE DE COMPOSANT FOLAN CLASSIC LAN

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

IPMA 1. Le référentiel 2. Les processus de certification. Claude Marguerat, IPMA-B Congrès des 23 et 24 avril 2014

Système ASC unitaire triphasé. PowerScale kva Maximisez votre disponibilité avec PowerScale

Utiliser des fonctions complexes

Organigramme / Algorigramme Dossier élève 1 SI

UNIVERSITÉ DE TECHNOLOGIE DE COMPIÈGNE. Réforme du Tronc Commun: bilan et suivi des éléments de réforme

Limites finies en un point

Concurrence imparfaite

Indications pour une progression au CM1 et au CM2

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Chapitre 1 : Introduction aux bases de données

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Table des matières. I Mise à niveau 11. Préface

Jean-Philippe Préaux

Travaux dirigés n 1. Programmation linéaire

Soutenance de stage Laboratoire des Signaux et Systèmes

CHAPITRE 5. Stratégies Mixtes

Modèle de demande d'habilitation d'un Mastère LMD

Compter à Babylone. L écriture des nombres

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

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Le langage SQL Rappels

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Python - introduction à la programmation et calcul scientifique

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

TRACER LE GRAPHE D'UNE FONCTION

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

MATHÉMATIQUES 10 e 12 e ANNÉE

Transcription:

Méthodes et modélisation pour l optimisation M1 informatique 2016 2017 INSTITUT D ÉLECTRONIQUE ET D INFORMATIQUE GASPARD-MONGE

Trouver des informations www-igm.univ-mlv.fr/~thapper/teaching/mmpo/ transparences feuilles de td et de tp Responsable du cours Johan Thapper <thapper@u-pem.fr>

Organisation Cours 6 x 2h Johan Thapper TD/TP 6 x 2h Johan Thapper Groupe 2 Alfredo Hubard Groupe 1

Contrôle des connaissances 1 examen (janvier) sur les notions abordées aux cours, TD et TP 1 feuille recto-verso manuscrite autorisée téléphone, calculatrice, machine interdits Pour réussir à l examen Présence (pas seulement physique) au cours Travail aux TD et TP indispensable

Acquis supposés Algèbre linéaire élimination de Gauss Vocabulaire de la logique propositionnelle variable Booléenne forme normale conjonctive (CNF) Vocabulaire de la théorie des graphes Complexité (notions) ordres de grandeur temps polynomial et exponentiel problèmes NP-difficiles SAT, coloration de graphe,

Modélisation et résolution d un problème Une entreprise veut installer la fibre optique entre ses bâtiment A, B, C, D et E. Le coût de chaque lien potentiel (point à point) est donné dans le tableau suivant : Il suffit d avoir un chemin entre chaque paire de bâtiments. Minimiser le coût total de l installation.

Problème concret minimiser le coût Problème abstrait trouver un arbre couvrant minimal B 18 E 10 7 20 A 10 D 15 C 15 algorithme : Kruskal poser des lignes entre : A et B B et D B et E C et D coût total : 10+7+18+15 = 50 10 A B 18 7 C E 15 D

Modélisation et résolution d un problème Modélisation Traduire un problème concret A (sous forme verbale) en un problème abstrait B (sous forme symbolique) Résolution Résoudre B avec un algorithme / logiciel connu Récupération d une solution Récupérer une solution de B et l interpreter comme une solution de A

Exemple : affectation de fréquence Un nombre d émetteurs est localisé comme dans la figure suivante : Si deux émetteurs sont trop proches, ils ne peuvent pas transmettre sur la même fréquence à cause d interférences. Minimiser le nombre de fréquences utilisées.

Problème concret minimiser le nombre de fréquences Problème abstrait trouver une coloration de graphe avec un nombre minimal de couleurs sommet = émetteur arête = interférence Solution affectation : fréquence 1 (X Mhz) fréquence 2 (Y Mhz) fréquence 3 (Z Mhz) nombre minimal : 3 couleur = fréquence

Exemple : emploi du temps On veut affecter 6 tâches, T1,, T6, aux créneaux horaires. Certaines tâches ne peuvent pas être affectées au même créneau à cause de conflits. Par exemple, deux tâches qui nécessitent la même machine. Les conflits sont décrits dans le tableau suivant : Affecter les tâches en minimisant le nombre de créneaux horaires utilisés.

Problème concret minimiser le nombre de créneaux Problème abstrait trouver une coloration de graphe avec un nombre minimal de couleurs T1 T2 T5 T6 T3 T4 sommet = tâche arête = conflit Solution affectation : créneau 1 : T1, T4 créneau 2 : T5, T6 créneau 3 : T2, T3 nombre minimal : 3 couleur = créneau

Modélisation 1. Décider d un vocabulaire de modélisation graphes, géométrie, logique, 2. Trouver les variables Souvent l étape la plus difficile il faut faire plusieurs exercices Facilite la prochaine étape 3. Introduire des contraintes qui modélisent le problème Vérifier que les solutions au problème B correspondent aux solutions au problème A Sinon, vous n avez pas les bonnes variables / contraintes

Exemple : programmation linéaire Une petite entreprise fabrique des robes et des pantalons. Elle dispose de deux machines : une machine pour couper le tissu et une machine pour la couture. Pour faire une robe, il faut une demi heure pour couper le tissu et 20 minutes pour la couture. Pour faire un pantalon, il faut 15 minutes de coupure et une demi heure pour la couture. Le profit d une robe est de 40 euros et pour un pantalon 50 euros. L entreprise fonctionne 8 heures par jour. Maximiser le profit par jour.

Robes et pantalons modélisation 1. Vocabulaire de modélisation variables réelles et inégalités linéaires 2. Trouver les variables Soit x le nombre de robes et y le nombre de pantalons par jour 3. Exprimer les contraintes en inégalités x et y sont entiers et non-négatifs : x, y 0 On coupe au plus 8 heures par jour : 1/2 x + 1/4 y 8 On coud au plus 8 heures par jour : 1/3 x + 1/2 y 8

1/2 x + 1/4 y 8 (couture) 1200 32 y 0 profit par robe profit par pantalon 800 24 profit = 40x + 50y 400 profit = 0 16 8 l optimum x = 12 y = 8 profit = 880 droite iso-objectif 8 16 24 32 x 0 1/3 x + 1/2 y 8 (coupure) x nombre de robes par jour y nombre de pantalons par jour l ensemble de solutions

La programmation linéaire Entrées variables : fonction objectif (linéaire) : inégalités (linéaires) : x 1,x 2,x 3,... max x 1 + x 2 +5x 3 x 1 +7x 2 5x 3 apple 3 Sortie une solution optimale : x 1 =3,x 2 =0,... ``pas de solution s il n en existe aucune

Résolution efficace en théorie et en pratique L algorithme du simplexe (Dantzig 1947) efficace et utilisé en pratique exponentiel dans le pire des cas Algorithmes de complexité polynomiale méthode de l ellipsoïde (théorie) méthodes de points intérieurs (théorie et pratique) Nous utilisons le solveur lp_solve il y a un package pour votre distribution Linux préférée

Un peu d histoire Kantorovitch (~1939, URSS), Dantzig (1947, États-Unis) Programmation = planification le terme date des années 1950 (e.g. programmation musicale) Applications importantes planification, logistique, contrôle de la production dans de nombreux domaines : télécom, transport aérien, Kantorovitch lauréat du Prix de la Banque de Suède en sciences économiques en mémoire d'alfred Nobel (1975) domaine : théorie de l'allocation optimale des ressources

Exemple : satisfaisabilité booléenne Est-ce qu il est possible de trouver une coloration du graphe ci-dessous avec deux couleurs telle que deux sommets partageant une arrête n ont pas la même couleur? v1 v2 v3

Triangle modélisation 1. Vocabulaire de modélisation variables booléennes et clauses CNF v1 2. Trouver les variables v2 v3 x i,0 la variable indique que le sommet vi prend la couleur 0 x i,1 la variable indique que le sommet vi prend la couleur 1 3. Exprimer les contraintes en logique propositionnelle un sommet doit prendre une couleur : un sommet ne peut prendre qu une couleur : deux sommets ne prennent pas la même couleur : x i,0 _ x i,1 x i,0 _ x i,1 x i,0 _ x j,0 x i,1 _ x j,1

x 1,0 _ x 1,1, x 2,0 _ x 2,1, x 3,0 _ x 3,1 x 1,0 _ x 1,1, x 2,0 _ x 2,1, x 3,0 _ x 3,1 x 1,0 _ x 2,0, x 1,1 _ x 2,1 x 2,0 _ x 3,0, x 2,1 _ x 3,1 x 3,0 _ x 1,0, x 3,1 _ x 1,1 au moins une couleur au plus une couleur v1 et v2 différentes v2 et v3 différentes v3 et v1 différentes logiciel Non simultanément satisfaisables Donc, pas de coloration du graphe avec deux couleurs

Satisfaisabilité booléenne Entrées variables : clauses : x 1,x 2,x 3,... x 1 _ x 2 x 1 _ x 2 _ x 3 Sortie une solution satisfaisante x 1 = true,x 2 = false,... ``non satisfaisable s il n en existe aucune

Résolution quasi-efficace en pratique Il n y a pas d algorithme polynomial pour SAT Il n en existe aucun, si P NP Mais il y a des solveurs qui fonctionnent bien en pratique années variables clauses 1960-70 10 100 1980-95 100 1 000 1995-00 1 000 100 000 2000-10 100 000 1 000 000 2010- > 1 000 000 > 5 000 000 Nous utilisons le solveur minisat $ sudo apt-get install minisat

Algorithme : DPLL Davis & Putnam (1960) Davis, Logeman, Loveland (1962) Applications importantes vérification formelle des circuits planification (emploi du temps) ordonnancement Application amusante (?) La plus grosse preuve de l histoire des mathématiques construction et vérification d une preuve de 200To en utilisant 1 solveur SAT, 800 coeurs et 2 jours

Contenu du cours Méthodes L algorithme du simplexe (programmation linéaire) L algorithme DPLL (SAT) Modélisation Traduire un problème concret en un problème abstrait (PL ou SAT) Reconnaitre deux problèmes qui sont ``les mêmes Optimisation Optimiser une fonction linéaire sous des contraintes linéaires Problèmes d emploi du temps Coloration de graphe