You are on page 1of 4

Lalgorithme du simplexe appliqu a un exemple e`

S. Balev
Une entreprise fabrique quatre produits. La fabrication de chaque produit ncessite une certaine e quantit de ressources. Les ressources consommes, les stocks des ressources et les bnces des e e e e produits sont rcapituls dans le tableau suivant : e e produit 1 produit 2 produit 3 produit 4 stock ressource A 2 4 5 7 42 ressource B 1 1 2 2 17 ressource C 1 2 3 3 24 bnce e e 7 9 18 17 On souhaite tablir un plan de production de faon a maximiser le chire daaires. e c ` Appelant x1 , x2 , x3 , x4 les quantits respectives de produits 1, 2, 3, 4, le probl`me admet la e e modlisation suivante : e Maximiser z = 7x1 s. c. 2x1 x1 x1 x1 + 9x2 + 4x2 + x2 + 2x2 , x2 + 18x3 + 5x3 + 2x3 + 3x3 , x3 + 17x4 + 7x4 + 2x4 + 3x4 , x4 42 17 24 0

On reconna l` un probl`me de programmation linaire sous forme standard. t a e e Introduisons trois variables dcart x5 , x6 , x7 , qui mesurent pour chaque ressource lcart entre e e la quantit initialement disponible et la quantit consomme par le plan de fabrication donn par e e e e les variables de dcision x1 , x2 , x3 , x4 . On obtient une formulation quivalente du probl`me : e e e Maximiser z = 7x1 s. c. 2x1 x1 x1 x1 + 9x2 + 4x2 + x2 + 2x2 , x2 + 18x3 + 5x3 + 2x3 + 3x3 , x3 + 17x4 + 7x4 + 2x4 + 3x4 , x4 + x5 + x6 , x5 , x6 + x7 , x7 = 42 = 17 = 24 0

Cette formulation permet dexprimer facilement les variables dcart comme fonctions anes des e variables de dcision : e x5 x6 x7 z = 42 2x1 = 17 x1 = 24 x1 = 7x1 4x2 x2 2x2 + 9x2 5x3 2x3 3x3 + 18x3 7x4 2x4 3x4 + 17x4

Dictionnaire 1

Le tableau ci-dessus est appel un dictionnaire. Les variables x5 , x6 , x7 sont des variables de base e et x1 , x2 , x3 , x4 sont des variables hors-base. La solution basique associe a un dictionnaire est e ` obtenue en donnant la valeur 0 a toutes les variables hors-base. La solution basique correspondant ` au Dictionnaire 1 est donc x1 = 0, x2 = 0, x3 = 0, x4 = 0, entra nant x5 = 42, x6 = 17, x7 = 24. Le bnce correspondant est z = 0. Cette solution est le plan de production du mois daot e e u on ne produit rien, on ne consomme aucune ressource et on ne gagne rien. Nanmoins, cest e une solution ralisable, car elle satisfait aux toutes les contraintes. On peut remarquer que cette e solution basique correspond au sommet de coordonnes (0, 0, 0, 0) du poly`dre des contraintes. e e En partant de cette solution basique, on cherche a amliorer le bnce. Considrons une ` e e e e variable hors-base dont le coecient dans la derni`re ligne du dictionnaire es positif. Dans le e 1

Dictionnaire 1 tous les coecients de la derni`re ligne sont positifs, donc on peut prendre nimporte e quelle variable. Choisissons, par exemple, x3 . Il est vident que si on fait cro x3 a partir de 0, e tre ` les autres variables hors-base restant nulles, la valeur de la fonction z cro Mais jusquo` peut-on t. u pousser x3 , tout en gardant x1 , x2 et x4 a zro ? Il faut que la solution reste ralisable. Les ` e e contraintes sur laugmentation de x3 sont : x5 0 42 5x3 0 x3 8.4 x6 0 17 3x3 0 x3 8.5 x7 0 24 3x3 0 x3 8 La plus restrictive de ces contraintes est x3 8. Linterprtation gomtrique est la suivante : e e e en partant du sommet (0, 0, 0, 0) du poly`dre des contraintes, on se dplace sur une arte de ce e e e poly`dre. Le premier hyperplan rencontr est x7 = 0. On arrive alors dans un nouveau sommet, a e e ` lintersection des hyperplans x1 = 0, x2 = 0, x4 = 0, x7 = 0. Nous allons faire un changement de dictionnaire en changeant les rles de x3 et x7 . On utilise e o la troisi`me quation du Dictionnaire 1 pour exprimer x3 en fonction de x1 , x2 , x4 et x7 : e e 1 2 1 x3 = 8 x1 x2 x 4 x7 3 3 3 On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : e x5 x6 x3 z = = = 2 1 8
1 3 x1 1 3 x1 1 3 x1

2 3 x2 1 3 x2 2 3 x2

+ +

5 3 x7 2 3 x7 1 3 x7

2x4 Dictionnaire 2 x4 x4

= 144 +

x1

3x2

6x7

La variable x7 est sortie de la base et la variable x7 est entre en base. La nouvelle base est e x5 , x6 , x3 . La solution basique associe au Dictionnaire 2 est x1 = x2 = x7 = x4 = 0, x5 = 2, e x6 = 1, x3 = 8. Elle correspond au sommet de coordonnes (0, 0, 8, 0) du poly`dre de contraintes. e e Cette solution dnit un plan de production beaucoup plus intressant : on fabrique 8 units du e e e produit 3 (x3 = 8) en consommant enti`rement la ressource C (x7 = 0). Il nous reste x5 = 2 units e e de la ressource A et x6 = 1 unit de B. Le bnce est z = 144. e e e Est-ce quon peut faire mieux ? Dans la nouvelle expression de la fonction z, nous voyons que seule la variable x1 a un coecient positif. Nous dcidons de faire entrer x1 en base, et e ainsi de parcourir une nouvelle arte du poly`dre des contraintes. On a les limites suivantes sur e e laugmentation de x1 : x5 0 x 1 6 x6 0 x 1 3 x3 0 x1 24 do` x1 3. On fait sortir x6 u suivant : x5 = 1 x1 = 3 x3 = 7 z = 147 de la base on et fait entrer x1 a sa place. On obtient le dictionnaire ` + x6 3x6 + x6 3x6 x2 + x2 x2 2x2 + x7 + 2x7 x7 4x7 2x4 x4 x4 Dictionnaire 3

La solution basique associe x6 = x2 = x7 = x4 = 0, x5 = 1, x1 = 3, x3 = 7, correspond e au sommet (3, 0, 7, 0) du poly`dre des contraintes. Elle dnit le plan de production suivant : on e e fabrique 3 units du produit 1 et 7 units de produit 3. Il ne nous reste quune unit de la ressource e e e A. Le bnce est z = 147. De plus, tous les coecients de la derni`re ligne sont ngatifs, donc on e e e e ne peut pas se dplacer vers un sommet voisin en augmentant la fonction du prot. Nous avons e alors trouv la solution optimale du probl`me. e e

B [94.5]

C [102] F [129] A [0] E [127]

D [119] G [135]

H [143] J [145] K [146,5] I [144]

sommet x1 x2 A 0 0 B 0 10.5 C 0 0 D 17 0 E 11.67 0 F 13 4 G 0 3 H 0 0 I 0 0 J 4 1 K 3 0 L 3 0

x3 x4 0 0 0 0 0 6 0 0 0 2.67 0 0 6 0 7 1 8 0 6 0 6.5 0.5 7 0

z 0 94.5 102 119 127 129 135 143 144 145 146.5 147

Le dessin si-dessus donne une interprtation gomtrique du probl`me. A gauche, on voit les e e e e sommets et les artes du poly`dre des contraintes. La valeur de la fonction objective est donne e e e entre crochets. La table a droite donne les coordonnes de chaque sommet. Nous avons parcouru ` e le chemin A-I-L. La forme de tableaux est un formalisme plus facile a manipuler et automatiser, mais qui eectue ` les mmes oprations. Chaque dictionnaire est reprsent par un tableau de la forme e e e e B xB 1 . . . xB m x1 11 . . . m1 c1 ... ... .. . ... ... xn+m 1,n+m . . . m,n+m cn+m

L [147]

b1 . . . bm z

Les r`gles de manipulation des tableaux sont : e 1. Initialisation. bi = bi , cj = cj , ij = aij , z = 0. 2. Choix de colonne pivot (variable a entrer en base). ` (a) Si cj 0, j = 1, . . . , n + m, alors STOP (la solution optimale est trouve). e (b) Sinon, choisir une colonne s, telle que cs > 0. 3. Choix de ligne pivot (variable a sortir de la base). ` (a) Si is 0, i = 1, . . . , m, alors STOP (la fonction objective nest pas borne). e (b) Sinon, choisir une ligne r, telle que br = min rs bi : i = 1, . . . , m, is > 0 is

4. Pivot (passage dun tableau au tableau suivant). (a) Transformation de la ligne pivot : elle est divise par llment pivot. e ee br = br rj ; rj = , j = 1, . . . n + m rs rs

(b) Transformation de la colonne pivot : toutes les cases sauf la case pivot deviennent zro. e is = 0, i = 1, . . . , r 1, r + 1, . . . , m 3

(c) Transformation des autres cases du tableau. On applique la r`gle suivante : e

B A =A BC D

ligne pivot

colonne pivot Formellement, ij = ij is br cs rj cs br is rj , bi = b i , cj = c j , z =z+ rs rs rs rs

En appliquant lalgorithme ci-dessus sur notre exemple, on obtient B x5 x6 x7 c x5 x6 x3 c x5 x1 x3 c b 42 17 24 0 2 1 8 144 1 3 7 147 x1 2 1 1 7 1/3 1/3 1/3 1 0 1 0 0 x2 4 1 2 9 2/3 -1/3 2/3 -3 1 -1 1 -2 x3 5 2 3 18 0 0 1 0 0 0 1 0 x4 7 2 3 17 2 0 1 -1 2 0 1 -1 x5 1 0 0 0 1 0 0 0 1 0 0 0 x6 0 1 0 0 0 1 0 0 -1 3 -1 -3 x7 0 0 1 0 -5/3 -2/3 1/3 -6 -1 -2 1 -4

You might also like