Programmation lin´ eaire Pr. Khatmi Samira Ann´ee universitaire 2012/2013
Table des mati` eres 1 Introduction 1.1 Probl`emes de programmation math´ematique . . . . . . . . . . . . 1.2 Probl`emes de programmation lin`eaire . . . . . . . . . . . . . . .
1 2 2
2 Formulation d’un programme lin´ eaire (PL) 2.1 Les conditions de formulation d’un PL . . . 2.2 Les ´etapes de formulation d’un PL . . . . . 2.3 Pr´esentation th´eorique . . . . . . . . . . . 2.4 Exemples de formulations . . . . . . . . . . 2.5 Exercices . . . . . . . . . . . . . . . . . . . .
. . . . .
5 5 5 6 7 9
. . . . . . . . . .
11 11 12 13 14 18 18 19 20 21 21
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
3 La m´ ethode graphique 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 3.2 Repr´esentation graphique des contraintes . . . . . . . 3.3 Repr´esentation de la fonction objectif . . . . . . . . 3.4 Recherche du point optimal de la fonction objectif . . 3.5 Les diff´erents types de solutions d’un probl`eme de PL 3.5.1 Infinit´e de solution . . . . . . . . . . . . . . . 3.5.2 Solution optimale infinie . . . . . . . . . . . . 3.5.3 Aucune solution . . . . . . . . . . . . . . . . . 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . .
. . . . . . . . . .
4 La m´ ethode du simplexe 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Formulation du probl`eme . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Forme canonique . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Forme standard . . . . . . . . . . . . . . . . . . . . . . . . 4.3 R´esolution par la m´ethode du simplexe . . . . . . . . . . . . . . . 4.3.1 R´esolution d’un programme lin´eaire canonique par rapport a` la base I. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 R´esolution d’un programme lin´eaire quelconque . . . . . . 4.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
23 23 23 24 26 28 32 36 40
Chapitre 1 Introduction Dans une ´economie caract´eris´ee par la rar´efaction des ressources naturelles, une diminution des sources de financement et une concurrence toujours plus vive entre les entreprises, la r´epartition optimale de moyens limit´es entre la multitude des besoins devient la tˆache principale des responsables politiques et ´economiques de notre soci´et´e. Ce probl`eme se retrouve dans tous les domaines de l’activit´e ´economique, politique, scientifique et sociale. En gestion de la production, il s’agit, par exemple, de d´efinir une politique d’approvisionnement, d’adapter la production a` la demande, de d´eterminer les niveaux de stocks. En gestion financi`ere, il faut proc´eder au choix des investissements et d´efinir un programme d’amortissements. En marketing, il est n´ecessaire d’´etablir un r´eseau de repr´esentants, de choisir un support publicitaire. En raison de l’ampleur des enjeux d´ecisionnels, le d´ecideur ne peut plus prendre de d´ecisions hˆatives et justifier un choix d’attribution fond´e sur un raisonnement instinctif ou des calculs na¨ıfs. Une bonne r´esolution de ce type de probl`emes n´ecessite la connaissance de m´ethodes approuv´ees ainsi que la maˆıtrise des outils math´ematiques et informatiques d´evelopp´es `a cet effet. Les m´ethodes propos´ees pour r´esoudre les probl`emes ´evoqu´es ci-dessus sont nombreuses, mais elles peuvent toutes se r´esumer a` l’´enonc´e math´ematique suivant, a` savoir maximiser ou minimiser une fonction num´erique de variables soumises a` diverses contraintes. ` partir de la fin de la Seconde Guerre Mondiale, de nouvelles m´ethodes A permirent de r´esoudre des probl`emes complexes l`a o` u les m´ethodes classiques ´echouaient. Ces m´ethodes furent connues sous le nom de programmation lin´eaire, d´evelopp´ees principalement par George B. Dantzig (n´e le 8 novembre 1914), math´ematicien am´ericain et cr´eateur de la m´ethode du Simplexe, et L. Kantorovich (1912-1986). Danzig, outre la programmation lin´eaire, ´etudia entre autres la programmation math´ematique, la prise de d´ecision et les mod`eles de planification a` large ´echelle. L’impact de son œuvre fut consid´erable en gestion et en ´economie et ses m´ethodes restent totalement d’actualit´e. 1
Introduction
1.1
Probl` emes de programmation math´ ematique
De mani`ere g´en´erale, la r´esolution de probl`emes de programmation math´ematique vise a` d´eterminer l’allocation optimale (c’est-`a-dire la meilleure combinaison possible) de ressources limit´ees pour atteindre certains objectifs. Les allocations doivent minimiser ou maximiser une fonction dite objectif. En ´economie, ces fonctions sont par exemple le profit ou le coˆ ut. Ces probl`emes, trait´es par la programmation math´ematique, se distinguent des probl`emes d’optimisation classique par le fait que leurs solutions sont d’ordre num´erique. Celles-ci sont obtenues par une technique num´erique it´erative, alors que les solutions `a un probl`eme classique sont en g´en´eral donn´ees sous forme de formules ferm´ees. La forme g´en´erale d’un probl`eme de programmation math´ematique est la suivante : Optimiser Sous les contraintes
z = f (x1 , x2 , . . . , xn ) ≤ hi (x1 , x2 , . . . , xn ) ≥ bi i = 1 . . . m =
(1.1) (1.2)
o` u les fonctions f et hi sont des fonctions num´eriques `a n variables. La fonction f de (1.1) est la fonction objectif a` optimiser, tandis que les ´equations ou in´equations de (1.2) sont les contraintes. Selon la nature des fonctions f et hi , on peut ˆetre confront´e `a plusieurs types de probl`emes de programmation math´ematique. Lorsque les fonctions f et hi , i = 1, ..., m sont lin´eaires, il s’agit d’un probl`eme de programmation lin´eaire. Si de plus, on impose que les variables ne peuvent prendre que des valeurs enti`eres, on parle de programmation lin´eaire enti`ere. Les probl`emes dans lesquels la fonction f ou hi sont non lin´eaires font partie de la programmation non-lin´eaire. Un cas particulier est la programmation quadratique relative aux probl`emes pour lesquels la fonction f est quadratique et les fonctions hi lin´eaires. Par la suite, nous ´etudierons essentiellement les probl`emes de programmation lin´eaire.
1.2
Probl` emes de programmation lin` eaire
la programmation lin`eaire est beaucoup utilis´ee (pour ne citer que les cas les plus connus) dans la logistique, la finance d’entreprise ou encore aussi en th´eorie de la d´ecision lorsque nous devons r´esoudre un jeu a` strat´egie mixte (Th´eorie de la d´ecision et des jeux). Dans le cadre de r´esolution de probl`emes o` u interviennent des produits de deux variables nous parlons alors logiquement ”programmation quadratique”. C’est typiquement le cas en ´econom´etrie dans la mod´elisation des portefeuilles (Econom´etrie). La programmation lin´eaire est un cas particulier de la programmation math´ematique pour laquelle (1.1) et (1.2) sont lin´eaires. De plus, les variables sont suppos´ees ˆetre non-n´egatives. Un probl`eme de programmation lin´eaire revient donc a` : 2
Programmation lin´eaire
1.2 Probl` emes de programmation lin` eaire
Optimiser Sous les contraintes xj ≥
z = c1 x 1 + c2 x 2 + . . . + cn x n
(1.3)
≤ ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi = j = 1...n
(1.4) (1.5)
aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n Ce cours sera consacr´e a` la r´esolution de probl`emes de programmation lin´eaire par deux m´ethodes : • La m´ethode graphique • La m´ethode du Simplexe
Pr.Khatmi
3
Introduction
4
Programmation lin´eaire
Chapitre 2 Formulation d’un programme lin´ eaire (PL) 2.1
Les conditions de formulation d’un PL
La programmation lin´eaire comme ´etant un mod`ele admet des hypoth`eses (des conditions) que le d´ecideur doit valider avant de pouvoir les utiliser pour mod´eliser son probl`eme. Ces hypoth`eses sont : 1. Les variables de d´ecision du probl`eme sont positives 2. Le crit`ere de s´election de la meilleure d´ecision est d´ecrit par une fonction lin´eaire de ces variables, c’est `a dire, que la fonction ne peut pas contenir par exemple un produit crois´e de deux de ces variables. La fonction qui repr´esente le crit`ere de s´election est dite fonction objectif (ou fonction ´economique). 3. Les restrictions relatives aux variables de d´ecision (exemple : limitations des ressources) peuvent ˆetre exprim´ees par un ensemble d’´equations lin´eaires. Ces ´equations forment l’ensemble des contraintes. 4. Les param`etres du probl`eme en dehors des variables de d´ecisions ont une valeur connue avec certitude
2.2
Les ´ etapes de formulation d’un PL
G´en´eralement il y a trois ´etapes a` suivre pour pouvoir construire le mod`ele d’un programme lin´eaire : 1. Identifier les variables du probl`eme `a valeur non connues (variable de d´ecision) et les repr´esenter sous forme symbolique (Par exemple x1 ; x2 ) 2. Identifier les restrictions (les contraintes) du probl`eme et les exprimer par un syst`eme d’´equations lin´eaires. 5
Formulation d’un programme lin´ eaire (PL) 3. Identifier l’objectif ou le crit`ere de s´election et le repr´esenter sous une forme lin´eaire en fonction des variables de d´ecision. Sp´ecifier si le crit`ere de s´election est `a maximiser ou a` minimiser.
2.3
Pr´ esentation th´ eorique
Un programme lin´eaire consiste a` trouver le maximum ou le minimum d’une forme lin´eaire dite fonction objectif en satisfaisant certaines ´equations et in´egalit´es dites contraintes. En langage math´ematique, on d´ecrira de tels mod`eles de la mani`ere suivante : Soient N variables de d´ecision x1 , x2 . . . , xn , l’hypoth`ese que les variables de d´ecision sont positives implique que x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 La fonction objectif est une forme lin´eaire en fonction des variables de d´ecision de type z = c1 x 1 + c2 x 2 + . . . + cn x n o` u les coefficients c1 , . . . , cn doivent avoir une valeur bien d´etermin´ee (avec certitude) et peuvent ˆetre positifs, n´egatifs ou nuls. Par exemple le coefficient ci peut repr´esenter un profit unitaire li´e a` la production d’une unit´e suppl´ementaire du bien xi , ainsi la valeur de z est le profit total li´e a` la production des diff´erents biens en quantit´es ´egales a` x1 , x2 , . . . , xn Supposons que ces variables de d´ecision doivent v´erifier un syst`eme d’´equations lin´eaires d´efinis par p in´egalit´es : a11 x1 + a12 x2 + . . . + a1n xn ≥ b1 a21 x1 + a22 x2 + . . . + a2n xn ≥ b2 .. . ap1 x1 + ap2 x2 + . . . + apn xn ≥ bp o` u les coefficients aij et bi i = 1 . . . p , j = 1 · · · n doivent avoir une valeur bien d´etermin´ee (avec certitude) et peuvent ˆetre positifs, n´egatifs ou nuls. Le param`etre bi repr´esente la quantit´e de mati`ere premi`ere disponible dont le bien xj utilise une quantit´e ´egale a` aij xj . En suivant les ´etapes de formulation ci-dessus, on peut repr´esenter le PL comme suit : Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n Sous contraintes a11 x1 + a12 x2 + . . . + a1n xn ≥ b1 a21 x1 + a22 x2 + . . . + a2n xn ≥ b2 .. . ap1 x1 + ap2 x2 + . . . + apn xn x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 6
≥ bp
Programmation lin´eaire
2.4 Exemples de formulations
2.4
Exemples de formulations
La tˆache de formulation demande g´en´eralement une certaine expertise et connaissance du probl`eme pour pouvoir relever facilement les diff´erentes composantes du probl`eme et ainsi donner un programme qui mod´elise au mieux la situation r´eelle. Dans ce qui suit, on pr´esentera quelques exemples de formulation en programme lin´eaire li´es a` diff´erents probl`emes de d´ecision : Exemple 2.4.1 (Probl`eme d’agriculture). Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de tomates et celles de piments. Il dispose de 480 heures de main d’oeuvre et de 440 m3 d’eau. Un hectare de tomates demande 1 heure de main d’oeuvre, 4 m3 d’eau et donne un b´en´efice net de 100 dhs. Un hectare de piments demande 4 heures de main d’oeuvre, 2 m3 d’eau et donne un b´en´efice net de 200 dhs. Le minist`ere d’agriculture veut prot´eger le prix des tomates et ne lui permet pas de cultiver plus de 90 hectares de tomates. Quelle est la meilleure allocation de ses ressources ? 1. Identification des variables de d´ ecision Les deux activit´es que l’agriculteur doit d´eterminer sont les surfaces `a allouer pour la culture de tomates et de piments : • x1 : la surface allou´ee `a la culture des tomates • x2 : la surface allou´ee `a la culture des piments On v´erifie bien que les variables de d´ecision x1 ≥ 0 et x2 ≥ 0 2. Identification des contraintes. Dans ce probl`eme les contraintes repr´esentent la disponibilit´e des facteurs de production : • Terrain : l’agriculteur dispose de 150 hectares de terrain, ainsi la contrainte li´ee `a la limitation de la surface de terrain est x1 + x2 ≤ 150 • Eau : la culture d’un hectare de tomates demande 4 m3 d’eau et celle d’un hectare de piments demande 2m3 mais l’agriculteur ne dispose que de 440m3 . La contrainte qui exprime les limitations des ressources en eau est 4x1 + 2x2 ≤ 440 • Main d’œuvre : Les 480 heures de main d’oeuvre seront d´epartager (pas n´ecessairement en totalit´e) ente la culture des tomates et celles des piments. Sachant qu’un hectare de tomates demande une heure de main d’oeuvre et un hectare de piments demande 4 heures de main d’oeuvre alors la contrainte repr´esentant les limitations des ressources humaines est x1 + 4x2 ≤ 480 • Les limitations du minist` ere d’agriculture : Ces limitations exigent que l’agriculteur ne cultive pas plus de 90 hectares de tomates. La contrainte qui repr´esente cette restriction est x1 ≤ 90 3. Identification de la fonction objectif La fonction objectif consiste `a maximiser le profit apport´e par la culture Pr.Khatmi
7
Formulation d’un programme lin´ eaire (PL) de tomates et de piments. Les contributions respectives 100 et 200, des deux variables de d´ecision x1 et x2 sont proportionnelles `a leur valeur. La fonction objectif est donc z = x1 + 2x2 . Le programme lin´eaire qui mod´elise le probl`eme d’agriculture est : Maximiser z = 100x1 + 200x2 Sous contraintes x1 + x2 4x1 + 2x2 x1 + 4x2 x1 x1 ≥ 0, x2 ≥ 0
≤ 150 ≤ 440 ≤ 480 ≤ 90
Exemple 2.4.2 ( Probl`eme de m´edecine). Un sp´ecialiste en m´edecine a fabriqu´e un m´edicament (des pilules) pour gu´erir les sujets atteints d’un rhume. Ces pilules sont fabriqu´ees selon deux formats : • Petite taille : elle contient 2 grains d’aspirine, 5 grains de bicarbonate et 1 grain de cod´eine. • Grande taille : elle contient 1 grain d’aspirine, 8 grains de bicarbonate et 6 grains de cod´eine. Pour gu´erir la maladie, le sujet a besoin d’au moins 12 grains d’aspirine, 74 grains de bicarbonate et 24 grains de cod´eine. D´eterminer le nombre de pilules minimales `a prescrire au sujet pour qu’il soit gu´erit. Le probl`eme de m´edecine pr´esente certaines ressemblances avec le probl`eme de l’agriculture, dans les deux cas c’est un probl`eme d’allocation de ressources. 1. Identification des variables de d´ ecision Les variables de d´ecision qui repr´esentent des valeurs inconnues par le d´ecideur qui est dans ce cas le sp´ecialiste en m´edecine sont : • x1 : le nombre de pilules de petite taille `a prescrire. • x2 : le nombre de pilules de grande taille `a prescrire. On v´erifie bien que les variables de d´ecision x1 ≥ 0 et x2 ≥ 0 2. Identification des contraintes. Les contraintes impos´ees par le probl`eme sur les valeurs possibles de x1 et x2 sont : • La prescription doit contenir des pilules avec au moins 12 grains d’aspirine. Sachant qu’une petite pilule contient 2 grains d’aspirine et qu’une grande pilule contient un seul grain d’aspirine, on obtient la contrainte suivante : 2x1 + x2 ≥ 12 • De la mˆeme fa¸con que pour l’aspirine, la prescription du sp´ecialiste en m´edecine doit contenir au moins 74 grains de bicarbonate.Sachant qu’une petite pilule contient 5 grains de bicarbonate et qu’une grande pilule contient 8 grains de bicarbonate. Ainsi la contrainte suivante doit ˆetre satisfaite : 5x1 + 8x2 ≥ 74 8
Programmation lin´eaire
2.5 Exercices • Finalement la contrainte impos´ee par le fait que la prescription doit contenir au moins 24 grains de cod´eine et sachant qu’une petite pilule contient un grain de cod´eine et qu’une grande pilule contient 6 grains de cod´eine. La contrainte est x1 + 6x2 ≥ 24 3. Identification de la fonction objectif On remarque qu’il y a plusieurs couples de solutions qui peuvent satisfaire les contraintes sp´ecifi´ees `a l’´etape 2. La prescription doit contenir le minimum possible de pilules. Donc le crit`ere de s´election de la quantit´e de pilules `a prescrire est celle qui minimise le nombre total des pilules z = x1 + x2 . Le programme lin´eaire qui mod´elise ce probl`eme m´edical est donc le suivant : Minimiser Sous contraintes
2.5
z = x1 + x2 2x1 + x2 ≥ 12 5x1 + 8x2 ≥ 74 x1 + 6x2 ≥ 24 x1 ≥ 0, x2 ≥ 0
Exercices
Faites la formulation math´ematique des programmes lin´eaires suivants. Exercice 2.5.1. Une entreprise fabrique des chaises et des tables `a l’aide de deux machines A et B. Chaque produit passe obligatoirement par les deux machines. Pour produire une chaise, il faut 2 heures de machine A et 1 heure de machine B. Pour produire une table, il faut 1 heure de machine A et 2 heures de machine B. L’entreprise r´ealise un b´en´efice de 3Dh sur chaque chaise et de 4 Dh sur chaque table. Les deux machines A et B sont disponibles 12 heures par jour au maximum. Le probl`eme consiste `a savoir combien de chaises et de tables il faut fabriquer pour maximiser le b´en´efice. Exercice 2.5.2. Une compagnie poss`ede deux mines de charbon A et B. La mine A produit quotidiennement 1 tonne de charbon de qualit´e sup´erieure, 1 tonne de qualit´e moyenne et 6 tonnes de qualit´e inf´erieure. La mine B produit par jour 2, 4 et 3 tonnes de chacune des trois qualit´es. La compagnie doit produire au moins 90 tonnes de charbon de qualit´e sup´erieure, 120 tonnes de qualit´e moyenne et 180 tonnes de qualit´e inf´erieure. Sachant que le coˆ ut de production journalier est le mˆeme dans chaque mine, soit 1 000, quel est le nombre de jours de production dans la mine A et dans la mine B qui minimisent le coˆ ut de production de la compagnie ?
Pr.Khatmi
9
Formulation d’un programme lin´ eaire (PL) Exercice 2.5.3. Un tailleur a `a sa disposition 10 m`etres de coton, 7,5 m`etres de laine et 5 m`etres de soie. Il a besoin pour un complet d’un m`etre de coton, d’un m`etre de laine et de 0,25 m`etre de soie. Pour une robe, il emploie un m`etre de coton, 0,5 m`etre de laine et un m`etre de soie. Si un complet coˆ ute 160 Dh et une robe 100 Dh, combien doit-il confectionner de complets et de robes pour maximiser son revenu ? Exercice 2.5.4. Une di´et´eticienne doit pr´eparer un repas compos´e de deux aliments A et B qui contienne au moins 300 g de prot´eines et 400 g d’hydrates de carbone. Chaque unit´e de l’aliment A contient 10 g de prot´eines et 16 g d’hydrates de carbone et coˆ ute 80 centimes. Chaque unit´e de l’aliment B contient 12,5 g de prot´eines et 10 g d’hydrates de carbone et coˆ ute 1,20 Dh. D´eterminer le m´elange qui coˆ ute le moins cher et qui apporte la quantit´e requise de prot´eines et d’hydrates de carbone.
10
Programmation lin´eaire
Chapitre 3 La m´ ethode graphique 3.1
Introduction
Apr`es avoir illustrer par des exemples, comment un probl`eme pratique peut ˆetre mod´elis´e par un programme lin´eaire, l’´etape qui va suivre sera certainement celle de la r´esolution de ce probl`eme math´ematique. La m´ethode graphique est l’une des premi`eres m´ethodes utilis´ees a` ce sujet. Cette m´ethode n’est applicable que dans le cas o` u il n’y a que deux variables ou au plus trois variables. Son avantage est de pouvoir comprendre ce que fait la m´ethode g´en´erale du Simplexe, sans entrer dans la technique purement math´ematique. Soit le probl`eme d’optimisation lin´eaire suivant : Optimiser Sous les contraintes xj ≥ 0
z = c1 x 1 + c2 x 2 + . . . + cn x n
(3.1)
≤ ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi = j = 1...n
(3.2) (3.3)
aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n D´ efinition 3.1.1. • On appelle point admissible ou point r´ ealisable , tout point x de l’espace qui satisfait les contraintes ´economiques et les contraintes de signe (3.2) et (3.3). • On appelle Zone des solutions admissibles ou ensemble des solutions r´ ealisables, l’ensemble des points r´ealisables. D´ efinition 3.1.2. • On appelle solution optimale un point r´ealisable qui optimise (maximise ou minimise) la fonction objectif z(x). • La valeur optimale est la valeur de la fonction objectif z(x) atteinte pour toute solution optimale. 11
La m´ ethode graphique
3.2
Repr´ esentation graphique des contraintes
Une repr´esentation graphique des in´egalit´es (des contraintes) va nous permettre de d´eterminer l’ensemble des solutions r´ealisables. Revenons a` l’exemple du probl`eme de m´edecine. Une des contraintes de ce probl`eme est celle relative au grain d’aspirine :2x1 + x2 ≥ 12. L’ensemble des solutions qui v´erifient cette in´egalit´e est le demi-plan limit´e par la droite 2x1 + x2 = 12 situ´e au dessus de celle-ci.
Figure 3.1 – Repr´esentation du demi plan 2x1 + x2 ≥ 12 L’espace hachur´e repr´esente le demi-plan des solutions qui v´erifient la contrainte 2x1 +x2 ≥ 12 Si on fait de mˆeme pour les deux autres contraintes du probl`eme (voir figures 3.2), on obtient les deux autres demi-plans P 2 et P 3 relatifs aux solutions v´erifiant respectivement les contraintes 5x1 + 8x2 ≥ 74 et x1 + 6x2 ≥ 24.
Figure 3.2 – Repr´esentation des demi- plans 5x1 + 8x2 ≥ 74 et x1 + 6x2 ≥ 24
12
Programmation lin´eaire
3.3 Repr´ esentation de la fonction objectif Donc la zone des solution r´ealisables du probl`eme est l’ensemble des points du plan qui appartiennent aux trois demi-plans relatifs `a chaque contrainte du programme lin´eaire, en d’autre terme l’intersection des trois demi plans (P 1 ∩ P 2 ∩ P 3) voir figure (3.3)
Figure 3.3 – Zone des solutions r´ealisables Remarque 3.2.1. La r´egion des solutions admissibles est un ensemble convexe (c.`a.d. tout segment de droite dont les extr´emit´es appartiennent `a l’ensemble est enti`erement inclus dans cet ensemble).
3.3
Repr´ esentation de la fonction objectif
La fonction objectif est une droite d’´equation z = ax + by ⇔ y = − ab x + D´ efinition 3.3.1. • − ab est la pente de la droite.
• le vecteur directeur de la droite est donn´e par le vecteur a • le vecteur normal de la droite est donn´e par le vecteur b
−b a
z b
Proposition 3.3.1. Deux droites qui ont la mˆeme pente sont parrall`eles Remarque 3.3.1. On peut tracer une infinit´e de droites qui repr´esentent des diff´erentes valeurs de la fonction objectif, toutes ces droites ont la mˆeme pente − ab . Par suite elles sont parall`eles entre elles. Donc pour les tracer, il suffit d’initialiser la fonction objectif, tracer la droite corespondante et prendre toutes les droites qui lui sont parall`eles. Pr.Khatmi
13
La m´ ethode graphique Remarque 3.3.2. Pour initialiser la fonction objectif z c’est `a dire lui donner une valeur z0 , il suffit de choisir un point (x0 ; y0 ) qui appartient `a la zone des solutions admissibles et calculer la valeur de z qui lui corresponds z0 = ax0 + by0 . On peut diminuer ou augmenter la valeur de z ind´efiniment.Le probl`eme est de connaˆıtre qu’elle est la droite qui correspond `a la valeur optimal de la fonction objectif ?
3.4
Recherche du point optimal de la fonction objectif
1. On dessine la zone des solutions admissibles. 2. Initialiser la fonction objectif z et tracer la droite qui la repr´esente. 3. On translate la droite de la fonction objectif selon son vecteur normal. Si le vecteur normal indique un d´eplacement vers le haut, la fonction objectif doit couper l’axe (OY ) le plus haut possible dans le cas d’une maximisation, et le plus bas possible dans le cas d’une minimisation, tout en touchant la zone des solutions admissibles. Si le vecteur normal indique un d´eplacement vers le bas, la fonction objectif doit couper l’axe (OY ) le plus bas possible dans le cas d’une maximisation, et le plus haut possible dans le cas d’une minimisation, tout en touchant la zone des solutions admissibles. Si le vecteur normal est un vecteur horizontal (cas rare mais possible), la fonction objectif ne coupera pas l’axe (OY ). Le point optimal sera, selon les cas, le plus ´eloign´e ou le plus proche de l’axe (OY ). 4. Le point optimal est le dernier point de la zone des solutions admissibles que la droite de la fonction objectif touchera lors de son d´eplacement. Exemple 3.4.1 (Probl`eme de maximisation avec la normale dirig´ee vers le haut). Maximiser z = 1200x1 + 1000x2 Sous contraintes 3x1 + 4x2 ≤ 160 6x1 + 3x2 ≤ 180 x1 ≥ 0, x2 ≥ 0 Les contraintes ´economiques et de signe sont repr´esent´ees graphiquement par des demi-plans dont l’intersection est un ensemble convexe (c.`a.d. tout segment de droite dont les extr´emit´es appartiennent `a l’ensemble est enti`erement inclus dans cet ensemble). Les solutions, si elles existent appartiennent donc `a cet ensemble. Il s’agit donc de chercher `a l’int´erieur de ce domaine, le couple (x1 , x2 ) maximisant la fonction objectif. 14
Programmation lin´eaire
3.4 Recherche du point optimal de la fonction objectif
Figure 3.4 – Zone des solutions r´ealisables On a le point (0, 0) appartient au domaine, donc on peut choisir la valeur initiale z0 = 1200 ∗ 0 + 1000 ∗ 0 = 0 et tracer la droite 1200x1 + 1000x2 = 0 qui passe par l’origine et donne une valeur nulle `a la fonction ´economique. Pour augmenter la valeur de z0 et donc la fonction ´economique, il suffit de d´eplacer cette droite vers le haut puisque le vecteur normal de la fonction ´economique est dirig´e vers le haut. cette droite sera d´eplac´ee jusqu’`a l’extrˆeme limite o` u il n’y aura plus qu’un point d’intersection (´eventuellement un segment) avec la r´egion des solutions admissibles. On remarquera que la solution optimale se trouve n´ecessairement sur
Figure 3.5 – Recherche du point optimal le pourtour de la r´egion des solutions admissibles. La solution se trouvant sur les deux droites d’´equation (3x1 + 4x2 = 160 et 6x1 + 3x2 = 180). La r´esolution de ce syst`eme conduit `a la solution x1 = 16 ; x2 = 28, d’o` u z = 47200.
Pr.Khatmi
15
La m´ ethode graphique Exemple 3.4.2 (Probl`eme de maximisation avec la normale dirig´ee vers le bas). Maximiser Sous contraintes
z = x1 − x2 x1 − 2x2 ≤ 2 2x1 − x2 ≤ 4 x1 + x 2 ≤ 5 x1 ≥ 0, x2 ≥ 0
Figure 3.6 – Recherche du point optimal Les contraintes ´economiques et de signe sont repr´esent´ees graphiquement par des demi-plans dont l’intersection est un ensemble convexe. Les solutions, si elles existent appartiennent donc `a cet ensemble. Il s’agit donc de chercher `a l’int´erieur de ce domaine, le couple (x1 , x2 ) maximisant la fonction objectif. On consid`ere le point (1, 1) qui appartient `a cette zone (voir figure (3.6) pour initialiser la fonction z0 = 1 − 1 = 0 et tracer la droite z = x − y = 0. Pour augmenter la fonction ´economique, il suffit de d´eplacer cette droite vers le bas puisque le vecteur normal de la fonction ´economique est dirig´e vers le bas. cette droite sera d´eplac´ee jusqu’`a l’extrˆeme limite o` u il n’y aura plus qu’un point d’intersection avec la r´egion des solutions admissibles. 16
Programmation lin´eaire
3.4 Recherche du point optimal de la fonction objectif On remarque que la solution optimale se trouve sur les deux droites d’´equation (2x1 − x2 = 4 et x1 − 2x2 = 2). La r´esolution de ce syst`eme conduit `a la solution x1 = 2 ; x2 = 0, d’o` u z = 2. NB : les coordonn´ees du point optimal peuvent ˆetre relev´es directement sur le graphique.
Exemple 3.4.3 (Probl`eme de minimisation). Une compagnie poss`ede deux mines de charbon A et B. La mine A produit quotidiennement 1 tonne de charbon de qualit´e sup´erieure, 1 tonne de qualit´e moyenne et 6 tonnes de qualit´e inf´erieure. La mine B produit par jour 2, 4 et 3 tonnes de chacune des trois qualit´es. La compagnie doit produire au moins 90 tonnes de charbon de qualit´e sup´erieure, 120 tonnes de qualit´e moyenne et 180 tonnes de qualit´e inf´erieure. Sachant que le coˆ ut de production journalier est le mˆeme dans chaque mine, soit 1 000, quel est le nombre de jours de production dans la mine A et dans la mine B qui minimisent le coˆ ut de production de la compagnie ? Pour traduire ce probl`eme sous la forme d’un programme lin´eaire, posons x1 le nombre de jours de travail dans la mine A et x2 celui dans la mine B. Par jour, la mine A permet de produire 1 tonne de charbon de qualit´e sup´erieure tandis que la mine B peut en produire 2 tonnes. Comme la compagnie doit en produire au moins 90 tonnes, la contrainte s’´ecrit : x1 + 2x2 ≥ 90 De mˆeme, pour les deux autres qualit´es de charbon, on trouve : x1 + 4x2 ≥ 120 6x1 + 3x2 ≥ 180 La fonction objectif `a minimiser est : z = 1000x1 + 1000x2 Le probl`eme de programmation lin´eaire s’´ecrit donc : Minimiser z = 1000x1 + 1000x2 Sous contraintes x1 + 2x2 ≥ 90 x1 + 4x2 ≥ 120 6x1 + 3x2 ≥ 180 x1 ≥ 0, x2 ≥ 0 La figure (3.7) indique dans sa partie hachur´ee l’ensemble des points (x1 ; x2 ) qui satisfont les contraintes. Il s’agit dans ce cas d’une r´egion non-born´ee qui a pour sommets les points : Pr.Khatmi
17
La m´ ethode graphique
X X X X
Intersection Intersection Intersection Intersection
de la droite d’´equation 6x1 + 3x2 = 180 avec l’axe x2 : (0; 60). des droites 6x1 + 3x2 = 180 et x1 + 2x2 = 90 : (10; 40). des droites x1 + 2x2 = 90 et x1 + 4x2 = 120 : (60; 15). de la droite d’´equation x1 + 4x2 = 120 avec l’axe x1 : (120; 0).
Figure 3.7 – L’ensemble des points r´ealisables n’est pas born´e. La fonction objectif ´etant donn´ee par z = 1000x1 + 1000x2 sa pente vaut 1. En tra¸cant des droites parall`eles ayant pour pente -1, on s’aper¸coit que celle qui conserve un point en commun avec la r´egion r´ealisable et dont l’ordonn´ee `a l’origine est la plus petite est la droite passant par le sommet (10; 40). La solution optimale est donc x1 = 10 et x2 = 40. Le coˆ ut de production est donn´e par : z = 1000(10) + 1000(40) = 50000
3.5
Les diff´ erents types de solutions d’un probl` eme de PL
Jusqu’ici, les probl`emes r´esolus graphiquement avaient une solution optimale unique, ce qui n’est pas toujours le cas. En effet, trois autres situations peuvent se pr´esenter. Ces diff´erents types de solutions sont expliqu´es dans les probl`emes suivants.
3.5.1
Infinit´ e de solution Maximiser Sous contraintes
18
z =x+y 2x + 2y ≤ 8 x ≥ 0, y ≥ 0 Programmation lin´eaire
3.5 Les diff´ erents types de solutions d’un probl` eme de PL Comme indiqu´e sur la figure (3.8), la r´egion r´ealisable est ici un triangle rectangle dont les sommets sont les points (0 ;0), (0 ;4) et (4 ;0). La fonction objectif est parall`ele a` l’hypot´enuse.
Figure 3.8 – L’ensemble des points r´ealisables est un triangle. La droite qui permet d’attribuer la plus grande valeur a` z est le segment de droite reliant les sommets (0 ;4) et (4 ;0). Par cons´equent, tous les points de ce segment repr´esentent une solution optimale au probl`eme. Il existe donc une infinit´e de solutions qui donnent la mˆeme valeur de z, a` savoir 4. Comme les solutions optimales a` ce probl`eme correspondent au segment de droite d’extr´emit´es (0 ;4) et (4 ;0), elles peuvent ˆetre d´ecrites par l’ensemble : x 0 4 { =µ + (1 − µ) , 0 ≤ µ ≤ 1} y 4 0 En faisant varier µ entre 0 et 1 on obtient toutes les solutions optimales
3.5.2
Solution optimale infinie Maximiser Sous contraintes
z = 2x1 + 5x2 8x1 + 4x2 ≥ 40 x1 + 5x2 ≥ 10 x1 ≥ 0, x2 ≥ 0
Dans cet exemple, il sufit d’attribuer `a x1 et x2 des valeurs suffisamment grandes pour que les contraintes soient satisfaites. La valeur de la fonction objectif peut ˆetre augment´ee ind´efiniment. Sur la figure (3.9), nous constatons que la r´egion r´ealisable n’est pas born´ee et que la fonction objectif peut ˆetre d´eplac´ee `a l’infini en conservant toujours une intersection non vide avec la r´egion r´ealisable. Dans ce cas, on dit que le programme lin´eaire poss`ede une solution optimale infinie. Pr.Khatmi
19
La m´ ethode graphique
Figure 3.9 – L’ensemble des points r´ealisables n’est pas born´e.
3.5.3
Aucune solution Maximiser Sous contraintes
z = 2x1 + x2 x1 + x2 ≤ 2 x1 − x2 ≥ 3 x1 ≥ 0, x2 ≥ 0
La figure (3.10) ne pr´esente pas de r´egion r´ealisable. En effet, il n’existe aucun point qui satisfait simultan´ement les deux contraintes ainsi que les contraintes de non-n´egativit´e. Le programme lin´eaire ne poss`ede donc aucune solution.
Figure 3.10 – L’ensemble des points r´ealisables est impossible.
20
Programmation lin´eaire
3.6 Conclusion En r´esum´e, il existe quatre types de solutions a` un probl`eme de programmation lin´eaire : X Solution optimale unique ; X Infinit´e de solutions optimales ; X Solution optimale infinie ; X Aucune solution.
3.6
Conclusion
Nous allons r´esumer quelques-unes des propri´et´es des probl`emes de programmation lin´eaire que nous avons r´esolus graphiquement. Nous avons vu que pour un programme lin´eaire fini, la r´egion des solutions r´ealisables ´etait convexe, qu’elle poss´edait des sommets et que des arˆetes reliaient les diff´erents sommets. De plus, nous avons remarqu´e que lorsque le maximum ou le minimum de z ´etait fini, la solution optimale ´etait toujours un sommet de la r´egion r´ealisable. La situation ´etait diff´erente quand la fonction objectif pouvait prendre des valeurs infinies. Dans ce cas, naturellement, aucun sommet n’´etait optimal. Du point de vue de la terminologie, des solutions infinies ne sont pas qualifi´ees d’optimales. Le terme ”solution optimale” est employ´e quand le minimum ou le maximum de z est fini. ` noter que ces constatations, qui d´erivent de simples exemples graphiques, sont A vraies pour le cas g´en´eral de la programmation lin´eaire. Nous en reparlerons d’ailleurs quand nous ´etudierons la m´ethode du simplexe.
3.7
Exercices
Faites la r´esolution graphique des exercices du chapitre 1
Pr.Khatmi
21
La m´ ethode graphique
22
Programmation lin´eaire
Chapitre 4 La m´ ethode du simplexe 4.1
Introduction
On a pr´esent´e dans le chapitre pr´ec´edent une proc´edure graphique pour r´esoudre un programme lin´eaire `a deux variables. Par contre, dans la plupart des probl`emes r´eels, on a plus que deux variables a` d´eterminer. Une proc´edure alg´ebrique pour r´esoudre les programmes lin´eaires avec plus que deux variables fera l’objet de ce chapitre. C’est la m´ethode de simplexe,elle consiste a` suivre un certain nombre d’´etapes avant d’obtenir la solution d’un probl`eme donn´e. Il s’agit d’une m´ethode alg´ebrique it´erative qui permet de trouver la solution exacte d’un probl`eme de programmation lin´eaire en un nombre fini d’´etapes. Afin de comparer avec la r´esolution graphique, nous pouvons consid´erer que nous sommes dans un espace a` n dimensions (nombre de variables d’activit´e). Les contraintes d´elimitent un poly`edre convexe, r´egion des solutions admissibles ; la fonction objectif est un hyperplan que l’on va d´eplacer le plus loin possible de l’origine, jusqu’`a l’extrˆeme limite o` u il n’y aura plus qu’un point d’intersection (´eventuellement un segment, un plan...) avec la r´egion des solutions admissibles. La solution se trouvant forc´ement sur le pourtour du poly`edre admissible, la m´ethode du simplexe consiste en it´erations qui font passer d’un sommet du poly`edre a` un autre en s´electionnant le sommet adjacent maximisant la fonction objectif.
4.2
Formulation du probl` eme
Un probl`eme g´en´eral de programmation lin´eaire peut se formuler de la mani`ere suivante : 23
La m´ ethode du simplexe
Optimiser
z = c1 x 1 + c2 x 2 + . . . + cn x n
(4.1)
≤ ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi = j = 1...n
Sous les contraintes xj ≥ 0
(4.2) (4.3)
aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n Chaque contrainte pouvant avoir un signe d’in´egalit´e diff´erent. En r´esum´e, un programme lin´eaire est un mod`ele math´ematique qu’on peut ´ecrire sous la forme matricielle suivante : Optimiser
z = cx ≤ Ax ≥ b = x≥0
Sous les contraintes
(4.4) (4.5) (4.6)
· · · a1n · · · a2n Avec c = , x = et A = .. .. . . cn xn am1 am2 · · · amn Un probl`eme de programmation lin´eaire peut se pr´esenter sous diff´erentes formes. En voici la terminologie.
4.2.1
c1 c2 .. .
x1 x2 .. .
a11 a21 .. .
a12 a22 .. .
Forme canonique
D´ efinition 4.2.1. Si la fonction objectif doit ˆetre maximis´ee et si toutes les contraintes (4.2) sont des in´equations du type ≤, on dit que le programme lin´eaire se pr´esente sous une forme canonique. Matriciellement, un probl`eme de programmation lin´eaire se pr´esente sous sa forme canonique de la mani`ere suivante : Maximiser Sous les contraintes
z = cx Ax ≤ b x≥0
(4.7) (4.8) (4.9)
Tout probl`eme de programmation lin´eaire peut ˆetre pos´e sous forme canonique. Deux cas peuvent alors se pr´esenter : La transformation de minimisation en maximisation, la transformation des contraintes economiques et les contraintes de signe. 24
Programmation lin´eaire
4.2 Formulation du probl` eme 1. Transformation minimisation-maximisation Tout probl`eme de minimisation peut ˆetre transform´e en un probl`eme ´equivalent de maximisation. En effet, le probl`eme : Minimiser z = cx ⇔ Maximiser (−z) = −cx La raison pour laquelle ces deux formulations sont ´equivalentes est simple : la solution qui permet d’obtenir la plus petite valeur de z fournit ´egalement la plus grande valeur de (−z). La seule diff´erence r´eside dans le signe de la valeur de la fonction objectif. La valeur minimale de z s’obtient en prenant l’oppos´e de la valeur maximale de (−z). Exemple 4.2.1. Minimiser z = 3x1 −2x2 +5x3 La formulation ´equivalente en terme de maximisation est : Maximiser (−z) = −3x1 + 2x2 − 5x3 2. Transformation des contraintes ´ economiques (a) si la ieme contrainte est de la forme : ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m) en la multipliant par (-1) on obtient : −ai1 x1 − ai2 x2 − . . . − ain xn ≤ −bi (1 ≤ i ≤ m) (b) si la ieme contrainte est de la forme : ai1 x1 + ai2 x2 + . . . + ain xn = bi (1 ≤ i ≤ m) on peut transformer cette ´equation en deux in´equations : ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m) ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m) Il suffit alors de multiplier la deuxi`eme ´equation par (-1) pour obtenir : ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m) −ai1 x1 − ai2 x2 − . . . − ain xn ≤ −bi (1 ≤ i ≤ m) 3. Transformation des variables sans restriction de signe en variables positifs. Dans certains probl`emes, il arrive qu’on doive traiter une ou plusieurs variables de signe quelconque. Une variable sans restriction de signe peut alors ˆetre d´ecompos´ee en deux variables non-n´egatives x+ et x− . En posant : x = x+ − x− Avec x+ = max(0, x) et x− = max(0, −x) Pr.Khatmi
25
La m´ ethode du simplexe Exemple 4.2.2. Transformer le probl`eme de programmation lin´eaire suivant Minimiser sous contrainte
z = x1 − 2x2 x1 − 2x2 ≤ 5 3x1 + 2x2 ≥ 2 x1 + x2 = 7 x1 ≥ 0, x2 de signe quelconque
sous forme canonique. X Transformer minimiser en maximiser
Minimiser z = x1 − 2x2 ⇔ Maximiser (−z) = −x1 + 2x2 X Transformation des contraintes ´economiques La premi`ere contrainte est d´ej`a sous forme canonique. La deuxi`eme doit ˆetre multipli´ee par (-1) : −3x1 − 2x2 ≤ −2 Finalement, pour la troisi`eme contrainte, on pose : x1 + x2 ≤ 7 et x1 + x2 ≥ 7 La contrainte x1 + x2 ≥ 7 doit ˆetre multipli´e par (−1). X Transformation des contraintes de signe − x1 ≥ o, pour x2 , on pose x2 = x+ 2 − x2 Sous forme canonique, le probl`eme de programmation lin´eaire s’´ecrit : Maximiser Sous contraintes
4.2.2
− (−z) = −x1 + 2x+ 2 − 2x2 − x1 − 2x+ 2 + 2x2 ≤ 5 − −3x1 − 2x+ 2 + 2x2 ≤ −2 − x1 + x+ 2 − x2 ≤ 7 − −x1 − x+ 2 + x2 ≤ −7 − x1 ≥ 0, x+ 2 ≥ 0, x2 ≥ 0
Forme standard
D´ efinition 4.2.2. Un probl`eme de programmation lin´eaire se pr´esente sous sa forme standard si toutes les contraintes sont des ´equations. La fonction objectif doit ´egalement ˆetre maximis´ee. Sous forme matricielle, la forme standard s’´ecrit : Maximiser Sous les contraintes
26
z = cx Ax = b x≥0
(4.10) (4.11) (4.12) Programmation lin´eaire
4.2 Formulation du probl` eme Tout probl`eme de programmation lin´eaire peut ˆetre pos´e sous forme standard. Trois cas peuvent alors se pr´esenter : La transformation de minimisation en maximisation, la transformation des contraintes de signe et la transformation des contraintes ´economiques in´egalit´ees en contraintes ´egalit´ees. La transformation minimisation-maximisation et la transformation des contraintes de signe sont d´eja trait´es au paragraphe pr´ec´edent, il reste la derni`ere transformation . Transformation des contraintes in´ egalit´ ees en contraintes ´ egalit´ ees Pour transformer les in´egalit´es en ´egalit´es, on introduit des variables nonn´egatives appel´ees variables d’´ ecart. eme 1. si la i contrainte est de la forme : ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m) nous introduisons une nouvelle variable ti ≥ 0 et ´ecrivons : ai1 x1 + ai2 x2 + . . . + ain xn + ti = bi avec ti = bi − ai1 x1 + ai2 x2 + . . . + ain xn 2. si la ieme contrainte est de la forme : ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m) nous introduisons une nouvelle variable ti ≥ 0 et ´ecrivons : ai1 x1 + ai2 x2 + . . . + ain xn − ti = bi avec ti = ai1 x1 + ai2 x2 + . . . + ain xn − bi Remarque 4.2.1. – Avec l’introduction des variables d’´ecart, tout probl`eme sous forme canonique poss`ede une forme standard ´equivalente. – La m´ethode du simplexe requiert des bi ≥ 0. Par cons´equent, les contraintes qui ont un bi n´egatif doivent ˆetre transform´ees en contraintes aux bi positifs. Cette transformation se fait simplement en multipliant la contrainte par (−1). Exemple 4.2.3. Transformer le probl`eme de programmation lin´eaire suivant Minimiser sous contrainte
z = x1 − 2x2 x1 − 2x2 ≤ 5 3x1 + 2x2 ≥ 2 x1 ≥ 0, x2 de signe quelconque
sous forme canonique. Pr.Khatmi
27
La m´ ethode du simplexe X Transformation de minimiser en maximiser
Minimiser z = x1 − 2x2 ⇔ Maximiser (−z) = −x1 + 2x2 X Transformation des contraintes ´economiques • La contrainte x1 − 2x2 ≤ 5 En introduisant la variable d’´ecart t1 , elle va ˆetre transform´ee en x1 − 2x2 + t1 = 5 • La contrainte 3x1 + 2x2 ≥ 2 En introduisant la variable d’´ecart t2 , elle va ˆetre transform´ee en 3x1 + 2x2 − t2 = 2 X Transformation des contraintes de signe − x1 ≥ o, pour x2 , on pose x2 = x+ 2 − x2 Sous forme standard, le probl`eme de programmation lin´eaire s’´ecrit : Maximiser Sous contraintes
− (−z) = −x1 + 2x+ 2 − 2x2 − x1 − 2x+ 2 + 2x2 + t1 = 5 − 3x1 + 2x+ 2 − 2x2 − t2 = 2 − x1 ≥ 0, x+ 2 ≥ 0, x2 ≥ 0
En r´esum´e, nous avons vu que la fonction objectif d’un programme lin´eaire peut ˆetre pr´esent´ee sous forme de maximisation, que les contraintes peuvent toujours s’´ecrire sous forme d’´egalit´e (avec des bi positifs) et que les variables sans restriction de signe peuvent ˆetre d´ecompos´ees en variables non-n´egatives. En d’autres termes un programme lin´eaire peut toujours ˆetre pr´esent´e sous sa forme standard.
4.3
R´ esolution par la m´ ethode du simplexe
Dans le paragraphe pr´ec´edent, nous avons montr´e comment un probl`eme de programmation lin´eaire pouvait toujours se pr´esenter sous forme standard avec un second membre positif : Maximiser Sous contraintes
28
z = cx Ax = b x≥0 b≥0
(4.13) (4.14) (4.15) (4.16) Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe Dans cette formulation, le vecteur x contient toutes les variables, y compris les variables d’´ecart ; il s’agit d’un vecteur colonne d’ordre (n × 1). Le vecteur c est un vecteur ligne d’ordre (1×n). Quant `a la matrice A, d’ordre (m×n), il s’agit de la matrice des coeffcients des contraintes transform´ees. Enfin, le vecteur b d’ordre (m × 1) est le vecteur (positif) du second membre. D´ efinition 4.3.1. • On appelle solution d’un probl`eme de programmation lin´eaire tout vecteur x qui satisfait les contraintes (4.14). • Une solution est appel´ee solution r´ealisable si elle v´erifie les contraintes de non-n´egativit´e (4.15). Dans le cas contraire, on dit que la solution n’est pas r´ealisable. • Une solution r´ealisable est une solution optimale s’il n’existe pas d’autres solutions r´ealisables qui fournissent une plus grande valeur de la fonction objectif. ` noter que dans un probl`eme poss´edant des solutions r´ealiRemarque 4.3.1. A sables, il se peut que la valeur optimale de la fonction objectif soit infinie. Dans ce cas, on parle de solution optimale infinie. L’ensemble des contraintes (4.14) s’´ecrit donc comme un syst`eme de m ´equations a` n inconnues : Ax = b. Pour d´evelopper la m´ethode du simplexe, nous avancerons les hypoth`eses suivantes : 1. r(A) = r(A|b), c’est-`a-dire que le syst`eme d’´equations est compatible. 2. r(A) = m, o` u m est le nombre de contraintes. La seconde hypoth`ese permet de former, a` partir de A, une sous matrice B (m×m) inversivble. Cette matrice B peut ˆetre form´ee par n’importe quel ensemble de m colonnes lin´eairement ind´ependantes de A.. La matrice B est appel´ee matrice de base puisqu’elle est form´ee de m vecteurs lin´eairement ind´ependants. Sans restreindre la g´en´eralit´e, on peut supposer que les colonnes de A ont ´et´e ordonn´ees de mani`ere `a pouvoir ´ecrire A sous la forme A = (B, N ), avec B de dimension (m×m) la matrice de base et N de dimension (m×(n−m)) contenant les colonnes de A qui n’appartiennent pas `a B. Le vecteur x peut ˆetre partitionn´e de fa¸con analogue en posant x = (xB , xN ). D´ efinition 4.3.2 (Variables de base). Les variables xB sont appel´ees variables de base et les variables xN les variables hors base. D´ efinition 4.3.3 (Base). La famille I constitu´e par les indices des variables de bases est dite une base Finalement le vecteur c peut lui aussi ˆetre partitionn´e de la mˆeme mani`ere en c = (cB , cN ). Le programme lin´eaire (4.13)-(4.14) peut donc ˆetre reformul´e de la Pr.Khatmi
29
La m´ ethode du simplexe mani`ere suivante : Maximiser Sous contraintes
z = cB x B + cN x N BxB + N xN = b xB ≥ 0, xN ≥ 0 b≥0
(4.17) (4.18) (4.19) (4.20)
La contrainte (4.18) peut s’´ecrire de mani`ere ´equivalente : BxB = b − N xN etr puisque B est inversible xb = B −1 b − B −1 N xN Lorsque toutes les variables hors base sont nulles, xN = 0, la relation (4.3)devient xb = B −1 b. D´ efinition 4.3.4 (solution de base). • On appelle solution de base la solution : −1 xB B b = xN 0 • Lorsque xB = B −1 b ≥ 0 et xn = 0, on parle de solution de base r´ealisable. Remarque 4.3.2. Si les variables de base forment une solution de base r´ealisable, on dit que la base I est r´ealisable. Exemple 4.3.1. Soit le probl`eme de programmation lin´eaire suivant : Maximiser Sous contraintes
z = 3x1 + 5x2 + x3 x1 + 2x2 − x3 ≤ 16 3x1 − 4x2 ≤ 20 x1 ≥ 0, x2 ≥ 0 et x3 ≥ 0
Ce probl`eme peut se mettre sous forme standard en introduisant les variables d’´ecart t1 et t2 : Maximiser Sous contraintes
30
z = 3x1 + 5x2 + x3 + 0.t1 + 0t2 x1 + 2x2 − x3 + t1 = 16 3x1 − 4x2 + t2 = 20 x1 , x 2 , x 3 , t 1 , t 2 ≥ 0 Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe Sous forme matricielle, on obtient donc : A=
1 2 −1 1 0 3 −4 0 0 1
, x=
x1 x2 x3 x4 x5
, b = 16 et c = 20
3 5 1 0 0
Formons `a partir de A une matrice de base B en prenant par exemple les colonnes 2 et 4, dans cet ordre : 2 1 B= −4 0 Il s’agit bien d’une base puisque B est inversible (|B| = 4 6= 0). ` cette matrice de base correspond une solution de base donn´ee par : xB = B −1 b. A Dans notre cas : 0 − 14 B −1 = 1 1 2
x2
xB =
0 − 14
= x4
1
1 2
16
−5
=
20
26
Les autres variables ´etant nulles, x1 = x3 = x5 = 0. Dans ce cas la base I = (2, 4) Cette solution de base n’est pas r´ealisable pour la simple raison que x2 = −5 viole la contrainte de non-n´egativit´e. Dans cet exemple, il est tr`es facile de trouver une base qui fournisse une solution r´ealisable de base. En effet les colonnes 4 et 5 forment une base qui est l’identit´e : B=I=
1 0 0 1
16 La solution de base est le vecteur b puisque : xB = I.b = b = 20 Comme b ≥ 0 lorsque le probl`eme est pr´esent´e sous sa forme standard, la solution est une solution r´ealisable de base, et z a pour valeur : z = 016 + 020 = 0 D´ efinition 4.3.5. Un programme lin´eaire sous forme standard est dit sous forme canonique par rapport `a une base I si la matrice B est l’identit´e et les coˆ uts correspondant aux variables de base sont nuls. Pr.Khatmi
31
La m´ ethode du simplexe
4.3.1
R´ esolution d’un programme lin´ eaire canonique par rapport ` a la base I.
On part de l’exemple trait´e dans la section r´esolution graphique Maximiser z = 1200x1 + 1000x2 Sous contraintes 3x1 + 4x2 ≥ 160 6x1 + 3x2 ≥ 180 x1 ≥ 0, x2 ≥ 0 dont la solution optimale est z = 47200 et r´ealis´ee au point x1 = 16 et x2 = 28 ´ Ecrivons le programme sous sa forme standard Maximiser z = 1200x1 + 1000x2 + 0.t1 + 0.t2 Sous contraintes 3x1 + 4x2 + t1 = 160 6x1 + 3x2 + t2 = 180 x1 ≥ 0, x2 ≥ 0, t1 ≥ 0, t2 ≥ 0 1. Initialisation Pour avoir une solution initiale r´ealisable, on commence par extraire de la matrice A une base I qui soit r´ ealisable et telle que le programme lin´eaire soit sous forme canonique par rapport ` a cette base. 3 4 1 0 1 0 A= ⇒B= et I = (3, 4) 6 3 0 1 0 1 la solution de base r´ealisable initiale est 0 0 160 180 Et la fonction objectif initiale est alors z0 = 1200 × 0 + 1000 × 0 = 0 On forme alors un premier tableau 0 a` partir du programme lin´eaire et de la base I. Tableau 0 HH HB HH x1 x2 t1 t2 C B HH t1 3 4 1 0 160 t2 6 3 0 1 180 4 1200 1000 0 0 -z=0
Ce tableau nous donne la premi`ere solution admissible : 32
Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe X Les variables Hors Base (HB) sont nulles :x1 = 0 ; x2 = 0 (t1 et t2 en rouge ne sont pas hors base ; elles ne sont pr´esentes que pour rappeler qu’il s’agit des colonnes des coefficients de ces deux variables dans la matrice A) X Les valeurs des variables dans la Base (B) se lisent dans la colonne C : t1 = 160 et t2 = 180 La derni`ere cellule (intersection de C et 4) donne la valeur de −z : −z = 0 donc z = 0 X La ligne 4 donne les valeurs marginales ou taux marginaux de substitution ; elles s’interpr`etent de la mani`ere suivante : a` ce stade de la solution, une augmentation de 1 unit´e de x1 ferait accroˆıtre la fonction objectif de 1200, et une augmentation de 1 unit´e de x2 ferait accroˆıtre la fonction objectif de 1000. L’algorithme du simplexe s’´ecrit sch´ematiquement ainsi : – Former le premier tableau du simplexe. – V´erifier si le test d’arrˆet est v´erifi´e. – Sinon, faire le tableau suivant et changer de base. Les conditions du tableau du simplexe A chaque it´eration les conditions suivantes doivent ˆetre v´erifi´ees : • Le programme lin´eaire est sous forme canonique par rapport `a la base. • La base est r´ealisable (les ´el´ements de la derni`ere colonne sont positifs ou nuls). • Les variables de base sont list´ees sur la premi`ere colonne. • La case en bas `a droite vaut −z • Les coˆ uts des variables de base sont nuls. 2. Tableau suivant L’objectif est d’augmenter la fonction objectif en faisant entrer une variable (HB) dans la base a` la place d’une autre variable de base qui va sortir de la base. Crit` ere de s´ election de la variable entrant dans la base : On s´electionne la variable HB ayant le plus grand coefficient positif dans la ligne 4, la colonne pivot est alors trouv´ee. Dans notre exemple x1 entre dans la base. HH HHB : B HHH
t1 t2 4
x1
x2
t1
t2
C
3 6 1200
4 3 1000
1 0 0
0 1 0
160 180 −z0 = 0
Pour s´electionner la variable sortante de la base, il est n´ecessaire de rajouter une colonne R au tableau, obtenue en faisant le rapport membre a` membre de la colonne C et de la colonne de la variable entrant dans la base (x1 ). Pr.Khatmi
33
La m´ ethode du simplexe
HH HHB : B HHH
t1 t2 4
x1
x2
t1
t2
C
R
3 6 1200
4 3 1000
1 0 0
0 1 0
160 180 −z0 = 0
160 3
30
Remarque 4.3.3. Sur la colonne R : – Un 0 dans la colonne C est remplac´e par un infiniment petit positif ε pour effectuer le calcul de R – Dans la colonne R on ne tient pas compte des valeurs n´egatives ou ind´etermin´ees. Crit` ere de s´ election de la variable sortant de la base : On s´electionne la variable dans la base ayant le plus petit coefficient positif dans la colonne R, la ligne pivot est alors trouv´ee. Dans notre exemple t2 sort de la base. HH HHB : B HHH
t1 t2 4
x1
x2
t1
t2
C
R
3 6 1200
4 3 1000
1 0 0
0 1 0
160 180 −z0 = 0
160 3
30
On appelle pivot l’intersection de la variable entrante et de la variable sortante, dans notre exemple le pivot est 6. Pour obtenir le tableau qui suit, on applique les r`egles suivantes : N Les coefficients de la ligne du pivot sont divis´es par le pivot. Le pivot prend donc la valeur 1. N Les coefficients de la colonne du pivot sont remis a` 0 except´e le pivot qui reste a` la valeur 1. N Pour les autres valeurs du tableau proc´eder comme suit `a partir du tableau pr´ec´edent : CCP ∗ CLP N V = AV − P Avec : • NV : Nouvelle Valeur de la case consid´er´ee du tableau • AV : Ancienne Valeur de la case consid´er´ee du tableau • CCP : Coefficient pr´ec´edent de la colonne pivot situ´e sur la mˆeme ligne que AV • CLP : Coefficient pr´ec´edent de la ligne pivot situ´e sur la mˆeme Colonne que AV • P : Valeur pr´ec´edente du pivot. 34
Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe Tableau 1 HH
B
: HHB HH H t1 x1 4
x1
x2
t1
t2
C
0 1 0
5/2 1/2 400
1 0 0
−1/2 1/6 -200
70 30 −36000
3. Test d’arrˆ et Th´ eor` eme 4.3.1 (condition suffisante d’optimalit´e). Consid´erons un programme lin´eaire sous forme canonique par rapport `a une base r´ealisable I. Si les coˆ uts sur la ligne 4 correspondant aux variables hors base sont n´egatifs ou nuls alors la solution de base I est la solution optimale et l’objectif `a l’optimum est z0 . Th´ eor` eme 4.3.2 (Probl`eme non born´e). Consid´erons un programme lin´eaire sous forme canonique par rapport `a une base r´ealisable I. S’il existe une variable hors base dont le coˆ ut sur la ligne 4 est positif et tous les autres coefficients de la colonne de cette variable sont n´egatifs ou nuls alors le programme lin´eaire n’est pas born´e, la solution est donc l’infini. Dans le tableau 1, on remarque que la variable x2 a un coˆ ut 400, donc positif et il ya au moins un coefficient de la colonne x2 est positif, donc on passe au tableau 2. Pour ce faire, on doit trouver la colonne et la ligne pivot. HH HHB : B HHH
t1 x1 4
x1
x2
t1
t2
C
R
0 1 0
5/2 1/2 400
1 0 0
−1/2 1/6 -200
70 30 −36000
28 60
x2 rentre dans la base et t1 sort de la base. T ableau2 HHHB : B HHH
H
x2 x1 4
x1
x2
t1
t2
C
0 1 0
1 0 0
2/5 −1/5 -160
−1/5 4/15 -120
28 16 −47200
Tous les coefficients de la ligne 4 relatifs aux variables HB, sont n´egatifs ou nuls, la solution trouv´ee est optimale. Nous avons donc ici atteint la solution optimale.Ce tableau nous donne la solution optimale admissible : Pr.Khatmi
35
La m´ ethode du simplexe X Les variables Hors Base (HB) sont nulles : t1 = 0 ; t2 = 0 X Les valeurs des variables dans la Base (B) se lisent dans la colonne C : x2 = 28 et x1 = 16 X La derni`ere cellule (intersection de C et 4) donne la valeur de -z : −z = −47200 ⇒ z = 47200 La ligne 4 donne les valeurs marginales ou taux marginaux de substitution ; elles s’interpr`etent de la mani`ere suivante : `a ce stade de la solution, une augmentation de 1 unit´e de t1 ferait diminuer la fonction objectif de 160, et une augmentation de 1 unit´e de t2 ferait diminuer la fonction objectif de 120 (il est `a noter qu’une augmentation de 1 unit´e d’une variable d’´ecart revient `a diminuer le second membre de l’´equation correspondante de 1 unit´e). Remarque 4.3.4 (Important). Si, `a la fin des it´erations, une variable est HB avec un coefficient nul dans la ligne 4, alors on a une arˆete (plan,...) optimale. Les autres sommets solutions sont obtenus en faisant rentrer cette variable dans la base.
4.3.2
R´ esolution d’un programme lin´ eaire quelconque
Pour pouvoir traiter les programmes lin´eaires g´en´eraux, la difficult´e consiste a` former un premier tableau du simplexe satisfaisant les invariants. En effet, former ce premier tableau ´equivaut `a identifier un sommet du poly`edre solutions r´ealisables (via la solution de base) et donc, en particulier, a` d´emontrer que le programme lin´eaire admet au moins une solution r´ealisable. Dans le cas d’un programme lin´eaire sous forme canonique par rapport a` la base , l’origine est une solution ´evidente mais c’est faux en g´en´eral. Dans cette section, on montre que le probl`eme de la recherche d’un premier tableau peut se r´eduire en un probl`eme d’optimisation, la r´esolution d’un autre programme lin´eaire, appel´e ( programme artificiel ), qui rel`eve, lui, du cas programme sous forme canonique par rapport `a la base. Prenons pour exemple le programme suivant qu’on r´esolu avec la m´ethode graphique. Maximiser z = 2x1 + 5x2 Sous contraintes 8x1 + 4x2 ≥ 40 x1 + 5x2 ≥ 10 x1 ≥ 0, x2 ≥ 0 La mise sous forme standard ram`ene deux variables d’´ecart. Maximiser Sous contraintes
36
z = 2x1 + 5x2 8x1 + 4x2 − t1 = 40 x1 + 5x2 − t2 = 10 x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe On introduit des variables artificielles dans les ´equations qui posent probl`eme. On prends pour objectif artificielle minimiser ses varaibles. Le programme artificielle associ´e est Minimiser Sous contraintes x1 ≥ 0,
w = k1 + k2 8x1 + 4x2 − t1 + k1 = 40 x1 + 5x2 − t2 + k2 = 10 x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0 m
Maximiser Sous contraintes x1 ≥ 0,
(−w) = −k1 − k2 8x1 + 4x2 − t1 + k1 = 40 x1 + 5x2 − t2 + k2 = 10 x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0
Le programme artificielle rel`eve du cas de programme canonique par rapport a` la base, en effet : 1 0 8 4 −1 0 1 0 A= ⇒B= et I = (5, 6) 1 5 0 −1 0 1 0 1 Les variables de base sont alors k1 et k2 et celles hors base sont x1 , x2 , t1 et t2 . Il y a bijection entre les solutions du programme lin´eaire initial et les solutions du programme artificiel telles que k1 = k2 = 0. Pour d´eterminer si le programme initial admet au moins une solution, il suffit donc de d´eterminer si le programme artificiel a une solution telle que k1 = k2 = 0. C’est ce qu’on fait en prenant pour objectif : minimiser k1 + k2 . Pour pouvoir appliquer l’algorithme du tableau du simplexe, il reste une difficult´e technique a` lever : les variable k1 et k2 sont en base alors que leurs coˆ uts sont non nuls (l’une des conditions du tableau du simplexe n’est pas satisfait). Il suffit de reformuler l’objectif en utilisant l’´equation o` u figure les variables artificielles : 8x1 + 4x2 − t1 + k1 = 40 ⇔ 8x1 + 4x2 − t1 − 40 = −k1 x1 + 5x2 − t2 + k2 = 10 ⇔ x1 + 5x2 − t2 − 10 = −k2 La fonction objectif artificielle devient alors : Maximiser (−w) = −k1 − k2 ⇔ Maximiser ($) = 9x1 + 8x2 − t1 − t2 − 50 Attention, cette fois ci la fonction objectif initiale est $0 = −50. On obtient ainsi le tableau initial tableau 0 satisfaisant toutes les conditions du tableau du simplexe. On applique au programme artificiel l’algorithme donn´e dans le cas favorable. Pr.Khatmi
37
La m´ ethode du simplexe
HHHB : B HHH
H
Tableau 0 :
Tableau 1 :
H HHHB : B HHH
B
: HHB HH H
x2
t1
t2
k1
k2
C
R
8 1 9
4 5 9
−1 0 -1
0 −1 -1
1 0 0
0 1 0
40 10 50
5 10
x1
x2
t1
t2
k1
k2
C
R
1 0 0
1/2 9/2 9/2
−1/8 1/8 1/8
0 −1 -1
1/8 −1/8 −9/8
0 1 0
5 5 5
10 10/9
x1
x2
t1
t2
k1
k2
C
1 0 0
0 1 0
−5/36 1/36 0
1/9 −2/9 0
5/36 −1/36 −1
-1/9 2/9 -1
40/9 10/9 0
x1 k2 4
HH
Tableau 2 :
k1 k2 4
x1
x1 x2 4
L’optimum du programme artificiel est $0 = 0. Les variables artificielles k1 et k2 sont hors base. On obtient une premi`ere base r´ealisable pour le programme lin´eaire initial en supprimant simplement les variables artificielles. On obtient ainsi un programme lin´eaire ´equivalent au programme lin´eaire initial avec une premi`ere base r´ealisable I = (1,2), les variables dans la base sont alors x1 et x2 et celles hors bases sont t1 et t2 . Maximiser Sous contraintes
z = 2x1 + 5x2 1 40 5 x1 − t1 + t2 = 36 9 9 1 2 10 x2 + t1 − t2 = 36 9 9 x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0
(4.21) (4.22) (4.23) (4.24)
Proposition 4.3.1. Le programme lin´eaire initial admet au moins une solution r´ealisable si et seulement si l’objectif r´ealis´e `a l’optimum du programme artificiel est $0 = 0. Proposition 4.3.2. Supposons que l’objectif r´ealis´e `a l’optimum du programme artificiel soit $0 = 0. La solution optimale du programme artificiel fournit une premi`ere base r´ealisable au programme lin´eraire initial si et seulement si aucune variable artificielle n’est en base. 38
Programmation lin´eaire
4.3 R´ esolution par la m´ ethode du simplexe On remarque que le programme lin´eaire obtenu ne satisfait pas toutes les conditions de l’algorithme du tableau du simplexe puisque les coˆ uts correspondant aux variables de base ne sont pas tous nuls. On applique la mˆeme technique que pr´ec´edemment : on r´e´ecrit l’objectif en se servant des ´equations des contraintes (4.22) et (4.23). x1 −
5 1 40 5 1 40 t1 + t2 = ⇔ x1 = t1 − t2 + 36 9 9 36 9 9
1 2 10 1 2 10 t1 − t2 = ⇔ x2 = − t1 + t2 + 36 9 9 36 9 9 La fonction objectif z est alors ´egale `a : x2 +
8 130 5 t1 + t2 + 36 9 9
z=
Pour d´eterminer z0 , on ´evalue l’objectif (attention a` la constante) sur la solution de base : z0 = 130 9
Tableau 0 :
HH HHB : B HHH
x1
x2
t1
t2
C
R
1 0 0
0 1 0
−5/36 1/36 5/36
1/9 −2/9 8/9
40/9 10/9 -130/9
40 -5
x1 x2 4
Tableau 1 :
HH HHB : B HHH
t2 x2 4
x1
x2
t1
t2
C
9 2 -8
0 1 0
−5/4 −1/4 5/4
1 0 0
40 10 -50
On remarque que la variable hors base t1 a une valeur positive dans la ligne 4, mais ses autres coefficients sont tous nuls, donc le test d’arrˆet est v´erifi´e, le probl`eme n’est pas born´e et la solution optimale est l’infini, r´esultat confirm´e par la m´ethode graphique. Remarque 4.3.5. Si, `a la fin des it´erations, une variable est HB avec un coefficient nul dans la ligne 4, alors on a une arˆete (plan,...) optimale. Les autres sommets solutions sont obtenus en faisant rentrer cette variable dans la base. Exemple 4.3.2. Consid´erons le probl`eme de maximisation suivant : Maximiser Sous contraintes
Pr.Khatmi
z = x 1 + x2 2x1 + 2x2 ≤ 8 x1 ≥ 0, x2 ≥ 0 39
La m´ ethode du simplexe Sous forme standard le probl`eme s’´ecrit : Maximiser Sous contraintes
z = x1 + x2 2x1 + 2x2 + t = 8 x1 ≥ 0, x2 ≥ 0, t ≥ 0
le premier trableau 0 est le suivcant : HHB : HH H
x1
x2
t
C
2 1
2 1
0 0
8 0
: HHB HH H
x1
x2
t
C
1 0
1 0
0 0
4 -4
HH
B
Tableau 0 :
t 4
HH
Tableau 1 :
B
x1 4
Sur la ligne 4 la variable x2 hors base a un coefficient nul, la solution est une arˆete dont les sommets sont (x1 = 4, x2 = 0) et (x1 = 0, x2 = 4)
4.4
Exercice
Exercice 4.4.1. Soit le programme lin´eaire suivant : Maximiser Sous contraintes
z = 3x2 + 5x3 4x2 − 3x3 ≤ 40 x1 + 4x2 + x3 = 6 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
1. Trouver une base r´ealisable du programme, la matrice de base associ´e ainsi que la solution r´ealisable initiale. 2. Dresser le premier tableau 0. 3. R´esoudre ce programme par la m´ethode du simplexe. Exercice 4.4.2. Soit le programme lin´eaire suivant : Maximiser Sous contraintes
40
z = 5x1 + 3x2 5x1 + 2x2 ≤ 40 5x1 + 4x2 ≤ 60 x1 ≥ 0, x2 ≥ 0 Programmation lin´eaire
4.4 Exercice 1. Ecrire ce programme sous forme matrici`elle. 2. R´esoudre ce programme par la m´ethode du simplexe. Exercice 4.4.3. Maximiser Sous contraintes
z = 2x1 + 3x2 + 5x3 x1 + 4x2 − 3x3 ≤ 8 2x1 − x2 ≤ 5 5x1 + 2x2 − x3 = 19 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
1. Ce programme poss`ede t-il une base r´ealisable ? 2. si oui est il sous forme caninique par rapport `a cette base ? 3. r´esoudre ce programme par la m´ethode du simplexe.
Pr.Khatmi
41