Chapitre4 Ilyas
Chapitre4 Ilyas
Chapitre4 Ilyas
Ilyas Himmich
i.himmich@insea.ac.ma
22 décembre 2021
Introduction
Tableau de simplexe
Exemples
2
Introduction
Introduction
On a vu précédemment que selon le théorème fondamental de la PL, la solution
optimale est une solution de base réalisable qui correspond à un point extrême du
polyèdre des solutions admissibles.
Une démarche intuitive consiste à calculer en chaque pour chaque base, la valeur de
la fonction objectif pour la solution de base associée. Malheureusement, cette
démarche est loin d’être réalisable en pratique pour plusieurs raisons.
- Il y a nombre énorme de solutions de base.
- Une large part de ces solutions sont non réalisables.
- Une solution de base réalisable n’est optimale que si le PL admet une solution
unique.
3
Caractéristiques des bases et des solutions de base optimal
max z = cT x,
{
Ax = b
s.c.q.
x ≥0
{
A matrice (m × n), b vecteur (m × 1)
avec
c vecteur (n × 1), x vecteur (n × 1).
Hypothèses
4
Caractéristiques des bases et des solutions de base optimal
5
Caractéristiques des bases et des solutions de base optimal
6
Résumé
On a vu précédemment que :
- Théorème 1 : Un point extrême correspond à une solution de base.
- Théorème 2 (TFPL) : S’il existe une solution optimale, il existe une solution de base
optimale.
- Théorème 3 : Une condition suffisante d’optimalité est que les variables hors base
aient des coûts réduits négatifs ou nuls (pour un PL de maximisation).
- Théorème 4 : S’il existe une variable hors base de coût réduit positif (pour un PL
de maximisation), soit que la solution est non bornée, soit qu’on peut trouver un
solution améliorante en augmentant la variable hors bas associée.
7
Algorithme de simplexe
Historique
L’algorithme du simplexe est la méthode la plus utilisée de la recherche
opérationnelle. C’est G.B. Dantzig qui, dans un article paru en 1949, a décrit cet
algorithme, qui constitue l’épine dorsale de la recherche opérationnelle. Depuis, cet
algorithme a fait l’objet de centaines d’articles scientifiques et a servi à la résolution
de nombreux modèles linéaires relatifs à des problèmes de gestion, de diétique, de
transport, d’affectation...
8
Algorithme de simplexe
9
Algorithme de simplexe
9
Algorithme de simplexe
Hypothèse
Dans ce chapitre, nous supposons que l’origine (xi = 0, pour tous i) est une solution
de base réalisable.
10
On suppose que l’on dispose d’une base réalisable B0 . Les différentes étapes de
l’algorithme sont les suivantes :
g)- Nouvelle solution de base trouvée : x̂N = θ̂es , x̂B = b̄ − θ̂ā.Ns . La base B̂ associée
est obtenue à partir de B en remplaçant a.Br par a.Ns .
h)- Prendre B = B̂ comme base courante et reprendre à partir de b).
11
Algorithme de simplexe
- La variable xNs associée à la colonne a.Ns est appelée variable entrante. Sa valeur
dans la nouvelle base est égale à x̂Ns = θ̂.
- Lorsqu’il y a plusieurs variables hors base xNs de coûts réduits c¯Ns > 0, le choix de
la variable entrante est indifférent. Un bon critère heuristique est de sélectionner
la variable xNs ayant le coût réduit le plus grand.
12
Algorithme de simplexe
- La variable xBr associée à la colonne a.Br est appelée variable sortante. Sa valeur
dans la nouvelle base est égale à x̂Br = 0.
- Lorsqu’il y a plusieurs variables de base xBr tel que : b̄r
ārNs = min1≤i≤m { āb̄iNi /āiNs > 0}.
s
Le choix de la variable sortante est indifférent.
13
Exemple d'application
14
Exemple d'application
15
La résolution des modèles sous forme standard
16
Prenons l’exemple 1 suivant :
Hypothèse
Dans ce chapitre, nous supposons que l’origine est un point réalisable
(c’est à dire : xi = 0, pour tous i, est réalisable).
17
Forme Standard du PL
18
Solution initiale
19
On sait, à partir de l’analyse géométrique, que le sommet O n’est pas une solution
optimale. Il faut donc modifier cette solution initiale de façon à augmenter la valeur
prise par la fonction objectif z.
L’algorithme du simplexe procède par itérations, chacune correspondant au
passage d’un sommet de la région admissible à un sommet adjacent de cette région.
Notre exemple exigera 2 itérations.
20
La construction du tableau initial
Les calculs nécessités par l’algorithme du simplexe s’effectuent plus facilement et
plus rapidement lorsque le modèle linéaire est disposé sous forme de tableau
simplexe.
Un tel tableau présente, de façon visuelle et structurée, les variables et les
coefficients du modèle. De plus, chaque tableau met en évidence une solution de
base particulière du modèle linéaire, dite solution de base associée, ou encore
solution canonique associée.
21
Tableau du simplexe
22
la variable entrante
23
Variable Sortante
0+0+3 x3 + e1 =90
0 + 0 + 30 x3 + e2 =1260
0+0+1 x3 + e3 =84
x3 ≥ 0 e1 ≥ 0, e2 ≥ 0 et e3 ≥ 0
24
Autrement
Quelle est la valeur maximale qu’on peut donner à x3 sans violer les contraintes du
modèle ?
la contrainte 3 (e3 = 0) : x3 = 84
la contrainte 2 (e2 = 0) : x3 = 1260
30
la contrainte 1 (e1 = 0) : x3 = 30
25
Autrement
Quelle est la valeur maximale qu’on peut donner à x3 sans violer les contraintes du
modèle ?
la contrainte 3 (e3 = 0) : x3 = 84
la contrainte 2 (e2 = 0) : x3 = 1260
30
la contrainte 1 (e1 = 0) : x3 = 30
Si x3 = 84, la contrainte 2 n’est plus satisfaite.
Si x3 = 1260
30 = 42, la contrainte 1 n’est plus verifiée.
Si x3 = 30, tous les contraintes sont verifiées.
25
le Pivot
x1 x2 x3 e1 e2 e3 b̄ b̄/ā.Ns
e1 1 2 3 1 0 0 90 30
e2 15 21 30 0 1 0 1260 42
e3 1 1 1 0 0 1 84 84
cj 87 147 258 0 0 0 0 0
choix de pivot
Pour chaque itération, nous suivons les règles suivantes :
- Variable entrante : plus fort coefficient strictement positif.
- Variable sortante : plus petite valeur strictement positive dans b̄/ā.Ns .
- Le pivot : intersection de la ligne et de la colonne sélectionnée.
26
Nouveau sommet
Transformation du tableau
Ligne x3 (ancienne ligne e1 ) −→ Ligne e1 /3 . (Division par le pivot).
Ligne e2 −→ Ligne e2 − 30 ligne x3
Ligne e3 −→ Ligne e3 − ligne x3
Ligne cj −→ Ligne cj −258 ligne x3
Remarque importante
On vérifie pour chaque tableau calculé que les valeurs des variables de base sont
positives ou nulles.
27
Règle de pivot
La règle d pivot consiste à
- Remplacer le pivot par la valeur 1 en divisant la ligne pivot par 1.
- Associer la valeur 0 aux autres composante de la colonne pivot.
- Associer la valeur 0 au coût réduit de la nouvelle variable entrante.
Remarques
28
On effectue notre choix du pivot :
x1 x2 x3 e1 e2 e3 b̄ b̄/ā.Ns
x3 1
3
2
3 1 1
3 0 0 30 90
e2 5 1 0 −10 1 0 360 72
e3 2
3
1
3 0 − 13 0 1 54 81
cj 1 −25 0 −86 0 0 −7740
Transformation du tableau
- La variable entrante est celle de coût réduit cj le plus élevé, c’est la variable x1 .
- La variable sortante est celle qui minimuse b̄/ā.Ns , c’est la variable e2 .
- Le pivot = 5. La variable x1 remplace la variable e2 .
- Ligne x1 (ancienne ligne e2 ) −→ Ligne e2 /5 (Division par le pivot).
- Ligne x3 −→ Ligne x3 − 1
3 ligne x1
- Ligne e3 −→ Ligne e3 − ligne x1
2
3
- Ligne cj −→ Ligne cj − ligne x1
29
Effectuons les calculs sur les lignes x1 et cj . On obtient :
x1 x2 x3 e1 e2 e3 b̄
x3 6
x1 1 1
5 0 −2 1
5 0 72
e3 6
cj 0 −25, 2 0 −84 − 15 0 −7812
30
- La solution est : x3 = 6, x1 = 72, x2 = 0, e1 = 6, e2 = e3 = 0
- le bénéfice est : 7812 ( On peut vérifier cette valeur : 72 ∗ 87 + 258 ∗ 6 = 7812 ).
Remarques importantes
S’il n’y a pas de candidat pour quitter la base, on peut faire croître la variable en-
trante et donc aussi la fonction objectif autant qu’on le veut. Dans ce cas, le pro-
blème est non borné.
S’il y a plusieurs candidats pour quitter la base, alors n’importe lequel de ces can-
didats peut servir. La présence de plusieurs candidats pour quitter la base a une
conséquence importante : la dégénérescence.
31
Problème d’agriculteur
Résoudre ce problème à l’aide de l’algorithme du simplexe :
s.c x1 + x2 ≤ 150
4x1 + 2x2 ≤ 440
x1 + 4x2 ≤ 480
x1 ≤ 90
x1 ≥ 0 et x2 ≥ 0
32
Une société fabrique 3 sortes de produits X, Y et Z à partir de 3 sortes de composants
A, B, C. Pour la production du mois d’octobre 1999, elle dispose d’un stock de :
1070 composants A
880 composants B
350 composants C
Les quantités de composants intervenant dans les fabrications sont données par le
tableau suivant :
x y z
A 2 1 2
B 1 2 3
C 0 1 4
Les conditions d’exploitation sont les suivantes :
x y z
Prix de vente unitaire 10 8 14
Coût unitaire 3 4 7,5
33
Exercice 1
Une société fabrique trois produits A, B et C. La chaîne de montage comprend deux
ateliers I et II. Les capacités (en kWh/jour) des ateliers sont les suivantes :
Atelier I : 720
Atelier II : 480.
Les caractéristiques de la production sont résumées dans le tableau ci-dessous. Quel
est le programme de production journalier optimal ?
Produit A B C
Bénéfice 108 100 84
Consommation Atelier I 27 10 6
Consommation Atelier II 3 10 14
34
Exercice 2
L’entreprise Duralumin fabrique pour des entreprises de quincaillerie, des pièces en
inox. Ces pièces sont de trois types : A,B et C. Elles sont fabriquées par lots de 50
dans un grand atelier où sont rassemblées deux machines pour la découpe de l’inox,
une machine pour l’emboutissage, deux machines pour le polissage et la finition.
Chaque machine fonctionne 120 heures par mois. Les caractéristiques de fabrication
sont rassemblées dans le tableau suivant :
35