Vous êtes sur la page 1sur 7

Cours ROP 20021-2022 Réalisé par S.

BOUKERRAM

Chapitre 5 : L’ALGORITHME DU SIMPLEXE


5.1 INTRODUCTION
Le problème de la méthode d’énumération des bases est qu’elle consiste à
- Énumérer toutes les bases réalisables ou non ;
- Déterminer celles qui sont réalisables puis,
- Calculer pour chacune la valeur de la fonction objectif et
- Déterminer ensuite la meilleure solution de base qui optimise la fonction objectif.
L’algorithme du simplexe nous permet de passer d’une base réalisable à une autre base réalisable
jusqu’à obtention de l’optimum.
5.2 ALGORITHME DU SIMPLEXE
PL à maximiser Mettre le PL sous forme standard

Recherche d’une première solution de


base réalisable

Construction du tableau du simplexe

FIN
Oui
Tous les Cj <=0 La solution optimale est
atteinte
Non

 Cj >0 tel Oui FIN


que MAX(Z) = + (infini)
A ij <=0 pour Polyèdre non borné

Non

Changement de base
Détermination des vecteurs entrant et sortant
Xk entre si Ck =max(Cj tel que Cj >0) pour j=1..n
Xr sort si b r/A rk = Min (b i /A ik tel que A ik >0) pour i=1..m

Construction du nouveau tableau simplexe


En considérant la ligne r comme ligne Pivot et Ark comme Pivot

 Dans le cas d’un programme linéaire à minimiser nous avons deux possibilités
Soit MIN(Z) = - MAX(Z) et l’algorithme ne change pas.
Soit modifier l’Algorithme comme suit
 L’arrêt se fait quand tous les Cj sont >=0
 Le polyèdre est non borné quand il existe un Cj <0/ tous les A ij <=0.
 Le changement de base s’effectue en choisissant comme vecteur sortant Ck = Max (|Cj |/ Cj <0)
1
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

5.3 APPLICATION DU SIMPLEXE


a) Solution optimale

Max( Z )  5 X 1  8 X 2  Max( Z )  5 X 1  8 X 2
 
 X1 X 2  2  X 1  X 2  E1  2
 
( P) X 1  2 X 2  0  ( PS )  X 1  2 X 2  E 2  0
  4 X 2 1   4 X 2  E3  1
 X 1  X 1

 X 1, X 2  0 
 X 1 , X 2 , E1 , E 2 , E 3  0
Résolution par le Simplexe :
La première solution de base est évidente X(0,0,0,2,0,1) donc nous pouvons appliquer la méthode du simplexe.
Base X1 X2 E1 E2 E3 B
E1 1 1 1 0 0 2
E2 1 -2 0 1 0 0 X2
E3 -1 4 0 0 1 1
Z 5 8 0 0 0 0 2
Base X1 X2 E1 E2 E3 B
E1 5/4 0 1 0 -1/4 7/4
E2 1/2 0 0 1 1/2 1/2
1/2 C(1,1/2)
X2 -1/4 1 0 0 1/4 1/4
Z 7 0 0 0 -2 -2
1/4 D
Base X1 X2 E1 E2 E3 B
E1 0 0 1 -5/2 -3/2 1/2 X1
X1 1 0 0 2 1 1 1 2
X2 0 1 0 1/2 1/2 1/2
Z 0 0 0 -14 -9 -9

Arrêt Tous les Cj <=0 ; la solution Optimale est atteinte.


X=(1,1/2,1/2,00) et Zmax = 9

b) Absence de solutions optimales finis


 Max( Z )  X 1  2 X 2  Max( Z )  5 X 1  8 X 2
 
 X1  X 2  2  X 1  X 2  E1  2
( P)  ( PS ) 
X 2  3 X 2  E2  3

X 1, X 2  0 
 X 1 , X 2 , E1 , E 2  0
Résolution par le Simplexe :
La première solution de base est évidente X(0,0,0,2,3) donc nous pouvons appliquer la méthode du simplexe.
Base X1 X2 E1 E2 B
E1 -1 1 1 0 2 X2
E2 0 1 0 1 3
Z 1 2 0 0 0
Base X1 X2 E1 E2 B
C(1,3)
X2 -1 1 1 0 2 3
E2 1 0 -1 1 1
Z
Base X1
3 0 -2 0
X2 E1 E2
-4
B
2 D
X2 0 1 0 1 3
X1 1 0 -1 1 1 X1
1
Z 0 0 1 -3 -7

Il existe un Cj >0 tel que tous les Aij <=0 donc le problème n’admet pas de solutions optimales finis (polyèdre non
borné) MaxZ  +∞

2
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

c) Apparition de la dégénérescence

 Max( Z )  X 1  X 2  Max( Z )  X 1  X 2
 2
2 X 1  X 2  2  X 1  X 2  E1  2
( P)  ( PS ) 
3 X 1  X 2  3 3 X 1  X 2  E 2  3

X 1, X 2  0 
 X 1 , X 2 , E1 , E 2  0

Résolution par le Simplexe :


La première solution de base est évidente X(0,0,,2,3) donc nous pouvons appliquer la méthode du simplexe.
Base X1 X2 E1 E2 B
E1 2 1 1 0 2
E2 3 1 0 1 3 X2
Z 1 1 0 0 0
Base X1 X2 E1 E2 B 3
E1 0 1/3 1 -2/3 0
X1 1 1/3 0 1/3 1
Z 0 2/3 0 -1/3 -1
Base X1 X2 E1 E2 B 2
X2 0 1 3 -2 0
X1 1 0 -1 1 1 D
Z 0 0 -2 1 -1 X1
Base X1 X2 E1 E2 B 1
X2 2 1 1 0 2
E2 1 0 -1 1 1
Z -1 0 -1 0 -2

Arrêt Tous les Cj <=0 ; la solution Optimale est atteinte. X=(0,2,0,1) et Zmax = 2

Nous pouvons constater que le 2eme et 3ème tableau du simplexe ont donnée la même solution de base qui est
X=(1,0,0,0) qui est une solution de base dégénérée.

Le problème de dégénérescence apparaît quand un Point extrême (sommet) correspond à l’intersection de plus de
n hyperplans (pour n=2, l’hyperplan est une droite).

2 x1  x 2  2

3 x1  x 2  3
x  0
 2
Dans notre cas par le sommet (1,0) passe n+1 droites (3).
Ainsi un point extrême A d’un polyèdre correspond à une solution de base dégénérée si par A passe plus de N
hyperplans définissant le polyèdre.

Chaque pivotage ne va pas nécessairement conduire à un nouveau point extrême du polyèdre. Possibilité de boucler
au même point et la fonction objectif Z ne change pas.

Dans ce cas-là il faudra appliquer un autre algorithme du simplexe qui permet d’assurer la convergence ou de
détecter l’existence d’un cycle.
On dit qu’il y’ a un cycle si on revient à une base déjà explorer.

En réalité le cas de cycle n’existe pas ; tous les PLs qui présentent des « CYCLES » sont des PLs construits au
laboratoire par des Matheux comme contre exemple à l’algorithme.

3
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

d) Unicité de la solution
Max( Z )  2 X 1  X 2 Max( Z )  2 X 1  X 2
 2   2
X 2  X 2 E1
( P)  ( PS )
4 X 1  2 X 2  8 4 X 1  2 X 2  E 2  8
 X 1 , X 2  0  X 1 , X 2 , E1 , E 2  0

Résolution par le Simplexe :


La première solution de base est évidente X(0,0,,2,8) donc nous pouvons appliquer la méth ode du simplexe.
Base X1 X2 E1 E2 B X2
E1 0 1 1 0 2
E2 4 2 0 1 8
Z 2 1 0 0 0
Base X1 X2 E1 E2 B
E1 0 1 1 0 2
2
X1 1 1/2 0 1/4 2
Z 0 0 0 -1/2 -4 D
Base X1 X2 E1 E2 B
X1
X2 0 1 1 0 2 1 2
X1 1 0 -1/2 1/4 1
Z 0 0 0 1/2 -4

Tableau 2 (Coloré): Nous remarquons que :


- Arrêt Tous les Cj <=0 ; la solution Optimale est atteinte. X1=(2,0,2,0) et Zmax = 4
- Mais il existe une variable hors base x2 tels que son Cx2 =0 donc possibilité d’une deuxième solution

On continue le simplexe et on obtient effectivement une autre solution (tableau 3)


X2=(0,2,0,0) et Zmax = 4

Z n’a pas changé et nous avons deux solutions X1X2 .


Le Simplexe donne uniquement les solutions de base c’est à dire les points extrêmes du polyèdre. Donc toutes les
solutions de la forme

X=1.X1+2.X2 est solutions optimales d’où le PL admet une infinité de solutions optimales
.
Ainsi, si la solution de base optimale n’est pas dégénérée et si pour une Variable Hors base Xj, Cj=0 alors Xj peut
entrer en base. Dans ce cas nous pouvons dire qu’il existe une infinité de solutions optimales.

5.4 Finitude de l’algorithme du simplexe


Étant donné que le nombre de bases est fini l’algo du simplexe se termine après un nombre fini d’étapes.

5. 6 Initialisation de l’algorithme du simplexe


Afin de pouvoir appliquer l’algorithme du simplexe, il est nécessaire de disposer initialement d’une solution de
base admissible. Prenons exemple du PL de la forme AX=B, X>=0 ou AX>=B, X>=0.
Le premier cas est sous forme standard sans solution de départ apparente.
Dans le deuxième cas l’ajout des variables d’écart sont avec un signe négatif donc elles ne constituent pas une
solution de base.

4
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

Pour résoudre ce type de problème, il suffit de rajouter des variables artificielles.

- Le problème devient de la forme


A.X+I.Y = B où
Y constituent le vecteur de variables artificielles rajouté dans les contraintes qui en ont besoin.

- Le problème à résoudre pour trouver une solution de base initiale est le suivant :

Min( w)   yi

( Py ) A. X  I . y  B
X ,Y  0

Pour déterminer une solution de base initiale il faut


1. Résoudre le PL (Py) par la méthode du simplexe.
2. La solution de base est obtenue quand W=0 et toutes les variables artificielles sont hors base.
3. Si le PL n’a pas de solutions nous obtenons W>0.

Ainsi pour résoudre un Problème général de PL, nous pourrons utiliser la méthode des deux phases .

Phase I :
Introduire les variables artificielles Yi si nécessaire et minimiser W=Yi par l’algorithme du simplexe.

Si à l’optimum W>0, on s’arrête, car il n’ya pas de solution admissible au problème de PL.

Si W=0, le problème de PL a des solutions admissibles. On cherche à éliminer de la base toutes les variables
artificielles Yi, par pivotage.

Premier cas : si on a réussi à éliminer toutes les variables artificielles, on élimine la ligne de W et les colonnes des
variables artificielles. On passe à la seconde phase.

Second cas : s’il reste des variables artificielles dans la base (leur valeur est nécessairement nulle), alors les lignes
associées à ces variables sont des contraintes redondantes que l’on peut éliminer. On procède ensuite comme dans
le premier cas.

Phase II : Résolution du problème de PL


On applique l’algorithme du simplexe à partir du tableau du simplexe obtenu à la fin de la phase I.

Exemples
a)Soit le PL suivant à résoudre
Max( Z )  2 X 1  X 2  X 1  2 X 2  X 3  y1  5
 2  
X 1 X2 X3  5 3 X 1  2 X 2  3 X 3  y 2  2
( P) ( P' )
3 X 1  2 X 2  3 X 3  2 Min( w)  y1  y 2
 X i  0 X i , y  0
 i

Le PL n’a pas de solutions initiales évidentes, on doit La solution évidente est (0,0,0,1,1) ; Les variables
ajouter des variables artificielles, le PL à résoudre sera doivent être éliminées de la fonction objectif.
comme suit : Y1 =5-X1 -2X2 -X3
Y2 =2-3X1 +2X2 -3X3
La fonction objectif devient : Min(w)-7=-4X1 +4X3

5
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

Base X1 X2 X3 y1 y2 B
y1 1 2 1 1 0 5
y2 3 -2 3 0 1 2
w -4 0 -4 0 0 -7
Z 2 1 0 0 0 0
y1 0 8/3 0 1 13/3
X1 1 -2/3 1 0 2/3
w 0 -8/3 0 0 -13/3
Z 0 7/3 -2 0 -4/3
X2 0 1 0 13/8
X1 1 0 1 7/4
w 0 0 0 0
Z 0 0 -2 -41/8

A chaque fois qu’une variable artificielle sort de la base, on l’élimine du tableau du simplexe.
On a obtenu Min(w)=0 et on a une solution de base (7/4,13/8,0)
Puisqu’aucune des variables artificielles n’est dans la base. La phase I est terminée. On élimine La ligne de w pour
Commencer la Phase II.
Phase II : Dans ce cas, On constate que la solution de base initiale est déjà optimale (Cj<=0). On a donc terminé.

b) Soit le PL suivant :

Max( Z )  CX
   X 1  X 2  X 3  y1  1
X 1 X 2  X 3  1 
( P)  X 2  X 4  y2  1
X 2  X 4  1 ( P' )
 X i  0 Min( w)  y1  y 2
X i , y  0
 i
Le PL n’a pas de solutions initiales évidentes, on doit La solution évidente est (0,0,0,0,1,1) ; Les variables
ajouter des variables artificielles, le PL à résoudre sera doivent être éliminées de la fonction objectif.
comme Y1 =1-X1 -X2 -X3
suit Y2 =1-X2 -X4
La fonction objectif devient :
La Min(w)-2=-X1 -2X2 -X3 -X4

Base X1 X2 X3 X4 y 1 y2 B
y1 1 1 1 0 1 0 1
y2 0 1 0 1 0 1 1
w -1 -2 -1 -1 0 0 -2
X2 1 1 1 0 0 1
y2 -1 0 -1 1 1 0
w 1 0 1 -1 0 0
On constate que w=0, y2 est encore une variable artificielle de base mais o n pourrait la remplacer par X4 et l’on
obtiendrait une solution de base admissible du système initiale (X1=0, X2=1, X3=X4=0). Cette solution est
dégénérée.

Généralement quand w=0 et que certaines variables artificielles sont des variables de base (avec valeur 0), on
obtient une solution de base admissible dégénérée si on peut éliminer ces variables artificielles en pivotant (on ne
s’occupe pas du signe de Cj dans la colonne pivot).

Si on ne peut les éliminer, c’est que le système est redondant.


Considérons l’exemple suivant :

6
Cours ROP 20021-2022 Réalisé par S.BOUKERRAM

Après introduction des variables artificielles, on


Max( Z )  CX obtient :
   X 1  X 2  y1  2
X 1 X 2  2
( P) 
2 X 1  2 X 2  4 2 X 1  2 X 2  y 2  4
( P' )
 X i  0 Min( w)  y1  y 2
X i , y  0
 i
La fonction objectif devient : Min(w)-6=-3X1 -3X2

Base X1 X2 y1 y2 B
y1 1 1 1 0 2
y2 2 2 0 1 4
w -3 -3 0 0 -6
X1 1 1 0 2
y2 0 0 1 0
w 0 0 0 0

On a obtenu w=0. Toutefois y2 ne peut être éliminé de la base (le seul pivot possible est nul) ; cela signifie qu’il
n’est pas possible de trouver une base ne comportant que les colonnes X1 et X2.

Autrement dit les vecteurs X1 et X2 sont linéairement dépendant. Le système admet des solutions puisque w=0. Il
est donc redondant. On peut ôter la ligne correspondant à la variable artificielle de base y2.

c) soit le PL (P) à résoudre et (P’) sont équivalent après introduction des variables artificielles :

La fonction objectif devient : Min(w)-15=-2X1 -3X2

Base X1 X2 y1 y2 B
y1 1 1 1 0 8
y2 1 2 0 1 7
w -2 -3 0 0 -15
y1 1/2 0 1 9/2
X2 1/2 1 0 7/2
w -1/2 0 0 -9/2
y1 0 -1 1 1
X1 1 2 0 7
w 0 1 0 1
La solution optimale est donc w=1.
Le système initial n’a donc pas de solution (de base) admissible (réalisable).

Remarque
Lorsqu’il s’agit de déterminer si un système d’inégalités linéaires admet des solutions, on peut utiliser la phase I
de la méthode à deux phases.
L’algorithme du simplexe est ainsi un outil efficace pour tester la compatibilité d’un système d’inégalité.

Vous aimerez peut-être aussi