Vous êtes sur la page 1sur 58

Chapitre 3

Méthode du simplexe

Université Hassan II de Casablanca


FSJES Ain Sebaa
LF MASS - S4
Pr. Abderrahim KADIRI

2020-2021
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 1 / 58
La méthode du simplexe Présentation de la méthode

1. Présentation de la méthode du simplexe

Développée initialement par George Dantzig en 1947.

Outil principal de résolution des problèmes de programmation linéaire.

Il existe plusieurs formulations de cette méthode :


I méthode des tableaux,
I méthode algébrique (délicate dès que le nombre des variables et des
contraintes est important).
Méthode exacte et itérative pour résoudre des problèmes linéaires de
grande taille :
I Elle consiste à suivre un certain nombre d'étapes (itérations) avant
d'obtenir la solution d'un problème donné,
I Elle permet de trouver la solution exacte en un nombre ni d'étapes.

Explore les sommets de la région admissible en améliorant à chaque


itération la valeur du critère.

Basée sur l'algèbre des matrices.


Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 2 / 58
La méthode du simplexe Notions générales

2. Notions générales

2.1 Rappels
Un programme linéaire s'écrit généralement sous la forme :


 max (ou min) z = c1 x1 + c2 x2 + ... + cn xn
a 11 x1 + a12 x2 + ... + a1n xn {≤, =, ≥} b1




 a21 x1 + a22 x2 + ... + a2n xn {≤, =, ≥} b2

. ⇐⇒
.

 .

a x + am2 x2 + ... + amn xn {≤, =, ≥} bm

 m1 1



x1 ≥ 0, . . . , xn ≥ 0

X n
max / min z = cj xj




j=1



X n


 aij xj {≤, =, ≥} bi i = 1, m
1

 j=

xj ≥ 0

j = 1, n
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 3 / 58
La méthode du simplexe Notions générales

En utilisant la formulation matricielle :

 max / min z = c T x

Ax {≤, =, ≥} b
x ≥0

c = (c1 , c2 , ..., cn ) ∈ Rn , b = (b1 , b2 , ..., bm ) ∈ Rm


 
a11 a12 · · · a1n
 a21 a22 · · · a2n 
A= . matrice de type (m , n)
 
. .. .
 .. . .

. . . 
am1 am2 · · · amn
n
X
T
et c x = cj xj .
j=1

aij (i = 1, m ; j = 1, n) : coecients techniques ;


bi (i = 1, m) : seconds membres des contraintes ;
cj (j = 1, n) : coecients de la fonction économique ;
xj (j = 1, n) : variables de décision (niveaux d'activité).
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 4 / 58
La méthode du simplexe Notions générales

2.2 Forme canonique d'un PL


maximisation de la fonction objectif

toutes les contraintes sont des inégalités du type ≤


toutes les variables sont positives

Xn
max z = cj xj




j=1



Xn


 aij xj ≤ bi i = 1, m
j=1



xj ≥ 0

j = 1, n

Forme matricielle

 max z = c T x

Ax ≤ b
x ≥0

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 5 / 58


La méthode du simplexe Notions générales

Exemple :


 max 6x1 + 7x2 + 8x3
 x1 + 2x2 + x3 ≤ 100
 max z = c T x

 

3x1 + 4x2 + 2x3 ≤ 120

(P1 ) ⇐⇒ Ax ≤ b
2x1 + 6x2 + 4x3 ≤ 200
x ≥0

 
 x1 + x3 ≤ 150



x1 , x2 , x3 ≥ 0

avec
   
1 2 1 100    
6 x1
 3 4 2   120 
A=  ; b=  ; c = 7  ; x =  x2 
 2 6 4   200 
8 x3
1 0 1 150

A de type (4 , 3),
m=4 (contraintes) et n=3 (variables de décision).

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 6 / 58


La méthode du simplexe Notions générales

2.3 Forme standard d'un PL


maximisation de la fonction objectif

toutes les contraintes sont de type égalités (=)


toutes les variables sont positives

Xn
max z = cj xj




j=1



Xn


 aij xj = bi i = 1, m
j=1



xj ≥ 0

j = 1, n

Forme matricielle

 max z = c T x

Ax = b
x ≥0

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 7 / 58


La méthode du simplexe Notions générales

2.4 Passage entre les formes


1 min f ⇐⇒ max − f
Par exemple : minimiser x1 + 2x2 revient à maximiser −x1 − 2x2
∗ ∗
car : f (x ) = min{ f (x) , x ∈ X } ⇐⇒ f (x ) ≤ f (x) , ∀x ∈ X ⇐⇒
∗ ∗
−f (x ) ≥ −f (x), ∀x ∈ X ⇐⇒ −f (x ) = max{ −f (x) , x ∈ X }
2 ax ≥ b ⇐⇒ −ax ≤ −b

ax ≤ b
3 ax = b ⇐⇒
ax ≥ b

ax + y = b
4 ax ≤ b ⇐⇒ y est dite variable d'écart
y ≥0

ax − y = b
5 ax ≥ b ⇐⇒
y ≥0
6 x ≤ 0 ⇐⇒ −x ≥ 0
x = x+ − x− x + = max(x , 0)

7 x quelconque ⇐⇒ avec
x+ ≥ 0 , x− ≥ 0 x − = max(−x , 0)
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 8 / 58
La méthode du simplexe Notions générales

Propriété
Tout programme linéaire peut être mis sous la forme canonique et sous la
forme standard.

Remarques
1 Le passage entre la forme générale, la forme canonique et la forme
standard se fait moyennant les transformations ci-dessus.

2 La forme canonique est utilisée dans la résolution graphique.


Tandis que la forme standard permet une résolution matricielle et sera
utilisée pour la méthode de simplexe.

Notons aussi que la méthode du simplexe requiert des bi ≥ 0.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 9 / 58


La méthode du simplexe Notions générales

Exemple :


 min 5x1 − 3x2
 1 − x2 ≥ 2
x


Soit le problème : (P2 ) 2x1 + 3x2 ≤ 4
−x1 + 6x2 = 10




x1 , x2 ≥ 0

En introduisant les variables d'écart x3 ≥ 0 et x4 ≥ 0 dans la première et la


deuxième contrainte, on met (P2 ) sous la forme équivalente :



 max −5x1 + 3x2
 x1 − x2 − x3 = 2


(P20 ) 2x1 + 3x2 + x4 = 4
−x1 + 6x2 = 10




x1 , x2 , x3 , x4 ≥ 0

(P20 ) est la forme standard de (P2 ).

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 10 / 58


La méthode du simplexe Bases, variables de base et solution de base

3. Bases, variables de base et solution de base

Soit Ax = b un système d'équations linéaires avec :

A matrice de type (m , n), m ≤ n et rang (A) = m.


Le système est donc sous-déterminé c-à-d le nombre m d'équations est
inférieur au nombre n d'inconnues notées x1 , . . . , xn .
En plus, il existe au moins une sous-matrice de A notée B carrée inversible
de type (m , m) (d'ordre m).

Dénitions
On appelle base toute sous-matrice carrée B inversible de type
(m , m) extraite de A.
Les variables associées aux colonnes de B sont dites variables de base,
les autres variables hors base.

Par extension, on appellera également base la liste ordonnée des


variables de base ou de leurs indices (notée B ).
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 11 / 58
La méthode du simplexe Bases, variables de base et solution de base

Exemple :
Soit le système linéaire :

x2 + 2x3 + 2x4 = 1
x1 + x2 + 2x3 + 3x4 = 1
Ce système peut s'écrire Ax =b
, avec :

  x1  
0 1 2 2  x2  1
A= , x =
  et b =
1 1 2 3 x3  1
x4
A est de type (2 , 4 ) (2 équations et 4 variables).
 
1 2
La sous-matrice B= est inversible et rang (A) = 2.
1 3

Ainsi B est une base.

Les variables de base associés à B sont x2 et x4 .


Les variables hors base associés à B sont x1 et x3 .
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 12 / 58
La méthode du simplexe Bases, variables de base et solution de base

Remarques
Une base est inversible et donc les variables de base correspondent à
des colonnes linéairement indépendantes de la matrice A.
Par conséquent, on peut avoir plusieurs bases dans une matrice A.
En eet, on peut le remarquer dans l'exemple précédent :
 
0 1
est aussi une base et correspond alors aux variables de base
1 1
x1 et x2 .
 
1 2
n'est pas une base (car non inversible).
1 2

Avec les conditions précédentes, le système Ax = b admet une


innité de solutions.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 13 / 58


La méthode du simplexe Bases, variables de base et solution de base

Le système de l'exemple précédent :



x2 + 2x3 + 2x4 = 1
x1 + x2 + 2x3 + 3x4 = 1
admet une innité de solutions.

  x1  
0 1 2 2  x2  1
On a : A= , x =   et b =
1 1 2 3 x3  1
x4
   
1 2 − 1 3 −2
B= est une base et B =
1 3 −1 1
Ax = b ⇐⇒ B −1 A x = B −1 b
    
− 1 3 −2 0 1 2 2 −2 1 2 0
B A= =
−1 1 1 1 2 3 1 0 0 1
   
3 −2 1
B −1 b = =
−1 1 0

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 14 / 58


La méthode du simplexe Bases, variables de base et solution de base

Donc le système est équivalent à :


 
 x1   
−2 1 2 0   x2  =
 1 −2x1 + x2 + 2x3 = 1
 x3  ⇐⇒
1 0 0 1 0 x1 + x4 = 0
x4

x2 = 1 + 2x1 − 2x3
⇐⇒
x4 = −x1
Le système précédent est équivalent au système de départ Ax = b mais
exprimé dans la base B
En xant des valeurs arbitraires pour x1 et x3 , on obtient les solutions
correspondantes pour x2 et x4 .
En particulier, pour x1 = 0 et x3 = 0, on obtient la solution x2 = 1 et
x4 = 0.
On dit alors que cette solution est la solution de base associée à la base B.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 15 / 58


La méthode du simplexe Bases, variables de base et solution de base

Généralisation :
Soit Ax = b un système d'équations linéaires tel que A matrice de type
(m , n), m ≤ n et rang (A) = m. Soit B une base de A.
Après permutation des colonnes de A de manière à ce que celles de B
soient en premier, on obtient :
 
P  P xB
A= B N et x= où
xN
N est la sous-matrice de A correspondant aux variables hors base,
xB vecteur de Rm formé par les variables de base,
xN vecteur de Rn−m formé par les variables hors base.
et on a :

Ax = b ⇐⇒ BxB + NxN = b ⇐⇒ xB = B −1 b − B −1 NxN


Pour déterminer toutes les solutions du système, on choisit donc
arbitrairement les valeurs de xN (paramètres) et on calcule les valeurs
correspondantes de xB .
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 16 / 58
La méthode du simplexe Bases, variables de base et solution de base

Dénitions
On appelle solution de base (associée à la base B ), la solution
particulière obtenue en prenant xN = 0.
xB est déterminée de façon unique par :

BxB = b ⇐⇒ xB = B −1 b

Une solution de base est dite réalisable si xB ≥ 0 (toutes les variables


de base sont positives), autrement dit : B −1 b ≥ 0.

Remarque :
Dans le cas d'un programme linéaire sous forme standard avec les
contraintes Ax = b , x ≥ 0, une solution de base réalisable correspond
géométriquement à un sommet du polyèdre des contraintes.

En particulier, une solution optimale correspond à une solution de base


réalisable qui maximise la fonction objectif.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 17 / 58


La méthode du simplexe Méthode du simplexe en tableaux

4. Méthode du simplexe en tableaux

4.1 Exemple :
Considérons le problème déjà étudié (Exemple 1, Chapitre 1).
Rappelons le programme linéaire qui modélise ce problème :

max z = 3x1 + 5x2




 x1 ≤ 4



(P) 2x2 ≤ 12


 3x1 + 2x2 ≤ 18
 x ≥ 0 ;x ≥ 0

1 2

x1 est le nombre de chassis du produit 1 (chassis en aliminium),

x2 est le nombre de chassis du produit 2 (chassis en bois).

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 18 / 58


La méthode du simplexe Méthode du simplexe en tableaux

La forme standard du programme linéaire (P) s'écrit :




 max z = 3x1 + 5x2 + 0e1 + 0e2 + 0e3
 x1 + e1 + 0e2 + 0e3 = 4


(PS) 2x2 + 0e1 + e2 + 0e3 = 12
 3x1 + 2x2 + 0e1 + 0e2 + e3 = 18



x1 ≥ 0 ; x2 ≥ 0 ; e1 ≥ 0 ; e2 ≥ 0 ; e3 ≥ 0

où ei est la variable d'écart associée à la ième contrainte.

Le système linéaire des contraintes associé à (PS) peut s'écrire :



Ãx̃ = b̃
x̃ ≥ 0
 
  x1  
1 0 1 0 0  x2  4
 
à =  0 2 0 1 0  ; x̃ =   e1  ; b̃ =
  12 
3 2 0 0 1  e2  18
e3
z = c̃ T x̃ = 3x1 + 5x2 + 0e1 + 0e2 + 0e3 avec c̃ = (x1 , x2 , 0 , 0 , 0)T
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 19 / 58
La méthode du simplexe Méthode du simplexe en tableaux

Choix de la solution de base réalisable initiale :


 
1 0 0
Une base initiale est donnée par la matrice : I = 0 1 0 
0 0 1

Elle correspond aux variables de base e1 , e2 , e3


et variables hors base x1 , x2 .
La solution de base réalisable initiale est :

(x1 , x2 , e1 , e2 , e3 ) = (0 , 0 , 4 , 12 , 18)

Cela signie qu'au départ on a :

x1 = 0 ; x2 = 0 ; e1 = 4 ; e2 = 12 ; e3 = 18
Autrement dit : on ne produit rien au départ
et z = 3x1 + 5x2 + 0e1 + 0e2 + 0e3 = 0.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 20 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Tableau initial :
Le premier tableau du simplexe (tableau initial) s'écrit :

Base x1 x2 e1 e2 e3 s.m
e1 1 0 1 0 0 4
e2 0 2 0 1 0 12
e3 3 2 0 0 1 18

−z 3 5 0 0 0 0

Variables de base : e1 , e2 , e3 Variables hors base : x1 , x2


Solution de base : (x1 , x2 , e1 , e2 , e3 ) = (0 , 0 , 4 , 12 , 18)
La dernière ligne donne les valeurs marginales (ou taux de substitution)
des variables hors base. Elle correspond à la valeur de −z donc la marge
bénéciaire initiale z = 0.
La solution n'est pas optimale. On recherche donc une solution de base
meilleure : d'où une autre itération.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 21 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Itération du 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.

Choix de la variable entrante dans la base :


Une augmentation de 1 unité de x1 ferait croître la fonction objectif de 3

Une augmentation de 1 unité de x2 ferait croître la fonction objectif de 5.

On a intérêt à augmenter la valeur de la fonction objectif le plus


rapidement possible donc à augmenter la variable ayant le plus grand
coecient strictement positif (cas de maximisation) de la dernière ligne :

x2 variable entrante dans la base.

Règle générale pour la variable entrante dans la base :


On sélectionne la variable hors base ayant le plus grand coecient
strictement positif dans la dernière ligne (x2 dans notre cas).

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 22 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Choix de la variable sortante de la base :


La question qui se pose est : jusqu'à quelle limite doit-on augmenter x2 ?
Une première idée est de pousser x2 le plus loin possible tant que les
variables de base restent positives.

Supposons qu'on augmente x2 en maintenant x1 hors base ( x1 = 0), alors :


e1 = 4 
 e2 = 12 − 2x2 ≥ 0


2x2 + e2 = 12

⇐⇒ e3 = 18 − 2x2 ≥ 0
2x + e3 = 18
 2 x2 ≥ 0

 
x2 ≥ 0 ; e1 ≥ 0 ; e2 ≥ 0 ; e3 ≥ 0

 x2 ≤ 12/2 = 6
⇐⇒ x2 ≤ 18/2 = 9 =⇒ 0 ≤ x2 ≤ min{12/2 , 18/2} = 12/2 = 6
x2 ≥ 0

Ainsi, la valeur limite que x2 peut prendre est x2 = 6. La deuxième


contrainte sera alors saturée (e2 = 0) : e2 variable sortante de la base.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 23 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Règle générale pour la variable sortante de la base :


On eectue le rapport des seconds membres des contraintes aux
coecients strictement positifs correspondants à la variable entrante, puis
on sélectionne la variable de la base ayant le plus petit rapport positif dans
la colonne R (e2 dans notre cas).

Tableau 1

Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4 /0=∞
← e2 0 2 0 1 0 12 12/2 =6
e3 3 2 0 0 1 18 18/2 = 9

−z 3 5 0 0 0 0

x2 variable entrante dans la base.

e2 variable sortante de la base.

Le coecient à l'intersection de la colonne de la variable entrante et la


ligne de la variable sortante s'appelle pivot (2 dans notre cas).
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 24 / 58
La méthode du simplexe Méthode du simplexe en tableaux

Pour obtenir le tableau 2, on eectue des pivotages.

Règles de calcul :
Les coecients de la ligne du pivot sont divisés par le pivot.
Les coecients de la colonne du pivot (sauf le pivot) sont nuls.
Les autres coecients sont obtenus par la règle :

Cpivot
Nv = Av − ( × Lpivot)
Pivot
Nv : nouvelle valeur
Av : ancienne valeur
Cpivot : colonne du pivot
Lpivot : Ligne du pivot

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 25 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Tableau 1

Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4 /0=∞
← e2 0 2 0 1 0 12 12/2 = 6
e3 3 2 0 0 1 18 18/2 = 9

−z 3 5 0 0 0 0

Tableau 2

Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4
x2 0 1 0 1/2 0 6 ∞
← e3 3 0 0 −1 1 6 2

−z 3 0 0 −5/2 0 −30

Variable entrante dans la base : x1 Variable sortante de la base : e3


Pivot : 3

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 26 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Tableau 2

Base x1 x2 e1 e2 e3 s.m R
e1 1 0 1 0 0 4 4
x2 0 1 0 1/2 0 6 ∞
← e3 3 0 0 −1 1 6 2

−z 3 0 0 −5/2 0 −30

Tableau 3
Base x1 x2 e1 e2 e3 s.m
e1 0 0 1 1/3 −1/3 2
x2 0 1 0 1/2 0 6
x1 1 0 0 −1/3 1/3 2
−z 0 0 0 −3/2 −1 −36

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 27 / 58


La méthode du simplexe Méthode du simplexe en tableaux

Tous les coecients de la dernière ligne (coecients de la fonction


objectif ) sont négatifs ou nuls : on ne peut plus augmenter la fonction
objectif. Le tableau 3 est optimal et l'algorithme du simplexe s'arrête.

On a donc : x1∗ = 2 ; x2∗ = 6 et zmax = 36.


Interprétation économique :

L'entreprise doit produire 2 châssis de type 1 (en aluminium) et 6 châssis


de type 2 (en bois) pour réaliser un prot maximal de 36 UM.

A l'optimum les variables de base sont x1∗ = 2 ; x2∗ = 6 et e1∗ = 2 et les



variables hors base sont e2 = e∗ =0 .
3
La première contrainte n'est pas saturée : il reste une capacité disponible
dans l'atelier 1 (sous-emploi) égale à 2 heures par semaine.
La deuxième et la troisième contrainte sont saturées : il ne reste plus de
capacité disponible dans les ateliers 2 et 3 (plein emploi). En eet :

4 − x1∗ = 4 − 2 = 2
12 − 2x2∗ = 12 − 2 × 6 = 0
18 − (3x1∗ + 2x2∗ ) = 18 − (3 × 2 + 2 × 6) = 0.
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 28 / 58
La méthode du simplexe Cas général

4.2 Cas général :


Considérons un programme linéaire sous forme standard :

 max z = c T x

(PS) Ax = b
x ≥0

où est une A matrice de type (m , n), m ≤ n et rang (A) = m.


Supposons connue une base B telle que la solution de base associée est
réalisable.

Notons :

B = {i1 , . . . , im } : l'ensemble des indices correspondants aux colonnes de B


(et donc aux variables de base),

N = {j1 , ..., jn−m } = {1, ..., n} \ B : l'ensemble des indices hors base,

N : la sous-matrice de A correspondant aux colonnes des indices hors base,

xB : le vecteur de Rm formé par les variables de base (xi , i ∈ B ),


xN : le vecteur de Rn−m formé par les variables hors base (xi , i ∈ N ).
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 29 / 58
La méthode du simplexe Cas général

Rappelons que la solution de base associée à B est réalisable si :


xB = B −1 b ≥ 0.
En eectuant un partitionnement suivant les indices de B et ceux de N, on
peut écrire :

 
xB 
Ax = b ⇐⇒ B N =b
xN
⇐⇒ B xB + N xN = b
⇐⇒ xB + B −1 N xN = B −1 b
⇐⇒ xB = B −1 b − B −1 N xN

La fonction objectif peut s'écrire :

X X
z = cT x = ci xi + ci xi = cB xB + cN xN
i∈B i∈N

avec cB = (ci , ..., cim )


1
et cN = (cj , ..., cjn−m )
1

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 30 / 58


La méthode du simplexe Cas général

Donc le PL est équivalent à la forme réduite associée à la base B :



 max z = cB xB + cN xN
(PR) x + B −1 N xN = B −1 b
 B
xB ≥ 0 , xN ≥ 0

On peut maintenant formuler le problème en réécrivant les contraintes et


l'objectif en fonction des variables hors base :

xB + B −1 N xN = B −1 b ⇐⇒ xB = B −1 b − B −1 N xN =⇒
z = cB xB + cN xN
= cB (B −1 b − B −1 N xN ) + cN xN
= (cN − cB B −1 N)xN + cB B −1 b
z = dN xN + z̄ ⇐⇒ dN xN = z − z̄

avec dN = cN − cB B −1 N ; z̄ = cB B −1 b
les composantes de dN s'appellent coûts réduits des variables hors base.
Ils interviennent de façon déterminante dans la méthode du simplexe.
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 31 / 58
La méthode du simplexe Cas général

Ainsi, le problème consiste à maximiser z sachant :

xB + B −1 N xN = B −1 b
dN x N = z − z̄

et xB ≥ 0 , xN ≥ 0.
La solution de base est donnée par : xN = 0 ; xB = b̄ = B −1 b .
Cette solution de base est réalisable signie que b̄ = B −1 b ≥ 0.
La valeur de la fonction objectif z associée à cette solution est z̄ .
Finalement, le tableau du simplexe associé à la base B est (à une
permutation de colonnes près) de la forme :

Base xB xN s.m

xB Im B 1N
− b̄ = B −1 b
−z 0 dN −z̄

dN = cN − cB B −1 N ; z̄ = cB B −1 b
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 32 / 58
La méthode du simplexe Cas général

Par exemple, le tableau 2 du paragraphe 4.1 donne :


Base x1 x2 e1 e2 e3 s.m
e1 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
← e3 3 0 0 −1 1 6
−z 3 0 0 −5/2 0 −30

Base xB xN s.m

xB Im B −1 N b̄ = B −1 b
−z 0 dN −z̄

xB = (e1 , x2 , e3 ) : variables de base,

xN = (x1 , e2 ) : variables hors base,

dN = (3 , −5/2) ; b̄ = (4 , 6 , 6),
Solution de base : (x1 , x2 , e1 , e2 , e3 ) = (0 , 6 , 4 , 0 , 6),
Fonction objectif : z̄ = 30.
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 33 / 58
La méthode du simplexe Cas général

Remarques :

La forme tableau présente l'avantage de préserver la structure du


programme linéaire. En plus, elle met en évidence les opérations
matricielles (résolution des systèmes linéaires par exemple) mis en
÷uvre durant la résolution.

Les variables de base se distinguent par le fait qu'elles forment une


matrice identité dans le système des contraintes et n'interviennent pas
dans la fonction objectif. les variables hors base sont les variables
restantes et leur coecients dans la fonction objectif sont représentés
par les coûts réduits (vecteur dN ).
Rappelons que, une fois le choix du pivot établi, le passage d'un
tableau simplexe au tableau suivant s'eectue manuellement en
utilisant les règles de calculs :
I Les coecients de la ligne du pivot sont divisés par le pivot.
I Les coecients de la colonne du pivot (sauf le pivot) sont nuls.
I Les autres coecients sont obtenus par la règle du rectangle.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 34 / 58


La méthode du simplexe Cas général

Dénition
1 Une solution de base xB associée à la base B est dite non dégénérée
si :
x B = B −1 b > 0
c-à-d le second membre du système réduit b̄ > 0
autrement dit, si toutes les variables de base sont strictement positives.

Dans le cas contraire, on dit que la solution de base est dégénérée.

2 Un programme linéaire est non dégénéré si toute solution de base


réalisable est non dégénérée.

Théorème (Critère d'optimalité)


Si
dN = cN − cB B −1 N ≤ 0

alors la solution de base réalisable xN = 0 ; xB = b̄ = B −1 b est optimale.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 35 / 58


La méthode du simplexe Cas général

Preuve du Théorème :

Soit x = (x1 , ..., xn ) une solution de base réalisable quelconque et soit


x∗ = (x1∗ , ..., xn∗ ) la solution de base associée à B .
Comme xN ≥ 0 (car x dN ≤ 0 (par
réalisable) et hypothèse) on a :

X
dN xN = di xi ≤ 0
i∈N

D'où :
z(x1 , ..., xn ) = dN xN + z̄ ≤ z̄ = z(x1∗ , ..., xn∗ ).
Etapes du simplexe (cas général) :
Si le critère d'optimalité (dN ≤ 0) n'est pas vérié on va procéder soit à
une itération, soit on va découvrir que max z = +∞.
Supposons alors qu'il existe au moins une composante dj de dN telle que
dj > 0, j ∈ N .

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 36 / 58


La méthode du simplexe Cas général

Choix de la variable entrante :


Considérons l'indice j ∈N tel que

dj = max{dk ; k ∈ N }

et la colonne d'indice j de la matrice ĀN = B −1 N = (ākj , (1 ≤ k ≤ m).


On a les possibilités suivantes :

1 ākj ≤ 0, ∀ k = 1, ..., m
(Tous les termes de la colonne j de la variable entrante sont ≤ 0).
Dans ce cas l'ensemble réalisable est non borné et max z = +∞
2 Il existe k ∈ {1, ..., m} tel que ākj > 0
Dans ce cas on va procéder à une itération et

xj est la variable entrante dans la base.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 37 / 58


La méthode du simplexe Cas général

Choix de la variable sortante :


On va supposer maintenant que le programme linéaire est non dégénéré.

Soit p l'indice vériant :

b̄p b̄p
= min{ ; āpj > 0}
āpj āpj

(On fait le rapport des coecients du s.m du tableau simplexe avec les
coecients de la colonne j de la variable entrante et on choisit le plus petit)

Dans ce cas, xp est la variable sortante de la base.

Théorème (Convergence de l'algorithme du simplexe)


Supposons que le programme linéaire est non dégénéré et qu'il admette au
moins une solution optimale (avec zmax ni). Alors après un nombre ni
d'itérations, l'algorithme du simplexe va trouver une solution de base
optimale.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 38 / 58


La méthode du simplexe Problèmes particuliers

4.3 Problèmes particuliers :

Dans le paragraphe précédent, nous avons fait les deux hypothèses


suivantes :
1 La connaissance d'une solution de base réalisable initiale.
2 Le programme linéaire est non dégénéré.

En général, ces hypothèses ne sont pas toujours vériées.

Détermination d'une base réalisable initiale :


Pour déterminer une base initiale réalisable, considérons tout d'abord le cas
où le PL est donné sous la forme canonique :


 max z = c1 x1 + c2 x2 + ... + cn xn
a11 x1 + a12 x2 + ... + a1n xn ≤ b1




 a21 x1 + a22 x2 + ... + a2n xn ≤ b2

(PC ) .
.

 .

a x + am2 x2 + ... + amn xn ≤ bm

 m1 1



x1 ≥ 0, . . . , xn ≥ 0
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 39 / 58
La méthode du simplexe Problèmes particuliers

En introduisant des variables d'écart (e1 , ..., em ) , nous obtenons le PL sous


forme standard :


 max z = c1 x1 + c2 x2 + ... + cn xn + 0e1 + ... + 0en
a 11 x1 + a12 x2 + ... + a1n xn + e1 = b1




 a21 x1 + a22 x2 + ... + a2n xn + e2 = b2

(PS) .
.

 .

a x + am2 x2 + ... + amn xn + em = bm

 m1 1



x1 ≥ 0, . . . , xn ≥ 0, e1 ≥ 0, . . . , em ≥ 0
En posant

; x̃ = (x1 , ..., xn , e1 , ..., em )T ; c̃ = (c1 , ..., cn , 0, ..., 0)T



à = A Im
où Im est la matrice identité d'ordre m.
(PS) s'écrit alors sous la forme matricielle :

 max z̃ = c̃ T x̃

Ãx̃ = b
x̃ ≥ 0

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 40 / 58


La méthode du simplexe Problèmes particuliers

Comme Im est inversible on a une solution de base initiale :

B = Im ; N = A ; xB = B −1 b = b ; xN = x = 0
Si b≥0 alors cette solution est en plus réalisable.

Le problème se pose dans le cas contraire c-à-d celui où il existe au moins


un indice j tel que bj < 0.
Dans ce cas, xB = b, xN = x = 0 est une solution de base mais non
réalisable et il faut procéder à une première étape qui consiste à déterminer
une solution de base réalisable de départ : c'est la phase I de la méthode
du simplexe.

Problème de dégénérescence :
Dans le cas où le PL est dégénéré, on peut avoir :

b̄p b̄p
= min{ ; āpj > 0} = 0
āpj āpj
Alors la fonction objectif z ne varie pas après le changement de base et par
conséquent on peut rencontrer les situations suivantes :

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 41 / 58


La méthode du simplexe Problèmes particuliers

Lors de la détermination de la variable entrante, nous sommes en


présence d'au moins deux variables hors base ayant le même et le plus
élevé coecient strictement positif dans la dernière ligne.

Lors de la détermination de la variable sortante, nous sommes en


présence d'au moins deux variables de base ayant le même et le plus
petit rapport positif dans la dernière colonne.

il est possible, après un certain nombre d'itérations, de retrouver le


tableau de départ (problème de cyclage).
Plusieurs remèdes au cyclage dans les cas dégénérés sont utilisés, le plus
connu c'est la règle de Bland :
Lorsque plusieurs variables sont susceptibles d'entrer ou de sortir de la
base, on choisit toujours la variable xr ayant le plus petit indice r.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 42 / 58


La méthode du simplexe Problèmes particuliers

Exemples :
T1
Base x1 x2 x3 x4 x5 x6 s.m R
x5 4 7 0 0 1 4 4 4/7

x4 2 8 0 1 0 3 0 0

x3 - 2 9 1 0 0 2 0 0
−z -5 2 0 0 0 5 -3

Variables candidates à enter dans la base : x2


Variables candidates à sortir de la base : x4 et x3 . On choisit donc x3 .
T2

Base x1 x2 x3 e1 e2 e3 s.m R

← e1 1 2 5 1 0 0 4 2

e2 3 4 3 0 1 0 8 2
e3 2 4 1 0 0 1 12 3
−z 2 3 1 0 0 1 0

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 43 / 58


La méthode du simplexe Problèmes particuliers


T3
Base x1 x2 x3 e1 e2 e3 s.m
e1 1 2 5 1 0 0 3
e2 3 1 3 0 1 0 10
e3 2 8 1 0 0 1 8

−z 3 3 2 0 0 0 0


T4
Base x1 x2 e1 e2 s.m

e1 0 -2 1 -1 20

x1 1 0 0 2,5 3
−z 0 16 0 -3 -32

Tous les coecients de la colonne de la variable entrante x2 sont négatifs


ou nuls : zmax = +∞

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 44 / 58


La méthode du simplexe Problèmes particuliers

Un autre cas particulier : innité de solutions optimales


Si à la n des itérations, une variable est hors base avec un coecient nul
dans la dernière ligne du tableau optimal, alors on a une arête (face,...)
optimale. Les autres sommets optimaux peuvent être obtenus en faisant
rentrer cette variable dans la base. Considérons, par exemple, le tableau
optimal suivant :

Base x1 x2 e1 e2 s.m
x1 1 0 1 1 3
x2 0 1 -1 -2 2

−z 0 0 -1 0 -8

On fait entrer e2 dans la base et x1 sera alors la variable sortante. Ainsi, on


obtient une autre solution optimale :

Base x1 x2 e1 e2 s.m
e2 1 0 1 1 3
x2 2 1 1 0 8
−z 0 0 1 0 -8

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 45 / 58


La méthode du simplexe Simplexe avec minimisation

4.4 Simplexe avec minimisation de l'objectif :


Dans le cas de minimisation de l'objectif, les itérations et l'optimalité de la
méthode du simplexe sont déterminés par les critères suivants :

Critère de la variable entrante : On choisit la variable hors base


ayant le coût réduit le plus négatif.

Critère de la variable sortante : le même que dans le cas de


maximisation, puisque ce critère est lié à la réalisabiité des variables.

Critère d'optimalité : L'algorithme du simplexe s'arrête quand tous


les coûts réduits des variables hors base (coecients de la dernière
ligne du tableau simplexe) sont tous positifs ou nuls.

Les critères précédents découlent de la propriété suivante :

minimiser z = c1 x1 + ... + cn xn revient à maximiser −z .

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 46 / 58


La méthode du simplexe Simplexe avec minimisation

Exemple :
Soit le problème :


 min −x1 − 2x2
 −3x1 + 2x2 ≤ 2


(PM) −x1 + 2x2 ≤ 4
x + x2 ≤ 5

 1



x1 , x2 ≥ 0
En rajoutant les variables d'écart on obtient la forme standard :


 min −x1 − 2x2
 −3x1 + 2x2 + e1 = 2


(PMS) −x1 + 2x2 + e2 = 4
x + x2 + e3 = 5

 1



x1 , x2 , e1 , e2 , e3 ≥ 0
On remarque que tous les termes du second membre (2, 4 et 5) sont
positifs. Dans notre cas, l'obtention d'une solution de base réalisable
initiale est triviale. Elle correspond aux variables de base e1 , e2 , e3 et
variables hors base x1 , x2 .
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 47 / 58
La méthode du simplexe Simplexe avec minimisation

Les contraintes de (PMS) peuvent être représentées par le système :


Ãx̃ = b̃
x̃ ≥ 0
 
  x1  
−3 2 1 0 0 
 x2 
 2
à =  −1 2 0 1 0  ; x̃ = 
 e1  ; b̃ = b = 
 4 
1 1 0 0 1  e2  5
e3
z = c̃ T x̃ = −x1 − 2x2 + 0e1 + 0e2 + 0e3 avec c̃ = (x1 , x2 , 0 , 0 , 0)T
 
1 0 0
Une base initiale est donnée par la matrice identité : I = 0 1 0 
0 0 1

La solution de base réalisable initiale est :

(x1 , x2 , e1 , e2 , e3 ) = (0 , 0 , 2 , 4 , 5)
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 48 / 58
La méthode du simplexe Simplexe avec minimisation

Tableau 1

Base x1 x2 e1 e2 e3 s.m R

← e1 -3 2 1 0 0 2 1
e2 -1 2 0 1 0 4 2
e3 1 1 0 0 1 5 5

−z -1 -2 0 0 0 0

x2 variable entrante dans la base.

e1 variable sortante de la base.

Tableau 2

Base x1 x2 e1 e2 e3 s.m R
x2 -3/2 1 1/2 0 0 1 −2/3
← e2 2 0 -1 1 0 2 1
e3 5/2 0 -1/2 0 1 4 8/5

−z -4 0 1 0 0 2

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 49 / 58


La méthode du simplexe Simplexe avec minimisation

Tableau 3

Base x1 x2 e1 e2 e3 s.m R
x2 0 1 -1/4 3/4 0 5/2 10
x1 1 0 -1/2 1/2 0 1 -2

← e3 0 0 3/4 -5/4 1 3/2 2

−z 0 0 -1 2 0 6

Tableau 4
Base x1 x2 e1 e2 e3 s.m
x2 0 1 0 1/3 1/3 3
x1 1 0 0 -1/3 2/3 2
e1 0 0 1 -5/3 4/3 2
−z 0 0 0 1/3 4/3 8
Tous les coecients de la dernière ligne sont positifs ou nuls : le tableau 4
est optimal et

x1 =2; x2
∗ =3; ∗
e1 =2; e2
∗ = e∗3 = 0 ; z
∗ = −8
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 50 / 58
La méthode du simplexe Initialisation de la méthode du simplexe

5. Initialisation de la méthode du simplexe

Jusqu'ici nous avons vu comment trouver une solution de base réalisable


initiale lorsque le programme linéaire de départ est sous forme canonique :

 max z = c T x

Ax ≤ b
x ≥0

alors en ajoutant une variable d'écartei à chaque contrainte pour la


transformer en une égalité, la matrice à qui correspond à l'ensemble des

contraintes Ãx = b prend la forme : Ã = A Im
avec x̃ = (x1 , ..., xn , e1 , ..., em )T et Im est la matrice identité d'ordre m.
Le passage en forme standard permet d'avoir une base initiale
B0 = {ei , i = 1...m} facilement.

Si le second membre est positif alors cette base est réalisable et correspond
à l'origine : xN = (x1 , ..., xn ) = 0 et xB = (e1 , ..., em ).
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 51 / 58
La méthode du simplexe Initialisation de la méthode du simplexe

Mais dans le cas général on peut avoir les situations suivantes :

L'une des m contraintes possède un second membre bi négatif, alors il


y a violation de la contrainte de positivité pour la variable d'écart
concernée (ei = bi < 0).
Le problème contient déjà des contraintes d'égalité alors ces dernières
n'ont pas besoin de l'adjonction de variables d'écart et il n'existe pas
de sous-matrice identité dans la matrice Ã.
Il est alors nécessaire de mettre en place une procédure pour obtenir une
matrice identité comme matrice de base initiale et qui correspond à une
solution de base initiale réalisable. En général, une telle procédure est basée
sur l'adjonction de variables articielles.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 52 / 58


La méthode du simplexe Initialisation de la méthode du simplexe

Méthode du grand M :
Considérons le PL suivant :


 max z = x1 + x2
2x1 + x2 ≥ 4

(P1 )
 x1 + 2x2 = 6

x1 , x2 ≥ 0

On remarque que les termes du second membre sont tous positifs, mais la
1ère contrainte est de type ≥ et la 2ème contrainte est de type =
On rajoute une variable d'écart e1 à la 1ère contrainte (pour avoir l'égalité).

On rajoute en plus deux variables articielles a1 et a2 aux 2 contraintes.

En plus, on transforme la fonction objectif en pondérant les variables


articielles avec un coecient −M où M est un nombre supposé positif et
assez grand.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 53 / 58


La méthode du simplexe Initialisation de la méthode du simplexe

On obtient alors le PL :


 max z = x1 + x2 −Ma1 − Ma2
2x1 + x2 − e1 + a1 = 4

 x1 + 2x2 + a2 = 6

x1 , x2 , e1 , a1 , a2 ≥ 0

qui est sous forme standard.

On remarque que les contraintes du dernier problème peuvent s'écrire :


Ãx̃ = b̃
x̃ ≥ 0
 
x1
   x2   
2 1 −1 1 0   4
à = ; x̃ =  e1  ; b̃ = b =
1 2 0 0 1   6
 a1 
a2
Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 54 / 58
La méthode du simplexe Initialisation de la méthode du simplexe

La solution de base initiale est donnée par :

Variables de base : a1 = 4 ; a2 = 6
Variables hors base : x1 = x2 = e1 = 0
Pour établir le premier tableau du simplexe, il faut maintenant exprimer les
variables de base en fonction des variables hors base.
 
2x1 + x2 − e1 + a1 = 4 a1 = 4 − 2x1 − x2 + e1

x1 + 2x2 + a2 = 6 a2 = 6 − x1 − 2x2

La fonction objectif devient alors :

z = x1 + x2 −Ma1 − Ma2
= x1 + x2 − M(4 − 2x1 − x2 + e1 ) − M(6 − x1 − 2x2 )
z = (3M + 1)x1 + (3M + 1)x2 − Me1 − 10M

Notons aussi que : si x1 = x2 = e1 = 0 alors z = z̄ = −10M .

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 55 / 58


La méthode du simplexe Initialisation de la méthode du simplexe

Nous pouvons maintenant démarrer le simplexe avec le tableau suivant :


Tableau 1
Base x1 x2 e1 a1 a2 s.m R

← a1 2 1 -1 1 0 4 2
a2 1 2 0 0 1 6 6

−z 3M+1 3M+1 -M 0 0 10 M

x1 et x2 candidates à entrer dans la base. En appliquant la règle de Bland,


x1 entrante. a1 sort de la base.

Tableau 2

Base x1 x2 e1 a1 a2 s.m R
x1 1 1/2 -1/2 1/2 0 2 4

← a2 0 3/2 1/2 -1/2 1 4 8/3

−z 0 (3M+1)/2 (M+1)/2 -(3M+1)/2 0 -2 + 4M

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 56 / 58


La méthode du simplexe Initialisation de la méthode du simplexe

Tableau 3

Base x1 x2 e1 a1 a2 s.m R
x1 1 0 -2/3 2/3 -1/3 2/3 -1

← x2 0 1 1/3 -1/3 2/3 8/3 8

−z 0 0 1/3 0 0 -10/3

Tableau 4
Base x1 x2 e1 a1 a2 s.m
x1 1 2 0 × × 6
e1 0 3 1 × × 8
−z 0 -1 0 0 0 -6

Le tableau 4 est optimal et x1∗ = 6 ; x2∗ = 0 ; e1∗ = 8 ; zmax = 6.


On remarque que chaque variable articielle (a1 et a2 ) a été mise hors base
de telle sorte que leurs valeurs sont nulles dans le tableau optimal.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 57 / 58


La méthode du simplexe Initialisation de la méthode du simplexe

En général, la méthode du grand M ( big M ,méthode M) consiste à :

Introduire des variables articielles ai , (i = 1, ..., p) dans les


contraintes qui posent un problème pour la réalisabilité de la base
initiale.
m
X
Remplacer la fonction objectif par z= max c T x +M ai
i=1
où M est une constante positive assez grande.

En pratique, on n'est pas obligé de donner une valeur à M.

Chaque fois que M est comparé à un nombre, il sera toujours


considéré comme plus grand.

Si la méthode du simplexe se termine avec une solution (x ∗ , a∗ ) telle


que a∗ = (a1∗ , ..., ap∗ ) = ∗
0, alors x est une solution optimale du
problème de départ.

Si la méthode du simplexe se termine avec une solution (x ∗ , a∗ ) telle


que a
∗ 6= 0 (c-à-d qu'au moins une variable articielle est encore dans
la base dans le tableau optimal), alors le problème est non réalisable.

Pr. KADIRI - FSJES-AS Modélisation et optimisation MASS - S4 2020-2021 58 / 58

Vous aimerez peut-être aussi