Vous êtes sur la page 1sur 4

Chapitre 3

M
ethode du simplexe : un aper
cu
par lexemple
Considerons le probl`eme doptimisation lineaire :
maximiser
z = 5x1 +4x2 +3x3
sous les contraintes
2x1 +3x2 +x3
4x1 +x2 +2x3
3x1 +4x2 +2x3
x1 ,
x2 ,
x3

5,
11,
8,
0.

(3.1)

An de se ramener a` un syst`eme dequations plutot que dinequations, on introduit les


variables decart x4 , x5 , x6 et lon ecrit le probl`eme ci-dessus sous la forme
x4
x5
x6
z

= 5 2x1 3x2 x3 ,
= 11 4x1 x2 2x3 ,
= 8 3x1 4x2 2x3 ,
=
5x1 +4x2 +3x3 ,

(3.2)

avec pour but de maximiser z sous les contraintes additionnelles xi 0, (i = 1, , 6). Il


est aise (et recommande) de verier que si (x1 , x2 , x3 , x4 , x5 , x6 ) est une solution optimale
de ce dernier probl`eme, alors les (x1 , x2 , x3 ) correspondants constituent une solution optimale du probl`eme (3.1). Inversement, si (x1 , x2 , x3 ) est une solution optimale de (3.1),
alors (x1 , x2 , x3 , 5 2x1 3x2 x3 , 11 4x1 x2 2x3 , 8 3x1 4x2 2x3 ) constitue une
solution optimale de (3.2).
Le syst`eme (3.2) poss`ede la solution (non optimale) (0, 0, 0, 5, 11, 8) (lusage est dappeler solution realisable tout choix de variables satisfaisant `a lensemble des contraintes
(cfr. le chapitre suivant)).
On observe que dans lexpression z = 5x1 + 4x2 + 3x3 , une augmentation de x1 entrane
une augmentation de z. Lidee premi`ere est alors daugmenter x1 autant que possible (sans
modier ni x2 ni x3 ) tant quaucune des variables decart x4 , x5 ou x6 ne devient negative.
Le choix maximal est donc x1 = min(5/2, 11/4, 8/3) = 5/2, lorsque x4 devient nulle, et
qui fait passer a` la solution realisable (5/2, 0, 0, 0, 3, 1/2).
On recrit le syst`eme (3.2) en exprimant cette fois (x1 , x5 , x6 ) (ainsi que z) en termes
9

de (x2 , x3 , x4 ), au moyen de lequation


x1 =

5 3
1
1
x2 x3 x4 .
2 2
2
2

Ceci donne, apr`es substitutions :


x1
x5
x6
z

=
=
=
=

5
2

32 x2 12 x3
1 +5x2
1
+ 12 x2 12 x3
2
25
72 x2 + 12 x3
2

12 x4 ,
+2x4 ,
+ 32 x4 ,
52 x4 .

(3.3)

Cette fois, on observe que dans lexpression z = 25/2 7/2x2 + 1/2x3 5/2x4 , une
augmentation de x3 (cest ici le seul choix possible) entrane une augmentation de z.
A nouveau, on augmente donc x3 autant que possible (sans modier ni x2 ni x4 ) tant
quaucune des variables (dites variables en bases (cfr. Chapitre 5)) x1 , x5 ou x6 ne devient
negative. Le choix maximal est donc x3 = min((5/2)/(1/2), (1/2)/(1/2)) = 1, lorsque x6
devient nulle, et qui fait passer `a la solution realisable (2, 0, 1, 0, 1, 0).
On recrit le syst`eme (3.3) en exprimant cette fois (x1 , x3 , x5 ) (ainsi que z) en termes
de (x2 , x4 , x6 ), au moyen de lequation
x3 = 1 + x2 + 3x4 2x6 .
Ceci donne, apr`es substitutions :
x1
x3
x5
z

= 2 2x2 2x4 +x6 ,


= 1 +x2 +3x4 2x6 ,
= 1 +5x2 +2x4
,
= 13 3x2 x4 x6 .

(3.4)

Puisque les coecients de x2 , x4 et x6 intervenant dans lexpression de z ci-dessus sont


tous negatifs ou nuls, on deduit que la solution realisable
x1
x2
x3
x4
x5
x6

= 2,
= 0,
= 1,
= 0,
= 1,
= 0,

(3.5)

est une solution optimale, pour laquelle z = 13.


Avant de formaliser lalgorithme du simplexe, et den decouvrir les bases theoriques,
voyons une deuxi`eme methode pour laborder et qui consiste `a placer les calculs en tableau
(toutes les variables se retrouvant du meme cote du signe degalite) plutot que sous forme
dictionnaire comme ci-dessus. Lavantage de cette deuxi`eme facon de presenter les choses
(mais qui est bien s
ur equivalente `a la premi`ere) et quelle se rapproche plus de la methode
bien connue du pivot de Gauss.

10

Considerons donc maintenant le probl`eme doptimisation lineaire


maximiser
z=
sous les contraintes

+5x2
+3x2

+x3
+x3
+3x3
+4x2 x3
+3x2 x3
x2 ,
x3

x1
x1
x1
2x1
x1
x1 ,

3,
2,
4,
2,
0.

(3.6)

On introduit les variables decart x4 , x5 , x6 , x7 (il y a une contrainte supplementaire par


rapport au probl`eme precedent) et on recrit le probl`eme sous la forme
maximiser
z=
sous les contraintes

x1
x1
x1
2x1
x1
x1 ,

+5x2
+3x2

+x3
+x3 +x4
+3x3
+x5
+4x2 x3
+x6
+3x2 x3
+x7
x2 ,
x 3 x 4 , x5 , x6 ,
x7

=
=
=
=

3,
2,
4,
2,
0.

(3.7)

On adopte alors la notation sous forme de tableau :


1
1
2
1
1

3
1 1 0
0
3 0 1
4 1 0 0
3 1 0 0
5
1 0 0

0
0
1
0
0

0
0
0
1
0

|
|
|
|
|

3
2
4
2
0

La derni`ere ligne du tableau correspond `a un expression possible de z comme fonction


ane des variables x1 , , x7 , loppose du terme constant se trouvant en bas `a droite du
tableau. On part de la solution realisable (0, 0, 0, 3, 2, 4, 2) et puisque le terme en x1 dans
la derni`ere ligne du tableau (=1) est positif, on va augmenter x1 (sans modier ni x2 ni
x3 ) jusqu`a ce que lune des variables x4 , x5 , x6 ou x7 devienne nulle. Ceci se produit pour
x1 = 2 pour lequel `a la fois x6 et x7 deviennent nuls. On choisit dont de faire rentrer x1
en base, et de faire sortir (par exemple) x6 . Cela donne
1
1
2
1
1

3
1 1 0
0
3 0 1
4 1 0 0
3 1 0 0
5
1 0 0

|
|
|
|
|

0
0
1
0
0

0
0
0
1
0

3
2
4
2
0

0
0
1
0
0

3
1
2
5
2
2
2 12
1 12
3
3
2

1
1
1
1
1

1
0
0
0
0

0 12
1
1
2
1
0
2
0 12
0 12

3
1
0
3
2 12
3 1
5
1
0
0
0
1
0

1
0
0
0
0

0
1
0
0
0

0 0 |
0 0 |
1
0 |
2
0 1 |
0 0 |

3
2
2
2
0

|
1
|
4
|
2
|
0
| 2

et fournit une solution realisable pour laquelle x1 = 2, x4 = 1, x5 = 4, x7 = 0 (et les


variables hors base sont toujours nulles : x2 = x3 = x6 = 0). Puisque le coecient de x2
11

dans la nouvelle expression de z est positive, on fait ensuite rentrer x2 en base, et on doit
faire sortir x7 sans pouvoir en rien augmenter x2 ! Cela donne
0
0
1
0
0

3
1
2
5
2
2
2 12
1 12
3
3
2

1
0
0
0
0

0 12
1
1
2
1
0
2
0 12
0 12

0
0
0
1
0

|
1
|
4
|
2
|
0
| 2

0
0
1
0
0

0
2
7
0
2
1
0
2
1 12
0
3

1
0
0
0
0

0
0
3
1
2
3
0
2
0 12
0
1

1
2
2
1
3

|
1
|
4
|
2
|
0
| 2

et fournit la solution realisable (2, 0, 0, 1, 4, 0, 0). On fait ensuite rentrer x3 en base (son
coecient dans lexpression de z vaut maintenant 3) et on fait sortir x4 (qui sannule
lorsque x3 = 1/2). Cela donne
0
0
1
0
0

0
2
7
0
2
1
0
2
1 12
0
3

1
0
0
0
0

0
0
3
1
2
3
0
2
0 12
0
1

1
2
2
1
3
0
0
1
0
0

0
0
0
1
0

|
1
|
4
|
2
|
0
| 2

0
0
1
0
0

1
0
0
1
2
3
0 74 1
2
3
0
0 0
2
1
1
0
0

4
2
0 32 0
1

0
1
7
0
2
1
0
2
1 12
0
3

1
2

0
0
0
0

0
0
3
1
2
3
0
2
0 12
0
1

12
2
2
1
3

1
|
2
|
4
|
2
|
0
| 2

1
12 |
2
9
14 |
4
7
74 |
4
3
1
|
4
4
32 | 72

et fournit la solution realisable ( 74 , 14 , 12 , 0, 0, 0, 0). On fait ensuite rentrer x6 et sortir x1


(qui sannule en premier lorsque lorsque x6 = 73 ). Cela donne
0
0
1
0
0

0
0
0
1
0

1
0
0
1
2
7
3
0 4 1
2
3
0
0 0
2
1
1
0
0

4
2
3
0 2 0
1

1
12 |
2
1
9
4 |
4
7
74 |
4
1
3
|
4
4
3
2 | 72

1
0
0
0 0 1
2
7
3
0 0 0 4 1
2
2
0 0
0 0
1
3
1
0 1 0
0 21
4
3
0 0 0 2 0
1

1
0 0 12
0 0 1
2
3
1 0 0 74 1 0
2
7
2
0
0
0
0
1

3
6
1
1
1
1 0
0 0
3
4
6
23 0 0 32 0 0 13

1
|
2
1
|
2
7
|
6
5
|
6
| 14
3

1
12 |
2
1
9
4 |
4
7
76 |
6
1
3
|
4
4
3
2 | 72

et fournit nalement la solution optimale (0, 56 , 12 , 0, 12 , 76 , 0) pour laquelle z =

12

14
.
3