Vous êtes sur la page 1sur 6

Algorithme du simplexe

Lalgorithme du simplexe suppose que le P.L. traite est ecrit sous forme canonique
par rapport a une base realisable. Si tel nest pas le cas, on requiert a la phase 1 de la
methode des deux phases an de trouver une base realisable de depart.
(1) Tableauinitial


max z = c x


s.c.
Soit (P ) un P.L. ecrit S.F.C. % a une base realisable J.




A x = b


x0

(2) Critere doptimalite


Choisir s J tel que cs > 0 :
(a) Sil existe aller en 3
(b) Sinon, Terminer : J est une base optimale, x est une S.B. optimale, z =
(3) Soit I = {i|Asi > 0}
(a) Si I = 0 aller en 4
(b) Sinon, Terminer : (P ) na pas de S.O.

bl bi
(4) Soit L = l | s = min( s )
Al iI Ai
Choisir r L.
La variable entrante est xs et la variable sortante est xcol(r) . Le pivot est Asr .
(5) Pivotage
A b
Eectuer pivotage(m + 1, n + 1, r, s, )
c
La nouvelle base est : J := J {s} \ {col(r)}.
Retourner en 2

Justication Voir [Sakarovitch, 1984].

Remarque. Dans le cas dun probleme de minimisation, remplacer a letape 2, cs > 0


par cs < 0.

3.1.2 Resolution des P.L. ecrits sous forme general


Introduction

Soit le P.L. suivant ecrit sous forme generale





max z = 1000x1 +1200x2





s.c.





10x1 +5x2 200
(P ) 2x1 +3x2 = 60




x1 12





x2 6


x1 0 x 2 0

22
qui est equivalent a lecriture sous forme standard



max z = 1000x1 +1200x2





s.c.





10x1 +5x2 +x3 = 200
(P s) 2x1 +3x2 = 60




x1 +x4 = 12





x2 x5 =6

xi 0 , i = 1,5

Le P.L. (P s) nest pas ecrit sous forme canonique par rapport a une base realisable.
Il nest donc pas possible dappliquer directement lalgorithme du simplexe.
Pour resoudre (P s), nous devons dabord lecrire sous forme canonique par rapport a
une base realisable. Ceci est lobjectif de la premiere phase de la methode du simplexe
i.e. ce positionner sur un point extreme de la region admissible. Ensuite, a partir dune
solution de base realisable initiale, on cherche, de proche en proche, une solution optimale
de base qui est lobjectif de la deuxieme phase de la methode du simplexe.

Premiere phase de la methode du simplexe

Soit le P.L. ecrit sous forme standard





max z = cx


s.c.
(P s)




Ax = b


x0

avec, b 0 (sinon, on multiple la contrainte correspondante par -1).


On ajoute a chaque contrainte de (P s), une variable non negative vi , dite variable
articielle, pour obtenir le P.L. suivant



min zA = m i=1 vi


s.c.
(P sA )




Ax + v = b


x 0, v 0
(P sA ) est dit P.L. auxiliaire de (P s).

Theoreme 5. Si (x, v) est une solution realisable de (P sA ) tel que vi = 0, i = 1,m,


alors x est une solution realisable de (P s).

Demonstration. Soit (x, 0) une solution realisable de (P sA ). Alors, Ax + 0 = b et x 0,


dou x est une solution realisable de (P s).

Pour ecrire (P sA ) sous forme canonique par rapport a une base realisable, il faut que
les variables vi napparaisse pas dans la fonction objectif.
On remarque, a partir des contraintes que

vi = b i A i x

23
en ecriture matricielle
v = b Ax

Or, la somme m i=1 vi secrit ev, ou e = [1 1 ... 1] est un m vecteur ligne. Dou, la
nouvelle ecriture de la fonction objectif

min zA eb = eAx

En resume,




min zA eb = eAx


s.c.
(P sA )



Ax + v = b


x 0, v 0

(P sA ) est ainsi ecrit sous la forme canonique par rapport a la base realisable J0 =
{n + 1, . . . , n + m}

Remarque. En pratique, on ajoutera le moins possible de variables articielles.

Lalgorithme du simplexe peut maintenant etre applique a (P sA ) an de trouver une


solution de base initiale pour (P s).

Methode des deux phases

Phase 1
1. Le P.L. (P s) est ecrit sous forme standard
2. Multiplier par -1 les equations dont le second membre est negatif
3. Associer a (P s), le P.L. auxiliaire (P sA ) en ajoutant un minimum de variables
articielles
4. Ecrire (P sA ) S.F.C. % a une base realisable
5. Appliquer lalgorithme du simplexe a (P sA ). Soit zA la valeur minimale de la
fonction objectif de (P sA ) :

(a) Si zA > 0 alors Terminer, (P s) nadmet aucune solution realisable.


(b) Si zA = 0 alors faire sortir les variables articielles de la base en appliquant
tant que necessaire la procedure suivante :
Soit vr une variable articielle se trouvant dans la base optimale. Eec-
tuer un pivotage faisant sortir vr et entrant une variable initiale xs . Si
cette operation est impossible, supprimer lequation correspondante.

6. Le P.L. (P s) est ecrit S.F.C % a une base realisable.


Phase 2 Appliquer lalgorithme du simplexe au P.L. (P s) sous sa forme obtenue
a la n de la phase 1.

24
Application de la methode des deux phases pour la resolution de (P s)

Le P.L. auxiliaire de (P s) est



min zA = v1


+v2


s.c.









10x1 +5x2 +x3 = 200


2x1 +3x2 +v1 = 60
(P sA )




x1 +x4 = 12




x2 x5 +v2 =6

xi 0 , i = 1,5







vi 0 , i = 1, 2

Dapres, les contraintes (2) et (4), v1 = 60 2x1 3x2 et v2 = 6 x2 + x5 . Dou, en


remplacant dans la fonction objectif,



min zA 66 = 2x1 4x2 +x5





s.c.





10x1 +5x2 +x3 = 200


2x1 +3x2 +v1 = 60
(P sA )




x1 +x4 = 12




x2 x5 +v2 =6





xi 0 , i = 1, 5



vi 0 , i = 1, 2

qui est ecrit sous forme canonique par rapport a la base {3, 4, 6, 7} correspondante
aux variables de base x3 , x4 , v1 et v2 . Lalgorithme du simplexe peut donc etre applique
a (P sA ) pour la recherche dune solution de base initiale a (P s) (phase 1).

Phase 1
x1 x2 x3 x4 x5 v1 v2
x3 10 5 1 0 0 0 0 200
v1 2 3 0 0 0 1 0 60
x4 1 0 0 1 0 0 0 12
v2 0 1 0 0 1 0 1 6
zA 2 4 0 0 1 0 0 66
x3 10 0 1 0 5 0 5 170
v1 2 0 0 0 3 1 3 42
x4 1 0 0 1 0 0 0 12
x2 0 1 0 0 1 0 1 6
zA 2 0 0 0 3 0 4 42
x3 20/3 0 1 0 0 5/3 0 100
x5 2/3 0 0 0 1 1/3 1 14
x4 1 0 0 1 0 0 0 12
x2 2/3 1 0 0 0 1/3 0 20
zA 0 0 0 0 0 1 1 0

25
On remarque que : j J : cj 0 alors J = {2, 3, 4, 5} est une base optimale
de (P sA ). Comme zA = 0 et J ne contient aucun indice correspondant a une variable
articiel alors la solution (0, 20, 100, 12, 14) est une solution de base realisable de depart
pour (P s) correspondant a la base J = {2, 3, 4, 5}.
Ainsi, a partir du tableau optimale de la phase 1, on obtient :



max z = 1000x1 +1200x2





s.c.

20



x
3 1
+x3 = 100
(P s) 2
x
3 1
x5 = 14





x1 +x4 = 12

2



x
3 1
+x2 = 20

xi 0 , i = 1,5

Comme x2 est de base, on le reecrit en fonction de variables hors base en utilisant la


derniere egalite comme suit :
2
x2 = 20 x1
3
Il en resulte dans la fonction objectif :

max z 24000 = 200x1

On obtient :



max z 24000 = 200x1





s.c.

20



x
3 1
+x3 = 100
(P s) 2
x
3 1
x5 = 14





x1 +x4 = 12

2



x
3 1
+x2 = 20

xi 0 , i = 1,5

(P s) est ecrit sous forme canonique par rapport a la base J. On peut donc lui appliquer
lalgorithme du simplexe pour la recherche dune solution de base optimale (phase 2).

Phase 2
x1 x2 x3 x4 x5
x3 20/3 0 1 0 0 100
x5 2/3 0 0 0 1 14
x4 1 0 0 1 0 12
x2 2/3 1 0 0 0 20
z 200 0 0 0 0 24000
x3 0 0 1 20/3 0 20
x5 0 0 0 2/3 1 6
x1 1 0 0 1 0 12
x2 0 1 0 2/3 0 12
z 0 0 0 200 0 26400

26
On remarque que : j J : cj 0 alors J = {1, 2, 3, 5} est une base optimale de (Ps )
et x = (12, 12, 20, 0, 6) est une solution de base optimale de (Ps ) avec z = 26400. On en
deduit la solution optimale de (P ) qui est (12, 12) avec z = 26400.

27

Vous aimerez peut-être aussi