Vous êtes sur la page 1sur 30

Résolution d’un PL méthode de

simplexe

1
Méthode de simplexe
Introduction
◼ Dans le chapitre précédent, on a vu comment
résoudre graphiquement un PL à deux variables. Or
la majorité des problèmes réels ont plusieurs
variables. D’où la nécessité d’avoir une méthode
algébrique pour résoudre des PLs ayant plus que 2
variables.
◼ La méthode de Simplexe est l’une des méthodes les
plus anciennes (Dantzig, 1947), et la plus utilisée
jusqu’à nos jours, pour résoudre même des
problèmes de grandes tailles avec quelques milliers
de variables et quelques milliers de contraintes.
2
Méthode de simplexe

3
Méthode de simplexe

4
Méthode de simplexe
Mise en forme standard

Un PL peut avoir des contraintes d’égalité (=) et des contraintes


d’inégalité ( ≥ et ≤ ).

Avant l’application de Simplexe, le PL doit être converti en un


PL équivalent où :
- Toutes les contraintes sont des égalités,
- Toutes les variables sont non négatives (≥ 0),
- Le second membre est non négatif (AX ≤ b, b≥0).

Un tel PL est dit sous la forme standard.


5
Formulation : règles

6
Méthode de simplexe
Exemple : Usine de ceintures
Une usine fabrique de 2 sortes de ceintures : luxe et standard
Chaque type demande 1m2 de cuir
• Une ceinture standard demande 1h de travail
• Une ceinture de luxe demande 2h

Chaque semaine, on dispose de 40m2 de cuir et de 60h de


travail.
• Chaque ceinture standard rapport 3 Euros
• Chaque ceinture de luxe 4 Euros.

Objectif : Maximiser le profit.

7
Méthode de simplexe

◼ x1 = nombre de ceintures de standard produites par


semaine
◼ x2 = nombre de ceintures luxe produites par semaine

◼ Maximiser z = 3x1 + 4x2 , avec

x1 + x2  40 contrainte sur le cuir (1)


x1 + 2x2  60 contrainte sur le travail (2)
x1, x2  0 contrainte de signe (3)
8
Méthode de simplexe
1. Pour convertir la ième contrainte  en une contrainte d’égalité, on définit la
variable d’écart ei (slack variables) qui représente la quantité de
ressource non utilisée dans cette contrainte.
On doit ajouter e1 ≥ 0 pour que (x1 , x2) satisfasse x1 + x2  40.
2. Pour une contrainte ≥, on définit ei (excès variable), variable d’excédent,
qui est aussi ≥ 0.

Exemple:
max z 4x1 + 3x2 max z 4x1 + 3x2
s.c. x1 + x2 ≤ 40 s.c. x1 + x2 + e1 = 40
2x1 + x2 ≥ 60 2x1 + x2 – e2 = 60
x1, x2  0 x1, x2, e1, e2 0

9
Méthode de simplexe
Remarque : L'impact de ces variables d'écart sur la fonction
objectif est nul. Ceci explique le fait que leur existence soit tout
simplement liée à une mise en forme du programme linéaire
initial.
En général, la mise en forme standard d’un PL donne :
max Z = c x + c x + ... + c x
1 1 2 2 n n
s.c. a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2 n xn = b2

am1 x1 + am 2 x2 + ... + amn xn = bm


xi  0, i = (1,2,...n)
10
Méthode de simplexe
 x1   b1   c1 
     
On définit A = (ai j), x  ; b  c 
x= 2 b =  2 ; c= 2
  
     
 xn   bm   cn 

On suppose que n  m

➔ (PL) : Max ct x
s.c. Ax = b
x≥0

Rq : pour avoir la forme standard, les équations doivent, si


nécessaire, être multipliées par (-1) pour avoir b  0

11
Méthode de simplexe

Remarques:
1- Dans la résolution graphique on travaille
dans le plan, (2 dimensions)
2- Dans la résolution par la méthode de
simplexe nous sommes dans un espace à n
dimensions (nombre de variables d'activité).
Interprétation graphique:
Les contraintes délimitent un polyèdre convexe
(région des solutions admissibles).
12
Méthode de simplexe

Remarques: (suite)
La fonction objectif est un hyperplan que l'on va déplacer
jusqu'à l'extrême limite où il n'y aura plus qu'un point
d'intersection (éventuellement un segment, un plan...) avec
la région des solutions admissibles.
La solution se trouvant forcément sur le pourtour du
polyèdre admissible,
La méthode du simplexe consiste en itérations qui font
passer d'un sommet du polyèdre à un autre en
sélectionnant le sommet adjacent maximisant la fonction
objectif.
13
Les polyèdres convexes

Pr: S. L. Aouragh - Recherche opérationnelle 14


Méthode de simplexe

1èr étape:
Pour démarrer l'algorithme, il est nécessaire d'avoir
une solution initiale. Dans le cas simple, l'origine est
solution, c.à.d. que la première solution est:
x1 = 0 ; x2 = 0 ; .........; xn = 0
e1 = b1 ; e2 = b2 ; .........; em = bm
(ceci suppose que les bi ne soient pas négatifs pour
satisfaire les contraintes de signe)

15
Méthode de simplexe
L'algorithme, basé sur la méthode du pivot de Gauss
pour la résolution des systèmes d'équations linéaires,
est présenté sous forme de tableau.
Exemple:
Soit à résoudre le programme linéaire suivant sous sa
forme canonique
Max z = 1200 x1 + 1000 x2
3 x1 + 4 x2 ≤ 160
6 x1 + 3 x2 ≤ 180
x1 ≥ 0 ; x2 ≥ 0
16
Méthode de simplexe
Forme standard de PL
Max z = 1200 x1 + 1000 x2 + 0 e1 + 0 e2
3 x1 + 4 x2 + 1 e1 + 0 e2 = 160
6 x1 + 3 x2 + 0 e1 + 1 e2 = 180
Tableau 0 x1 ≥ 0 ; x2 ≥ 0 ; e1 ≥ 0 ; e2 ≥ 0
En ne conservant que les coefficients des équations ci-
dessus, on obtient le tableau de départ :
Variables Hors base x1 x2 e1 e2 C
e1 3 4 1 0 160
Variables de base
e2 6 3 0 1 180
∆ 1200 1000 0 0 0
17
Solution admissible

La première solution admissible est :


Les variables Hors Base (HB) sont
nulles: x1 = 0 ; x2 = 0 ;
Les variables dans la Base (B) se lisent dans la
colonne C : e1 = 160 ; e2 =180
La dernière cellule (intersection de C et ∆ ) donne la
valeur de -z
On a : -z = 0 donc z = 0

18
Solution admissible: (suite)

La ligne ∆ donne les valeurs marginales ou taux


marginal de substitution; elles s'interprètent de la
manière suivante:
A ce stade de la solution,
Une augmentation de 1 unité de x1 ferait accroître
la fonction objectif de 1200,
Une augmentation de 1 unité de x2 ferait accroître
la fonction objectif de 1000.

19
Tableau 1 de simplexe

On augmente la fonction objectif en faisant entrer une variable dans la


base, prenant la place d'une variable qui va sortir de la base.

Critère de sélection de la variable entrant dans la base:


On sélectionne la variable HB ayant le plus grand
coefficient positif dans la ligne ∆ .

Dans notre cas x1 = 1200 entre donc dans la base.


Pour sélectionner la variable sortant de la base, il est nécessaire de
rajouter une colonne R au tableau, obtenue en faisant le rapport
membre à membre de la colonne C et de la colonne de la variable
entrant dans la base qui x1.
20
Tableau 1 de simplexe
x1 x2 e1 e2 C R
t1 3 4 1 0 160 160/3≈53.3
t2 6 3 0 1 180 180/6=30 variable sortant

∆ 1200 1000 0 0 0 0

variable entrant

Critère de sélection de la variable sortant de la base:


On sélectionne la variable dans la Base ayant le plus
petit coefficient positif dans la colonne R .

Dans notre cas e2 sort donc de la base


21
Définition de pivot

On appelle pivot (dans l’exemple précédent il est égal à 6)


l'intersection de la variable entrante et de la variable
sortante.
Pour obtenir le tableau 1, on applique les règles suivantes:

- Le pivot est égal à 1


- Les coefficients de la ligne du pivot sont divisés par le pivot
- Les coefficients de la colonne du pivot sont nuls
- Les autres coefficients sont obtenus par la règle du rectangle

22
La règle du rectangle

La règle du rectangle est la suivante:


a b
x d’ = d – (c x b) ÷ a
÷ _ Ou
c d
d’ = d – (c ÷ a) x b
Avec a est le pivot
Remarque:
Si dans la colonne (resp. ligne) du pivot il y a un 0, toute
la ligne (resp. colonne) correspondante reste inchangée.
23
Le tableau 1 de simplexe

x1 x2 e1 e2 C
e1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30
∆ 0 400 0 -200 -36000
Ce tableau nous donne la deuxième solution admissible:
- Les variables Hors Base (HB) sont nulles: x2 = 0 ; e2 = 0;
- Les valeurs des variables dans la Base (B) se lisent dans la
colonne C: e1 = 70 et x1 =30
- La dernière cellule (intersection de C et ∆) donne la valeur
de -z : -z = -36000 donc z = 36000
24
Tableau 2 de simplexe

x1 x2 e1 e2 C R
e1 0 5/2 1 -1/2 70 28
X1 1 1/2 0 1/6 30 60
∆ 0 400 0 -200 -36000 0
En appliquant les règles de Pivot on obtient :
x1 x2 t1 t2 C
x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
∆ 0 0 -160 -120 -47200
25
Résultat de tableau 2

Ce tableau nous donne la troisième solution


admissible:

- Les variables Hors Base (HB) sont nulles:


e 1 = 0 ; e2 = 0
- Les valeurs des variables dans la Base (B) se lisent
dans la colonne C: x2 = 28 et x1 =16
- La dernière cellule (intersection de C et ∆) donne la
valeur de -z : -z = - 47200 donc z = 47200
26
Interprétation

La ligne ∆ donne les valeurs marginales ou taux marginal


de substitution; elles s'interprètent de la manière
suivante:
1. Une augmentation de 1 unité de t1 ferait diminuer la
fonction objectif de 160,
2. Une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 120,
il est à noter qu'une augmentation de 1 unité d'une
variable d'écart revient à diminuer le second membre de
l'équation correspondante de 1 unité.
27
La solution optimale

Critère d'arrêt des itérations:


Si tous les coefficients de la ligne ∆, relatifs aux variables
HB, sont négatifs ou nuls, la solution trouvée est optimale.

Nous avons donc ici atteint la solution optimale.


X2* = 28 et x1* =16 et z* = 47200

28
Remarques importantes

- S'il existe une variable HB ayant un coefficient positif


dans la ligne ∆ et telle que tous les coefficients
correspondants dans le tableau soient nuls ou négatifs,
alors la solution est infinie.

- Si, à la fin des itérations, une variable est HB avec un


coefficient nul dans la ligne ∆, alors on a une arête
(plan,...) optimale. Les autres sommets solutions sont
obtenus en faisant rentrer cette variable dans la base.

29
Rappel des critères

Critère de sélection de la variable sortant et entrant dans la base:


On sélectionne la variable HB ayant le plus grand coefficient positif dans la ligne ∆ .
On sélectionne la variable dans la Base ayant le plus petit coefficient positif dans la colonne R.

Pour passer d’une itération à l’autre:


- Le pivot est égal à 1
- Les coefficients de la ligne du pivot sont divisés par le pivot
- Les coefficients de la colonne du pivot sont nuls
- Les autres coefficients sont obtenus par la règle du rectangle

Critère d'arrêt des itérations:


Si tous les coefficients de la ligne ∆, relatifs aux variables HB,
sont négatifs ou nuls, la solution trouvée est optimale.

30

Vous aimerez peut-être aussi