Rappels de programmation linéaire CERMICS, ENPC

Documents pareils
Programmation linéaire

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

Optimisation Discrète

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

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire

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

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

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

LES MÉTHODES DE POINT INTÉRIEUR 1

Programmation Linéaire - Cours 1

Fonctions de plusieurs variables

Optimisation des fonctions de plusieurs variables

Résolution d équations non linéaires

Résolution de systèmes linéaires par des méthodes directes

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

3 Approximation de solutions d équations

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

Cours de recherche opérationnelle I

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Approximations variationelles des EDP Notes du Cours de M2

Chp. 4. Minimisation d une fonction d une variable

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

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

INFO-F Algorithmique 3 et Recherche Opérationnelle

Théorèmes de Point Fixe et Applications 1

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

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

Problème 1 : applications du plan affine

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Théorème du point fixe - Théorème de l inversion locale

Limites finies en un point

Image d un intervalle par une fonction continue

Intégration et probabilités TD1 Espaces mesurés

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

I. Polynômes de Tchebychev

Continuité en un point

Nombres premiers. Comment reconnaître un nombre premier? Mais...

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

Travaux dirigés n 1. Programmation linéaire

Cours d analyse numérique SMI-S4

Cours d Analyse. Fonctions de plusieurs variables

Correction de l examen de la première session

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

Calcul différentiel sur R n Première partie

Algorithmes pour la planification de mouvements en robotique non-holonome

RECHERCHE OPERATIONNELLE

Chapitre 2 Le problème de l unicité des solutions

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

FIMA, 7 juillet 2005

Calcul différentiel. Chapitre Différentiabilité

6. Les différents types de démonstrations

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

CHAPITRE 5. Stratégies Mixtes

III- Raisonnement par récurrence

3. Conditionnement P (B)

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

Cours Fonctions de deux variables

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

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

Programmation linéaire

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

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

CCP PSI Mathématiques 1 : un corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Exercices Corrigés Premières notions sur les espaces vectoriels

L exclusion mutuelle distribuée

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

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

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

Comparaison de fonctions Développements limités. Chapitre 10

Introduction à l étude des Corps Finis

Continuité d une fonction de plusieurs variables

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.


4.2 Unités d enseignement du M1

Commun à tous les candidats

Suites numériques 3. 1 Convergence et limite d une suite

= constante et cette constante est a.

Amphi 3: Espaces complets - Applications linéaires continues

Équations non linéaires

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

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Quelques tests de primalité

OPTIMISATION À UNE VARIABLE

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

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

Calcul fonctionnel holomorphe dans les algèbres de Banach

Chapitre 5. Équilibre concurrentiel et bien-être

Continuité et dérivabilité d une fonction

Raisonnement par récurrence Suites numériques

Calcul intégral élémentaire en plusieurs variables

Corrigé des TD 1 à 5

Transcription:

Rappels de programmation linéaire CERMICS, ENPC Diapositives : F. Meunier, Intervenant : A. Parmentier 18 octobre 2017

Partie 1. La programmation linéaire : définition et exemples 2. Quelques propriétés théoriques 3. Algorithmes 4. Dualité iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 2 / 43

La programmation linéaire : définition et exemples. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 3 / 43

Définition Un programme linéaire est un programme qui peut s écrire sous la forme (forme inéquationnelle) Min c T x s.c. Ax b, où x, c R n, b R m et où A est une m n matrice réelle. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 4 / 43

Définition c T x est la fonction objectif. Ax b sont les contraintes. x sont les variables (de décision). Tout x satisfaisant les contraintes est une solution réalisable. Tout x solution du programme est une solution optimale. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 5 / 43

Représentation graphique y y = 3 x + 2y = 7 x 2x + y = 8 Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 6 / 43

Représentation graphique y P = {(x, y) : 2x + y 8, x + 2y 7, y 3, x 0, y 0} y = 3 P x + 2y = 7 x 2x + y = 8 Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 7 / 43

Représentation graphique y 4x + 5y = 8 4x + 5y = 3 4x + 5y = 20 4x + 5y = 16 x 4x + 5y = 23 Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 8 / 43

Représentation graphique y 4x + 5y = 22 x l optimum est atteint en (x, y ) = (3, 2) Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 9 / 43

Programme linéaire : on sait faire! Dans les problèmes réels : nombre de contraintes très souvent > 1000. Ni l intuition, ni le dessin peuvent alors nous tirer d affaire. Heureusement, depuis la fin des années 40, de nombreux chercheurs ont travaillé sur la programmation linéaire, et sont parvenus à la conclusion suivante : Un programme linéaire peut être résolu efficacement, tant sur le plan pratique que théorique. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 10 / 43

Les trois familles d algorithme l algorithme du simplexe, trouvé par Dantzig en 1947 les ellipsoïdes, trouvé par Khachyan en 1979 l algorithme des points intérieurs, trouvé par Karmarkar en 1984 les ellispoïdes = premier algorithme polynomial pour la programmation linéaire. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 11 / 43

Plan théorique, plan pratique Plan pratique De nombreux logiciels (libres et commerciaux) résolvent des programmes linéaires de grande taille. Il y a principalement deux algorithmes qui sont utilisés dans ces codes : l algorithme du simplexe et l algorithme des points intérieurs. Plan théorique La programmation linéaire est dans P : l algorithme des points intérieurs résout la programmation linéaire en temps polynomial, mais pas l algorithme du simplexe. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 12 / 43

Partie 1. La programmation linéaire : définition et exemples 2. Quelques propriétés théoriques 3. Algorithmes 4. Dualité iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 13 / 43

Quelques propriétés théoriques Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 14 / 43

Forme standard, forme canonique, forme inéquationnelle Forme inéquationnelle Forme standard Forme canonique Min c T x s.c. Ax b, Min c T x s.c. Ax = b, x 0 Min c T x s.c. Ax b, x 0 iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 15 / 43

Nettoyage préliminaire Hypothèse : Nos programmes linéaires sous forme standard seront tels que les lignes de A sont linéairement indépendantes. On peut en effet toujours se ramener à une telle situation. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 16 / 43

Une notation Pour B {1, 2,..., n} : A B = sous-matrice de A réduite aux colonnes indicées par B. x B = sous-vecteur de x réduit aux composantes indicées par B. Exemple. B = {1, 4, 5} Si alors A = 1 2 0 3 3 1 0 8 9 3 4 4 5 6 0 7 1 1 A B = 1 3 3 0 3 4 5 7 1 Si x = (5, 4, 5, 1, 1, 2), alors x B = (5, 1, 1). Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 17 / 43.,

Une notation, suite Pour B {1,..., n} et N = {1,..., n} \ B Ax = b peut se voir sous la forme A B x B + A N x N = b Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 18 / 43

Réécriture dans une base B {1, 2,..., n} avec m éléments = base si la matrice A B est inversible. Réécrire le système Ax = b dans la base B : x B + A 1 B A Nx N = A 1 B b. La solution x du système Ax = b obtenue en posant x B := A 1 B b et x N := 0 est une solution basique. Si elle est réalisable, i.e. si A 1 B b 0, alors x est une solution basique réalisable, et B est une base réalisable. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 19 / 43

Optimalité et solution basique Theorem Considérons un programme linéaire sous forme standard Alors s il y a une solution réalisable et si la fonction objectif est bornée inférieurement, alors il existe une solution optimale. s il existe une solution optimale, alors il existe une solution optimale qui soit basique réalisable. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 20 / 43

Un algorithme naïf On peut donc trouver l optimum en un nombre fini d opérations au plus le nombre de bases ( n m). L algorithme du simplexe exploite cette idée de façon plus astucieuse. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 21 / 43

Polyèdre Un polyèdre est l intersection d un nombre fini de demi-espaces délimités par des hyperplans. Les contraintes Ax b, délimitent donc un polyèdre. De même pour ou Ax = b, x 0 Ax b, x 0 En conséquence, les solutions réalisables d un programme linéaire forment toujours un polyèdre. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 22 / 43

Convexité et polytope Un polyèdre P est un ensemble convexe : si x et y sont dans P, le segment [x, y] est inclus dans P. Un polyèdre borné est un polytope. FIGURE Un polytope FIGURE Un polyèdre non borné La programmation linéaire est un cas particulier de la programmation convexe. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 23 / 43

Points extrêmes Un polyèdre possède en général des points extrêmes ou sommets, qui sont les pointes, ou les piques du polyèdre. Mathématiquement, v P est un point extrême de P si pour tout x, y P, on a l implication (le segment [x, y] contient v) (v = x ou v = y). On ne peut avoir de segment inclus dans P et non réduit à un point qui contienne strictement v. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 24 / 43

Solutions basiques réalisables = points extrêmes Theorem Soit P l ensemble des solutions réalisables d un programme linéaire sous forme standard. Soit v P. Les deux assertions sont équivalentes : v est une solution basique réalisable. v est un point extrême de P. En particulier, on voit qu un polyèdre n a qu un nombre fini de points extrêmes. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 25 / 43

Optimum vision géométrique Si un programme linéaire sous forme standard admet une solution optimale, il admet en particulier une solution optimale qui est un point extrême de l ensemble des points réalisables. Si un programme linéaire (de minimisation) est réalisable mais non borné, il admet un rayon infini dans son ensemble de points réalisables le long duquel le critère peut être rendu arbitrairement petit. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 26 / 43

Partie 1. La programmation linéaire : définition et exemples 2. Quelques propriétés théoriques 3. Algorithmes 4. Dualité iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 27 / 43

Algorithmes Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 28 / 43

Algorithme du simplexe y 4x + 5y = 22 x l optimum est atteint en (x, y ) = (3, 2) Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 29 / 43

L algorithme du simplexe On considère un programme sous forme standard Min c T x s.c. Ax = b, x 0 Après manipulation, ce programme se réécrit de manière équivalente Min s.c. cb T A 1 B b + (ct N ct B A 1 B A N)x N x B + A 1 B A Nx N = A 1 B b, x 0. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 30 / 43

Programme dans la base B Min s.c. c T B A 1 B b + (ct N ct B A 1 B A N)x N x B + A 1 B A Nx N = A 1 B b, x 0. Avantages : on peut lire directement la solution basique réalisable associée à la base B. En effet : la solution basique réalisable est telle que x N = 0. Valeur du critère en x N = 0, précisément c T B A 1 B b. On peut voir l optimalité immédiatement. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 31 / 43

Bases voisines Soient B et B deux bases réalisables. Elles sont voisines si B \ B = 1. On a alors aussi nécessairement B \ B = 1. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 32 / 43

Itération générale On suppose donné une base réalisable B. Construire une base réalisable voisine B qui améliore le critère (=pivot) : se fait simplement à la lecture des entrées de c T N ct B A 1 B et de A 1 B A N. Programme sous forme équivalente ( ) Min c T B A 1 B b + c T N c T B A 1 B A N x N s.c. x B + A 1 B A N x N = A 1 B b, x 0. Recommencer. De deux choses l une : soit on termine sur une base optimale, soit à la lecture des coefficients, on voit que le programme est non borné (i.e est la valeur optimale). iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 33 / 43 A N (1)

L algorithme des points intérieurs L algorithme des points intérieurs cherche à éviter le bord du polyèdre et reste le plus possible à l intérieur simplexe). C est seulement à la dernière étape que l algorithme atteint le bord, précisément sur une solution optimale. Consiste à considérer le coût pénalisé f µ (x) := c T x µ et à considérer le programme suivant n log x i i=1 Min f µ (x) s.c. Ax = b, x > 0, (2) où x > 0 signifie que x i > 0 pour i = 1,..., n. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 34 / 43

Idée de l algorithme : faire tendre progressivement µ vers 0 et chercher la solution optimale x (µ) du programme précédent pour chaque valeur de µ successive. La suite des x (µ) tend vers l optimum. La recherche de la solution optimale x (µ) se fait en fait approximativement et utilise la solution optimale approximative du programme pour la valeur de µ précédente cette étape revient alors à une simple résolution d un système linéaire. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 35 / 43

Efficacité de l algorithme des points intérieurs Complexité : O(n 3 L) où L est le nombre maximum de bits nécessaires pour coder un coefficient du programme = algorithme polynomial. nombre d itérations (nombre de µ distincts pour lequel x (µ) est approximativement calculé) = O( nl) mais en pratique cela semble plutôt être un O(log n), ce qui en fait un algorithme réellement efficace. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 36 / 43

Partie 1. La programmation linéaire : définition et exemples 2. Quelques propriétés théoriques 3. Algorithmes 4. Dualité iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 37 / 43

Dualité Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 38 / 43

Le dual Soit un programme sous forme standard : Min c T x s.c. Ax = b, x 0 On peut définir le programme dual : Max s.c. b T y A T y c Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 39 / 43

Théorème faible de la dualité Si x est solution du primal et y solution du dual, alors on a le théorème faible de la dualité : c T x b T y. Rappel : grâce à cette propriété, on peut prouver l optimalité ou la qualité d une solution du primal. iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 40 / 43

Théorème fort de la dualité Theorem (Dualité forte) Min c T x s.c. Ax = b, (P) x 0 exclusivement : 1. Ni (P), ni (D) n ont de solution réalisable. Max b T y s.c. A T y c, (D) 2. (P) est non borné et (D) n a pas de solution réalisable. 3. (D) est non borné et (P) n a pas de solution réalisable. 4. (P) et (D) sont tous deux réalisables. Ils ont alors tous deux des solutions optimales, respectivement x et y, et l on a c T x = b T y. Autrement dit, le minimum de (P) est égal au maximum de (D). iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 41 / 43

Recette de dualisation Programme linéaire primal Programme linéaire dual Variables x 1, x 2,..., x n y 1, y 2,..., y m Matrice A A T Membre de droite b c Fonction objectif Min c T x Max b T y ième contrainte a y i 0 Contraintes = y i 0 y i R x j 0 x j 0 x j R jème contrainte a = iapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 42 / 43

Dual du dual = primal Le dual du dual est équivalent au primal. Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 18 octobre 2017 43 / 43