Vous êtes sur la page 1sur 29

Chapitre 2:

La méthode simplexe

1
La méthode simplexe

Lorsqu’on considère un programme linéaire ayant plus de 2 variables, la


résolution graphique devient difficile, mais les propriétés restent les mêmes.

Si la fonction objectif peut avoir une valeur optimale dans la région


réalisable, celle-ci se trouve en un des sommets de la région réalisable. Pour
atteindre la valeur optimale, seuls les sommets doivent donc être examinés.

Une procédure "intelligente" est donc nécessaire : l’algorithme du simplexe


utilise une procédure itérative qui permet de trouver la valeur optimale

2
1. Introduction

Un programme linéaire (PL) mis sous la forme particulière où toutes les


contraintes sont des équations et toutes les variables sont non négatives est
dit sous forme standard. Il est noté (PL=).
2. Variables d’écart et d’excédent

Avant que l’algorithme du simplexe puisse être utilisé pour résoudre un


programme linéaire, ce programme linéaire doit être converti en un
programme équivalent où toutes les contraintes technologiques sont des
équations et toutes les variables sont non négatives.
a. Contraintes de type () : Pour chaque contrainte i de ce type, on rajoute
une variable d’écart ei, tel que ei est une variable positive ou nulle.
b. Contraintes de type () : Pour chaque contrainte de ce type, on retranche
une variable d’excédent ei, tel que ei est une variable positive ou nulle.

3
3. Variables de base et variables hors base

Considérons un système d’équations à n variables et m équations où n  m.


Une solution de base pour ce système est obtenue de la manière suivante :

a) On pose n-m variables égales à 0. Ces variables sont appelées variables


hors base (V.H.B.).

b) On résout le système pour les m variables restantes. Ces variables sont


appelées les variables de base (V. B.).

c) Le vecteur de variables obtenu est appelé solution de base (il contient les
variables de base et les variables hors base).
Une solution de base est admissible si toutes les variables de la solution de
base sont 0.
4
4. Solutions admissibles

Toute solution de base de (PL=) pour laquelle toutes les variables sont non
négatives, est appelée solution de base admissible. Cette solution de base
admissible correspond à un point extrême.

 On appelle solution réalisable tout (x1, x2, . . . , xn) vérifiant le système


d’inéquations précèdent.
 On appelle solution optimale toute solution réalisable qui optimise Z.
 L’ensemble des solutions réalisables du programme linéaire P est appelé
domaine des solutions réalisables. Lorsque ce domaine est non vide,
on dit que P est réalisable.
5
L’algorithme de simplexe:
Déterminer une
Ajout des
solution de base
variables d’écart
réalisable

Oui
Est-elle optimale Stop

Non

Trouver une
solution
admissible 6
Forme standard
• Après avoir transformé les contraintes d’inégalité en égalités, nous retrouvons le
problème sous sa forme standard où certaines variables peuvent être des variables
d’écart:

min z  c1 x1  c2 x2  ...  cn xn
Sujet à x1   a 1m 1 x m 1  ...  a 1s x s  ...  a 1n x n  b1
x2   a 2 m 1 x m 1  ...  a 2 s x s  ...  a 2 n x n  b 2
. . . .
x r   a rm 1 x m 1  ...  a rs x s  ...  a rn x n  b r
. . . .
x m  a mm 1 x m 1  ...  a ms x s  ...  a mn x n  b m
c m 1 x m 1  ...  c s x s  ...  c n x n  z  z
x1 , x 2 , ..., x n  0 7
Après avoir transformé les contraintes d’inégalité en égalités, nous retrouvons le problème
sous sa forme standard où certaines variables peuvent être des variables d’écart

x1   a 1m 1 x m 1  ...  a 1s x s  ...  a 1n x n  b1
x2   a 2 m 1 x m 1  ...  a 2 s x s  ...  a 2 n x n  b 2
. . . .
x r   a rm1 x m 1  ...  a rs x s  ...  a rn x n  b r
. . . .
x m  a mm 1 x m 1  ...  a ms x s  ...  a mn x n  b m
c m 1 x m 1  ...  c s x s  ...  c n x n  z  z
• Les variables x1, x2, …, xm sont dénotées comme étant les variables dépendantes
(variables de base ) alors que les autres variables sont les variables indépendantes
( variable hors base ).
8
x1   a 1m 1 x m 1  ...  a 1s x s  ...  a 1n x n  b1
x2   a 2 m 1 x m 1  ...  a 2 s x s  ...  a 2 n x n  b 2
. . . .
Itération typique x r   a rm1 x m 1  ...  a rs x s  ...  a rn x n  b r
. . . .
x m  a mm 1 x m 1  ...  a ms x s  ...  a mn x n  b m
c m 1 x m 1  ...  c s x s  ...  c n x n  z  z
peut être représenter dans le tableau suivant

9
Étape 1: Choix de la variable d’entrée

• En se référant à la dernière ligne du tableau, soit


c s  min c j
1 j  n
 
Variable d’entrée
Si c s ≥ 0, alors la solution
courante est optimale et
l’algorithme s’arrête

Si c s < 0, alors xs est la


variable d’entrée

10
Étape 2: Choix de la variable de sortie

Si a is  0  1  i  m
le problème n’est pas Variable d’entrée
borné et l’algo. s’arrête

Si  i tel que ais  0


alors la sol. demeure réalisable
  i tel que a is  0
bi
xi  b i  a is x s  0  x s 
a is
La variable d’entrée xs prend la valeur –
br  b i 
xs   min  : a is  0
1i  m  a is 
a rs 
11
Étape 2: Choix de la variable de sortie

Variable d’entrée

Variable de sortie

12
Étape 3: Pivot
L’élément de pivot a rs est à l’intersection de la
colonne de la variable d’entrée xs et de la ligne
de la variable de sortie xr
Variable d’entrée
a rs

Variable de sortie

a rs

a rs

13
Étape 3: Pivot

Variable d’entrée
a rs

Variable de sortie

a rs

a rs

14
Étape 3: Pivot
Divisons la ligne r par l’élément
de pivot a rs afin d’obtenir la
ligne r résultante
Variable d’entrée
a rs

Variable de sortie

1
a rs
a rs

15
Étape 3: Pivot
Divisons la ligne r par l’élément
de pivot a rs afin d’obtenir la
ligne r résultante
Variable d’entrée
a rs

Variable de sortie

1 ar m 1 arn br
1
ars ars ars ars

16
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs a rs

Variable de sortie

a rs a rs

17
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs a rs

Variable de sortie

a rs a rs

18
Étape 3: Pivot
Multiplions la ligne r résultante
par a is pour la soustraire de la
ligne i du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs a rs

Variable de sortie

a rs a rs

19
Étape 3: Pivot
Multiplions la ligne r résultante
par c s pour la soustraire de la dernière
ligne du tableau. Ceci ramène le
coefficient de la variable d’entrée xs à 0. Variable d’entrée
a rs a rs

Variable de sortie

a rs a rs

20
Tableau résultant pour amorcer la prochaine itération

21
L’algorithme de simplexe maximisation:
L’algorithme du simplexe comporte 4 étapes dont les 2 dernières sont répétées
à chaque itération. La méthode des tableaux du simplexe permet d’appliquer
toutes les étapes de l’algorithme du simplexe sous forme d’une séquence de
tableaux représentés par la figure suivant :

22
L’algorithme de simplexe:
Étape 1 :
Dans le cas où toutes les contraintes initiales d’un programme linéaire se présentent
sous forme de contraintes d’inégalités du type "inférieur ou égal" avec un membre de
droite positif, on réécrit d’abord le programme sous forme standard en ajoutant des
variables d’écart. Puis on met les variables de décisions (variables originales) hors base
et les variables d’écart en base.
Étape 2 :
Si les coefficients cj sont tous  0, alors STOP : la solution de la base actuelle est
optimale.
Sinon, choisir la variable hors base dont le coefficient dans la dernière ligne est positif
et le plus grand possible. Soit xr la variable entrante.
Soit xr telle que cr > cj ; pour tout cj > 0

23
L’algorithme de simplexe:
On colore la colonne correspondante qui est appelée colonne pivot. Il en résulte le
tableau suivant :

24
L’algorithme de simplexe:
Étape 3 :
Choisir comme variable sortante la première variable de base à s’annuler. Pour cela,
on calcule le minimum du rapport du second membre bi sur le coefficient air de la
variable entrante dans la même ligne lorsque air > 0. Soit ` la ligne où le minimum se
produit :
bl  bi 
 min  : air 0
alr  air 

La variable sortante est celle qui correspond à la ligne où le minimum se produit.


Soit xs la variable sortante. On colore la ligne correspondante qui est appelée ligne
pivot. Il en résulte le tableau suivant :

25
L’algorithme de simplexe:

Le pivot est le nombre qui se trouve à l’intersection de la colonne pivot et la ligne


pivot. Dans la section gauche du nouveau tableau, on remplace la variable
sortante xs par la variable entrante xr. 26
L’algorithme de simplexe:
Étape 4 :
Cette étape permet de construire un nouveau tableau de simplexe à partir du tableau
précédent. Elle comprend trois opérations :
— Ligne de pivot : pour obtenir la ligne du pivot transformée, il suffit de diviser
tous ses éléments par le pivot.
— Colonne de pivot : pour obtenir la colonne du pivot transformée, il suffit de
remplacer tous ses éléments par 0 sauf la place du pivot.
— Ailleurs : pour obtenir la transformée des autres nombres, il suffit d’appliquer
la règle du rectangle :

27
L’algorithme de simplexe:

si a est l’élément de l’ancien tableau dont


on cherche la transformée a’, asr est le pivot
et b, c les éléments permettant de
construire un rectangle à partir de a’ et asr.
alors a’, la transformée de a, s’obtient en
retranchant à a le produit b * c divisé par
le pivot asr :
b*c
a'  a 
a sr
Remarquons que toute ligne possédant un zéro dans la colonne du pivot
reste inchangée ; de même, toute colonne possédant un zéro dans la ligne
du pivot reste inchangée.
28
Résolution d’un problème de minimisation:
Les principes de résolution sont les mêmes à l’exception du choix de la
variable qui entre dans la base :
La variable entrante est celle dont les taux marginaux de substitution est le
plus négatif. L’optimum est atteint quand tous les taux marginaux de
substitution sont positifs ou nuls.
a) Comment passer d’un tableau à un autre Toutes règles et les principes de
calcul vus au 1 er cas restent valables, sauf la règle du choix de la variable
entrante .
Dans un problème de minimisation, la variable entrante est la variable
hors base qui a le coefficient « le plus négatif » dans la fonction
économique.
b) Dans un problème de minimisation, on obtient un tableau optimal dès que
tous les coefficients de la fonction économique sont positifs ou nuls.
29

Vous aimerez peut-être aussi