Recherche opérationnelle

Documents pareils
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 ://

Programmation linéaire

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.

Programmation linéaire

Programmation linéaire et Optimisation. Didier Smets

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

Chapitre 2. Matrices

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

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

Cours d analyse numérique SMI-S4

Résolution d équations non linéaires

Optimisation Discrète

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

Chapitre 5 : Flot maximal dans un graphe

3 Approximation de solutions d équations

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

Polynômes à plusieurs variables. Résultant

Programmation Linéaire - Cours 1

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Calcul différentiel sur R n Première partie

Fonctions de plusieurs variables

Chapitre VI - Méthodes de factorisation

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

Optimisation des fonctions de plusieurs variables

Les indices à surplus constant

Chp. 4. Minimisation d une fonction d une variable

Probabilités sur un univers fini

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

Limites finies en un point

CCP PSI Mathématiques 1 : un corrigé

RECHERCHE OPERATIONNELLE

Problème 1 : applications du plan affine

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

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

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

Mathématiques appliquées à l'économie et à la Gestion

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

Programmes des classes préparatoires aux Grandes Ecoles

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

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

Feuille d exercices 2 : Espaces probabilisés

Plus courts chemins, programmation dynamique

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

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Chapitre 3. Les distributions à deux variables

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

Cours 7 : Utilisation de modules sous python

Corrigé du baccalauréat S Asie 21 juin 2010

Fonctions homographiques

Probabilités sur un univers fini

Capes Première épreuve

OPTIMISATION À UNE VARIABLE

Analyse en Composantes Principales

Continuité et dérivabilité d une fonction

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

Chapitre 1 : Évolution COURS

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

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

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

Différentiabilité ; Fonctions de plusieurs variables réelles

BACCALAUREAT GENERAL MATHÉMATIQUES

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

Théorèmes de Point Fixe et Applications 1

IV- Equations, inéquations dans R, Systèmes d équations

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

Continuité en un point

Image d un intervalle par une fonction continue

Module 2 : Déterminant d une matrice

La classification automatique de données quantitatives

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Raisonnement par récurrence Suites numériques

Simulation de variables aléatoires

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

ANALYSE GÉNÉRALE - PROPOSITION DE CORRIGÉ. Exercice 1

Optimisation, traitement d image et éclipse de Soleil

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

Une forme générale de la conjecture abc

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

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

Approximations variationelles des EDP Notes du Cours de M2

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

Cours Fonctions de deux variables

Circuits RL et RC. Chapitre Inductance

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

Développement décimal d un réel

Condition inf-sup pour l Elément Fini de Taylor-Hood È ¾ -iso-è ½

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

Cours d Analyse. Fonctions de plusieurs variables

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

3. Conditionnement P (B)

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

EXERCICES - ANALYSE GÉNÉRALE

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

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Algorithmes pour la planification de mouvements en robotique non-holonome

Déterminants. Marc SAGE 9 août Inverses et polynômes 3

Transcription:

Recherche opérationnelle Master 2 LT, MPM, MIR Université du Littoral - Côte d Opale, Pôle Lamartine Laurent SMOCH (smoch@lmpauniv-littoralfr) Septembre 2013 Laboratoire de Mathématiques Pures et Appliquées Joseph Liouville Université du Littoral, zone universitaire de la Mi-Voix, bâtiment H Poincarré 50, rue F Buisson, BP 699, F-62228 Calais cedex

2

I Table des matières 0 Introduction générale 1 1 La programmation linéaire - Méthode graphique 7 11 Introduction 7 12 Modélisation d un programme linéaire 7 121 Exemples 8 122 Formule générale d un programme linéaire 9 13 Méthode graphique : problème à deux inconnues 11 131 Régionnement du plan 11 132 Les ensembles convexes 12 133 Résolution de systèmes d inéquations - Exemples 12 134 Résolution de programmes linéaires 16 135 Cas général 22 136 Exercices 22 2 La programmation linéaire - Méthode du simplexe 31 21 Introduction 31 22 La méthode du simplexe 31 221 Programme linéaire standard 31 222 L algorithme du simplexe 33 223 Détermination d une solution de base admissible 58 224 Utilisation de la méthode du simplexe lorsque la solution optimale n existe pas 60 225 Utilisation de la méthode du simplexe dans un problème de minimisation 61 226 Exercices récapitulatifs 62 3 La programmation linéaire - Écriture matricielle 67 31 Rappels 67 32 La méthode du simplexe sous forme matricielle 73 321 Forme générale d un programme linéaire 73 322 Représentation matricielle 74 323 Description générale de l algorithme 76 324 Exemple avec solution optimale unique 77 325 Exemple avec solution optimale multiple 78 326 Exemple avec solution non bornée 80

II TABLE DES MATIÈRES

67 Chapitre 3 La programmation linéaire - Écriture matricielle 31 Rappels Définition 311 On appelle matrice m n (ou d ordre m n) à coefficients dans K tout tableau de m lignes et n colonnes d éléments de K L ensemble des matrices m n à coefficients dans K est noté M m,n (K) Si m = n on dit qu on a une matrice carrée L ensemble des matrices carrées de taille n à coefficients dans K est noté M n (K) Une matrice m 1 est appelée vecteur-colonne et une matrice 1 n est appelée vecteur-ligne On convient de noter a ij l élément de la matrice situé sur la i-ème ligne et j-ième colonne (1 i m et ) Une matrice A est représentée entre deux parenthèses ou deux crochets : a 11 a 1j a 1n a 11 a 1j a 1n A = a i1 a ij a in ou A = a i1 a ij a in a m1 a mj a mn a m1 a mj a mn ou encore Nous travaillerons avec K = R, Q ou Z A = (a ij ) 1 i m ou A = [a ij ] 1 i m 1 4 2 Exemple 311 La matrice A = 0 1 3 est carrée et d ordre 3 4 1 5 Définition 312 - Addition de matrices Si A = (a ij ) 1 i m et B = (b ij ) 1 i m sont deux matrices m n, on définit l addition des matrices par Exemple 312 Soient les matrices A = A + B = A + B = (a ij + b ij ) 1 i m 3 4 2 et B = 1 3 5 ( 3 + 6 4 + 1 2 + 9 1 + 2 3 + 0 5 + 3 6 1 9 On obtient 2 0 3 ) 9 5 11 = 3 3 8 Remarque 311 La somme de deux matrices de tailles différentes n est pas définie

68 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE Définition 313 La matrice nulle, notée O m,n, est la matrice dont tous les éléments sont nuls La matrice opposée d une matrice A est notée A Si A = (a ij ) 1 i m alors A = ( a ij ) 1 i m Propriété 311 Si A, B et C sont des matrices de même ordre, alors nous avons A + B = B + A (commutativité), A + (B + C) = (A + B) + C (associativité) 1 1 6 5 0 2 Exemple 313 Soient les matrices A =, B = et C = On a alors 3 0 2 1 2 4 1 + 6 1 5 7 6 6 + 1 5 1 7 6 A + B = = et B + A = = 3 + 2 0 + 1 5 1 2 + 3 1 + 0 5 1 7 6 7 4 A + B = et (A + B) + C = 5 1 7 5 6 3 7 4 B + C = et A + (B + C) = 4 5 7 5 Définition 314 On appelle matrice diagonale toute matrice carrée D = (d ij ) 1 i, j n telle que i j d ij = 0 Si on note d i = d ii, une matrice diagonale est de la forme d 1 0 0 0 0 d 2 0 0 D n = 0 0 d n 1 0 0 0 0 d n On la note Diag(d 1, d 2,, d n ) La matrice identité d ordre n, notée I n, est la matrice diagonale Diag(1, 1,, 1) Définition 315 On dit qu une matrice carrée A = (a ij ) 1 i,j n inférieure) si i > j a ij = 0 (resp si i < j a ij = 0) est triangulaire supérieure (resp Remarque 312 Une matrice triangulaire supérieure et inférieure est une matrice diagonale Définition 316 - Produit d une matrice par un scalaire Si A = (a ij ) 1 i m est une matrice m n et si α K, on définit le produit d une matrice par un scalaire par Exemple 314 Si A = αa = (αa ij ) 1 i m 3 4 2 et α = 1, on obtient 1 3 5 2 1 C = αa = 2 3 1 2 4 1 2 2 3 1 2 1 1 2 3 1 = 2 2 5 1 2 2 1 3 5 2 2 Propriété 312 Soient A et B deux matrices de même ordre et α K un scalaire, on a α(a + B) = αa + αb (distributivité) Définition 317 - Produit de matrices Si A = (a ik ) 1 i m est une matrice m p et si B = (b kj ) 1 k p 1 k p produit des matrices par est une matrice p n, on définit le

31 RAPPELS 69 qui est une matrice m n ( p ) A B = a ik b kj k=1 1 i m On procède de la manière suivante pour multiplier deux matrices : 1 2 0 1 3 0 Exemple 315 Soient les deux matrices A = et B = 0 2 3 1 1 2 0 1 2 La matrice A est d ordre 2 3, la matrice B est d ordre 3 3 donc la matrice A B est d ordre 2 3 On a ( ) ( ) 1 1 + 3 0 + 0 0 1 2 + 3 2 + 0 ( 1) 1 0 + 3 3 + 0 ( 2) 1 8 9 A B = = ( 1) 1 + 1 0 + 2 0 ( 1) 2 + 1 2 + 2 ( 1) ( 1) 0 + 1 3 + 2 ( 2) 1 2 1 Propriété 313 Si A M m,n (K), B M n,p (K), C M p,q (K), alors A (B C) = (A B) C (associativité), A (B + C) = A B + A C (distributivité) Si A M n (K) alors A I n = I n A = A Remarque 313 Attention, A B B A en général Prenons le cas général avec A d ordre m p et B d ordre p n Le produit A B est défini, c est une matrice d ordre m n Qu en est-il du produit B A? Il faut distinguer trois cas : si m n le produit B A n est pas défini ; si m = n mais p n, le produit A B est défini et c est une matrice d ordre m n = n n tandis que le produit B A est défini mais c est une matrice d ordre p p donc A B B A ; si m = n = p, A et B sont deux matrices carrées d ordre m Les produits A B et B A sont aussi carrés et d ordre m mais là encore, en général, A B B A Exemple 316 Soient les matrices A = 9 6 B A = 5 2 1 1 et B = 3 0 6 5 4 6 On obtient A B = et 2 1 18 15

70 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE Définition 318 - Matrice transposée Si A = (a ij ) 1 i m est une matrice de format m n, on définit la matrice transposée de A, notée A T, par A = (a ji ) 1 i m C est donc une matrice n m obtenue en échangeant lignes et colonnes de la matrice initiale 1 1 5 Exemple 317 Soit la matrice A d ordre 2 3 suivante A = Sa transposée est la matrice 3 0 7 1 3 A T d ordre 3 2 suivante A T = 1 0 5 7 Propriété 314 (A T ) T = A si A M m,n (K), (αa) T = αa T si α K et A M m,n (K), (A + B) T = A T + B T si A, B M m,n (K), (A B) T = B T A T si A M m,n (K) et B M n,p (K) Définition 319 - Matrice symétrique, matrice antisymétrique Une matrice A est dite symétrique si A T = A Une matrice A est dite antisymétrique si A T = A Exemple 318 1 5 9 A = 5 4 0 est une matrice symétrique 9 0 7 0 5 9 B = 5 0 7 est une matrice antisymétrique 9 7 0 Définition 3110 - Matrice inversible, matrice singulière Une matrice carrée A M n (K) est dite inversible ou régulière si elle est symétrisable pour le produit matriciel, autrement dit s il existe une matrice B M n (K) telle que A B = B A = I n L inverse, s il existe, d une matrice A est noté A 1 Une matrice non régulière est dite singulière Proposition 311 Soient A et B deux matrices inversibles, alors A 1 l est aussi et (A 1 ) 1 = A, A T l est aussi et (A T ) 1, A B l est aussi et (A B) 1 = B 1 A 1 Définition 3111 - Déterminant d une matrice d ordre n Soit A = (a ij ) 1 i m une matrice carrée d ordre n Étant donné un couple (i, j) d entiers, 1 i, j n, on note A ij la matrice carrée d ordre n 1 obtenue en supprimant la i-ième ligne et la j-ième colonne de A On définit le déterminant de A, et on le note det(a), par récurrence sur l ordre de la matrice A : si n = 1 : le déterminant de A est le nombre det(a) = a 11, si n > 1 : le déterminant de A est le nombre n det(a) = ( 1) i+j a ij det(a ij ) quelle que soit la ligne i, 1 i n, j=1 ou, de manière équivalente, le nombre n det(a) = ( 1) i+j a ij det(a ij ) quelle que soit la colonne j, i=1

31 RAPPELS 71 Remarque 314 Pour retrouver les signes de ces deux formules, on peut remarquer que la distribution des signes + et avec la formule ( 1) i+j est donnée par : + + + + + + a11 a Exemple 319 Soit la matrice A = 12 alors a 21 a 22 det(a 11 ) = a 22, det(a 12 ) = a 21, det(a 21 ) = a 12, det(a 22 ) = a 11 et on peut calculer det(a) par l une des formules suivantes : a 11 det(a 11 ) a 12 det(a 12 ) = a 11 a 22 a 12 a 21 (développement suivant la ligne i = 1), a 21 det(a 21 ) + a 22 det(a 22 ) = a 21 a 12 + a 22 a 11 (développement suivant la ligne i = 2), a 11 det(a 11 ) a 21 det(a 21 ) = a 11 a 22 a 21 a 12 (développement suivant la colonne j = 1), a 12 det(a 12 ) + a 22 det(a 22 ) = a 12 a 21 + a 22 a 11 (développement suivant la colonne j = 2) Ces formules donnent bien le même résultat Remarque 315 Il convient d utiliser cette définition après avoir fait apparaître sur une même rangée le plus possible de zéros sachant que si deux colonnes (resp deux lignes) sont identiques ou proportionnelles, alors det(a) = 0, si on échange deux colonnes (resp deux lignes), alors le déterminant est changé en son opposé, on ne change pas un déterminant si on ajoute à une colonne (resp une ligne) une combinaison linéaire des autres colonnes (resp lignes) 1 0 1 Exemple 3110 Soit la matrice A = 0 2 0 alors 0 3 5 2 0 0 0 0 2 det(a 11 ) = det = 10, det(a 3 5 12 ) = det = 0, det(a 0 5 13 ) = det = 0, 0 3 0 1 1 1 1 0 det(a 21 ) = det = 3, det(a 3 5 22 ) = det = 5, det(a 0 5 23 ) = det = 3, 0 3 0 1 1 1 1 0 det(a 31 ) = det = 2, det(a 2 0 32 ) = det = 0, det(a 0 0 33 ) = det = 2, 0 2 et on peut calculer det(a) par l une des formules suivantes : 1 det(a 11 ) + 0 det(a 12 ) + 1 det(a 13 ) = 10 + 0 + 0 = 10, 0 det(a 21 ) + 2 det(a 22 ) + 0 det(a 23 ) = 0 + 2 5 + 0 = 10, (formule pratique car il n y a qu un déterminant à calculer), 0 det(a 31 ) + 3 det(a 32 ) + 5 det(a 33 ) = 0 + 0 + 5 2 = 10, 1 det(a 11 ) + 0 det(a 21 ) + 0 det(a 31 ) = 10 + 0 + 0 = 10, (formule pratique car il n y a qu un déterminant à calculer), 0 det(a 12 ) + 2 det(a 22 ) + 3 det(a 32 ) = 0 + 2 5 + 0 = 10, 1 det(a 13 ) + 0 det(a 23 ) + 5 det(a 33 ) = 0 + 0 + 5 2 = 10 Proposition 312 - Déterminant d une matrice d ordre 2 Soit A une matrice carrée d ordre n = 2 Le déterminant de A peut se calculer à l aide de la technique suivante :

72 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE Exemple 3111 Soit la matrice A = 5 7 alors 4 3 det(a) = 5 3 7 4 = 15 28 = 13 Proposition 313 - Déterminant d une matrice d ordre 3 : Règle de Sarrus Soit A une matrice carrée d ordre n = 3 Le déterminant de A peut se calculer à l aide de la technique suivante : 1 0 1 Exemple 3112 Soit la matrice A = 0 2 0 On a alors 0 3 5 det(a) = (1 2 5 + 0 3 1 + 0 0 0) (1 2 0 + 0 3 1 + 5 0 0) = 10 5 7 1 Exemple 3113 Soit la matrice A = 4 3 2, alors 2 1 6 det(a) = (5 3 6 + 4 1 1 + 2 7 2) (1 3 2 + 2 1 5 + 7 4 6) = 62 Propriété 315 Le déterminant d une matrice triangulaire est égal au produit des éléments diagonaux Théorème 311 A est inversible si et seulement si det(a) 0 Propriété 316 det(a T ) = det(a), det(a 1 1 ) = det(a), det(a B) = det(a) det(b) Définition 3112 Rang Le rang d une matrice quelconque A est égal au plus grand entier s tel que l on puisse extraire de A une matrice carrée d ordre s inversible, c est-à-dire de déterminant non nul Les opérations élémentaires sur les lignes ou les colonnes (ajout à une colonne - resp une ligne - une combinaison linéaire des autres colonnes - resp lignes) d une matrice ne modifient pas le rang 1 3 2 Exemple 3114 Soit la matrice suivante A = Le rang de A est 2 : 1 3 1 A est d ordre 2 3 donc s min{2, 3} soit s = 0, 1 ou 2 ; comme le déterminant de la sous-matrice composée de la première et de la deuxième colonne est nul, on ne peut pas conclure ;

32 LA MÉTHODE DU SIMPLEXE SOUS FORME MATRICIELLE 73 comme le déterminant de la sous-matrice composée de la première et de la troisième colonne est non nul, alors s = 2 1 0 1 Exemple 3115 Soit la matrice suivante A = 0 5 1 1 0 1 A est d ordre 3 3 donc s 3, le déterminant de A est 0 donc s ( 3, ) 1 0 le déterminant de la sous-matrice est 5, donc s = 2 0 5 32 La méthode du simplexe sous forme matricielle 321 Forme générale d un programme linéaire Le programme linéaire (11)-(12) s écrit sous forme canonique matricielle : { Ax b, x 0 maximiser Z(x) = c T x (31) avec x 1 c 1 b 1 a 11 a 12 a 1n x 2 x = c 2 Rn +, c = b 2 Rn, b = a 21 a 22 a 2n Rm et A = Rm n x n c n b m a m1 a m2 a mn Remarque 321 Les coefficients de la matrice A définis précédemment ne sont pas nécessairement ceux du programme linéaire (11)-(12) En effet, (11) implique des inégalités quelconques { ( ou ) tandis que (31) x + 2y 2 implique uniquement l inégalité Considérons par exemple les contraintes Elles pourront 2x y 3 1 2 x 2 1 2 x 2 alors s écrire, matriciellement, sous la forme ou 2 1 y 3 2 1 y 3 Proposition 321 Chaque programme linéaire sous forme canonique peut s écrire sous forme standard et inversement Preuve : ( ) Considérons le programme linéaire (31) écrit sous sa forme canonique On a Ax b, x 0 n a ij x j b i, i = 1,, m, x 0 j=1 n a ij x j + e i = b i où e i = b i j=1 x On pose alors Z(x) = c T où c = e x (A I m ) = b, x 0 }{{} e à }{{} x ) ( c 0 n a ij x j, i = 1,, m, x 0 = (c 1,, c n, 0,, 0) et le programme linéaire (écrit sous sa }{{} m fois forme canonique) est strictement équivalent au programme linéaire suivant (écrit sous sa forme standard) : { à x = b, x 0, maximiser Z( x) = c T x ( ) Soit Ax = b un programme linéaire donné sous sa forme standard On a j=1

74 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE { { Ax b Ax = b Ax b Ax b A b ( A)x b A b A Si on pose à = et A b b =, l inégalité précédente implique b Ãx b qui est bien un programme linéaire sous forme canonique Exemple 321 On considère le programme linéaire de l exercice 10 du chapitre 2 On rappelle sa forme canonique et sa forme standard : x, y, z 0 x, y, z, e 1, e 2, e 3 0 x + 2y + 4z 70 x + 2y + 4z + e 1 = 70 2x + y + z 80 2x + y + z + e 2 = 80 3x + 2y + 2z 60 3x + 2y + 2z + e 3 = 60 maximiser Z(x, y, z) = 3x + 5y + 6z maximiser Z(x, y, z, e 1, e 2, e 3 ) = 3x + 5y + 6z Si on pose x 3 1 2 4 x 70 3 1 2 4 1 0 0 y 5 A = 2 1 1, x = y, b = 80, c = 5, à = 2 1 1 0 1 0, x = z 3 2 2 z 60 6 3 2 2 0 0 1 e 1 et c = 6 0, e 2 0 e 3 0 le programme s écrit sous les formes canonique et standard matricielles suivantes : { Ax b, x 0 maximiser Z(x) = c T x { à x = b, x 0 maximiser Z( x) = c T x On utilisera dorénavant la forme standard matricielle et on posera A = Ã, x = x et c = c 322 Représentation matricielle Définition 321 On appelle base une sous-matrice régulière de A Il faut que la matrice A(m, n) soit de rang m Une solution de base est obtenue en posant n m variables égales à 0, et en résolvant par rapport aux m variables restantes, qui sont les variables de base (VDB) Les n m variables à 0 sont les variables hors base (VHB) Des choix différents de VHB donnent lieu à différentes solutions de base Les colonnes de A permettant à une sous-matrice B de A d être régulière et qui représentent des variables particulières peuvent commuter si on ordonne correctement x et c T On peut alors écrire xb A = (BE), x =, c T = c T b ct e x e et ainsi { Ax = b, x 0 maximiser ou minimiser Z(x) = c T x Une solution de base est donc telle que { Bxb + Ex e = b, x 0 maximiser ou minimiser Z(x) = c T b x b + c T e x e { xe = 0 Bx b = b x b = B 1 b (32) Certains choix de variables peuvent ne pas générer de solution de base Définition 322 Une solution de base est dite réalisable (SBR) si

32 LA MÉTHODE DU SIMPLEXE SOUS FORME MATRICIELLE 75 x b = B 1 b 0 Si le vecteur x b contient des termes nuls, on dira que cette solution est une solution de base dégénérée Remarque 322 Lorsque les coefficients b i sont positifs ou nuls, on obtient systématiquement une solution de base réalisable en mettant les variables du problème initial hors base (donc nulles) et les variables d écart dans la base et égales aux b i Exemple 322 Illustrons ces définitions à l aide du programme linéaire (déjà exprimé sous forme standard) de l exercice 10 du chapitre précédent : x, y, z, e 1, e 2, e 3 0 x + 2y + 4z + e 1 = 70 2x + y + z + e 2 = 80 3x + 2y + 2z + e 3 = 60 maximiser Z(x, y, z, e 1, e 2, e 3 ) = 3x + 5y + 6z On peut dresser le tableau suivant avec n = 6, m = 3 : n o VDB VHB Rang(A) Solution de base Réalisabilité 1 x, y, z e 1, e 2, e 3 3 (100 ;-225 ;105) >0 2 x, y, e 1 z, e 2, e 3 3 (100 ;-120 ;210) >0 3 x, y, e 2 z, e 1, e 3 3 (-5 ;37,5 ;52,5) >0 4 x, y, e 3 z, e 1, e 2 3 (30 ;20 ;-70) >0 5 x, z, e 1 y, e 2, e 3 3 (100 ;-120 ;450) >0 6 x, z, e 2 y, e 1, e 3 3 (10 ;15 ;45) réalisable 7 x, z, e 3 y, e 1, e 2 3 (35,7143 ;8,5714 ;-64,2857) >0 8 y, z, e 1 x, e 2, e 3 2 Pas de solution 9 y, z, e 2 x, e 1, e 3 3 (25 ;5 ;50) réalisable 10 y, z, e 3 x, e 1, e 2 3 (125 ;-45 ;-100) >0 11 e 1, e 2, e 3 x, y, z 3 (70 ;80 ;60) réalisable 12 x, e 1, e 2 y, z, e 3 3 (20 ;50 ;40) réalisable 13 x, e 1, e 3 y, z, e 2 3 (40 ;30 ;-60) >0 14 x, e 2, e 3 y, z, e 1 3 (70 ;-60 ;-150) >0 15 y, e 1, e 2 x, z, e 3 3 (30 ;10 ;50) réalisable 16 y, e 1, e 3 x, z, e 2 3 (80 ;-90 ;-100) >0 17 y, e 2, e 3 x, z, e 1 3 (35 ;45 ;-10) >0 18 z, e 1, e 2 x, y, e 3 3 (30 ;-50 ;50) >0 19 z, e 2, e 3 x, y, e 1 3 (17,5 ;62,5 ;25) réalisable 20 z, e 1, e 3 x, y, e 2 3 (80 ;-250 ;-100) >0 Table 31 Bases et réalisabilité de la SBR associée Intéressons-nous au nombre de solutions possibles en général : le nombre de bases candidates est

76 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE C m n = n! (n m)!m! (on a bien testé C6 3 = 6! 3!(6 3)! = 6 5 4 3 2 1 = 20 bases dans l exemple précédent) Toutes les bases candidates ne sont pas inversibles, donc on peut seulement dire que le nombre précédent est une borne supérieure (dans notre exemple, on trouve 19 bases inversibles) Une méthode basée sur l exploration des points extrêmes est cependant non-polynomiale (on comprend bien qu on ne peut appliquer pour m grand la technique qui nous a permis, pour l exemple précédent, de récupérer le tableau 31, à savoir la résolution de 21 systèmes de taille 3 3) L expérience montre que pour un problème de n variables à m contraintes, la solution optimale est trouvée en moyenne en moins de 3m opérations (ce qui signifie pour notre exemple, qu on doit pouvoir trouver la solution du PL en moins de 9 itérations) Définition 323 Pour tout problème de PL, deux SBR sont adjacentes si leurs ensembles de variables de base ont m 1 variables de base en commun L interprétation géométrique est que les 2 SBR sont situées le long d une même arête sur le polytope réalisable 323 Description générale de l algorithme On rappelle que l algorithme du simplexe (pour une maximisation) suit les étapes suivantes : 1 Trouver une SBR pour le PL, appelée la SBR initiale 2 Déterminer si la SBR courante est optimale Sinon, trouver une SBR adjacente qui possède une valeur Z plus élevée 3 Retourner au point 2 avec la nouvelle SBR comme SBR courante Les deux questions suivantes sont donc : comment détecter l optimalité? et comment se déplacer? Pour répondre à ces questions, on écrit : et Z = c T b x b + c T e x e Bx b + Ex e = b Donc, puisque B R m m est de rang m, B est inversible et Par substitution, on obtient en posant x b = B 1 (b Ex e ) Z = c T b B 1 b + (c T e c T b B 1 E)x e = c T b B 1 b + c T e x e c T e = c T e c T b B 1 E Le terme c T e correspond à l augmentation du coût pour une augmentation des variables dans x e Pour une SBR, on a x e = 0 et donc, ce terme n a pas d incidence Si tous les coûts c e sont négatifs (pour une maximisation), toute augmentation des variables de x e diminuera la valeur de Z, et donc la solution obtenue est optimale Réciproquement, pour une minimisation, si tous les coûts sont positifs, toute augmentation des variables de x e augmentera la valeur de Z On a donc répondu à la première question, relative au test d optimalité Pour une maximisation, si notre base est telle que c T e ne soit pas strictement négative ou nulle, alors il existe une variable (x e ) k = x k de x e telle que (c e ) k = c k > 0 Une augmentation de x k est donc susceptible d améliorer Z C est bien-sûr le critère de Dantzig qui va désigner cette variable La solution va alors s écrire :

32 LA MÉTHODE DU SIMPLEXE SOUS FORME MATRICIELLE 77 x b = B 1 (b x k A k E x e) où A k désigne la k-ième colonne de A En fixant x e = 0, et en faisant varier x k seulement, on obtient : x b = B 1 (b A k x k ) = B 1 b B 1 A k x k = b P x k Comme originellement x k est nulle, on ne peut que l augmenter Il y a deux cas : cas 1 : i, 0 En ce cas la solution est non bornée x k tend vers + et Z vers cas 2 : il y a 2 possibilités : pour chaque i 1 soit 0, et donc, (x b ) i 0 pour tout x k 0 : on ne peut pas utiliser cette variable 2 soit > 0, et dans ce cas, (x b ) i 0 pour x k b i Ainsi, pour tout > 0, il existe une valeur maximale de x k = b i, permettant x b 0 On choisit donc la variable k telle que : 324 Exemple avec solution optimale unique b i k = argmin i/ >0 Reprenons l exercice 10 du chapitre précédent : 1ère itération : On choisit comme base initiale VB= (e 1, e 2, e 3 ) On a dans ce cas 1 0 0 70 1 2 4 B = 0 1 0 = I 3, b = 80 = b, E = 2 1 1 0 0 1 60 3 2 2 Les coûts réduits définis par c T e = c T e c T b B 1 E sont égaux à x y z c T e = (3 5 6) Le critère de Dantzig implique que la variable z entre en base On a P = B 1 A 3 = (4, 1, 2) et on calcule ensuite les ratios b i : e 1 e 2 e 3 b i 70 4 = 17, 5 80 1 = 80 60 2 = 30 On en déduit que la variable sortante est e 1 2ème itération : On a maintenant la base VB= (z, e 2, e 3 ) On a alors 4 0 0 17, 5 1 2 1 B = 1 1 0, b = 62, 5, E = 2 1 0 2 0 1 25 3 2 0 On remarque que b est défini dans la ligne 19 du tableau 31 Les coûts réduits sont égaux à x y e 1 c T e = ( 3 2 2 3 2 ) Le critère de Dantzig implique que la variable y entre en base On a P = B 1 A 2 = (2, 1, 2) et on calcule ensuite les ratios b i : z e 2 e 3 b i 35 125 25 On en déduit que la variable sortante est e 3 3ème itération : On a maintenant la base VB= (z, e 2, y) On a alors 4 0 2 5 1 0 1 B = 1 1 1, b = 50, E = 2 0 0 2 0 2 25 3 1 0

78 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE On remarque que b est défini dans la ligne 9 du tableau 31 Les coûts réduits sont égaux à x e 1 e 3 c T e = ( 7 2 1 2 2) L algorithme s arrête car tous les poids sont négatifs On a donc trouvé l optimum Conclusion : La solution est constituée des variables de base y, z, e 2 Les valeurs de ces variables sont données respectivement par 25, 5, 50 Toutes les autres valeurs sont égales à 0 La fonction de coût vaut donc : Z = 3 0 + 5 25 + 6 5 = 155 325 Exemple avec solution optimale multiple Une ébénisterie produit des bureaux, des tables et des chaises Chaque type de produit réclame du bois et deux types de travaux : mise en forme et finition, suivant le tableau : Ressource bureau table chaise planches 8m 6m 1m mise en forme 4h 2h 3 2 h finition 2h 3 2 h 1 2 h On dispose de 48m de planches, 20h de mise en forme et 8h de finition On vend un bureau pour 60e, une table pour 35e et une chaise pour 20e La demande pour les chaises et les bureaux est illimitée, mais on ne pense vendre que 5 tables au plus On veut maximiser le profit Formalisons le problème : soient x 1, x 2, x 3 les variables décrivant respectivement les nombres de bureaux, de tables et de chaises On cherche à résoudre le PL x 1, x 2, x 3 0 8x 1 + 6x 2 + x 3 48 4x 1 + 2x 2 + 3 2 x 3 20 2x 1 + 3 2 x 2 + 1 2 x 3 8 x 2 5 maximiser Z(x 1, x 2, x 3 ) = 60x 1 + 35x 2 + 20x 3 Première itération : On a initialement VB= {x 4, x 5, x 6, x 7 } On a donc 1 0 0 0 48 8 6 1 B = 0 1 0 0 0 0 1 0, b = 20 8, E = 3 4 6 2 3 1 2 2 2 0 0 0 1 5 0 1 0 Les coûts réduits sont égaux à x 1 x 2 x 3 c T e = (60 35 20) Le critère de Dantzig implique que la variable x 1 entre en base On a P = B 1 A 1 = (8, 4, 4, 0) et on calcule ensuite les ratios b i : x 4 x 5 x 6 x 7 b i 6 5 4 On en déduit que la variable sortante est x 6

32 LA MÉTHODE DU SIMPLEXE SOUS FORME MATRICIELLE 79 Deuxième itération : On a initialement VB= {x 4, x 5, x 1, x 7 } On a donc 1 0 8 0 16 6 1 0 B = 0 1 4 0 0 0 2 0, b = 4 4, E = 3 2 2 0 3 1 2 2 1 0 0 0 1 5 1 0 0 Les coûts réduits sont égaux à x 2 x 3 x 6 c T e = ( 10 5 30) Le critère de Dantzig implique que la variable x 3 entre en base On a P = B 1 A 3 = ( 1, 1 2, 1 4, 0) et on calcule ensuite les ratios b i : x 4 x 5 x 1 x 7 b i 16 8 16 On en déduit que la variable sortante est x 5 Troisième itération : On a maintenant VB= {x 4, x 3, x 1, x 7 } On a donc 1 1 8 0 24 3 B = 0 2 4 0 1 0 2 2 0, b = 8 2 0 0 0 1 5 Les coûts réduits sont égaux à x 2 x 5 x 6, E = 6 1 0 2 1 0 3 2 0 1 1 0 0 c T e = (0 10 10) On a trouvé un optimum mais x 2 est à zéro Ceci indique une solution non unique car on peut faire entrer x 2 dans la base à coût constant Donc x 2 entre dans la base On poursuit alors le calcul normalement On a P = B 1 A 3 = ( 2, 2, 5 4, 1) et on calcule ensuite les ratios b i : x 4 x 3 x 1 x 7 b i 12 4 1, 6 5 On en déduit que la variable sortante est x 1 Quatrième itération : On a maintenant VB= {x 4, x 3, x 2, x 7 } On a donc 1 1 6 0 27, 2 8 0 0 3 B = 0 2 2 0 1 3 0 2 2 0, b = 11, 2 1, 6, E = 4 1 0 2 0 1 0 0 1 1 3, 4 0 0 0 Les coûts réduits sont égaux à x 1 x 5 x 6 c T e = (0 10 10) On a trouvé un optimum, mais x 1 est à zéro Ceci indique une solution non unique, car on peut faire entrer x 1 dans la base à coût constant Donc x 1 entre dans la base et on poursuit alors le calcul normalement On a P = B 1 A 3 = ( 2, 2, 5 4, 1) et on calcule ensuite les ratios b i : x 4 x 3 x 2 x 7 b i 17 7 2 17 4 On en déduit que la variable sortante est x 2 On a découvert un cycle Conclusion : La solution est constituée des variables de base réalisables possibles Ici VB1= {x 4, x 3, x 1, x 7 }, VB2= {x 4, x 3, x 2, x 7 } et de toutes leurs combinaisons linéaires intermédiaires

80 CHAPITRE 3 LA PROGRAMMATION LINÉAIRE - ÉCRITURE MATRICIELLE Les valeurs de ces variables sont données par b 1 = {24, 8, 2, 5}, b 2 = {27, 2; 11, 2; 1, 6; 3, 4} respectivement Toutes les autres valeurs sont égales à 0 En ne comptant que les variables entrant dans le coût, les deux points optimaux extrêmes sont : f 1 = (x 1, x 2, x 3 ) = (2, 0, 8), f 2 = (x 1, x 2, x 3 ) = (0; 1, 6; 11, 2) Toutes les solutions intermédiaires sont données par : (x 1, x 2, x 3 ) = (2c; 1, 6 1, 6c; 11, 2 3, 2c) avec 0 c 1 La fonction de coût vaut donc : Z(x 1, x 2, x 3 ) = 60x 1 + 30x 2 + 20x3 = 280 et elle est constante pour toutes ces solutions Pour des problèmes plus complexes, on peut avoir plusieurs variables à zéro dans P, et non plus une seule L ensemble des solutions est alors l espace vectoriel convexe induit par les solutions extrêmes Pour les trouver il faut réaliser toute les substitutions possibles autorisées 326 Exemple avec solution non bornée Soit une boulangerie qui fabrique des petits pains ordinaires et des pains campagnards ; Les pains ordinaires se vendent pour 36 centimes et les pains campagnards 30 centimes ; Un pain ordinaire nécessite une dose de levure et 60g de farine, un pain campagnard une dose de levure et 50g de farine La boulangerie possède pour le moment 5 doses de levure et 100g de farine La levure coûte 3 centimes la dose, et la farine 4 centimes les 10g Maximisons le profit de la boulangerie Soient x 1, x 2, x 3 les nombres respectifs de pains ordinaires produits, de pains campagnards produits, de doses de levure et x 4 la quantité de farine consommée par quantité de 10g Les revenus sont égaux à 36x 1 + 30x 2, les coûts sontégaux à 3x 3 + 4x 4 La fonction objectif à maximiser est Z(x 1, x 2, x 3 ) = 36x 1 + 30x 2 3x 3 4x 4 Les contraintes sont données par les inégalités : x 1 + x 2 5 + x 3 et 6x 1 + 5x 2 10 + x 4 On introduit 2 variables d écart pour les contraintes, x 5, x 6 qui sont toutes deux positives 1ère itération : VB= {x 5, x 6 } ; VHB= {x 1, x 2, x 3, x 4 } b = (5 10) Coûts réduits : (36, 30, 3, 4), on va donc faire rentrer x 1 en base P = (1 6) Ratios : (5 1, 66667) on va donc faire sortir x 6 2ème itération : VB= {x 5, x 1 } ; VHB= {x 2, x 3, x 4, x 6 } 5 3 ) b = ( 10 3 Coûts réduits : (0, 3, 2, 6), on va donc faire rentrer x 4 en base P = ( 1 6 1 6 ) Ratios : (20 10) on va donc faire sortir x 5 3ème itération : VB= {x 4, x 1 } ; VHB= {x 2, x 3, x 5, x 6 } b = (20 5) Coûts réduits : ( 2, 9, 12, 4), on va donc faire rentrer x 3 en base P = ( 1 6 1 6 ) Ratios : ( 6 1) La solution n est pas bornée Solution : Avec la dernière solution de base { réalisable, le système s écrit : x4 6x 3 = 20 x 1 x 3 = 5 Donc en augmentant x 3 de façon arbitraire, on fait aussi croître x 4 et x 1 arbitrairement, et donc on peut réduire Z sans fin, tout en obéissant à toutes les contraintes