Vous êtes sur la page 1sur 45

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 . . . . . . . . . . . . . . . 2 Formulation dun programme lin eaire (PL) 2.1 Les conditions de formulation dun PL . . . 2.2 Les etapes de formulation dun PL . . . . . 2.3 Pr esentation th eorique . . . . . . . . . . . 2.4 Exemples de formulations . . . . . . . . . . 2.5 Exercices . . . . . . . . . . . . . . . . . . . . 1 2 2 5 5 5 6 7 9 11 11 12 13 14 18 18 19 20 21 21 23 23 23 24 26 28 32 36 40

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

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 di erents types de solutions dun probl` eme de PL 3.5.1 Innit e de solution . . . . . . . . . . . . . . . 3.5.2 Solution optimale innie . . . . . . . . . . . . 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 dun programme lin eaire canonique par rapport a ` la base I . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 R esolution dun programme lin eaire quelconque . . . . . . 4.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Chapitre 1 Introduction
Dans une economie caract eris ee par la rar efaction des ressources naturelles, une diminution des sources de nancement 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 lactivit e economique, politique, scientique et sociale. En gestion de la production, il sagit, par exemple, de d enir une politique dapprovisionnement, dadapter la production a ` la demande, de d eterminer les niveaux de stocks. En gestion nanci` ere, il faut proc eder au choix des investissements et d enir un programme damortissements. En marketing, il est n ecessaire d etablir un r eseau de repr esentants, de choisir un support publicitaire. En raison de lampleur des enjeux d ecisionnels, le d ecideur ne peut plus prendre de d ecisions h atives et justier un choix dattribution 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 eet. 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 n de la Seconde Guerre Mondiale, de nouvelles m A ethodes 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 planication a ` large echelle. Limpact de son uvre fut consid erable en gestion et en economie et ses m ethodes restent totalement dactualit 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 lallocation optimale (cest-` 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 prot ou le co ut. Ces probl` emes, trait es par la programmation math ematique, se distinguent des probl` emes doptimisation classique par le fait que leurs solutions sont dordre 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 dun 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 sagit dun 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 nance dentreprise 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. Cest 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) (1.4) (1.5)

ai1 x1 + ai2 x2 + . . . + ain xn bi = j = 1...n

aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n Ce cours sera consacr ea ` 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

Introduction

Programmation lin eaire

Chapitre 2 Formulation dun programme lin eaire (PL)


2.1 Les conditions de formulation dun 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, cest ` 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 lensemble 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 dun PL

G en eralement il y a trois etapes a ` suivre pour pouvoir construire le mod` ele dun programme lin eaire : 1. Identier 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. Identier les restrictions (les contraintes) du probl` eme et les exprimer par un syst` eme d equations lin eaires. 5

Formulation dun programme lin eaire (PL) 3. Identier lobjectif ou le crit` ere de s election et le repr esenter sous une forme lin eaire en fonction des variables de d ecision. Sp ecier 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 dune 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 , lhypoth` 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 coecients c1 , . . . , cn doivent avoir une valeur bien d etermin ee (avec certitude) et peuvent etre positifs, n egatifs ou nuls. Par exemple le coecient ci peut repr esenter un prot unitaire li ea ` la production dune unit e suppl ementaire du bien xi , ainsi la valeur de z est le prot total li ea ` la production des di erents biens en quantit es egales a ` x1 , x2 , . . . , xn Supposons que ces variables de d ecision doivent v erier un syst` eme d equations lin eaires d enis 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 coecients 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 di 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 ` di erents probl` emes de d ecision : Exemple 2.4.1 (Probl` eme dagriculture). Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de tomates et celles de piments. Il dispose de 480 heures de main doeuvre et de 440 m3 deau. Un hectare de tomates demande 1 heure de main doeuvre, 4 m3 deau et donne un b en ece net de 100 dhs. Un hectare de piments demande 4 heures de main doeuvre, 2 m3 deau et donne un b en ece net de 200 dhs. Le minist` ere dagriculture 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. Identication des variables de d ecision Les deux activit es que lagriculteur 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 erie bien que les variables de d ecision x1 0 et x2 0 2. Identication des contraintes. Dans ce probl` eme les contraintes repr esentent la disponibilit e des facteurs de production : Terrain : lagriculteur 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 dun hectare de tomates demande 4 m3 deau et celle dun hectare de piments demande 2m3 mais lagriculteur ne dispose que de 440m3 . La contrainte qui exprime les limitations des ressources en eau est 4x1 + 2x2 440 Main duvre : Les 480 heures de main doeuvre seront d epartager (pas n ecessairement en totalit e) ente la culture des tomates et celles des piments. Sachant quun hectare de tomates demande une heure de main doeuvre et un hectare de piments demande 4 heures de main doeuvre alors la contrainte repr esentant les limitations des ressources humaines est x1 + 4x2 480 Les limitations du minist` ere dagriculture : Ces limitations exigent que lagriculteur ne cultive pas plus de 90 hectares de tomates. La contrainte qui repr esente cette restriction est x1 90 3. Identication de la fonction objectif La fonction objectif consiste ` a maximiser le prot apport e par la culture Pr.Khatmi 7

Formulation dun 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 dagriculture est : Maximiser z = 100x1 + 200x2 Sous contraintes x1 + x2 4x1 + 2x2 x1 + 4 x2 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 dun rhume. Ces pilules sont fabriqu ees selon deux formats : Petite taille : elle contient 2 grains daspirine, 5 grains de bicarbonate et 1 grain de cod eine. Grande taille : elle contient 1 grain daspirine, 8 grains de bicarbonate et 6 grains de cod eine. Pour gu erir la maladie, le sujet a besoin dau moins 12 grains daspirine, 74 grains de bicarbonate et 24 grains de cod eine. D eterminer le nombre de pilules minimales ` a prescrire au sujet pour quil soit gu erit. Le probl` eme de m edecine pr esente certaines ressemblances avec le probl` eme de lagriculture, dans les deux cas cest un probl` eme dallocation de ressources. 1. Identication 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 erie bien que les variables de d ecision x1 0 et x2 0 2. Identication 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 daspirine. Sachant quune petite pilule contient 2 grains daspirine et quune grande pilule contient un seul grain daspirine, on obtient la contrainte suivante : 2x1 + x2 12 De la m eme fa con que pour laspirine, la prescription du sp ecialiste en m edecine doit contenir au moins 74 grains de bicarbonate.Sachant quune petite pilule contient 5 grains de bicarbonate et quune 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 quune petite pilule contient un grain de cod eine et quune grande pilule contient 6 grains de cod eine. La contrainte est x1 + 6x2 24 3. Identication de la fonction objectif On remarque quil y a plusieurs couples de solutions qui peuvent satisfaire les contraintes sp eci 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 z = x1 + x2 2x1 + x2 12 5x1 + 8x2 74 x1 + 6 x2 24 x1 0, x2 0

2.5

Exercices

Faites la formulation math ematique des programmes lin eaires suivants. Exercice 2.5.1. Une entreprise fabrique des chaises et des tables ` a laide 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. Lentreprise r ealise un b en ece 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 ece. 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

Formulation dun 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 dun m` etre de coton, dun 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 dhydrates de carbone. Chaque unit e de laliment A contient 10 g de prot eines et 16 g dhydrates de carbone et co ute 80 centimes. Chaque unit e de laliment B contient 12,5 g de prot eines et 10 g dhydrates 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 dhydrates 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 lune des premi` eres m ethodes utilis ees a ` ce sujet. Cette m ethode nest applicable que dans le cas o` u il ny 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 doptimisation lin eaire suivant : Optimiser Sous les contraintes xj 0 z = c1 x 1 + c2 x 2 + . . . + cn x n (3.1) (3.2) (3.3) ai1 x1 + ai2 x2 + . . . + ain xn bi = j = 1...n

aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n D enition 3.1.1. On appelle point admissible ou point r ealisable , tout point x de lespace 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, lensemble des points r ealisables. D enition 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 lensemble des solutions r ealisables. Revenons a ` lexemple du probl` eme de m edecine. Une des contraintes de ce probl` eme est celle relative au grain daspirine :2x1 + x2 12. Lensemble des solutions qui v erient 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 Lespace hachur e repr esente le demi-plan des solutions qui v erient la contrainte 2x1 +x2 12 Si on fait de m eme pour les deux autres contraintes du probl` eme (voir gures 3.2), on obtient les deux autres demi-plans P 2 et P 3 relatifs aux solutions v eriant 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 lensemble des points du plan qui appartiennent aux trois demi-plans relatifs ` a chaque contrainte du programme lin eaire, en dautre terme lintersection des trois demi plans (P 1 P 2 P 3) voir gure (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 lensemble est enti` erement inclus dans cet ensemble).

3.3

Repr esentation de la fonction objectif


z b

La fonction objectif est une droite d equation z = ax + by y = a x+ b D enition 3.3.1. est la pente de la droite. a b le vecteur directeur de la droite est donn e par le vecteur le vecteur normal de la droite est donn e par le vecteur a b b a

Proposition 3.3.1. Deux droites qui ont la m eme pente sont parrall` eles Remarque 3.3.1. On peut tracer une innit e de droites qui repr esentent des di erentes valeurs de la fonction objectif, toutes ces droites ont la m eme pente a . b Par suite elles sont parall` eles entre elles. Donc pour les tracer, il sut dinitialiser 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 cest ` a dire lui donner une valeur z0 , il sut 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 eniment.Le probl` eme est de conna tre quelle 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 laxe (OY ) le plus haut possible dans le cas dune maximisation, et le plus bas possible dans le cas dune 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 laxe (OY ) le plus bas possible dans le cas dune maximisation, et le plus haut possible dans le cas dune 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 laxe (OY ). Le point optimal sera, selon les cas, le plus eloign e ou le plus proche de laxe (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 lintersection est un ensemble convexe (c.` a.d. tout segment de droite dont les extr emit es appartiennent ` a lensemble est enti` erement inclus dans cet ensemble). Les solutions, si elles existent appartiennent donc ` a cet ensemble. Il sagit donc de chercher ` a lint 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 lorigine et donne une valeur nulle ` a la fonction economique. Pour augmenter la valeur de z0 et donc la fonction economique, il sut 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 lextr eme limite o` u il ny aura plus quun point dintersection ( 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, do` 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 lintersection est un ensemble convexe. Les solutions, si elles existent appartiennent donc ` a cet ensemble. Il sagit donc de chercher ` a lint 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 gure (3.6) pour initialiser la fonction z0 = 1 1 = 0 et tracer la droite z = x y = 0. Pour augmenter la fonction economique, il sut 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 lextr eme limite o` u il ny aura plus quun point dintersection 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, do` 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 dun 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 + 2 x2 90 x1 + 4 x2 120 6x1 + 3x2 180 x1 0, x2 0 La gure (3.7) indique dans sa partie hachur ee lensemble des points (x1 ; x2 ) qui satisfont les contraintes. Il sagit dans ce cas dune r egion non-born ee qui a pour sommets les points : Pr.Khatmi 17

La m ethode graphique

Intersection Intersection Intersection Intersection

de la droite d equation 6x1 + 3x2 = 180 avec laxe 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 laxe x1 : (120; 0).

Figure 3.7 Lensemble des points r ealisables nest 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 saper coit que celle qui conserve un point en commun avec la r egion r ealisable et dont lordonn ee ` a lorigine 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 di erents types de solutions dun probl` eme de PL

Jusquici, les probl` emes r esolus graphiquement avaient une solution optimale unique, ce qui nest pas toujours le cas. En eet, trois autres situations peuvent se pr esenter. Ces di erents types de solutions sont expliqu es dans les probl` emes suivants.

3.5.1

Innit e de solution
Maximiser Sous contraintes z =x+y 2x + 2y 8 x 0, y 0 Programmation lin eaire

18

3.5 Les di erents types de solutions dun probl` eme de PL Comme indiqu e sur la gure (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 ` lhypot enuse.

Figure 3.8 Lensemble des points r ealisables est un triangle. La droite qui permet dattribuer 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 innit 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 dextr emit es (0 ;4) et (4 ;0), elles peuvent etre d ecrites par lensemble : { x y = 0 4 + (1 ) 4 0 , 0 1}

En faisant varier entre 0 et 1 on obtient toutes les solutions optimales

3.5.2

Solution optimale innie


Maximiser Sous contraintes z = 2x1 + 5x2 8x1 + 4x2 40 x1 + 5 x2 10 x1 0, x2 0

Dans cet exemple, il sut dattribuer ` a x1 et x2 des valeurs susamment grandes pour que les contraintes soient satisfaites. La valeur de la fonction objectif peut etre augment ee ind eniment. Sur la gure (3.9), nous constatons que la r egion r ealisable nest pas born ee et que la fonction objectif peut etre d eplac ee ` a linni 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 innie. Pr.Khatmi 19

La m ethode graphique

Figure 3.9 Lensemble des points r ealisables nest 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 gure (3.10) ne pr esente pas de r egion r ealisable. En eet, il nexiste 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 Lensemble 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 : Solution optimale unique ; Innit e de solutions optimales ; Solution optimale innie ; 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 ni, la r egion des solutions r ealisables etait convexe, quelle poss edait des sommets et que des ar etes reliaient les di erents sommets. De plus, nous avons remarqu e que lorsque le maximum ou le minimum de z etait ni, la solution optimale etait toujours un sommet de la r egion r ealisable. La situation etait di erente quand la fonction objectif pouvait prendre des valeurs innies. Dans ce cas, naturellement, aucun sommet n etait optimal. Du point de vue de la terminologie, des solutions innies ne sont pas quali ees doptimales. Le terme solution optimale est employ e quand le minimum ou le maximum de z est ni. ` noter que ces constatations, qui d A erivent de simples exemples graphiques, sont vraies pour le cas g en eral de la programmation lin eaire. Nous en reparlerons dailleurs 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 lobjet de ce chapitre. Cest la m ethode de simplexe,elle consiste a ` suivre un certain nombre d etapes avant dobtenir la solution dun probl` eme donn e. Il sagit dune m ethode alg ebrique it erative qui permet de trouver la solution exacte dun probl` eme de programmation lin eaire en un nombre ni d etapes. An de comparer avec la r esolution graphique, nous pouvons consid erer que nous sommes dans un espace a ` n dimensions (nombre de variables dactivit e). Les contraintes d elimitent un poly` edre convexe, r egion des solutions admissibles ; la fonction objectif est un hyperplan que lon va d eplacer le plus loin possible de lorigine, jusqu` a lextr eme limite o` u il ny aura plus quun point dintersection ( 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 dun 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 Sous les contraintes xj 0

z = c1 x 1 + c2 x 2 + . . . + cn x n

(4.1) (4.2) (4.3)

ai1 x1 + ai2 x2 + . . . + ain xn bi = j = 1...n

aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n Chaque contrainte pouvant avoir un signe din egalit e di erent. En r esum e, un programme lin eaire est un mod` ele math ematique quon peut ecrire sous la forme matricielle suivante : Optimiser Sous les contraintes z = cx Ax b = x0 a11 a21 . . . a12 a22 . . . (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 di erentes formes. En voici la terminologie. c1 c2 . . . x1 x2 . . .

4.2.1

Forme canonique

D enition 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 x0 (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 eet, le probl` eme : Minimiser z = cx Maximiser (z ) = cx La raison pour laquelle ces deux formulations sont equivalentes est simple : la solution qui permet dobtenir la plus petite valeur de z fournit egalement la plus grande valeur de (z ). La seule di erence r eside dans le signe de la valeur de la fonction objectif. La valeur minimale de z sobtient en prenant loppos 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 sut 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 quon 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. Transformer minimiser en maximiser

Minimiser z = x1 2x2 Maximiser (z ) = x1 + 2x2 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). 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
(z ) = x1 + 2x+ 2 2x2 x1 2x+ 2 + 2 x2 5 3x1 2x+ 2 + 2x2 2 x1 + x+ 2 x2 7 x1 x+ 2 + x2 7 x1 0, x+ 2 0, x2 0

4.2.2

Forme standard

D enition 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 z = cx Ax = b x0 (4.10) (4.11) (4.12) Programmation lin eaire

26

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 lintroduction 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 Transformation de minimiser en maximiser

Minimiser z = x1 2x2 Maximiser (z ) = x1 + 2x2 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 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 dun 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 dautres 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 z = cx Ax = b x0 b0 (4.13) (4.14) (4.15) (4.16) Programmation lin eaire

28

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 sagit dun vecteur colonne dordre (n 1). Le vecteur c est un vecteur ligne dordre (1 n). Quant ` a la matrice A, dordre (m n), il sagit de la matrice des coecients des contraintes transform ees. Enn, le vecteur b dordre (m 1) est le vecteur (positif) du second membre. D enition 4.3.1. On appelle solution dun 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 erie les contraintes de non-n egativit e (4.15). Dans le cas contraire, on dit que la solution nest pas r ealisable. Une solution r ealisable est une solution optimale sil nexiste pas dautres solutions r ealisables qui fournissent une plus grande valeur de la fonction objectif. ` noter que dans un probl` Remarque 4.3.1. A eme poss edant des solutions r ealisables, il se peut que la valeur optimale de la fonction objectif soit innie. Dans ce cas, on parle de solution optimale innie. Lensemble 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), cest-` 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 (mm) inversivble. Cette matrice B peut etre form ee par nimporte quel ensemble de m colonnes lin eairement ind ependantes de A.. La matrice B est appel ee matrice de base puisquelle 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 nappartiennent pas ` a B. Le vecteur x peut etre partitionn e de fa con analogue en posant x = (xB , xN ). D enition 4.3.2 (Variables de base). Les variables xB sont appel ees variables de base et les variables xN les variables hors base. D enition 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 b0 (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 x N Lorsque toutes les variables hors base sont nulles, xN = 0, la relation (4.3)devient xb = B 1 b. D enition 4.3.4 (solution de base). On appelle solution de base la solution : xB xN = B 1 b 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 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

30

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 20 et c = 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 : B= 2 1 4 0

Il sagit bien dune base puisque B est inversible (|B | = 4 = 0). ` cette matrice de base correspond une solution de base donn A ee par : xB = B 1 b. Dans notre cas : 0 1 4 B 1 = 1 1 2 xB = x4 x2 0 1 4 1
1 2

16 20

5 26

Les autres variables etant nulles, x1 = x3 = x5 = 0. Dans ce cas la base I = (2, 4) Cette solution de base nest 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 eet les colonnes 4 et 5 forment une base qui est lidentit e: B=I= 1 0 0 1

La solution de base est le vecteur b puisque : xB = I.b = b =

16 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 enition 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 lidentit 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 dun programme lin eaire canonique par rapport ` a la base I .

On part de lexemple trait e dans la section r esolution graphique Maximiser z = 1200x1 + 1000x2 Sous contraintes 3 x 1 + 4 x2 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. A= 3 4 1 0 6 3 0 1 B= 1 0 0 1 et I = (3, 4)

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 H H t1 3 4 1 0 160 t2 6 3 0 1 180 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 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 quil sagit des colonnes des coecients de ces deux variables dans la matrice A) 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 ) donne la valeur de z : z = 0 donc z = 0 La ligne donne les valeurs marginales ou taux marginaux de substitution ; elles sinterpr` 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. Lalgorithme du simplexe s ecrit sch ematiquement ainsi : Former le premier tableau du simplexe. V erier si le test darr et est v eri 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 eri 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 Lobjectif est daugmenter la fonction objectif en faisant entrer une variable (HB) dans la base a ` la place dune 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 coecient positif dans la ligne , la colonne pivot est alors trouv ee. Dans notre exemple x1 entre dans la base.
HH HB : H B HHH

x1 3 6 1200

x2 4 3 1000

t1 1 0 0

t2 0 1 0

C 160 180 z0 = 0

t1 t2

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 HB : H B HHH

x1 3 6 1200

x2 4 3 1000

t1 1 0 0

t2 0 1 0

C 160 180 z0 = 0

R
160 3

t1 t2

30

Remarque 4.3.3. Sur la colonne R : Un 0 dans la colonne C est remplac e par un inniment petit positif pour eectuer 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 coecient positif dans la colonne R, la ligne pivot est alors trouv ee. Dans notre exemple t2 sort de la base.
HH HB : H B HHH

x1 3 6 1200

x2 4 3 1000

t1 1 0 0

t2 0 1 0

C 160 180 z0 = 0

R
160 3

t1 t2

30

On appelle pivot lintersection 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 : Les coecients de la ligne du pivot sont divis es par le pivot. Le pivot prend donc la valeur 1. Les coecients de la colonne du pivot sont remis a ` 0 except e le pivot qui reste a ` la valeur 1. 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 : Coecient pr ec edent de la colonne pivot situ e sur la m eme ligne que AV CLP : Coecient 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

HB : H HH H t1 x1

x1 0 1 0

x2 5/2 1/2 400

t1 1 0 0

t2 1/2 1/6 -200

C 70 30 36000

3. Test darr et Th eor` eme 4.3.1 (condition susante doptimalit 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 correspondant aux variables hors base sont n egatifs ou nuls alors la solution de base I est la solution optimale et lobjectif ` a loptimum 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. Sil existe une variable hors base dont le co ut sur la ligne est positif et tous les autres coecients de la colonne de cette variable sont n egatifs ou nuls alors le programme lin eaire nest pas born e, la solution est donc linni. Dans le tableau 1, on remarque que la variable x2 a un co ut 400, donc positif et il ya au moins un coecient 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 HB : H B HHH

x1 0 1 0

x2 5/2 1/2 400

t1 1 0 0

t2 1/2 1/6 -200

C 70 30 36000

R 28 60

t1 x1

x2 rentre dans la base et t1 sort de la base. T ableau2


H HH HB : B HHH

x1 0 1 0

x2 1 0 0

t1 2/5 1/5 -160

t2 1/5 4/15 -120

C 28 16 47200

x2 x1

Tous les coecients de la ligne 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 Les variables Hors Base (HB) sont nulles : t1 = 0 ; t2 = 0 Les valeurs des variables dans la Base (B) se lisent dans la colonne C : x2 = 28 et x1 = 16 La derni` ere cellule (intersection de C et ) donne la valeur de -z :

z = 47200 z = 47200 La ligne donne les valeurs marginales ou taux marginaux de substitution ; elles sinterpr` 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 quune augmentation de 1 unit e dune 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 n des it erations, une variable est HB avec un coecient nul dans la ligne , 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 dun programme lin eaire quelconque

Pour pouvoir traiter les programmes lin eaires g en eraux, la dicult e consiste a ` former un premier tableau du simplexe satisfaisant les invariants. En eet, former ce premier tableau equivaut ` a identier 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 dun programme lin eaire sous forme canonique par rapport a ` la base , lorigine est une solution evidente mais cest faux en g en eral. Dans cette section, on montre que le probl` eme de la recherche dun premier tableau peut se r eduire en un probl` eme doptimisation, la r esolution dun autre programme lin eaire, appel e ( programme articiel ), qui rel` eve, lui, du cas programme sous forme canonique par rapport ` a la base. Prenons pour exemple le programme suivant quon r esolu avec la m ethode graphique. Maximiser z = 2x1 + 5x2 Sous contraintes 8x1 + 4x2 40 x1 + 5 x2 10 x1 0, x2 0 La mise sous forme standard ram` ene deux variables d ecart. Maximiser Sous contraintes z = 2x1 + 5x2 8x1 + 4x2 t1 = 40 x1 + 5x2 t2 = 10 x1 0, x2 0 t1 0, t2 0 Programmation lin eaire

36

4.3 R esolution par la m ethode du simplexe On introduit des variables articielles dans les equations qui posent probl` eme. On prends pour objectif articielle minimiser ses varaibles. Le programme articielle 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

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 articielle rel` eve du cas de programme canonique par rapport a ` la base, en eet : A= 8 4 1 0 1 0 1 5 0 1 0 1 B= 1 0 0 1 et I = (5, 6)

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 articiel telles que k1 = k2 = 0. Pour d eterminer si le programme initial admet au moins une solution, il sut donc de d eterminer si le programme articiel a une solution telle que k1 = k2 = 0. Cest ce quon fait en prenant pour objectif : minimiser k1 + k2 . Pour pouvoir appliquer lalgorithme du tableau du simplexe, il reste une dicult e technique a ` lever : les variable k1 et k2 sont en base alors que leurs co uts sont non nuls (lune des conditions du tableau du simplexe nest pas satisfait). Il sut de reformuler lobjectif en utilisant l equation o` u gure les variables articielles : 8x1 + 4x2 t1 + k1 = 40 8x1 + 4x2 t1 40 = k1 x1 + 5x2 t2 + k2 = 10 x1 + 5x2 t2 10 = k2 La fonction objectif articielle 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 articiel lalgorithme donn e dans le cas favorable. Pr.Khatmi 37

La m ethode du simplexe

Tableau 0 :

HH HB : B HHH

x1 8 1 9

x2 4 5 9

t1 1 0 -1

t2 0 1 -1

k1 1 0 0

k2 0 1 0

C 40 10 50

R 5 10

k1 k2

Tableau 1 :

H HH HB : B HHH

x1 1 0 0

x2 1/2 9/2 9/2

t1 1/8 1/8 1/8

t2 0 1 -1

k1 1/8 1/8 9/8

k2 0 1 0

C 5 5 5

R 10 10/9

x1 k2

HH

B Tableau 2 :

HB : H HH H x1 x2

x1 1 0 0

x2 0 1 0

t1 5/36 1/36 0

t2 1/9 2/9 0

k1 5/36 1/36 1

k2 -1/9 2/9 -1

C 40/9 10/9 0

Loptimum du programme articiel est 0 = 0. Les variables articielles 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 articielles. 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 lobjectif r ealis e` a loptimum du programme articiel est 0 = 0. Proposition 4.3.2. Supposons que lobjectif r ealis e` a loptimum du programme articiel soit 0 = 0. La solution optimale du programme articiel fournit une premi` ere base r ealisable au programme lin eraire initial si et seulement si aucune variable articielle nest 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 lalgorithme 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 lobjectif en se servant des equations des contraintes (4.22) et (4.23). x1 x2 + 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: z= 8 130 5 t1 + t2 + 36 9 9

Pour d eterminer z0 , on evalue lobjectif (attention a ` la constante) sur la solution 130 de base : z0 = 9
HH HB : H B HHH

x1 1 0 0

x2 0 1 0

t1 5/36 1/36 5/36

t2 1/9 2/9 8/9

C 40/9 10/9 -130/9

R 40 -5

Tableau 0 :

x1 x2

Tableau 1 :

HH HB : H B HHH

x1 9 2 -8

x2 0 1 0

t1 5/4 1/4 5/4

t2 1 0 0

C 40 10 -50

t2 x2

On remarque que la variable hors base t1 a une valeur positive dans la ligne , mais ses autres coecients sont tous nuls, donc le test darr et est v eri e, le probl` eme nest pas born e et la solution optimale est linni, r esultat conrm e par la m ethode graphique. Remarque 4.3.5. Si, ` a la n des it erations, une variable est HB avec un coefcient nul dans la ligne , 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 z = x 1 + x2 2x1 + 2x2 8 x1 0, x2 0 39

Pr.Khatmi

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 :


HH

Tableau 0 :

HB : H HH H t

x1 2 1

x2 2 1

t 0 0

C 8 0

HH

Tableau 1 :

HB : H HH H x1

x1 1 0

x2 1 0

t 0 0

C 4 -4

Sur la ligne la variable x2 hors base a un coecient nul, la solution est une ar ete dont les sommets sont (x1 = 4, x2 = 0) et (x1 = 0, x2 = 4)

4.4

Exercice
Maximiser Sous contraintes z = 3x2 + 5x3 4x2 3x3 40 x1 + 4 x2 + x3 = 6 x1 0, x2 0, x3 0

Exercice 4.4.1. Soit le programme lin eaire suivant :

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 z = 5x1 + 3x2 5x1 + 2x2 40 5x1 + 4x2 60 x1 0, x2 0 Programmation lin eaire

40

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

Vous aimerez peut-être aussi