polycope outil mathématique

download polycope outil mathématique

of 45

Transcript of polycope outil mathématique

  • 8/13/2019 polycope outil mathmatique

    1/45

    Programmation lineaire

    Pr. Khatmi Samira

    Annee universitaire 2012/2013

  • 8/13/2019 polycope outil mathmatique

    2/45

  • 8/13/2019 polycope outil mathmatique

    3/45

    Table des matieres

    1 Introduction 11.1 Problemes de programmation mathematique . . . . . . . . . . . . 21.2 Problemes de programmation lineaire . . . . . . . . . . . . . . . 2

    2 Formulation dun programme lineaire (PL) 52.1 Les conditions de formulation dun PL . . . . . . . . . . . . . . . 52.2 Les etapes de formulation dun PL . . . . . . . . . . . . . . . . . 52.3 Presentation theorique . . . . . . . . . . . . . . . . . . . . . . . 62.4 Exemples de formulations . . . . . . . . . . . . . . . . . . . . . . 72.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3 La methode graphique 113.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2 Representation graphique des contraintes . . . . . . . . . . . . . . 123.3 Representation de la fonction objectif . . . . . . . . . . . . . . . 133.4 Recherche du point optimal de la fonction objectif . . . . . . . . . 143.5 Les differents types de solutions dun probleme de PL . . . . . . . 18

    3.5.1 Infinite de solution . . . . . . . . . . . . . . . . . . . . . . 183.5.2 Solution optimale infinie . . . . . . . . . . . . . . . . . . . 193.5.3 Aucune solution . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4 La methode du simplexe 23

    4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Formulation du probleme . . . . . . . . . . . . . . . . . . . . . . . 23

    4.2.1 Forme canonique . . . . . . . . . . . . . . . . . . . . . . . 244.2.2 Forme standard . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.3 Resolution par la methode du simplexe . . . . . . . . . . . . . . . 284.3.1 Resolution dun programme lineaire canonique par rapport

    a la base I. . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3.2 Resolution dun programme lineaire quelconque . . . . . . 36

    4.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    i

  • 8/13/2019 polycope outil mathmatique

    4/45

  • 8/13/2019 polycope outil mathmatique

    5/45

    Chapitre 1

    Introduction

    Dans une economie caracterisee par la rarefaction des ressources naturelles,une diminution des sources de financement et une concurrence toujours plus viveentre les entreprises, la repartition optimale de moyens limites entre la multitudedes besoins devient la tache principale des responsables politiques et economiquesde notre societe. Ce probleme se retrouve dans tous les domaines de lactivite eco-nomique, politique, scientifique et sociale. En gestion de la production, il sagit,par exemple, de definir une politique dapprovisionnement, dadapter la produc-tion a la demande, de determiner les niveaux de stocks. En gestion financiere,il faut proceder au choix des investissements et definir un programme damor-tissements. En marketing, il est necessaire detablir un reseau de representants,de choisir un support publicitaire. En raison de lampleur des enjeux decision-nels, le decideur ne peut plus prendre de decisions hatives et justifier un choixdattribution fonde sur un raisonnement instinctif ou des calculs nafs. Une bonneresolution de ce type de problemes necessite la connaissance de methodes approu-vees ainsi que la matrise des outils mathematiques et informatiques developpes acet effet. Les methodes proposees pour resoudre les problemes evoques ci-dessussont nombreuses, mais elles peuvent toutes se resumer a lenonce mathematiquesuivant, a savoir maximiser ou minimiser une fonction numerique de variablessoumises a diverses contraintes.

    A partir de la fin de la Seconde Guerre Mondiale, de nouvelles methodespermirent de resoudre des problemes complexes la ou les methodes classiquesechouaient. Ces methodes furent connues sous le nom de programmation lineaire,developpees principalement par George B. Dantzig (ne le 8 novembre 1914), ma-thematicien americain et createur de la methode du Simplexe, et L. Kantorovich(1912-1986). Danzig, outre la programmation lineaire, etudia entre autres la pro-grammation mathematique, la prise de decision et les modeles de planification alarge echelle. Limpact de son uvre fut considerable en gestion et en economieet ses methodes restent totalement dactualite.

    1

  • 8/13/2019 polycope outil mathmatique

    6/45

    Introduction

    1.1 Problemes de programmation mathematique

    De maniere generale, la resolution de problemes de programmation mathema-

    tique vise a determiner lallocation optimale (cest-a-dire la meilleure combinaisonpossible) de ressources limitees pour atteindre certains ob jectifs. Les allocationsdoivent minimiser ou maximiser une fonction dite objectif. En economie, cesfonctions sont par exemple le profit ou le cout. Ces problemes, traites par la pro-grammation mathematique, se distinguent des problemes doptimisation classiquepar le fait que leurs solutions sont dordre numerique. Celles-ci sont obtenues parune technique numerique iterative, alors que les solutions a un probleme classiquesont en general donnees sous forme de formules fermees. La forme generale dunprobleme de programmation mathematique est la suivante :

    Optimiser z= f(x1, x2, . . . , xn) (1.1)

    Sous les contraintes hi(x1, x2, . . . , xn)

    =

    bi i= 1 . . . m (1.2)

    ou les fonctions f et hi sont des fonctions numeriques a nvariables.La fonctionfde (1.1) est la fonction objectif a optimiser, tandis que les equationsou inequations de (1.2) sont les contraintes.Selon la nature des fonctions f et hi, on peut etre confronte a plusieurs typesde problemes de programmation mathematique. Lorsque les fonctions f et hi,i = 1,...,m sont lineaires, il sagit dun probleme de programmation lineaire. Side plus, on impose que les variables ne peuvent prendre que des valeurs entieres,on parle de programmation lineaire entiere. Les problemes dans lesquels la fonc-tion f ou hi sont non lineaires font partie de la programmation non-lineaire. Uncas particulier est la programmation quadratique relative aux problemes pourlesquels la fonction f est quadratique et les fonctions hi lineaires. Par la suite,nous etudierons essentiellement les problemes de programmation lineaire.

    1.2 Problemes de programmation lineaire

    la programmation lineaire est beaucoup utilisee (pour ne citer que les cas lesplus connus) dans la logistique, la finance dentreprise ou encore aussi en theoriede la decision lorsque nous devons resoudre un jeu a strategie mixte (Theorie dela decision et des jeux). Dans le cadre de resolution de problemes ou interviennentdes produits de deux variables nous parlons alors logiquement programmationquadratique. Cest typiquement le cas en econometrie dans la modelisation desportefeuilles (Econometrie). La programmation lineaire est un cas particulier de laprogrammation mathematique pour laquelle (1.1) et (1.2) sont lineaires. De plus,les variables sont supposees etre non-negatives. Un probleme de programmationlineaire revient donc a :

    2 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    7/45

    1.2 Problemes de programmation lineaire

    Optimiser z=c1x1+c2x2+. . .+cnxn (1.3)

    Sous les contraintes ai1x1+ai2x2+. . .+ainxn

    =

    bi (1.4)

    xj j= 1 . . . n (1.5)

    aij, bi et cj sont des constantes connues, avec i= 1 . . . met j = 1, . . . nCe cours sera consacre a la resolution de problemes de programmation lineairepar deux methodes :

    La methode graphique La methode du Simplexe

    Pr.Khatmi 3

  • 8/13/2019 polycope outil mathmatique

    8/45

    Introduction

    4 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    9/45

    Chapitre 2

    Formulation dun programmelineaire (PL)

    2.1 Les conditions de formulation dun PL

    La programmation lineaire comme etant un modele admet des hypotheses(des conditions) que le decideur doit valider avant de pouvoir les utiliser pourmodeliser son probleme. Ces hypotheses sont :

    1. Les variables de decision du probleme sont positives

    2. Le critere de selection de la meilleure decision est decrit par une fonction

    lineaire de ces variables, cest a dire, que la fonction ne peut pas conte-nir par exemple un produit croise de deux de ces variables. La fonctionqui represente le critere de selection est dite fonction objectif (ou fonctioneconomique).

    3. Les restrictions relatives aux variables de decision (exemple : limitations desressources) peuvent etre exprimees par un ensemble dequations lineaires.Ces equations forment lensemble des contraintes.

    4. Les parametres du probleme en dehors des variables de decisions ont unevaleur connue avec certitude

    2.2 Les etapes de formulation dun PL

    Generalement il y a trois etapes a suivre pour pouvoir construire le modeledun programme lineaire :

    1. Identifier les variables du probleme a valeur non connues (variable de deci-sion) et les representer sous forme symbolique (Par exemple x1; x2)

    2. Identifier les restrictions (les contraintes) du probleme et les exprimer parun systeme dequations lineaires.

    5

  • 8/13/2019 polycope outil mathmatique

    10/45

  • 8/13/2019 polycope outil mathmatique

    11/45

    2.4 Exemples de formulations

    2.4 Exemples de formulations

    La tache de formulation demande generalement une certaine expertise etconnaissance du probleme pour pouvoir relever facilement les differentes com-posantes du probleme et ainsi donner un programme qui modelise au mieux lasituation reelle. Dans ce qui suit, on presentera quelques exemples de formulationen programme lineaire lies a differents problemes de decision :

    Exemple 2.4.1 (Probleme 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 440m3 deau. Un hectare de tomates demande 1 heure de main doeuvre, 4 m3 deauet donne un benefice net de 100 dhs. Un hectare de piments demande 4 heures de

    main doeuvre, 2m3

    deau et donne un benefice net de 200 dhs.Le ministere dagriculture veut proteger le prix des tomates et ne lui permet pasde cultiver plus de 90 hectares de tomates. Quelle est la meilleure allocation deses ressources ?

    1. Identification des variables de decisionLes deux activites que lagriculteur doit determiner sont les surfaces a al-louer pour la culture de tomates et de piments : x1 : la surface allouee a la culture des tomates x2 : la surface allouee a la culture des pimentsOn verifie bien que les variables de decisionx1 0 etx2 0

    2. Identification des contraintes.Dans ce probleme les contraintes representent la disponibilite des facteursde production : Terrain: lagriculteur dispose de 150 hectares de terrain, ainsi la contrainte

    liee a la limitation de la surface de terrain estx1+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 quede 440m3. La contrainte qui exprime les limitations des ressources en eauest4x1+ 2x2 440

    Main duvre : Les 480 heures de main doeuvre seront departager(pas necessairement en totalite) ente la culture des tomates et celles despiments. Sachant quun hectare de tomates demande une heure de maindoeuvre et un hectare de piments demande 4 heures de main doeuvrealors la contrainte representant les limitations des ressources humainesestx1+ 4x2 480

    Les limitations du ministere dagriculture: Ces limitations exigentque lagriculteur ne cultive pas plus de 90 hectares de tomates. La contraintequi represente cette restriction estx1 90

    3. Identification de la fonction objectifLa fonction objectif consiste a maximiser le profit apporte par la culture

    Pr.Khatmi 7

  • 8/13/2019 polycope outil mathmatique

    12/45

  • 8/13/2019 polycope outil mathmatique

    13/45

  • 8/13/2019 polycope outil mathmatique

    14/45

    Formulation dun programme lineaire (PL)

    Exercice 2.5.3.Un tailleur a a sa disposition 10 metres de coton, 7,5 metres de laine et 5

    metres de soie. Il a besoin pour un complet dun metre de coton, dun metre delaine et de 0,25 metre de soie. Pour une robe, il emploie un metre de coton, 0,5metre de laine et un metre de soie. Si un complet coute 160 Dh et une robe 100Dh, combien doit-il confectionner de complets et de robes pour maximiser sonrevenu ?

    Exercice 2.5.4.Une dieteticienne doit preparer un repas compose de deux aliments A et B qui

    contienne au moins 300 g de proteines et 400 g dhydrates de carbone. Chaqueunite de laliment A contient 10 g de proteines et 16 g dhydrates de carbone etcoute 80 centimes. Chaque unite de laliment B contient 12,5 g de proteines et

    10 g dhydrates de carbone et coute 1,20 Dh. Determiner le melange qui coutele moins cher et qui apporte la quantite requise de proteines et dhydrates decarbone.

    10 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    15/45

    Chapitre 3

    La methode graphique

    3.1 Introduction

    Apres avoir illustrer par des exemples, comment un probleme pratique peutetre modelise par un programme lineaire, letape qui va suivre sera certainementcelle de la resolution de ce probleme mathematique. La methode graphique estlune des premieres methodes utilisees a ce sujet. Cette methode nest applicableque dans le cas ou il ny a que deux variables ou au plus trois variables. Sonavantage est de pouvoir comprendre ce que fait la methode generale du Sim-plexe, sans entrer dans la technique purement mathematique. Soit le problemedoptimisation lineaire suivant :

    Optimiser z=c1x1+c2x2+. . .+cnxn (3.1)

    Sous les contraintes ai1x1+ai2x2+. . .+ainxn

    =

    bi (3.2)

    xj 0 j= 1 . . . n (3.3)

    aij, bi et cj sont des constantes connues, avec i= 1 . . . met j = 1, . . . n

    Definition 3.1.1. On appelle point admissibleou pointrealisable, tout pointx de lespace

    qui satisfait les contraintes economiques et les contraintes de signe (3.2) et(3.3).

    On appelle Zone des solutions admissiblesou ensemble des solu-tions realisables, lensemble des points realisables.

    Definition 3.1.2. On appelle solution optimale un point realisable qui optimise (maximise ou

    minimise) la fonction objectifz(x). La valeur optimale est la valeur de la fonction objectif z(x) atteinte pour

    toute solution optimale.

    11

  • 8/13/2019 polycope outil mathmatique

    16/45

    La methode graphique

    3.2 Representation graphique des contraintes

    Une representation graphique des inegalites (des contraintes) va nous per-mettre de determiner lensemble des solutions realisables.

    Revenons a lexemple du probleme de medecine. Une des contraintes de ceprobleme est celle relative au grain daspirine :2x1+x2 12.Lensemble des solutions qui verifient cette inegalite est le demi-plan limite parla droite 2x1+x2= 12 situe au dessus de celle-ci.

    Figure3.1 Representation du demi plan 2x1+x2 12

    Lespace hachure represente le demi-plan des solutions qui verifient la contrainte 2x1+x2 12

    Si on fait de meme pour les deux autres contraintes du probleme (voir figures 3.2),on obtient les deux autres demi-plans P2 et P3 relatifs aux solutions verifiantrespectivement les contraintes 5x1+ 8x2 74 et x1+ 6x2 24.

    Figure 3.2 Representation des demi- plans 5x1+ 8x2 74 et x1+ 6x2 24

    12 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    17/45

    3.3 Representation de la fonction objectif

    Donc la zone des solution realisables du probleme est lensemble des pointsdu plan qui appartiennent aux trois demi-plans relatifs a chaque contrainte du

    programme lineaire, en dautre terme lintersection des trois demi plans(P1 P2 P3) voir figure (3.3)

    Figure3.3 Zone des solutions realisables

    Remarque 3.2.1. La region des solutions admissibles est un ensemble convexe(c.a.d. tout segment de droite dont les extremites appartiennent a lensemble estentierement inclus dans cet ensemble).

    3.3 Representation de la fonction objectif

    La fonction objectif est une droite dequation z=ax+by y = ab

    x+ zb

    Definition 3.3.1. a

    best la pente de la droite.

    le vecteur directeur de la droite est donne par le vecteur

    b

    a

    le vecteur normal de la droite est donne par le vecteur

    ab

    Proposition 3.3.1.Deux droites qui ont la meme pente sont parralleles

    Remarque 3.3.1. On peut tracer une infinite de droites qui representent desdifferentes valeurs de la fonction objectif, toutes ces droites ont la meme pente a

    b.

    Par suite el les sont paralleles entre elles. Donc pour les tracer, il suffit dinitialiserla fonction objectif, tracer la droite corespondante et prendre toutes les droites quilui sont paralleles.

    Pr.Khatmi 13

  • 8/13/2019 polycope outil mathmatique

    18/45

    La methode graphique

    Remarque 3.3.2. Pour initialiser la fonction objectifz cest a dire lui donnerune valeurz0 , il suffit de choisir un point (x0; y0) qui appartient a la zone des

    solutions admissibles et calculer la valeur dezqui lui correspondsz0=ax0 + by0.On peut diminuer ou augmenter la valeur de z indefiniment.Le probleme est

    de connatre quelle est la droite qui correspond a la valeur optimal de la fonctionobjectif ?

    3.4 Recherche du point optimal de la fonctionobjectif

    1. On dessine la zone des solutions admissibles.

    2. Initialiser la fonction objectifzet tracer la droite qui la represente.

    3. On translate la droite de la fonction objectif selon son vecteur normal.

    Si le vecteur normal indique un deplacement vers le haut, la fonction ob-jectif doit couper laxe (OY ) le plus haut possible dans le cas dunemaximisation, et le plus bas possible dans le cas dune minimisation,tout en touchant la zone des solutions admissibles.

    Si le vecteur normal indique un deplacement vers le bas, la fonction ob-jectif doit couper laxe (OY ) le plus bas possible dans le cas dunemaximisation, 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 eloigne ou le plus proche de laxe (OY).

    4. Le point optimal est le dernier point de la zone des solutions admissiblesque la droite de la fonction objectif touchera lors de son deplacement.

    Exemple 3.4.1(Probleme de maximisation avec la normale dirigee vers le haut).

    Maximiser z= 1200x1+ 1000x2

    Sous contraintes 3x1+ 4x2 1606x1+ 3x2 180x1 0, x2 0

    Les contraintes economiques et de signe sont representees graphiquement par desdemi-plans dont lintersection est un ensemble convexe (c.a.d. tout segment dedroite dont les extremites appartiennent a lensemble est entierement inclus danscet ensemble). Les solutions, si elles existent appartiennent donc a cet ensemble. Ilsagit donc de chercher a linterieur de ce domaine, le couple(x1, x2)maximisantla fonction objectif.

    14 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    19/45

    3.4 Recherche du point optimal de la fonction objectif

    Figure3.4 Zone des solutions realisables

    On a le point(0, 0) appartient au domaine, donc on peut choisir la valeur ini-tialez0= 1200 0+1000 0 = 0et tracer la droite1200x1 +1000x2= 0qui passepar lorigine et donne une valeur nulle a la fonction economique. Pour augmenterla valeur dez0 et donc la fonction economique, il suffit de deplacer cette droitevers le haut puisque le vecteur normal de la fonction economique est dirige vers lehaut. cette droite sera deplacee jusqua lextreme limite ou il ny aura plus quunpoint dintersection (eventuel lement un segment) avec la region des solutions ad-missibles. On remarquera que la solution optimale se trouve necessairement sur

    Figure3.5 Recherche du point optimal

    le pourtour de la region des solutions admissibles. La solution se trouvant sur lesdeux droites dequation(3x1+ 4x2= 160 et 6x1+ 3x2= 180). La resolution dece systeme conduit a la solutionx1= 16 ; x2= 28, douz= 47200.

    Pr.Khatmi 15

  • 8/13/2019 polycope outil mathmatique

    20/45

    La methode graphique

    Exemple 3.4.2 (Probleme de maximisation avec la normale dirigee vers le bas).

    Maximiser z=x1 x2Sous contraintes x1 2x2 2

    2x1 x2 4x1+x2 5

    x1 0, x2 0

    Figure3.6 Recherche du point optimal

    Les contraintes economiques et de signe sont representees graphiquement pardes demi-plans dont lintersection est un ensemble convexe. Les solutions, si ellesexistent appartiennent donc a cet ensemble. Il sagit donc de chercher a linterieurde ce domaine, le couple (x1, x2) maximisant la fonction objectif. On considerele point (1, 1) qui appartient a cette zone (voir figure (3.6) pour initialiser lafonctionz0= 1 1 = 0 et tracer la droitez=x y= 0.Pour augmenter la fonction economique, il suffit de deplacer cette droite vers lebas puisque le vecteur normal de la fonction economique est dirige vers le bas.cette droite sera deplacee jusqua lextreme limite ou il ny aura plus quun pointdintersection avec la region des solutions admissibles.

    16 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    21/45

    3.4 Recherche du point optimal de la fonction objectif

    On remarque que la solution optimale se trouve sur les deux droites dequation(2x1 x2= 4 et x1 2x2= 2). La resolution de ce systeme conduit a la solution

    x1= 2 ; x2= 0, douz= 2.NB : les coordonnees du point optimal peuvent etre releves directement sur legraphique.

    Exemple 3.4.3 (Probleme de minimisation).Une compagnie possede deux mines de charbon A et B. La mine A produit

    quotidiennement 1 tonne de charbon de qualite superieure, 1 tonne de qualitemoyenne et 6 tonnes de qualite inferieure. La mine B produit par jour 2, 4 et3 tonnes de chacune des trois qualites. La compagnie doit produire au moins 90tonnes de charbon de qualite superieure, 120 tonnes de qualite moyenne et 180tonnes de qualite inferieure. Sachant que le cout de production journalier est lememe dans chaque mine, soit 1 000, quel est le nombre de jours de productiondans la mine A et dans la mine B qui minimisent le cout de production de lacompagnie ?

    Pour traduire ce probleme sous la forme dun programme lineaire, posonsx1le nombre de jours de travail dans la mine A etx2celui dans la mine B. Par jour,la mine A permet de produire 1 tonne de charbon de qualite superieure tandis quela mine B peut en produire 2 tonnes. Comme la compagnie doit en produire aumoins 90 tonnes, la contrainte secrit :

    x1+ 2x2 90

    De meme, pour les deux autres qualites de charbon, on trouve :

    x1+ 4x2 120

    6x1+ 3x2 180

    La fonction objectif a minimiser est :

    z= 1000x1+ 1000x2

    Le probleme de programmation lineaire secrit donc :

    Minimiser z= 1000x1+ 1000x2Sous contraintes x1+ 2x2 90

    x1+ 4x2 1206x1+ 3x2 180

    x1 0, x2 0

    La figure (3.7) indique dans sa partie hachuree lensemble des points(x1; x2) quisatisfont les contraintes. Il sagit dans ce cas dune region non-bornee qui a poursommets les points :

    Pr.Khatmi 17

  • 8/13/2019 polycope outil mathmatique

    22/45

    La methode graphique

    Intersection de la droite dequation6x1+ 3x2= 180 avec laxex2 : (0; 60).

    Intersection des droites6x1+ 3x2= 180 etx1+ 2x2= 90 : (10; 40). Intersection des droitesx1+ 2x2= 90 etx1+ 4x2= 120 : (60; 15). Intersection de la droite dequationx1+ 4x2= 120 avec laxex1 : (120; 0).

    Figure3.7 Lensemble des points realisables nest pas borne.

    La fonction objectif etant donnee par z = 1000x1+ 1000x2 sa pente vaut -1. En tracant des droites paralleles ayant pour pente -1, on sapercoit que cellequi conserve un point en commun avec la region realisable et dont lordonnee alorigine est la plus petite est la droite passant par le sommet(10; 40).La solutionoptimale est doncx1= 10 etx2= 40. Le cout de production est donne par :

    z= 1000(10) + 1000(40) = 50000

    3.5 Les differents types de solutions dun pro-bleme de PL

    Jusquici, les problemes resolus graphiquement avaient une solution optimale

    unique, ce qui nest pas toujours le cas. En effet, trois autres situations peuventse presenter. Ces differents types de solutions sont expliques dans les problemessuivants.

    3.5.1 Infinite de solution

    Maximiser z=x+ySous contraintes 2x+ 2y 8

    x 0, y 0

    18 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    23/45

    3.5 Les differents types de solutions dun probleme de PL

    Comme indique sur la figure (3.8), la region realisable est ici un triangle rectangledont les sommets sont les points (0 ;0), (0 ;4) et (4 ;0). La fonction objectif est

    parallele a lhypotenuse.

    Figure3.8 Lensemble des points realisables est un triangle.

    La droite qui permet dattribuer la plus grande valeur a z est le segment dedroite reliant les sommets (0 ;4) et (4 ;0). Par consequent, tous les points de cesegment representent une solution optimale au probleme. Il existe donc une infi-nite de solutions qui donnent la meme valeur de z, a savoir 4. Comme les solutions

    optimales a ce probleme correspondent au segment de droite dextremites (0 ;4)et (4 ;0), elles peuvent etre decrites par lensemble :

    {

    xy

    =

    04

    + (1 )

    40

    , 0 1}

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

    3.5.2 Solution optimale infinie

    Maximiser z= 2x1+ 5x2Sous contraintes 8x1+ 4x2 40

    x1+ 5x2 10x1 0, x2 0

    Dans cet exemple, il sufit dattribuer ax1etx2des valeurs suffisamment grandespour que les contraintes soient satisfaites. La valeur de la fonction objectif peutetre augmentee indefiniment. Sur la figure (3.9), nous constatons que la regionrealisable nest pas bornee et que la fonction objectif peut etre deplacee a linfinien conservant toujours une intersection non vide avec la region realisable. Dansce cas, on dit que le programme lineaire possede une solution optimale infinie.

    Pr.Khatmi 19

  • 8/13/2019 polycope outil mathmatique

    24/45

    La methode graphique

    Figure3.9 Lensemble des points realisables nest pas borne.

    3.5.3 Aucune solution

    Maximiser z= 2x1+x2Sous contraintes x1+x2 2

    x1 x2 3x1 0, x2 0

    La figure (3.10) ne presente pas de region realisable. En effet, il nexiste aucun

    point qui satisfait simultanement les deux contraintes ainsi que les contraintes denon-negativite. Le programme lineaire ne possede donc aucune solution.

    Figure3.10 Lensemble des points realisables est impossible.

    20 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    25/45

    3.6 Conclusion

    En resume, il existe quatre types de solutions a un probleme de programmationlineaire :

    Solution optimale unique ; Infinite de solutions optimales ; Solution optimale infinie ; Aucune solution.

    3.6 Conclusion

    Nous allons resumer quelques-unes des proprietes des problemes de program-mation lineaire que nous avons resolus graphiquement. Nous avons vu que pourun programme lineaire fini, la region des solutions realisables etait convexe, quelle

    possedait des sommets et que des aretes reliaient les differents sommets. De plus,nous avons remarque que lorsque le maximum ou le minimum de z etait fini, lasolution optimale etait toujours un sommet de la region realisable. La situationetait differente quand la fonction objectif pouvait prendre des valeurs infinies.Dans ce cas, naturellement, aucun sommet netait optimal. Du point de vue dela terminologie, des solutions infinies ne sont pas qualifiees doptimales. Le termesolution optimale est employe quand le minimum ou le maximum de z est fini.A noter que ces constatations, qui derivent de simples exemples graphiques, sontvraies pour le cas general de la programmation lineaire. Nous en reparleronsdailleurs quand nous etudierons la methode du simplexe.

    3.7 Exercices

    Faites la resolution graphique des exercices du chapitre 1

    Pr.Khatmi 21

  • 8/13/2019 polycope outil mathmatique

    26/45

    La methode graphique

    22 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    27/45

  • 8/13/2019 polycope outil mathmatique

    28/45

    La methode du simplexe

    Optimiser z=c1x1+c2x2+. . .+cn

    xn

    (4.1)

    Sous les contraintes ai1x1+ai2x2+. . .+ainxn

    =

    bi (4.2)

    xj0 j = 1 . . . n (4.3)

    aij, bi et cj sont des constantes connues, avec i= 1 . . . met j = 1, . . . nChaque contrainte pouvant avoir un signe dinegalite different.En resume, un programme lineaire est un modele mathematique quon peut ecriresous la forme matricielle suivante :

    Optimiser z=cx (4.4)

    Sous les contraintes Ax

    =

    b (4.5)

    x 0 (4.6)

    Avec c=

    c1c2...

    cn

    , x=

    x1x2...

    xn

    et A =

    a11 a12 a1na21 a22 a2n

    ... ...

    ... ...

    am1 am2 amn

    Un probleme de programmation lineaire peut se presenter sous differentesformes. En voici la terminologie.

    4.2.1 Forme canonique

    Definition 4.2.1. Si la fonction objectif doit etre maximisee et si toutes lescontraintes (4.2) sont des inequations du type , on dit que le programme li-neaire se presente sous une forme canonique. Matriciellement, un probleme deprogrammation lineaire se presente sous sa forme canonique de la maniere sui-

    vante :

    Maximiser z=cx (4.7)

    Sous les contraintes Ax b (4.8)

    x 0 (4.9)

    Tout probleme de programmation lineaire peut etre pose sous forme cano-nique. Deux cas peuvent alors se presenter : La transformation de minimisationen maximisation, la transformation des contraintes economiques et les contraintesde signe.

    24 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    29/45

    4.2 Formulation du probleme

    1. Transformation minimisation-maximisationTout probleme de minimisation peut etre transforme en un probleme equi-

    valent de maximisation. En effet, le probleme :

    Minimiserz=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 zfournit egalementla plus grande valeur de (z). La seule difference reside dans le signe de lavaleur de la fonction objectif. La valeur minimale de zsobtient en prenantloppose de la valeur maximale de (z).

    Exemple 4.2.1. Minimiserz= 3x12x2+5x3 La formulation equivalenteen terme de maximisation est : Maximiser(z) =3x1+ 2x2 5x3

    2. Transformation des contraintes economiques

    (a) si la ieme contrainte est de la forme :

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    en la multipliant par (-1) on obtient :

    ai1x1 ai2x2 . . . ainxn bi (1 i m)

    (b) si la ieme contrainte est de la forme :

    ai1x1+ai2x2+. . .+ainxn= bi (1 i m)

    on peut transformer cette equation en deux inequations :

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    Il suffit alors de multiplier la deuxieme equation par (-1) pour obtenir :

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    ai1x1 ai2x2 . . . ainxn bi (1 i m)

    3. Transformation des variables sans restriction de signe en variablespositifs.Dans certains problemes, il arrive quon doive traiter une ou plusieurs va-riables de signe quelconque. Une variable sans restriction de signe peut alorsetre decomposee en deux variables non-negatives x+ et x.En posant : x= x+ x Avec x+ =max(0, x) et x =max(0, x)

    Pr.Khatmi 25

  • 8/13/2019 polycope outil mathmatique

    30/45

    La methode du simplexe

    Exemple 4.2.2. Transformer le probleme de programmation lineaire suivant

    Minimiser z= x1 2x2sous contrainte x1 2x2 5

    3x1+ 2x2 2

    x1+x2= 7

    x1 0, x2 de signe quelconque

    sous forme canonique. Transformer minimiser en maximiser

    Minimiserz= x1 2x2 Maximiser(z) =x1+ 2x2

    Transformation des contraintes economiquesLa premiere contrainte est deja sous forme canonique. La deuxieme doitetre multipliee par (-1) :

    3x1 2x2 2

    Finalement, pour la troisieme contrainte, on pose :

    x1+x2 7 et x1+x2 7

    La contraintex1+x2 7 doit etre multiplie par(1). Transformation des contraintes de signe

    x1 o, pourx2, on posex2= x+2 x2

    Sous forme canonique, le probleme de programmation lineaire secrit :

    Maximiser (z) =x1+ 2x+

    2 2x

    2

    Sous contraintes x1 2x+

    2 + 2x

    2 5

    3x1 2x+2 + 2x

    2 2

    x1+x+2 x

    2 7

    x1 x+2 +x

    2 7

    x1 0, x+

    2 0, x

    2 0

    4.2.2 Forme standard

    Definition 4.2.2. Un probleme de programmation lineaire se presente sous saforme standard si toutes les contraintes sont des equations. La fonction objectifdoit egalement etre maximisee. Sous forme matricielle, la forme standard secrit :

    Maximiser z=cx (4.10)

    Sous les contraintes Ax= b (4.11)

    x 0 (4.12)

    26 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    31/45

    4.2 Formulation du probleme

    Tout probleme de programmation lineaire peut etre pose sous forme stan-dard. Trois cas peuvent alors se presenter : La transformation de minimisation

    en maximisation, la transformation des contraintes de signe et la transforma-tion des contraintes economiques inegalitees en contraintes egalitees. La transfor-mation minimisation-maximisation et la transformation des contraintes de signesont deja traites au paragraphe precedent, il reste la derniere transformation .Transformation des contraintes inegalitees en contraintes egalitees

    Pour transformer les inegalites en egalites, on introduit des variables non-negatives appelees variables decart.

    1. si la ieme contrainte est de la forme :

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    nous introduisons une nouvelle variable ti 0 et ecrivons :

    ai1x1+ai2x2+. . .+ainxn+ti= bi

    avecti= bi ai1x1+ai2x2+. . .+ainxn

    2. si la ieme contrainte est de la forme :

    ai1x1+ai2x2+. . .+ainxn bi (1 i m)

    nous introduisons une nouvelle variable ti 0 et ecrivons :

    ai1x1+ai2x2+. . .+ainxn ti = bi

    avecti= ai1x1+ai2x2+. . .+ainxn bi

    Remarque 4.2.1. Avec lintroduction des variables decart, tout probleme sous forme cano-

    nique possede une forme standard equivalente. La methode du simplexe requiert desbi 0. Par consequent, les contraintes

    qui ont unbinegatif doivent etre transformees en contraintes auxbipositifs.Cette transformation se fait simplement en multipliant la contrainte par(1).

    Exemple 4.2.3. Transformer le probleme de programmation lineaire suivant

    Minimiser z= x1 2x2sous contrainte x1 2x2 5

    3x1+ 2x2 2

    x1 0, x2 de signe quelconque

    sous forme canonique.

    Pr.Khatmi 27

  • 8/13/2019 polycope outil mathmatique

    32/45

    La methode du simplexe

    Transformation de minimiser en maximiser

    Minimiserz= x1 2x2 Maximiser(z) =x1+ 2x2

    Transformation des contraintes economiques

    La contraintex1 2x2 5En introduisant la variable decartt1, elle va etre transformee en

    x1 2x2+t1= 5

    La contrainte3x1+ 2x2 2

    En introduisant la variable decartt2, elle va etre transformee en

    3x1+ 2x2 t2= 2

    Transformation des contraintes de signex1 o, pourx2, on posex2= x

    +

    2 x

    2

    Sous forme standard, le probleme de programmation lineaire secrit :

    Maximiser (z) =x1+ 2x+2 2x

    2

    Sous contraintes x1 2x+2 + 2x

    2 +t1= 5

    3x1+ 2x

    +

    2 2x

    2 t2= 2x1 0, x

    +

    2 0, x

    2 0

    En resume, nous avons vu que la fonction objectif dun programme lineaire peutetre presentee sous forme de maximisation, que les contraintes peuvent toujourssecrire sous forme degalite (avec desbi positifs) et que les variables sans restric-tion de signe peuvent etre decomposees en variables non-negatives. En dautrestermes un programme lineaire peut toujours etre presente sous sa forme standard.

    4.3 Resolution par la methode du simplexe

    Dans le paragraphe precedent, nous avons montre comment un probleme deprogrammation lineaire pouvait toujours se presenter sous forme standard avecun second membre positif :

    Maximiser z=cx (4.13)

    Sous contraintes Ax= b (4.14)

    x 0 (4.15)

    b 0 (4.16)

    28 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    33/45

    4.3 Resolution par la methode du simplexe

    Dans cette formulation, le vecteur x contient toutes les variables, y compris lesvariables decart ; il sagit dun vecteur colonne dordre (n 1). Le vecteur c est

    un vecteur ligne dordre (1 n). Quant a la matriceA, dordre (mn), il sagit dela matrice des coeffcients des contraintes transformees. Enfin, le vecteurb dordre(m 1) est le vecteur (positif) du second membre.

    Definition 4.3.1. On appelle solution dun probleme de programmation lineaire tout vecteur

    x qui satisfait les contraintes (4.14). Une solution est appelee solution realisable si elle verifie les contraintes de

    non-negativite (4.15). Dans le cas contraire, on dit que la solution nest pasrealisable.

    Une solution realisable est une solution optimale sil nexiste pas dautres

    solutions realisables qui fournissent une plus grande valeur de la fonctionobjectif.

    Remarque 4.3.1. A noter que dans un probleme possedant des solutions reali-sables, il se peut que la valeur optimale de la fonction objectif soit infinie. Dansce cas, on parle de solution optimale infinie.

    Lensemble des contraintes (4.14) secrit donc comme un systeme de m equa-tions a n inconnues : Ax = b. Pour developper la methode du simplexe, nousavancerons les hypotheses suivantes :

    1. r(A) =r(A|b), cest-a-dire que le systeme dequations est compatible.

    2. r(A) =m, ou mest le nombre de contraintes.

    La seconde hypothese permet de former, a partir deA, une sous matriceB(mm)inversivble. Cette matrice B peut etre formee par nimporte quel ensemble de mcolonnes lineairement independantes de A.. La matrice B est appelee matrice debase puisquelle est formee de mvecteurs lineairement independants.Sans restreindre la generalite, on peut supposer que les colonnes de A ont eteordonnees de maniere a pouvoir ecrire A sous la forme A = (B, N), avec B dedimension (mm) la matrice de base etNde dimension (m(nm)) contenantles colonnes deA qui nappartiennent pas a B. Le vecteurx peut etre partitionne

    de facon analogue en posant x= (xB, xN).Definition 4.3.2 (Variables de base).

    Les variablesxBsont appelees variables de base et les variablesxNles variableshors base.

    Definition 4.3.3 (Base).La familleIconstitue par les indices des variables de bases est dite une base

    Finalement le vecteurc peut lui aussi etre partitionne de la meme maniere enc= (cB, cN). Le programme lineaire (4.13)-(4.14) peut donc etre reformule de la

    Pr.Khatmi 29

  • 8/13/2019 polycope outil mathmatique

    34/45

    La methode du simplexe

    maniere suivante :

    Maximiser z= cB

    xB

    +cN

    xN

    (4.17)

    Sous contraintes BxB+N xN=b (4.18)

    xB 0, xN0 (4.19)

    b 0 (4.20)

    La contrainte (4.18) peut secrire de maniere equivalente :

    BxB =b N xN

    etr puisque B est inversible

    xb= B1b B1N xN

    Lorsque toutes les variables hors base sont nulles,xN= 0, la relation (4.3)devientxb=B

    1b.

    Definition 4.3.4 (solution de base). On appelle solution de base la solution :

    xBxN

    =

    B1b

    0

    LorsquexB =B1b 0 etxn= 0, on parle de solution de base realisable.

    Remarque 4.3.2. Si les variables de base forment une solution de base realisable,on dit que la baseI est realisable.

    Exemple 4.3.1. Soit le probleme de programmation lineaire suivant :

    Maximiser z= 3x1+ 5x2+x3

    Sous contraintes x1+ 2x2 x3 16

    3x1 4x2 20

    x1 0, x2 0 et x3 0

    Ce probleme peut se mettre sous forme standard en introduisant les variablesdecartt1 ett2 :

    Maximiser z= 3x1+ 5x2+x3+ 0.t1+ 0t2

    Sous contraintes x1+ 2x2 x3+t1= 16

    3x1 4x2+t2= 20

    x1, x2, x3, t1, t2 0

    30 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    35/45

    4.3 Resolution par la methode du simplexe

    Sous forme matricielle, on obtient donc :

    A=

    1 2 1 1 03 4 0 0 1

    , x=

    x1x2x3x4x5

    , b=

    1620

    et c=

    3 5 1 0 0

    Formons a partir deA une matrice de baseB en prenant par exemple les colonnes2 et 4, dans cet ordre :

    B =

    2 14 0

    Il sagit bien dune base puisqueB est inversible(|B|= 4= 0).A cette matrice de base correspond une solution de base donnee par : xB =B

    1b.Dans notre cas :

    B1 =

    0

    1

    4

    1 12

    xB =

    x2

    x4

    =

    0 14

    1 12

    16

    20

    =

    5

    26

    Les autres variables etant nulles, x1=x3= x5= 0.Dans ce cas la baseI= (2, 4)Cette solution de base nest pas realisable pour la simple raison quex2= 5violela contrainte de non-negativite. Dans cet exemple, il est tres facile de trouver unebase qui fournisse une solution realisable de base. En effet les colonnes 4 et 5forment une base qui est lidentite :

    B =I=

    1 00 1

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

    1620

    Commeb 0 lorsque le probleme est presente sous sa forme standard, la solutionest une solution realisable de base, etza pour valeur : z= 016 + 020 = 0

    Definition 4.3.5. Un programme lineaire sous forme standard est dit sous formecanonique par rapport a une base I si la matrice B est lidentite et les coutscorrespondant aux variables de base sont nuls.

    Pr.Khatmi 31

  • 8/13/2019 polycope outil mathmatique

    36/45

    La methode du simplexe

    4.3.1 Resolution dun programme lineaire canonique parrapport a la base I.

    On part de lexemple traite dans la section resolution graphique

    Maximiser z= 1200x1+ 1000x2Sous contraintes 3x1+ 4x2 160

    6x1+ 3x2 180x1 0, x2 0

    dont la solution optimale est z= 47200 et realisee au point x1= 16 et x2= 28Ecrivons le programme sous sa forme standard

    Maximiser z= 1200x1+ 1000x2+ 0.t1+ 0.t2Sous contraintes 3x1+ 4x2+t1 = 160

    6x1+ 3x2+t2 = 180x1 0, x2 0, t1 0, t2 0

    1. InitialisationPour avoir une solution initiale realisable, on commence par extraire de lamatrice A une base Iqui soitrealisableet telle que le programme lineairesoit sous forme canonique par rapport a cette base.

    A= 3 4 1 06 3 0 1 B =

    1 00 1 et I= (3, 4)

    la solution de base realisable initiale est

    00

    160180

    Et la fonction objectif initiale est alors z0= 1200 0 + 1000 0 = 0

    On forme alors un premier tableau 0 a partir du programme lineaire et dela base I.

    Tableau 0

    BHB

    x1 x2 t1 t2 C

    t1 3 4 1 0 160t2 6 3 0 1 180

    1200 1000 0 0 -z=0

    Ce tableau nous donne la premiere solution admissible :

    32 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    37/45

    4.3 Resolution par la methode du simplexe

    Les variables Hors Base (HB) sont nulles :x1 = 0 ; x2 = 0 (t1 et t2 enrouge ne sont pas hors base ; elles ne sont presentes que pour rappeler

    quil sagit des colonnes des coefficients de ces deux variables dans lamatrice A) Les valeurs des variables dans la Base (B) se lisent dans la colonne C :

    t1 = 160 et t2 = 180 La derniere cellule (intersection de C et ) donnela valeur dez :z= 0 donc z= 0

    La ligne donne les valeurs marginales ou taux marginaux de substitu-tion ; elles sinterpretent de la maniere suivante : a ce stade de la solution,une augmentation de 1 unite dex1 ferait accrotre la fonction objectif de1200, et une augmentation de 1 unite de x2 ferait accrotre la fonctionobjectif de 1000.

    Lalgorithme du simplexe secrit schematiquement ainsi : Former le premier tableau du simplexe. Verifier si le test darret est verifie. Sinon, faire le tableau suivant et changer de base.

    Les conditions du tableau du simplexeA chaque iteration les conditions suivantes doivent etre verifiees :

    Le programme lineaire est sous forme canonique par rapport a la base. La base est realisable (les elements de la derniere colonne sont positifs ou

    nuls). Les variables de base sont listees sur la premiere colonne. La case en bas a droite vautz Les couts des variables de base sont nuls.

    2. Tableau suivantLobjectif est daugmenter la fonction ob jectif en faisant entrer une variable(HB) dans la base a la place dune autre variable de base qui va sortir dela base.Critere de selection de la variable entrant dans la base :On selectionne la variable HB ayant le plus grand coefficient positif dansla ligne, la colonne pivot est alors trouvee. Dans notre exemple x1 entredans la base.

    BHB :

    x1 x2 t1 t2 C

    t1 3 4 1 0 160t2 6 3 0 1 180

    1200 1000 0 0 z0= 0

    Pour selectionner la variable sortante de la base, il est necessaire de rajouterune colonneR au tableau, obtenue en faisant le rapport membre a membrede la colonne C et de la colonne de la variable entrant dans la base (x1).

    Pr.Khatmi 33

  • 8/13/2019 polycope outil mathmatique

    38/45

    La methode du simplexe

    BHB :

    x1 x2 t1 t2 C R

    t1 3 4 1 0 160 160

    3

    t2 6 3 0 1 180 30 1200 1000 0 0 z0= 0

    Remarque 4.3.3. Sur la colonne R : Un 0 dans la colonne C est remplace par un infiniment petit positif pour

    effectuer le calcul deR Dans la colonneR on ne tient pas compte des valeurs negatives ou inde-

    terminees.

    Critere de selection de la variable sortant de la base :On selectionne la variable dans la base ayant le plus petit coefficient positifdans la colonne R, la ligne pivot est alors trouvee. Dans notre exemple t2sort de la base.

    BHB :

    x1 x2 t1 t2 C R

    t1 3 4 1 0 160 160

    3

    t2 6 3 0 1 180 30 1200 1000 0 0 z0= 0

    On appelle pivot lintersection de la variable entrante et de la variable sor-tante, dans notre exemple le pivot est 6.Pour obtenir le tableau qui suit, on applique les regles suivantes : Les coefficients de la ligne du pivot sont divises par le pivot. Le pivot

    prend donc la valeur 1. Les coefficients de la colonne du pivot sont remis a 0 excepte le pivot qui

    reste a la valeur 1. Pour les autres valeurs du tableau proceder comme suit a partir du ta-

    bleau precedent :

    NV =AV CCP CLP

    P

    Avec : NV : Nouvelle Valeur de la case consideree du tableau AV : Ancienne Valeur de la case consideree du tableau CCP : Coefficient precedent de la colonne pivot situe sur la meme ligne

    que AV CLP : Coefficient precedent de la ligne pivot situe sur la meme Colonne

    que AV P : Valeur precedente du pivot.

    34 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    39/45

    4.3 Resolution par la methode du simplexe

    Tableau 1

    B

    HB :x1 x2 t1 t2 C

    t1 0 5/2 1 1/2 70x1 1 1/2 0 1/6 30

    0 400 0 -200 36000

    3. Test darret

    Theoreme 4.3.1 (condition suffisante doptimalite).

    Considerons un programme lineaire sous forme canonique par rapport a une

    base realisable I. Si les couts sur la lignecorrespondant aux variables horsbase sont negatifs ou nuls alors la solution de base I est la solution optimaleet lobjectif a loptimum estz0.

    Theoreme 4.3.2 (Probleme non borne).

    Considerons un programme lineaire sous forme canonique par rapport a unebase realisable I. Sil existe une variable hors base dont le cout sur la ligne est positif et tous les autres coefficients de la colonne de cette variablesont negatifs ou nuls alors le programme lineaire nest pas borne, la solutionest donc linfini.

    Dans le tableau 1, on remarque que la variable x2a un cout 400, donc positif et il

    ya au moins un coefficient de la colonne x2 est positif, donc on passe au tableau2. Pour ce faire, on doit trouver la colonne et la ligne pivot.

    BHB :

    x1 x2 t1 t2 C R

    t1 0 5/2 1 1/2 70 28x1 1 1/2 0 1/6 30 60 0 400 0 -200 36000

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

    Tableau2

    BHB :

    x1 x2 t1 t2 C

    x2 0 1 2/5 1/5 28x1 1 0 1/5 4/15 16 0 0 -160 -120 47200

    Tous les coefficients de la ligne relatifs aux variables HB, sont negatifs ounuls, la solution trouvee est optimale. Nous avons donc ici atteint la solutionoptimale.Ce tableau nous donne la solution optimale admissible :

    Pr.Khatmi 35

  • 8/13/2019 polycope outil mathmatique

    40/45

    La methode 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 derniere 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 sinterpretent de la maniere suivante : a ce stade de la solution, une aug-mentation de 1 unite de t1 ferait diminuer la fonction objectif de 160, et uneaugmentation de 1 unite de t2 ferait diminuer la fonction objectif de 120 (il est anoter quune augmentation de 1 unite dune variable decart revient a diminuer

    le second membre de lequation correspondante de 1 unite).Remarque 4.3.4 (Important).

    Si, a la fin des iterations, une variable est HB avec un coefficient nul dans laligne, alors on a une arete (plan,...) optimale. Les autres sommets solutionssont obtenus en faisant rentrer cette variable dans la base.

    4.3.2 Resolution dun programme lineaire quelconque

    Pour pouvoir traiter les programmes lineaires generaux, la difficulte consistea former un premier tableau du simplexe satisfaisant les invariants. En effet, for-

    mer ce premier tableau equivaut a identifier un sommet du polyedre solutionsrealisables (via la solution de base) et donc, en particulier, a demontrer que leprogramme lineaire admet au moins une solution realisable.Dans le cas dun programme lineaire sous forme canonique par rapport a la base, lorigine est une solution evidente mais cest faux en general.Dans cette section, on montre que le probleme de la recherche dun premier ta-bleau peut se reduire en un probleme doptimisation, la resolution dun autreprogramme lineaire, appele ( programme artificiel ), qui releve, lui, du cas pro-gramme sous forme canonique par rapport a la base.Prenons pour exemple le programme suivant quon resolu avec la methode gra-phique.

    Maximiser z= 2x1+ 5x2Sous contraintes 8x1+ 4x2 40

    x1+ 5x2 10x1 0, x2 0

    La mise sous forme standard ramene deux variables decart.

    Maximiser z= 2x1+ 5x2Sous contraintes 8x1+ 4x2 t1 = 40

    x1+ 5x2 t2 = 10x1 0, x2 0 t1 0, t2 0

    36 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    41/45

    4.3 Resolution par la methode du simplexe

    On introduitdes variables artificiellesdans les equations qui posent probleme.On prends pour objectif artificielle minimiser ses varaibles.

    Le programme artificielle associe est

    Minimiser w= k1+k2Sous contraintes 8x1+ 4x2 t1+k1 = 40

    x1+ 5x2 t2+k2 = 10x1 0, x2 0 t1 0, t2 0 k1 0, k2 0

    Maximiser (w) =k1 k2Sous contraintes 8x1+ 4x2 t1+k1 = 40

    x1+ 5x2 t2+k2 = 10x1 0, x2 0 t1 0, t2 0 k1 0, k2 0

    Le programme artificielle releve du cas de programme canonique par rapporta la base, en effet :

    A=

    8 4 1 0 1 01 5 0 1 0 1

    B =

    1 00 1

    et I= (5, 6)

    Les variables de base sont alors k1 et k2 et celles hors base sontx1, x2, t1 et t2.Il y a bijection entre les solutions du programme lineaire initial et les solutions

    du programme artificiel telles que k1= k2= 0.Pour determiner si le programmeinitial admet au moins une solution, il suffit donc de determiner si le programmeartificiel a une solution telle quek1= k2= 0.Cest ce quon fait en prenant pourobjectif : minimiser k1+k2.Pour pouvoir appliquer lalgorithme du tableau du simplexe, il reste une difficultetechnique a lever : les variable k1etk2sont en base alors que leurs couts sont nonnuls (lune des conditions du tableau du simplexe nest pas satisfait). Il suffit dereformuler lobjectif en utilisant lequation ou 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 obtientainsi le tableau initial tableau 0 satisfaisant toutes les conditions du tableau dusimplexe. On applique au programme artificiel lalgorithme donne dans le cas fa-vorable.

    Pr.Khatmi 37

  • 8/13/2019 polycope outil mathmatique

    42/45

    La methode du simplexe

    Tableau 0 :

    B

    HB :x1 x2 t1 t2 k1 k2 C R

    k1 8 4 1 0 1 0 40 5k2 1 5 0 1 0 1 10 10 9 9 -1 -1 0 0 50

    Tableau 1 :

    BHB :

    x1 x2 t1 t2 k1 k2 C R

    x1 1 1/2 1/8 0 1/8 0 5 10k2 0 9/2 1/8 1 1/8 1 5 10/9 0 9/2 1/8 -1 9/8 0 5

    Tableau 2 :

    BHB :

    x1 x2 t1 t2 k1 k2 C

    x1 1 0 5/36 1/9 5/36 -1/9 40/9x2 0 1 1/36 2/9 1/36 2/9 10/9 0 0 0 0 1 -1 0

    Loptimum du programme artificiel est 0 = 0. Les variables artificielles k1 etk2 sont hors base. On obtient une premiere base realisable pour le programme

    lineaire initial en supprimant simplement les variables artificielles. Onobtient ainsi un programme lineaire equivalent au programme lineaire initial avecune premiere base realisable I = (1,2), les variables dans la base sont alors x1 etx2 et celles hors bases sont t1 et t2.

    Maximiser z= 2x1+ 5x2 (4.21)

    Sous contraintes x1 5

    36t1+

    1

    9t2=

    40

    9 (4.22)

    x2+ 1

    36t1

    2

    9t2=

    10

    9 (4.23)

    x1 0, x2 0 t1 0, t2 0 (4.24)

    Proposition 4.3.1. Le programme lineaire initial admet au moins une solutionrealisable si et seulement si lobjectif realise a loptimum du programme artificielest0= 0.

    Proposition 4.3.2. Supposons que lobjectif realise a loptimum du programmeartificiel soit0 = 0. La solution optimale du programme artificiel fournit unepremiere base realisable au programme lineraire initial si et seulement si aucunevariable artificielle nest en base.

    38 Programmation lineaire

  • 8/13/2019 polycope outil mathmatique

    43/45

    4.3 Resolution par la methode du simplexe

    On remarque que le programme lineaire obtenu ne satisfait pas toutes lesconditions de lalgorithme du tableau du simplexe puisque les couts correspondant

    aux variables de base ne sont pas tous nuls. On applique la meme technique queprecedemment : on reecrit lobjectif en se servant des equations des contraintes(4.22) et (4.23).

    x1 5

    36t1+

    1

    9t2=

    40

    9 x1=

    5

    36t1

    1

    9t2+

    40

    9

    x2+ 1

    36t1

    2

    9t2=

    10

    9 x2=

    1

    36t1+

    2

    9t2+

    10

    9

    La fonction objectifzest alors egale a :

    z=

    5

    36 t1+

    8

    9t2+

    130

    9

    Pour determiner z0, on evalue lobjectif (attention a la constante) sur la solutionde base : z0=

    130

    9

    Tableau 0 :

    BHB :

    x1 x2 t1 t2 C R

    x1 1 0 5/36 1/9 40/9 40x2 0 1 1/36 2/9 10/9 -5 0 0 5/36 8/9 -130/9

    Tableau 1 :

    BHB :

    x1 x2 t1 t2 C

    t2 9 0 5/4 1 40x2 2 1 1/4 0 10 -8 0 5/4 0 -50

    On remarque que la variable hors base t1 a une valeur positive dans la ligne, mais ses autres coefficients sont tous nuls, donc le test darret est verifie, leprobleme nest pas borne et la solution optimale est linfini, resultat confirme parla methode graphique.

    Remarque 4.3.5. Si, a la fin des iterations, une variable est HB avec un coef-ficient nul dans la ligne, alors on a une arete (plan,...) optimale. Les autressommets solutions sont obtenus en faisant rentrer cette variable dans la base.

    Exemple 4.3.2. Considerons le probleme de maximisation suivant :

    Maximiser z=x1+x2

    Sous contraintes 2x1+ 2x2 8

    x1 0, x2 0

    Pr.Khatmi 39

  • 8/13/2019 polycope outil mathmatique

    44/45

  • 8/13/2019 polycope outil mathmatique

    45/45

    4.4 Exercice

    1. Ecrire ce programme sous forme matricielle.

    2. Resoudre ce programme par la methode du simplexe.

    Exercice 4.4.3.

    Maximiser z= 2x1+ 3x2+ 5x3

    Sous contraintes x1+ 4x2 3x3 8

    2x1 x2 5

    5x1+ 2x2 x3= 19

    x1 0, x2 0, x3 0

    1. Ce programme possede t-il une base realisable ?

    2. si oui est il sous forme caninique par rapport a cette base ?3. resoudre ce programme par la methode du simplexe.