Vous êtes sur la page 1sur 19

Semestre 7

La recherche
opérationnelle
Résolution d’un pRogRamme linéaiRe
Méthode du simplexe (méthode des tableaux)

Pr. A. LAHFIDI
Pr. A. AAZZAB

ENCG AGADIR 2020-2021 1


Introduction
• L'algorithme du simplexe est un algorithme de résolution des
problèmes d'optimisation linéaire.

• La méthode du simplexe s’applique seulement à un système de


contraintes sous forme d’équations.

• La méthode du Simplexe est une procédure itérative qui permet


d'améliorer la résolution de la fonction objectif à chaque étape. Le
processus se termine lorsque vous ne pouvez pas continuer à
améliorer la valeur, c'est-à-dire, on a atteint la solution optimale
(la valeur la plus élevée ou la plus basse possible, selon le cas).
Introduction
• La forme initiale d’un programme linéaire, où une ou toutes les
contraintes sont sous forme des inéquations, est appelée forme
canonique.

• 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 PL sous forme standard.

• Un programme linéaire sous forme canonique peut toujours se


transformer sous forme standard en transformant les inéquations
en équations par l’ajout des variables appelées variables d’écart.
Variables d’écart
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.

1- Contraintes de type (≤) : Pour chaque contrainte i de ce type, on


rajoute une variable d’écart xi, tel que xi ≥ 0

• Exemple : Appelée également variable d’excédent

3x1  2 x2  18 se transforme en 3x1  2 x2  x3  18


Avec x3 ≥ 0
Variables d’écart
2- Contraintes de type (≥) : Pour chaque contrainte i de ce type, on
retranche une variable d’écart xi, tel que xi ≥ 0

• Exemple :

3x1  2 x2  18 se transforme en 3x1  2 x2  x3  18


Avec x3 ≥ 0

Remarques :
• Les variables d’écart ont une interprétation physique pour chaque
contrainte où elles sont introduites.
• La variable d’écart aura la même unité de mesure que la ressource
de la contrainte où elle est introduite.
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 =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 positive.
Solutions admissibles

Toute solution de base du PL sous forme standard 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.
Les étapes de résolution du programme linéaire
Cas pratique : problème de maximisation

Résoudre le PL suivant par la méthode du simplexe

Max Z  15 x1  6 x2
 x1  x2  15
2 x  x  20
 1 2
SC : 
 x1  8

 x1  0; x2  0
Les étapes de résolution du programme linéaire
Étape 1: transformer le PL de la forme canonique à la forme
standard :
Max Z  15 x1  6 x2
Max Z  15 x1  6 x2
 x1  x2  x3  15
 x1  x2  15 2 x  x  x  20
2 x  x  20  1 2 4
 1 
SC :  x1  x5  8
2
SC : 
 x1  8  x  0; x  0; x  0

 x1  0; x2  0  1 2 3


 x4  0; x5  0
Nous avons ajouté des variables d’écart : x3; x4 et x5.

x3, x4, et x5 sont les variables de base (V.B).

x1, et x2 sont les variables hors base (V.H.B).


Les étapes de résolution du programme linéaire
Formation du tableau initial
Il s’agit de la première itération qui consiste à déterminer la
solution de base (solution initiale).
A partir de la forme standard, nous avons 3 contraintes et 5
variables. En égalant (5-3)=2 variables à zéro, nous obtenons une
solution de base. Par conséquent, en égalant les variables
principales à zéro : x1=0 et x2=0, la solution réalisable est :
x3=15, x4=20 et x5=8. Avec cette solution initial Z=0
Base x1 x2 x3 x4 x5 b
x3 1 1 1 0 0 15
x4 2 1 0 1 0 20
x5 1 0 0 0 1 8
Cj-Zj 15 6 0 0 0 0
Les étapes de résolution du programme linéaire
Première itération

Étape 1: choix de la variable entrante (dans la base)

Étape 2 : choix de la variable sortante (de la base)

Étape 3 : pivotage et calcul de la nouvelle valeur de Z

Étape 4: si tous les Cj-Zj ≤ 0, alors la solution obtenue est optimale


et on arrête les calculs, sinon on passe à la 2ème itération et on
recommence l’étape 1.
Les étapes de résolution du programme linéaire
Première itération

Étape 1: choix de la variable entrante (dans la base)


La variable hors base qui va entrer dans la base correspond au
maximum des Cj-Zj (pour des problèmes de max).
Alors Max(Cj-Zj)=15,par conséquent, la variable entrante est x2
x1 la variable entrante

Base x1 x2 x3 x4 x5 b
x3 1 1 1 0 0 15
x4 2 1 0 1 0 20
x5 1 0 0 0 1 8
Cj-Zj 15 6 0 0 0 0
15 est le Max (Cj-Zj)
Colonne pivot
Les étapes de résolution du programme linéaire
Première itération

Étape 2: choix de la variable sortante (de la base)


Dans un problème de min OU de max, la variable sortante sera le
minimum des bi/aij (pour les aij>0)
Alors Min(bi/aij)=8,par conséquent, la variable sortante est x5

Base x1 x2 x3 x4 x5 b b/a
x3 1 1 1 0 0 15 15/1=15
x4 2 1 0 1 0 20 20/2 =10
x5 1 0 0 0 1 8 8/1=8
Cj-Zj 15 6 0 0 0 0
x5 la variable Min(bi/aij)=8
La ligne pivot
sortante
Les étapes de résolution du programme linéaire
Première itération

Étape 3: pivotage et calcul de la nouvelle valeur de Z


Le pivot c’est l’intersection entre la colonne pivot et la ligne pivot
Le pivotage s’effectue de la manière suivante :
• On commence par diviser la ligne du pivot par le chiffre du pivot.
• On applique la procédure d’élimination de Gauss-Jordan autour
du pivot : L
Lk  i
akj
aij
• Pour la dernière colonne du tableau du simplexe:
akj
bk  bi
aij
Les étapes de résolution du programme linéaire
Étape 3: pivotage et calcul de la nouvelle valeur de Z
Base x1 x2 x3 x4 x5 b
x3 1 1 1 0 0 15
x4 2 1 0 1 0 20
x5 1 0 0 0 1 8
Cj-Zj 15 6 0 0 0 0
Le pivot aij
15 – (1*8)/1 = 7

0 – (2*1)/1 = -2

Base x1 x2 x3 x4 x5 b
Nouvelle
x3 0 1 1 0 -1 7
valeur de Z
x4 0 1 0 1 -2 4 =120
x1 1 0 0 0 1 8 Z s’est bien
améliorée
Cj-Zj 0 6 0 0 -15 -120
Or 6≥0 alors on passe à l’itération suivante
Les étapes de résolution du programme linéaire
Itération suivante :
x2 la variable entrante

Base x1 x2 x3 x4 x5 b b/a
x3 0 1 1 0 -1 7 7/1=7
x4 0 1 0 1 -2 4 4/1 =4
x1 1 0 0 0 1 8 8/0=∞
Cj-Zj 0 6 0 0 -15 -120
La ligne pivot 6 est le Max (Cj-Zj)
Colonne pivot
Le pivot aij
x4 la variable sortante

Base x1 x2 x3 x4 x5 b
x3 0 0 1 -1 1 3
x2 0 1 0 1 -2 4
x1 1 0 0 0 1 8
Cj-Zj 0 0 0 -6 -3 -144
Les étapes de résolution du programme linéaire
Conclusion :

Base x1 x2 x3 x4 x5 b
x3 0 0 1 -1 1 3
x2 0 1 0 1 -2 4
x1 1 0 0 0 1 8
Cj-Zj 0 0 0 -6 -3 -144

Tous les Cj-Zj sont inférieurs ou égaux à 0. Donc la solution et


optimale, cette solution est définie par :
Solution optimale
x1 =8
x2=4
Z=144
Les étapes de résolution du programme linéaire
Exercice 1: problème de maximisation

Résoudre le PL suivant par la méthode du simplexe

Max Z  7 x1  9 x2  18 x3  17 x4
2 x1  4 x2  5 x3  7 x4  42
 x  x  2 x  2 x  17
 1 2 3 4
SC : 
 x1  2 x2  3 x3  3 x4  24

 x1  0; x2  0; x3  0; x4  0
Merci de votre attention

ENCG AGADIR 2020-2021 19