Académique Documents
Professionnel Documents
Culture Documents
Année 2021-2022
1 / 43
Introduction
La méthode du simplexe est l’outil principal de résolution des problèmes de programmation li-
néaire.
Il s’agit d’une méthode algébrique itérative qui permet de trouver la solution exacte d’un problème
de programmation linéaire en un nombre fini d’étapes.
2 / 43
Définitions
Définition
Si c1 , c2 , .., cn , sont des constantes réelles, la fonction définie par :
X
n
f(x1 , x2 , ..., xn ) = c1 x1 + c2 x2 + ... + cn xn = cj xj (1)
j=1
3 / 43
Définitions
Définition
Si c1 , c2 , .., cn , sont des constantes réelles, la fonction définie par :
X
n
f(x1 , x2 , ..., xn ) = c1 x1 + c2 x2 + ... + cn xn = cj xj (1)
j=1
Définition
Si b, c1 , c2 , .., cn sont des constantes réelles, alors les équations
X
n X
n
cj xj ≤ b et cj xj ≥ b (2)
j=1 j=1
3 / 43
Définitions
Plus généralement, une contrainte linéaire est soit une équation linéaire, soit une inégalité linéaire.
Avec ces définitions, un programme linéaire (PL) consiste en la maximisation (ou la minimisation)
d’une fonction linéaire soumise à un nombre fini de contraintes linéaires.
(Maximiser ou Minimiser) la fonction objectif :
X
n
z= ci x i (3)
i=1
xi ≥ 0 (5)
4 / 43
Définitions
xi ≥ 0
où aij , bi et cj sont des réels connus et xj , j = 1, ..., n sont des variables réelles.
5 / 43
Définitions
La forme matricielle :
6 / 43
Forme Canonique
Si la fonction objective doit être maximisée et si toutes les contraintes sont des inéquations du type
(≤), on dit que le programme linéaire se présente sous une forme canonique.
En notation Matricielle, un problème de programmation linéaire se présente sous sa forme cano-
nique de la manière suivante :
Maximiser z = cx
sous contraintes Ax ≤ b
et xi ≥ 0
7 / 43
Forme Canonique
Toute contrainte peut être transformée sous forme canonique. Deux cas peuvent alors se présen-
ter.
Premier cas
ak1 x1 + . . . + akn xn ≥ bk
8 / 43
Forme Canonique
Second cas
Si la kème contrainte est de la forme :
ak1 x1 + . . . + akn xn = bk
9 / 43
Forme Canonique
Exemple
Transformons les contraintes suivantes sous forme canonique :
x1 − 2x2 + x3 ≤ 5
3x1 + 2x2 − x3 ≥ 2
x1 + x2 + x3 = 7
10 / 43
Forme Canonique
Exemple
Transformons les contraintes suivantes sous forme canonique :
x1 − 2x2 + x3 ≤ 5
3x1 + 2x2 − x3 ≥ 2
x1 + x2 + x3 = 7
La première contrainte est déjà sous forme canonique. La deuxième doit être multipliée par (−1) :
−3x1 − 2x2 + x3 ≤ −2
10 / 43
Forme Canonique
Exemple
Transformons les contraintes suivantes sous forme canonique :
x1 − 2x2 + x3 ≤ 5
3x1 + 2x2 − x3 ≥ 2
x1 + x2 + x3 = 7
La première contrainte est déjà sous forme canonique. La deuxième doit être multipliée par (−1) :
−3x1 − 2x2 + x3 ≤ −2
x1 + x2 + x3 ≤ 7 et x 1 + x2 + x3 ≥ 7
Exemple
Sous forme canonique, les trois contraintes transformées s’écrivent :
x1 − 2x2 + x3 ≤ 5
−3x − 2x + x ≤ −2
1 2 3
x1 + x2 + x3 ≤ 7
−x1 − x2 − x3 ≤ −7
11 / 43
Forme Standard
Un problème de programmation linéaire se présente sous sa forme standard si toutes les contraintes
sont des équations. La fonction objective doit également être maximisée. Sous forme matricielle,
la forme standard s’écrit :
Maximiser z = cx
sous contraintes Ax = b
et xi ≥ 0
12 / 43
Transformation minimisation-maximisation
Tout problème de minimisation peut être transformé en un problème équivalent de maximisa-
tion.
En e effet, le problème :
Minimiser z = cx est équivalent à Maximiser (−z) = −cx
La valeur minimale de z s’obtient en prenant l’opposé de la valeur maximale de (−z).
13 / 43
Transformation minimisation-maximisation
Tout problème de minimisation peut être transformé en un problème équivalent de maximisa-
tion.
En e effet, le problème :
Minimiser z = cx est équivalent à Maximiser (−z) = −cx
La valeur minimale de z s’obtient en prenant l’opposé de la valeur maximale de (−z).
Exemple
Soit la fonction objective à minimiser :
13 / 43
Variables d’écart
La méthode du simplexe exige que le programme linéaire soit sous forme standard. Pour cette
raison, il faut transformer les inégalités rencontrées en égalités.
Cette transformation se fait simplement en introduisant des variables non-négatives (qui vérifient
les contraintes de non-négativité) appelées variables d’écart.
Si les contraintes sont du type
14 / 43
Variables d’écart
15 / 43
Variables d’écart
Remarquons qu’avec l’introduction des variables d’écart, tout problème sous forme canonique
possède une forme standard équivalente.
Notons encore que la méthode du simplexe requiert des bi ≥ 0. Par conséquent, les contraintes
qui ont un bi négatif doivent être transformées en contraintes aux bi positifs. Cette transforma-
tion se fait simplement en multipliant la contrainte par (−1).
16 / 43
Variables sans restriction de signe
Dans certains problèmes, il arrive qu’on traite des variables de signe quelconque. Or la méthode
du simplexe ne résout que des problèmes à variables non-négatives.
Une variable sans restriction de signe peut alors être décomposée en deux variables non-négatives
x+ et x− en posant
x = x+ − x−
17 / 43
Exemple
L’introduction d’une variable d’écart dans la première contrainte permet de la transformer en égalité :
18 / 43
Exemple
La deuxième contrainte est déjà sous forme d’égalité. Finalement, il reste à décomposer la variable x2 , qui est sans res-
triction de signe, en deux variables non-négatives x+ −
2 et x2 :
x2 = x+ −
2 − x2
+ −
−x1 + 4x2 − 4x2 − x3 = 5
2x1 + 3x+ 2 − 3x2
−
=4
+ −
x1 , x 2 , x 2 , x 3 ≥ 0
un programme linéaire peut toujours être présenté sous sa forme standard.
19 / 43
Définitions
I Une solution (x1 , ..., xn ) est dite réalisable si elle satisfait à toutes les contraintes (incluant
les bornes).
20 / 43
Définitions
I Une solution (x1 , ..., xn ) est dite réalisable si elle satisfait à toutes les contraintes (incluant
les bornes).
I Une solution (x∗1 , ..., x∗n ) est st dite optimale si elle est réalisable et si elle maximise la
fonction objective parmi toutes les solutions réalisables. La valeur correspondante de
l’objectif est appelée la valeur optimale.
20 / 43
Définitions
I Une solution (x1 , ..., xn ) est dite réalisable si elle satisfait à toutes les contraintes (incluant
les bornes).
I Une solution (x∗1 , ..., x∗n ) est st dite optimale si elle est réalisable et si elle maximise la
fonction objective parmi toutes les solutions réalisables. La valeur correspondante de
l’objectif est appelée la valeur optimale.
I Un programme linéaire qui n’a pas de solution réalisable est appelé non réalisable.
20 / 43
Définitions
I Une solution (x1 , ..., xn ) est dite réalisable si elle satisfait à toutes les contraintes (incluant
les bornes).
I Une solution (x∗1 , ..., x∗n ) est st dite optimale si elle est réalisable et si elle maximise la
fonction objective parmi toutes les solutions réalisables. La valeur correspondante de
l’objectif est appelée la valeur optimale.
I Un programme linéaire qui n’a pas de solution réalisable est appelé non réalisable.
I Un programme linéaire réalisable qui n’a pas de valeur optimale finie est appelé non borné.
20 / 43
Principe la méthode du simplexe
L’algorithme du Simplexe permet la détermination d’une solution optimale d’un programme li-
néaire lorsqu’une telle solution existe. Soit l’exemple suivant :
Max z = 3x1 + 5x2
x1 ≤4
2x ≤ 12
2
3x1 + 2x2 ≤ 18
x1 ≥0
x2 ≥ 0
21 / 43
Principe la méthode du simplexe
22 / 43
Notion de solution de base
x1 + x3 =4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
23 / 43
Notion de solution de base
Définition
On appelle variables hors base (v.h.b.) les n variables de Rn+m fixées à zéro. Les m variables
restantes sont appelées variables de base (v.b.).
x3 = 4
x4 = 12
x5 = 18
24 / 43
Notion de solution de base
Définition
On appelle solution de base une solution où en ayant choisi n variables hors base, on obtient une
solution unique en résolvant les m contraintes d’égalités obtenues en ajoutant les variables
d’écart.
25 / 43
Notion de solution de base
Définition
On appelle solution de base une solution où en ayant choisi n variables hors base, on obtient une
solution unique en résolvant les m contraintes d’égalités obtenues en ajoutant les variables
d’écart.
Définition
On appelle solution de base réalisable une solution de base qui, en plus, vérifie les contraintes de
positivité.
25 / 43
Notion de solution de base
26 / 43
Notion de solution de base
27 / 43
Notion de solution de base
Définition
On appelle solutions de base adjacentes deux solutions de base dont les variables de base sont les mêmes
sauf une qui est de base dans la première base et hors base dans la seconde.
28 / 43
Notion de solution de base
Définition
On appelle solutions de base adjacentes deux solutions de base dont les variables de base sont les mêmes
sauf une qui est de base dans la première base et hors base dans la seconde.
x1 = 0 , x1 = 0,
x2 = 0 , x2 = 6,
x3 = 4 , x3 = 4,
x4 = 12 , x4 = 0,
x5 = 18 , x5 = 6.
car elles ne diffèrent que par une seule variable hors base.
La notion géométrique de sommets adjacents correspond à la notion algébrique de solutions de base réalisables adja-
centes.
28 / 43
Initialisation de l’algorithme du simplexe
(x1 , x2 ) = (0, 0)
En termes algébriques, toutes les variables originales sont mises hors base. Automatiquement, dans le sys-
tème d’égalité d’égalités :
z − 3x1 − 5x2 =0
x1 + x3 =4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
29 / 43
Initialisation de l’algorithme du simplexe
z − 3x1 − 5x2 =0
x1 + x3 =4
2x + x4 = 12
2
3x1 + 2x2 + x5 = 18
On lit la valeur des variables de base :
x3 = 4
x4 = 12
x5 = 18
30 / 43
Une itération du Simplexe
31 / 43
Une itération du Simplexe
32 / 43
Une itération du Simplexe
Remarque : pour pouvoir appliquer ce critère de la variable entrante en base, il faut que la fonction objectif
z doit être exprimée uniquement en fonction des variables hors base.
A ce niveau la variable entrante est x2 .
32 / 43
Une itération du Simplexe
33 / 43
Une itération du Simplexe
x3 = 4 >= 0
x4 = 12 − 2x2 >= 0
x5 = 18 − 2x2 >= 0
34 / 43
Une itération du Simplexe
x3 = 4 >= 0
12
x4 = 12 − 2x2 >= 0 ⇒ x2 <= =6
2
18
x5 = 18 − 2x2 >= 0 ⇒ x2 <= =9
2
On en conclut que la variable sortante est x4 , c’est-à-dire la première qui s’annule (pour x2 = 6).
35 / 43
Une itération du Simplexe
36 / 43
Une itération du Simplexe
1
x2 = 6 − x4
2
En remplaçant x2 la nouvelle variable entrante dans la base dans le système des équations
z − 3x1 − 5x2 =0
x1 + x3 =4
2x + x4 = 12
2
3x1 + 2x2 + x5 = 18
37 / 43
Une itération du Simplexe
z = 30
x3 = 4
x2 = 6
x5 = 6
38 / 43
Test d’optimalité
La question qui se pose maintenant est la suivante : comment déterminer le fait d’être optimum ?
Pour répondre à cette question, nous allons utiliser la ligne de définition de l’objectif dans le nou-
veau système
5
z = 30 + 3x1 − x4
2
39 / 43
Test d’optimalité
La question qui se pose maintenant est la suivante : comment déterminer le fait d’être optimum ?
Pour répondre à cette question, nous allons utiliser la ligne de définition de l’objectif dans le nou-
veau système
5
z = 30 + 3x1 − x4
2
39 / 43
La seconde itération de l’algorithme du Simplexe
5
z = 30 + 3x1 − x4
2
La variable entrante x1 .
x3 = 4 − x1
x2 = 6
x5 = 6 − 3x1
La variable sortante est x5 , c’est elle qui est la première à s’annuler (pour x1 = 2).
40 / 43
La seconde itération de l’algorithme du Simplexe
Pour calculer le nouveau sommet, on exprime le système en fonction des nouvelles variables de base (x1 prend la place
de x5 ) :
z + 23 x4 + x5 = 36
x3 + 13 x4 − 13 x5 = 2
x2 + 12 x4 =6
x1 − 13 x4 + 13 x5 = 2
Donnant la nouvelle solution de base ré réalisable : (x1 , x2 , x3 , x4 , x5 ) = (2, 6, 2, 0, 0).
Appliquons à nouveau le test d’optimalité. La fonction objectif s’écrit :
3
z = 36 − x4 − x5
2
Comme tous les coefficients objectifs sont négatifs, la solution courante est optimale
x∗1 = 2
x∗2 = 6
∗
Elle donne sa valeur maximale à l’objectif qui est de : z = 36.
41 / 43
Résumé
On peut suivre dans la figure suivante le chemin emprunté par l’algorithme du Simplexe. Partant
du sommet (0, 0), la première itération consiste à aller au sommet (0, 6). La seconde itération
consiste à rejoindre le sommet (2, 6). Enfin, consiste à constater que l’on est à l’optimum.
42 / 43
Merci de votre attention
43 / 43