Académique Documents
Professionnel Documents
Culture Documents
Chapitre III
Algorithme du simplexe : Mthode algbrique
Algorithme du simplexe
Bases
Considrons un problme gnral sous la forme standard : Max z = cx Ax = b x 0 Dans ce qui suit, on suppose que rg(A) = m et m < n Dnition : On appelle base toute sous-matrice B extraite de A qui est carre et rgulire dordre m.
Algorithme du simplexe
Exemple
Reprenons lexemple 1 et introduisans-y des variables dcart : Max z = 50x1 + 60x2 x1 + 2x2 + x3 = 8 x1 + x2 + x4 = 5 9x1 + 4x2 + x5 = 36 x1 , x2 , x3 , x4 , x5 0 La matrice A vaut : x1 1 A= 1 9 x2 2 1 4 x3 1 0 0 x4 0 1 0 x5 0 0 1
Algorithme du simplexe
Bases
Soit B une base. Alors en permutant les colonne de A, on peut crire A sous la forme : A = [B, H] o H est la sous-matrice forme par les colonnes de A qui ne sont pas dans la base. De mme on peut crire : x = [xB , xH ] et c = [cB , cH ].
Les composantes de xB sont appeles variables de base Les composantes de xH sont appeles variables hors base
Algorithme du simplexe
Partitionnement de A, x et c
variables de base
xB cB B (base)
Algorithme du simplexe
Solutions de base
Dnition : La solution du systme Ax = b obtenue en posant xH = 0 est appele solution de base associe la base B.
xB est dtermin de faon unique par la rsolution du systme (de Cramer) : BxB = b soit xB = B1 b. Cette solution de base est donc : xB = B1 b xH = 0
Algorithme du simplexe
Exemple
Si la base est B1 :
B1 H
x1 x2 x3 x4 x5 1 2 1 0 0 A= 1 1 0 1 0 9 4 0 0 1 Le systme rsoudre est B1 xB = b, soit : x1 + 2x2 + x3 = 8 = 5 x1 + x2 9x1 + 4x2 = 36 Alors la solution de base est : x1 = 3.2, x2 = 1.8, x3 = 1.2
Algorithme du simplexe
Exemple
Si la base est B2 :
B2 H
x2 x3 x5 x1 x4 2 1 0 1 0 A= 1 0 0 1 1 4 0 1 9 0 Le systme rsoudre est B2 xB = b, soit : 2x2 + x3 = 8 = 5 x2 4x2 + x5 = 36 Alors la solution de base est : x2 = 5, x3 = 2, x5 = 16
Algorithme du simplexe
Exemple
Si la base est B3 :
B3 H
Algorithme du simplexe
0,
Une base correspondant une solution de base ralisable est appele base ralisable. Une solution de base est dite dgnre lorsquau moins une variable de base est nulle.
Algorithme du simplexe
0,
Une base correspondant une solution de base ralisable est appele base ralisable. Une solution de base est dite dgnre lorsquau moins une variable de base est nulle.
Algorithme du simplexe
0,
Une base correspondant une solution de base ralisable est appele base ralisable. Une solution de base est dite dgnre lorsquau moins une variable de base est nulle.
Algorithme du simplexe
0,
Une base correspondant une solution de base ralisable est appele base ralisable. Une solution de base est dite dgnre lorsquau moins une variable de base est nulle.
Algorithme du simplexe
Corollaire : Tout point dun polydre convexe P est combinaison convexe des points extrmes de P.
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (0, 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (2, 3, 0, 0, 6) (0, 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (2, 3, 0, 0, 6) (0, 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (2, 3, 6) ( 20 , 18 , 0, 0, 3 , 0) 7 7(0, 0) 7
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (2, 3, 6) ( 20 , 18 , 0, 0, 3 , 0) 7 7(0, 0) 7
Algorithme du simplexe
Algorithme du simplexe
Algorithme du simplexe
Algorithme du simplexe
Algorithme du simplexe
Algorithme du simplexe
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (8,(2,189,0,60,0,30) (5, ,7(0, 0) 20) (0, 0, 0, ,0, 7 , 0) ( 20160,53,51, 9) ( 0,4, ,3, 36) , 6) 7 5 3,
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 (8,(2,189,0,60,0,30) (5, ,7(0, 0) 20) (0, 0, 0, ,0, 7 , 0) ( 20160,53,51, 9) ( 0,4, ,3, 36) , 6) 7 5 3,
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 (8,(2,189,0,60,0,316) (5, 0,53,51, 20) (0, 4, 0, ,0, 70) 0, , ((0,55,3,,3,9) ( 16 ,7(0, 0) 36) , 2, 6) 0) 7 0, 0,
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 (8,(2,189,0,60,0,316) (5, 0,53,51, 20) (0, 4, 0, ,0, 70) 0, , ((0,55,3,,3,9) ( 16 ,7(0, 0) 36) , 2, 6) 0) 7 0, 0,
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 16 (8,(2,189,0,60,0,316) (5, 0,53,51, 20) (0, 4, 0, ,0, 70) 0, , ((0,55,3,,3,9) ((4,,7(0, 0) 36) , 2, 0) 7 0, 0, 4, 1, 6) 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 16 (8,(2,189,0,60,0,316) (5, 0,53,51, 20) (0, 4, 0, ,0, 70) 0, , ((0,55,3,,3,9) ((4,,7(0, 0) 36) , 2, 0) 7 0, 0, 4, 1, 6) 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 (8,(2,189,0,60,0,316) (0,160,53,51, 20) (5, ,7(0, 0) 36) (0, 0, 4, 1, 6)0) 9, 0, ((0,55,3,,3,9) ((4,4, 0, ,0, 70) , 2, 4,, 7 0, 1, 0) 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 (8,(2,189,0,60,0,316) (0,160,53,51, 20) (5, ,7(0, 0) 36) (0, 0, 4, 1, 6)0) 9, 0, ((0,55,3,,3,9) ((4,4, 0, ,0, 70) , 2, 4,, 7 0, 1, 0) 0)
Algorithme du simplexe
11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11
20 (8,(2,189,0,60,0,316) (0,160,53, 0) 20) (5, ,7(0, 5, 36) (0, 0, 0, ,0, 70) 9, 2, 4,, 0, ((0,55,3,8,51, 9) ((4,4, ,3, 36) , 1, 0) 0) 7 0, 0, 4, 1, 6)0)
Algorithme du simplexe
Thorme : Loptimum de z, fonction linaire, sur P Rn , polydre convexe, est atteint en au moins un point extrme. Sil est atteint en plusieurs points extrmes, il est atteint en tout point, combinaison convexe de ces points extrmes.
Algorithme du simplexe
Thorme : Une condition ncessaire et sufsante pour que B soit une base ralisable optimale est que : cH = cH cB B1 H 0
Le vecteur = cB B1 est appel le vecteur des multiplicateurs du simplexe. Les composantes cj du vecteur cH sont appels cots rduits des variables hors base
Algorithme du simplexe
Corollaire : Soit B une base ralisable quelconque, x0 la solution de base correspondante, et cH = cH H. Sil existe une variable hors base xs telle que cs > 0, alors : (a) ou bien on peut augmenter la valeur de xs , sans sortir de P, et dans ce cas loptimum de z est non born (+). (b) ou bien on met en vidence une autre base B et une autre solution de base ralisable x telle que : z(x) < z(x)
Algorithme du simplexe
Corollaire : Soit B une base ralisable quelconque, x0 la solution de base correspondante, et cH = cH H. Sil existe une variable hors base xs telle que cs > 0, alors : (a) ou bien on peut augmenter la valeur de xs , sans sortir de P, et dans ce cas loptimum de z est non born (+). (b) ou bien on met en vidence une autre base B et une autre solution de base ralisable x telle que : z(x) < z(x)
Algorithme du simplexe
Corollaire : Soit B une base ralisable quelconque, x0 la solution de base correspondante, et cH = cH H. Sil existe une variable hors base xs telle que cs > 0, alors : (a) ou bien on peut augmenter la valeur de xs , sans sortir de P, et dans ce cas loptimum de z est non born (+). (b) ou bien on met en vidence une autre base B et une autre solution de base ralisable x telle que : z(x) < z(x)
Algorithme du simplexe
Algorithme du simplexe
Modlisation du problme
Appelant x1 , x2 , x3 , x4 les quantits respectives de produits 1, 2, 3, 4, le problme admet la modlisation suivante : Max z= 7x1 + 9x2 + 18x3 + 17x4 2x1 + 4x2 + 5x3 + 7x4 x1 + x2 + 2x3 + 2x4 x1 + 2x2 + 3x3 + 3x4 x1 , x2 , x3 , x4 42 17 24 0
Algorithme du simplexe
Formulation quivalente
Introduisons trois variables dcart x5 , x6 , x7 , qui mesurent pour chaque ressource la quantit inutilis. On obtient une formulation quivalente du problme : Max z= 7x1 + 9x2 + 18x3 + 17x4 2x1 + 4x2 + 5x3 + 7x4 + x5 = 42 x1 + x2 + 2x3 + 2x4 + x6 = 17 x1 + 2x2 + 3x3 + 3x4 + + + x7 = 24 x1 , x2 , x3 , x4 , x5 , x6 , x7 0
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Les variables x5 , x6 , x7 sont des variables de base et x1 , x2 , x3 , x4 sont des variables hors base.
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Le bnce correspondant est z = 0 ( on ne produit rien, on ne consomme aucune ressource et on ne gagne rien.)
Algorithme du simplexe
Solution initiale
Cette formulation permet dexprimer facilement les variables dcart x5 , x6 , x7 comme fonctions afnes des variables de dcision x1 , x2 , x3 , x4 : x5 x6 x7 z = = = = 42 17 24 0 + 2x1 x1 x1 7x1 + 4x2 x2 2x2 9x2 Ici + 5x3 2x3 3x3 18x3 + 7x4 2x4 Dic 1 3x4 17x4
Algorithme du simplexe
Ide
En partant de la solution basique S0 , on cherche amliorer le bnce. La fonction conomique est actuellement nulle, mais nous voyons quelle augmenterait
de 7 par unit de x1 ; ou de 9 par unit de x2 ; ou de 18 par unit de x3 ; ou de 17 par unit de x4 .
A premire vue, x3 semble lgrement plus attrayante. Il est vident que si on fait crotre x3 partir de 0, les autres variables hors-base restant nulles, la valeur de la fonction z crot.
Algorithme du simplexe
Ide
En partant de la solution basique S0 , on cherche amliorer le bnce. La fonction conomique est actuellement nulle, mais nous voyons quelle augmenterait
de 7 par unit de x1 ; ou de 9 par unit de x2 ; ou de 18 par unit de x3 ; ou de 17 par unit de x4 .
A premire vue, x3 semble lgrement plus attrayante. Il est vident que si on fait crotre x3 partir de 0, les autres variables hors-base restant nulles, la valeur de la fonction z crot.
Algorithme du simplexe
Ide
En partant de la solution basique S0 , on cherche amliorer le bnce. La fonction conomique est actuellement nulle, mais nous voyons quelle augmenterait
de 7 par unit de x1 ; ou de 9 par unit de x2 ; ou de 18 par unit de x3 ; ou de 17 par unit de x4 .
A premire vue, x3 semble lgrement plus attrayante. Il est vident que si on fait crotre x3 partir de 0, les autres variables hors-base restant nulles, la valeur de la fonction z crot.
Algorithme du simplexe
Ide
En partant de la solution basique S0 , on cherche amliorer le bnce. La fonction conomique est actuellement nulle, mais nous voyons quelle augmenterait
de 7 par unit de x1 ; ou de 9 par unit de x2 ; ou de 18 par unit de x3 ; ou de 17 par unit de x4 .
A premire vue, x3 semble lgrement plus attrayante. Il est vident que si on fait crotre x3 partir de 0, les autres variables hors-base restant nulles, la valeur de la fonction z crot.
Algorithme du simplexe
Ide
Mais jusquo peut-on pousser x3 , tout en gardant x1 , x2 et x4 zro ? Il faut que la solution reste ralisable. Les contraintes sur laugmentation de x3 sont : x5 x6 x7 0 = 42 5x3 0 = 17 3x3 0 = 24 3x3 0 = x3 0 = x3 0 = x3 8.4 8.5 8 8.
Algorithme du simplexe
Ide
Mais jusquo peut-on pousser x3 , tout en gardant x1 , x2 et x4 zro ? Il faut que la solution reste ralisable. Les contraintes sur laugmentation de x3 sont : x5 x6 x7 0 = 42 5x3 0 = 17 3x3 0 = 24 3x3 0 = x3 0 = x3 0 = x3 8.4 8.5 8 8.
Algorithme du simplexe
Ide
Mais jusquo peut-on pousser x3 , tout en gardant x1 , x2 et x4 zro ? Il faut que la solution reste ralisable. Les contraintes sur laugmentation de x3 sont : x5 x6 x7 0 = 42 5x3 0 = 17 3x3 0 = 24 3x3 0 = x3 0 = x3 0 = x3 8.4 8.5 8 8.
Algorithme du simplexe
Interprtation gomtrique
LInterprtation gomtrique est la suivante : en partant du sommet (0, 0, 0, 0) du polydre des contraintes, on se dplace sur une arte de ce polydre. Le premier hyperplan rencontr est x7 = 0. On arrive alors dans un nouveau sommet, lintersection des hyperplans x1 = 0, x2 = 0, x4 = 0, x7 = 0.
Algorithme du simplexe
Deuxime solution
Nous allons faire un changement de dictionnaire en changeant les rles de x3 et x7 . On utilise la troisime quation du Dic 1 pour exprimer x3 en fonction de x1 , x2 , x4 et x7 : 1 2 1 x3 = 8 x1 x2 x4 x7 3 3 3
Nous liminons grce cette expression les termes en x3 du systme dquations, en dehors de la troisime quation du Dic 1
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Deuxime solution
On remplace ensuite x3 par cette expression dans les autres quations du dictionnaire : x5 x6 x3 z = = = = 2 1 8 144 +
1 3 x1 1 3 x1 1 3 x1
+ Ici
2 3 x2 1 3 x2 2 3 x2
+ + -
5 3 x7 2 3 x7 1 3 x7
2x4 Dic 2 x4 x4
x1
3x2
6x7
Algorithme du simplexe
Interprtation conomique
La solution S1 dnit un plan de production beaucoup plus intressant : on fabrique 8 units du produit 3 (x3 = 8)
en consommant entirement la ressource C (x7 = 0); il nous reste x5 = 2 units de la ressource A; il nous reste x6 = 1 unit de la ressource B.
Algorithme du simplexe
0 = x1 0 = x1 0 = x1
6 3 24
Algorithme du simplexe
0 = x1 0 = x1 0 = x1
6 3 24
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Troisime solution
On obtient le dictionnaire suivant : x5 x1 x3 z = = = = 1 3 7 147 + + x6 3x6 x6 3x6 + Ici x2 x2 x2 2x2 + + x7 2x7 x7 4x7 x4 x4 2x4 Dic 3
Algorithme du simplexe
Interprtation conomique
La solution S3 dnit le plan de production suivant : on fabrique 3 units du produit 1 (x1 = 3) on fabrique 7 units du produit 3 (x3 = 7)
en consommant entirement les ressources B & C (x6 = x7 = 0); il ne nous reste quune unit de la ressource A (x5 = 1);
Algorithme du simplexe
Est-ce quon peut faire mieux ? Tous les coefcients de la dernire ligne sont ngatifs, donc on ne peut pas se dplacer vers un sommet voisin en augmentant la fonction du bnce. Nous avons alors trouv la solution optimale du problme.