Vous êtes sur la page 1sur 97

www.almohandiss.

com

L’algorithme du simplexe

Nizar El Hachemi

5 avril 2011

Nizar El Hachemi L’algorithme du simplexe


Introduction www.almohandiss.com

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...

Nizar El Hachemi L’algorithme du simplexe


Objectif www.almohandiss.com

L’objectif de ce chapitre est double :


Présenter les concepts qui sous-tendent l’algorithme du
simplexe ;
Décrire, à l’aide d’exemples numériques simples, comment
résoudre un modèle linéaire par l’algorithme du simplexe.

Nizar El Hachemi L’algorithme du simplexe


Les variables d’écartwww.almohandiss.com
et les variables d’excédent

L’algorithme du simplexe permet d’optimiser les modèles linéaires


continus dont les variables sont non-négatives et dont les
contraintes sont écrites sous formes d’équations. Beaucoup de
problèmes pratiques, toutefois, se modélisent de telle façon que
plusieurs contraintes s’écrivent sous forme d’inéquations. Afin de
pouvoir utiliser l’algorithme du simplexe pour résoudre ces
problèmes, nous indiquons comment transformer un modèle
comportant des contraintes des signes ≤ ou ≥ en un modèle
équivalent dont toutes les contraintes, sauf celles de non-négativité,
sont de signe =.

Nizar El Hachemi L’algorithme du simplexe


Les variables d’écartwww.almohandiss.com

Retournons au modèle de la Fonderie. Rappelons qu’une contrainte


du modèle s’écrit comme :
10x1 + 5x2 ≤ 200
Et introduisons une nouvelle variables e1 définie ainsi :
e1 = 200 − (10x1 + 5x2 )
La variable e1 est qualifiée de variable d’écart. Elle représente dans
ce cas le temps inutilisé à l’atelier lorsqu’on retient le plan de
production (x1 ; x2 ).

Nizar El Hachemi L’algorithme du simplexe


Les variables d’écartwww.almohandiss.com

La contrainte 10x1 + 5x2 ≤ 200 est équivalente à la formule


suivante :
e1 = 200 − (10x1 + 5x2 ) et e1 ≥ 0
En programmation linéaire, l’écriture des contraintes respecte
généralement la covention suivante : les termes impliquent une
variable sont tous placés à gauche du symbole relationnel
(=, ≤, ≥) ; le terme constant est isolé à droite et est non négatif.
Ainsi, l’équation ou la contrainte s’écrit le plus souvent sous la
forme
(10x1 + 5x2 ) + e1 = 200

Nizar El Hachemi L’algorithme du simplexe


Illustration www.almohandiss.com

Figure: Les variables d’écart


Nizar El Hachemi L’algorithme du simplexe
Les variables d’excédent
www.almohandiss.com

Les variables d’excédent servent à transformer en équations les


contraintes de signe ≥. Supposons qu’une entente entre la direction
de la Fonderie et les employés stipule que l’atelier fonctionnera au
moins 150 heures par semaine. Un plan de production (x1 ; x2 ), pour
être admissible, doit alors satisfaire l’inéquation
10x1 + 5x2 ≥ 150
Introduisons une nouvelle variable e5 , dit variable d’excédent, qui
est définie comme suit :
e5 = 10x1 + 5x2 − 150
Il est facile de vérifier que (x1 ; x2 ) satisfait la contrainte
10x1 + 5x2 ≥ 150 si et seulement si e5 ≥ 0. En résumé, l’inéquation
10x1 + 5x2 ≥ 150 est équivalente à e5 = 10x1 + 5x2 − 150 et e5 ≥ 0.

Nizar El Hachemi L’algorithme du simplexe


Illustration www.almohandiss.com

Figure: Les variables d’excédent

Nizar El Hachemi L’algorithme du simplexe


Modèle www.almohandiss.com

Formulation complète

Max 5x1 − 2x2 + 3x3 + x4 (1)


subject to : (2)
3x1 + 2x2 + 3x3 − 4x4 ≤ 7 (3)
2x1 + x2 + 6x3 + 2x4 = 9 (4)
3x1 + 5x2 − x3 + 4x4 ≥ 12 (5)
xi ≥ 0, ∀ i (6)

Nizar El Hachemi L’algorithme du simplexe


Modèle équivalent www.almohandiss.com

Formulation complète

Max 5x1 − 2x2 + 3x3 + x4 (7)


subject to : (8)
3x1 + 2x2 + 3x3 − 4x4 + e1 = 7 (9)
2x1 + x2 + 6x3 + 2x4 = 9 (10)
3x1 + 5x2 − x3 + 4x4 − e3 = 12 (11)
x1 , x2 , x3 , x4 , e1 , e2 , e3 ≥ 0 (12)

Nizar El Hachemi L’algorithme du simplexe


Les Solutions de Base Admissibles
www.almohandiss.com

Point extrême
Le théorème fondamental de la programmation linéaire souligne
l’importance des points extrêmes dans la recherche d’une solution
optimale d’un modèle continu. Dans un plan cartésien, ces points
sont faciles à repérer ; mais dès que le nombre de variables de
décision est supérieur à 3, il devient impossible de le déterminer
graphiquement. Or, la plupart des modèles linéaires rencontrés dans
la pratique mettent en jeu un grand nombre de variables. Il faut
donc traduire en langage algébrique la notion géométrique de point
extrême.

Nizar El Hachemi L’algorithme du simplexe


Modèle linéaire souswww.almohandiss.com
forme (PLS)

Un modèle linéaire sous forme (PLS) est un modèle linéaire continu


qui se présente sous la forme suivante :
Formulation complète

Max z = c1 x1 + c2 x2 + ... + cn xn (13)


subject to : (14)
ai1 x1 + ai2 x2 + ... + ain xn ≤ bi , ∀ i (15)
x1 , x2 , x3 , ..., xn ≥ 0 (16)

où les constantes bi sont non négatives. La solution xj = 0


(0 ≤ j ≤ n), qui correspond à l’origine O, est une solution
admissible de de tout modèle (PLS).

Nizar El Hachemi L’algorithme du simplexe


Modèle linéaire souswww.almohandiss.com
forme (PLS)

Modèle (PLS)
Le modèle (PLS) comporte n variables de décision et (m+n)
contraintes. Les n dernières sont des contraintes de non-négativité.
Les m premières, dont le membre de droit est noté bi sont
qualifiées de contraintes technologiques.
Le modèle (PLS) est équivalent au modèle (PLS=) obtenu en
ajoutant une variable d’écart à chaque contrainte technologique,
selon le procédé décrit auparavant.
La figure suivante représente les droites associées à chacune des
contraintes technologiques du problème de la Fonderie, ainsi que la
région admissible OABCD.

Nizar El Hachemi L’algorithme du simplexe


Illustration des contraintes
www.almohandiss.com

Nizar El Hachemi L’algorithme du simplexe


La caractéristique algébrique des points extrêmes
www.almohandiss.com

Modèle de la Fonderie
Revenons au modèle de la Fonderie :

Max z = 1000x1 + 1200x2 (17)


subject to : (18)
10x1 + 5x2 + e1 = 200 (19)
2x1 + 3x2 + e2 = 60 (20)
x1 + e3 = 34 (21)
x2 + e4 = 14 (22)
x1 , x2 , e1 , e2 , e3 , e4 ≥ 0 (23)

Nizar El Hachemi L’algorithme du simplexe


La caractéristique algébrique des points extrêmes
www.almohandiss.com

Modèle de la Fonderie
Ignorons pour l’instant les contraintes de non-négativité. Le
système des 4 contraintes technologiques met en jeu 6 variables. Un
tel système, dont le nombre de variables est supérieur au nombre
d’équations admet une infinité de solutions ou bien n’en admet
aucune. Si dans ce modèle on donne à 2 des 6 variables la valeur 0,
le système résultant qui comportera 4 équations et 4 variables
admet une solution ou bien n’en admet aucune. Or, il existe 6*5/2
= 15 façons de choisir 2 variables parmi les 6 du modèle (Voir le
tableau suivant).

Nizar El Hachemi L’algorithme du simplexe


Enumération www.almohandiss.com

Figure: Intersections des droites associées aux contraintes

Nizar El Hachemi L’algorithme du simplexe


Les solutions de base
www.almohandiss.com

Considérons un modèle (PLS) quelconque ; et notons n0 = m + n le


nombre total de variables apparaissant dans (PLS=).
Soit (x1 ; ...; xn ; e1 ; ...; em ) une solution vérifiant les m contraintes
technologiques de (PLS =). On dira qu’il s’agit d’une solution de
base de (PLS=) si au moins (n’-m) de ses coordonnées sont égales
à 0. Par exemple, les solutions de base du modèle de la Fonderie
correspondent aux points O, A, B,..., L du tableau précédent.
Une solution de base dont toutes les coordonnées sont non
négatives est dite solution de base admissible.

Nizar El Hachemi L’algorithme du simplexe


Théorème 1 www.almohandiss.com

Théorème 1
Si (x1 , ..., xn ; e1 ; ...; em ) est une solution de base admissible de
(PLS=), alors (x1 , ..., xn ) est un point extrême de (PLS). De plus,
tout point extrême de (PLS) s’obtient de cette façon d’une solution
de base de (PLS=).
Cette caractéristique algébrique des points extrêmes permet de
traduire en langage algébrique les résultats du chapitre précédent,
dont le théorème fondamental de la programmation linéaire.

Nizar El Hachemi L’algorithme du simplexe


Théorème 2 www.almohandiss.com

Théorème 2
Si (PLS=) admet une solution optimale, il existe une solution de
base admissible qui est solution optimale de (PLS=).
La recherche d’une solution optimale de (PLS) pourra, en vertu du
théorème 2, se confiner à l’examen des solutions de base
admissibles de (PLS=), dont le nombre ne peut exécer Cm+nn .
n
Malheureusement, la valeur Cm+n est souvent énorme dans la
pratique. L’algorithme du simplexe permet de déterminer si un
modèle (PLS) admet une solution optimale et, le cas échéant, d’en
trouver une, en examinant un nombre de solutions de base qui, sauf
exceptions, est relativement petit.

Nizar El Hachemi L’algorithme du simplexe


La résolution des modèles sous forme (PLS)
www.almohandiss.com

Un résumé de l’algorithme du simplexe


L’algorithme du simplexe choisit d’abord un sommet initial, puis
effectue une opération itérative, dite pivotage, qui habituellement
correspond à passer d’un sommet à un sommet adjacent plus
"rentable". En un premier temps, nous nous limitons aux modèles
de la forme (PLS) dont la structure spéciale fournit le point de
départ évident qu’est l’origine O = (0 ;... ;0).
Nous décrirons le fonctionnement de l’algorithme du simplexe en
l’appliquant au modèle de la Fonderie.

Nizar El Hachemi L’algorithme du simplexe


Cas d’étude www.almohandiss.com

Modèle de la Fonderie
Revenons au modèle de la Fonderie :

Max z = 1000x1 + 1200x2 (24)


subject to : (25)
10x1 + 5x2 + e1 = 200 (26)
2x1 + 3x2 + e2 = 60 (27)
x1 + e3 = 34 (28)
x2 + e4 = 14 (29)
x1 , x2 , e1 , e2 , e3 , e4 ≥ 0 (30)

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

La mise en évidence d’une solution de base admissible initiale


Comme on l’a vu précédemment, les points extrême de (FRB)
correspondent aux solutions de base admissible de (FRB=).
Celles-ci sont obtenues en annulant 2 des 6 variables
x1 , x2 , e1 , e2 , e3 et e4 . Par exemple, poser x1 = x2 = 0 conduit à un
système d’équations trivial à résoudre, notamment :
e1 = 200
e2 = 60
e3 = 34
e4 = 14

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

La mise en évidence d’une solution de base admissible initiale


La solution (x1 ; x2 ; e1 ; e2 ; e3 ; e4 ) = (0; 0; 200; 60; 34; 14) satisfait
aux 4 contraintes technologiques du modèle de la Fonderie et,
puisque toutes les variables sont non-négatives, cette solution
constitue une solution de base admissible. Graphiquement, cette
solution correspond au sommet O (l’origine). Toute autre paire de
variables posées égales à 0 conduit à un système d’équations qui est
plus difficile à résoudre que le système asocié à x1 = x2 = 0. À titre
d’exemple, si on posait e2 = e3 = 0, il viendrait
10x1 + 5x2 + e1 = 200
2x1 + 3x2 = 60
x1 = 34
x2 + e4 = 14

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

La mise en évidence d’une solution de base admissible initiale


En général, la solution de base admissible initiale de (PLS=)
s’obtient en posant x1 = x2 = ... = xn = 0. Le système d’équations
qui en résulte se résout immédiatement puisqu’il s’écrit
ei = bi , ∀i = 1, ..., m
On voit ici la nécessité de supposer que les membres droits bi de
(PLS=) sont non négatifs : cette hypothèse garantit que, lorsque
les variables originales (les xj ) sont posées égales à 0, les ei sont
non négatives et la solution (x1 ; ...; xn ; e1 ; ...; em ) est admissible.

Nizar El Hachemi L’algorithme du simplexe


Organigramme de l’algorithme du simplexe : cas (PLS)
www.almohandiss.com

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

La construction du tableau initial


On sait, à partir de l’analyse géométrique, que le sommet O n’est
pas solution optimale de (FRB). 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.
L’exemple de la Fonderie exigera 3 itérations : on passera
successivement de O à A, puis de A à B, et enfin de B à C où l’on
s’arrêtera, puisque C est l’optimum.

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

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.

Nizar El Hachemi L’algorithme du simplexe


a construction du tableau initial
www.almohandiss.com

Figure: Modèle (FRB) : tableau initial

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

La construction du tableau initial


Chaque tableau du simplexe partitionne les variables en 2 groupes :
les variables de base et les variables hors base. Dans un tableau de
(FRB=), les variables de base sont les 4 variables apparaissant
dans la section gauche, et les variables hors base sont les 2
autres. Par exemple, les variables hors base du tableau précédent
sont x1 et x2 . De façon générale, la solution de base associée à
un tableau de (FRB=) s’obtient en posant égales à 0 les deux
variables hors base et donnant à chacune des variables de base la
valeur apparaissant sur la même ligne.

Nizar El Hachemi L’algorithme du simplexe


Étape A www.almohandiss.com

Généralités
Un tableau du simplexe contient une foule d’informations : il faut y
voir plus qu’un simple alignement de nombres, car on y retrouve
l’essentiel des données reliées au problème de la Fonderie. Par
contre, un tableau ne réfère nulle part à la non-négativité des
variables : comme celles-ci doivent toutes être non négatives, il
n’est pas nécessaire d’en faire mention explicitement. Cependant,
l’algorithme du simplexe en tient compte lors du test d’optimilité et
lors de l’étape C.

Nizar El Hachemi L’algorithme du simplexe


Étape B www.almohandiss.com

Le choix de la variable entrante


La solution de base initiale du modèle FRB n’est pas optimale.
Comment s’en convaincre par des arguments strictement
algébriques ? S’il n’est pas optimale, il faut augmenter la valeur de
l’une ou l’autre de ces variables x1 ; x2 . Laquelle, ou lesquelles
choisir ? Laissons-nous guider par l’intuition : on augmentera la
variable qui rapporte le plus x2 . Et afin de simplifier l’analyse,
supposons que x1 garde pour le moment la valeur 0. Le modèle
devient :

Nizar El Hachemi L’algorithme du simplexe


Étape B www.almohandiss.com

Le choix de la variable entrante

Max z = 1200x2 (31)


subject to : (32)
5x2 + e1 = 200 (33)
3x2 + e2 = 60 (34)
e3 = 34 (35)
x2 + e4 = 14 (36)
x2 , e1 , e2 , e3 , e4 ≥ 0 (37)

Nizar El Hachemi L’algorithme du simplexe


Étape B www.almohandiss.com

Le choix de la variable entrante


Pour vérifier que la solution initiale n’était pas optimale, il a donc
suffi de mettre en parallèle les 2 observations suivantes :
La dernière ligne, qui correspond à l’équation
z = 1000x1 + 1200x2 + 0 contient au moins un coefficient
positif, par exemple celui de la colonne x2 ;
La variable hors base x2 peut être augmentée pour donner une
solution admissible (par exemple en posant x2 = 1).

Nizar El Hachemi L’algorithme du simplexe


Étape B www.almohandiss.com

Arrêt du simple
En générale, les nombres de la ligne cj − zj permettent de
déterminer si l’algorithme du simplexe s’arrêtera avec le tableau
courant ou s’il continuera : lorsque au moins l’un des coûts
marginaux cj − zj est positif et que l’objectif consiste à maximiser
z, le tableau courant est considéré non optimal et un autre tableau
sera construit par pivotage (étape D). Nous conviendrons, dans un
problème de maximisation, c’est la variable hors base dont le
coefficient cj − zj est le plus grand qui sera choisie.

Nizar El Hachemi L’algorithme du simplexe


Étape C www.almohandiss.com

Le choix de la variable sortante


C’est décidé : la variable x2 entrera dans la base et x1 restera nulle.
Puisque z augmente lorsque x2 augmente, il est naturel de chercher
une solution de base où x2 prend la plus grande valeur positive
permise. Mais jusqu’où peut augmenter la valeur de x2 ? Puisque
les variables de base du tableau initial doivent être non négatives il
résulte que :
e1 = 200 − 5x2 ≥ 0 d’où x2 ≤ 40
e2 = 60 − 3x2 ≥ 0 d’où x2 ≤ 20
e3 = 34 − 0x2 ≥ 0 ici x2 n’est pas limitée
e4 = 14 − 1x2 ≥ 0 d’où x2 ≤ 14

Nizar El Hachemi L’algorithme du simplexe


Étape C www.almohandiss.com

Le choix de la variable sortante


La variable x2 ne peut dépasser la plus petite de ces bornes
supérieures ; et comme il est rentable d’augmenter la valeur x2 le
plus possible, il est naturel de poser : x2 = 14. La variable de base
e4 prendra alors la valeur 0 et sera dite variable sortante. Noter
que la variable sortante e4 est la variable de base
correspondant à la plus petite limite.
Il résulte que (x1 ; x2 ; e1 ; e2 ; e3 ; e4 ) = (0; 14; 130; 18; 34; 0).

Nizar El Hachemi L’algorithme du simplexe


Les tableaux ou les www.almohandiss.com
modèles sous forme canonique

Le tableau présenté avant a en effet 3 caractéristiques qui ont


facilité le passage de la solution initiale à la solution actuelle :
à chacune des lignes de la section centrale est associée une
variable de base dont le coefficient est 1 dans cette ligne et 0
dans les autres lignes de la section centrale ;
les coefficients des variables de base sont nuls dans la ligne
cj − zj ;
toutes les valeurs de la section droite sont non négatives.
On dit d’une tableau, possédant ces 3 caractéristiques qu’il est sous
forme canonique.

Nizar El Hachemi L’algorithme du simplexe


Étape D www.almohandiss.com

Le pivotage
Avant de tester l’optimalité de la solution 1
(x1 ; x2 ; e1 ; e2 ; e3 ; e4 ) = (0; 14; 130; 18; 34; 0), il faut construire son
tableau canonique associé. Dans ce nouveau tableau, la variable
sortante e4 sera nulle et hors base, tandis que la variable entrante
x2 sera positive et fera partie de la base. En fait, x2 prendra la place
de e4 et sera variable de base associée à la 4e ligne. Le tableau
suivant représentera la solution 1.

Nizar El Hachemi L’algorithme du simplexe


Entrée de x2 dans lawww.almohandiss.com
base

Figure: Tableau de la solution 1

Nizar El Hachemi L’algorithme du simplexe


Étape D www.almohandiss.com

Le pivotage
On remarque que, pour une variable de base, le coefficient cj − zj
est nul et que sa colonne comporte, dans la section centrale, des 0
sur toutes les lignes sauf celle où elle est inscrite comme variable de
base et où son coefficient est 1.
Les calculs à effectuer font intervenir comme nombre clé l’élément
du tableau initial situé à l’intersection de la 4e ligne, où se trouve la
variable sortante et de la colonne x2 de la variable entrante. On dit
que cet élément est le pivot du passage du tableau initial au
tableau 1. Les calculs se regroupent en 3 opérations.

Nizar El Hachemi L’algorithme du simplexe


Étape D www.almohandiss.com

Le pivotage
La première opération vise à inscrire le nombre 1 à la position
du pivot.
La deuxième opération consiste à modifier les autres lignes de
la section centrale de façon à pouvoir inscrire le nombre 0 dans
la colonne du pivot, tout en laissant inchangé l’ensemble des
solutions admissibles.
La troisième opération est analogue à la deuxième, mais elle
concerne la ligne cj − zj , z est exprimée en fonction des
variables hors base.

Nizar El Hachemi L’algorithme du simplexe


Étape D www.almohandiss.com

Le pivotage
x2 = 14 − e4
10x1 + 5(14 − e4 ) + e1 = 200
2x1 + 3(14 − e4 ) + e2 = 60
z = 1000x1 + 1200(14 − e4 )
x2 + e4 = 14
10x1 + e1 − 5e4 = 130
2x1 + e2 − 3e4 = 18

Nizar El Hachemi L’algorithme du simplexe


Tableau du simplexewww.almohandiss.com
après une itération

Figure: Tableau canonique de la solution 1

Nizar El Hachemi L’algorithme du simplexe


Étape D www.almohandiss.com

Le pivotage et la première itération


Le tableau précédent est évidemment sous forme canonique. La
solution (0; 14; 130; 18; 34; 0), dite solution de base associée,
s’obtient en déclarant nulles a priori les variables hors base x1 et e4
puis en posant chaque variable de base églale à la valeur
apparaisant à droite, sur la ligne. Cette solution correspond au
sommet A de la région admissible.

Nizar El Hachemi L’algorithme du simplexe


La deuxième itération
www.almohandiss.com

Test et étape B
La solution de base assocée précédente n’est pas optimale puisque
puisque l’un des coefficients cj − zj est positif. En effet, la ligne
cj − zj du tableau associé résume l’équation
Max z = 1000x1 − 1200e4 + 16800.
Il résulte immédiatement de cette équation que z augmente
lorsqu’on fait croître x1 tout en maintenant e4 à 0. Ainsi, x1 sera la
variable entrante.

Nizar El Hachemi L’algorithme du simplexe


La deuxième itération
www.almohandiss.com

Test et étape B
Étape C : il faut déterminer jusqu’où l’on peut croître x1 tout en
maintenant e4 à 0. Les équations associées au tableau dernier
permettent de conclure que :
10x1 + e1 − 5e4 = 130 ainsi : x1 ≤ 13 car
(e1 = 130 − 10x1 ≥ 0)
2x1 + e2 − 3e4 = 18 ainsi : x1 ≤ 9 car (e2 = 18 − 2x2 ≥ 0)
e3 = 34 − 1x1 ≥ 0 d’où x1 ≤ 34
x2 = 14 − 0x1 ≥ 0 d’où x1 n’est pas limitée

Nizar El Hachemi L’algorithme du simplexe


Tableau du simplexewww.almohandiss.com
après une itération

Figure: Tableau canonique de la solution 2

Nizar El Hachemi L’algorithme du simplexe


Le calcul des coûts www.almohandiss.com
marginaux

Coûts marginaux
Le calcul des coûts marginaux de la ligne cj − zj d’un tableau peu
s’effectuer directement à partir des valeurs numériques de la section
centrale de ce tableau, sans recourir au tableau précédent ni aux
équations.
En considérant le dernier tableau. La valeur 25800 de la fonction
objectif z s’obtient comme la somme des coefficients de base à
gauche et des valeurs correspondantes.
z = 9 ∗ 1000 + 14 ∗ 1200 = 25800
Les variables d’écart e1 et e3 n’ayant pas de valeur économique
leurs valeurs dans la solution de base sont multipliées par 0.

Nizar El Hachemi L’algorithme du simplexe


Le calcul des coûts www.almohandiss.com
marginaux

Coûts marginaux
Le calcul du coefficient zj de la colonne e4 du dernier tableau
s’effectue en multipliant chaque coefficient de base par le coefficient
correspondant de la colonne e4 puis en additionnant les produits.
Enfin, le coefficient cj − zj s’obtient en retranchant le zj ainsi
calculé du coefficient de e4 dans la ligne supérieure du tableau.
Les coefficients cj − zj des variables de base sont tous nuls en vertu
de la condition évoquée auparavant.

Nizar El Hachemi L’algorithme du simplexe


Calcul, du coefficient zj d’une variable
www.almohandiss.com

Figure: Calcul, du coefficient zj d’une variable

Nizar El Hachemi L’algorithme du simplexe


La troisième itération
www.almohandiss.com

Figure: Variables de bases et coefficients

Nizar El Hachemi L’algorithme du simplexe


La troisième itération
www.almohandiss.com

Figure: Complétion des lignes du tableau

Nizar El Hachemi L’algorithme du simplexe


Séquence des solutions de base
www.almohandiss.com

Figure: Séquence des solutions de base

Nizar El Hachemi L’algorithme du simplexe


Le calcul des coefficients de la section centrale
www.almohandiss.com

Figure: Méthode du réctangle

b∗c
a0 = a − pivot

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

L’algorithme du simplexe comporte, 4 étapes, dont les 3 dernières


sont répétées à chaque itération.

Étape A
La construction du tableau initial. Dans le cas d’un modèle
(PLS), on réécrit d’abord le modèle sous forme équivalente
(PLS=), puis on choisit la variable d’écart ei comme variable de
base de l’équation i ; dans la solution de base associée, les variables
de décision xj (1 ≤ j ≤ n) sont nulles et chaque variable d’écart ei
est égale au membre droit bi correspondant.

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Le critère d’optimalité
La solution de base asscociée au tableau courant est optimale
quand les coûts marginaux des variables hors base sont tous ≤ dans
le cas d’un modèle de maximisation, et tous ≥ dans un cas de
minimisation. L’algorithme prend fin alors. Tant que l’un des coûts
marginaux ne respecte pas la condition précédente, on passe à
l’étape B.

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Étape B
Le choix de la variable entrante : Le critère MCM (meilleur coût
marginal) recommande de sélectionner la variable entrante de façon
à améliorer z au rythme le plus rapide possible : ainsi, dans le cas
d’un modèle de maximisation, la variable entrante est telle que son
coût marginal est positif et maximal. En cas d’égalité, on choisit,
au hasard ou selon un critère jugé approprié, parmi les variables qui
partagent le meilleur coût marginal.

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Étape C
Le choix de la variable sortante : Notons xp la variable entrante ;
0 le coefficient qui, dans le tableau courant, est situé à
aip
l’intersection de la ligne i et de la colonne xp ; et bi0 la valeur de la
ligne i dans le tableau courant. On calcule d’abord, pour chaque
0
variable de base xi dont le coefficient aip0 est positif, le quotient bi .
a0
ip
La variable sortante est celle qui minimise ces quotients. En cas
d’égalité, on choisit une, au hasard ou selon un critère jugé
approprié, parmi celles qui à la fois admettent en colonne xp un
coefficient positif et minimisent les quotients.

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Étape C
Notons xk la variable sortante. On remplace, dans la section gauche
du tableau, la variable xk et son coefficient de base par la variable
entrante xp et le coefficient cp de cette variable dans la
fonction-objectif originale (ce coefficient apparaît dans la colonne
xp au dessus du nom de la variable).

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Étape D
Le pivotage : cette étape comprend 3 opérations. La première
consiste à diviser par le pivot les èlements de la ligne où se trouve le
pivot. La deuxième vise à réécrire chacune des autres lignes de la
section centrale sous une forme équivalente de façon à y inscrire le
nombre 0 dans la colonne du pivot ; la nouvelle version s’obtient de
l’ancienne en lui additionnant un multiple approprié de la ligne du
pivot. (La méthode du rectangle donne une formule de calcul de ces
nouveaux coefficients).

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe
www.almohandiss.com

Étape D
Enfin, pour déterminer le coût marginal de la variable xj , on
procède ainsi : on calcule d’abord un coefficient zj en multipliant,
ligne par ligne, les coefficients de base et les éléments de la colonne
xj , puis en additionnant les m produits obtenus ; le coût marginal
est égal à la différence cj − zj .
Une fois le pivotage complété, on revient au critère d’optimalité.

Nizar El Hachemi L’algorithme du simplexe


Le modèle PLC et lawww.almohandiss.com
construction d’un tableau initial

Le modèle linéaire continu général (PLC)


Les modèles linéaires étudiés jusqu’ici sont de la forme PLS.
L’étape A de l’algorithme du simplexe, consacrée à la construction
d’un tableau initial, s’exécute aisément dans un tel cas.
Abordons la résolution de modèles linéaires continus où
apparaissent, avant l’introduction des variables d’écart ou
d’excédent appropriées, des contraintes de signe ≥ ou =. Ces
modèles se présentent sous la forme générale suivante :

Nizar El Hachemi L’algorithme du simplexe


Le modèle PLC et lawww.almohandiss.com
construction d’un tableau initial

Le modèle linéaire continu général (PLC)

X
Max (Min)z = ci xi (38)
i
subject to : (39)
 
X ≤
∀i, aij xj  =  bi (40)

∀i, xi ≥ 0 (41)

Nizar El Hachemi L’algorithme du simplexe


Le modèle linéaire continu général (PLC)
www.almohandiss.com

PLC=
Pour trouver un modèle linéaire équivalent à (PLC), noté (PLC=),
où chaque contrainte technologique se présente sous forme
d’équation, il suffit d’ajouter contrainte de signe ≤ une variable
d’écart, et à chaque contrainte ≥ une variable d’excédent. Quant
aux contraintes comportant le signe =, leur écriture n’est pas
modifiée pour l’instant. Généralement toutefois, dès que (PLC)
contient des contraintes de siges ≥ ou =, le modèle linéaire
(PLC=) correspondant n’est pas sous forme canonique.

Nizar El Hachemi L’algorithme du simplexe


Le modèle linéaire continu général (PLC)
www.almohandiss.com

PLC=
En effet, une contrainte de la forme
a1 x1 + a2 x2 + ... + an xn ≥ b où b > 0
s’écrira comme suit dans (PLC=)
a1 x1 + a2 x2 + ... + an xn − e = b
Le signe négatif qui affecte la variable e l’empêche de jouer le rôle
d’une variable de base. De même, une contrainte de la forme :
a1 x1 + a2 x2 + ... + an xn = b où b > 0
rend non admissible la solution x1 = x2 = ... = xn = 0

Nizar El Hachemi L’algorithme du simplexe


La construction d’unwww.almohandiss.com
tableau initial de PLC

PLC=
L’étape A de construction du tableau initial, aisément franchie dans
le cas d’un modèle linéaire sous forme (PLS), ne s’avère pas aussi
simple dans le cas du modèle général (PLC). Il est toutefois
possible, en changeant la fonction-objectif, de recourir à
l’algorithme du simplexe pour déterminer une solution admissible et
construire un tableau initial. Nous indiquons maintenant comment
procédér à l’aide du problème de la Fonderie modifié.

Nizar El Hachemi L’algorithme du simplexe


Modèle de la Fonderie modifié
www.almohandiss.com

Formulation complète du (PMF)

Max z = 1000x1 + 1200x2 (42)


subject to : (43)
10x1 + 5x2 ≤ 200 (44)
2x1 + 3x2 = 60 (45)
x1 ≤ 12 (46)
x2 ≥ 6 (47)
x1 , x2 ≥ 0 (48)

Nizar El Hachemi L’algorithme du simplexe


Modèle de la Fonderie modifié
www.almohandiss.com

Formulation complète du (PMF=)


L’ajout de variables d’écart ou d’éxcédent transforme (PMF) en un
modèle (PMF=)

Max z = 1000x1 + 1200x2 (49)


subject to : (50)
10x1 + 5x2 + e1 = 200 (51)
2x1 + 3x2 = 60 (52)
x1 + e3 = 12 (53)
x2 − e4 = 6 (54)
x1 , x2 , e1 , e3 , e4 ≥ 0 (55)

Nizar El Hachemi L’algorithme du simplexe


Région admissible www.almohandiss.com

Figure: Région admissible (PMF=)

Nizar El Hachemi L’algorithme du simplexe


Modèle de la Fonderie modifié
www.almohandiss.com

Région admissible
La région admissible de (PMF) apparaît à la figure précédente : elle
se réduit au segment d’extrémités F et P et comprend 2 points
extrêmes seulement, soit F et P. Il résulte du théorème fondamental
de la programmation linéaire que l’optimum de (PMF) est atteint
soit en F, soit en P. Or :
en F = (0 ; 20) : z = 1000 ∗ 0 + 1200 ∗ 20 = 24000
en P = (12 ; 12) : z = 1000 ∗ 12 + 1200 ∗ 12 = 26400
L’optimum est donc atteint en P = (12 ; 12)

Nizar El Hachemi L’algorithme du simplexe


La méthode en deuxwww.almohandiss.com
phases

La méthode en deux phases


L’approche géométrique utilisée ci-dessus pour trouver l’optimum
de (PMF) s’applique seulement aux modèles comportant 2 ou, au
maximum, 3 variables de décision. La plupart des modèles
rencontrés en pratique ne satisfont pas à cette condition. Il existe
une autre façon de procéder, de nature algébrique, qui utilise
astucieusement l’algorithme du simplexe et permet de résoudre des
modèles de taille quelconque.

Nizar El Hachemi L’algorithme du simplexe


La méthode en deuxwww.almohandiss.com
phases

La méthode en deux phases


D’abord, aux équations de (PMF=) qui proviennent de contraintes
technologiques de signe ≥ ou =, on ajoute des variables, dites
artificielles, qui initialement serviront de variables de base. Et on
exige de ces nouvelles variables, comme des autres déjà présentés
dans (PMF=), qu’elles soient non négatives. Le modèle prend la
forme suivante :

Nizar El Hachemi L’algorithme du simplexe


Modèle de la Fonderie modifié
www.almohandiss.com

Formulation complète du (PMF=)


L’ajout de variables d’écart ou d’éxcédent transforme (PMF) en un
modèle (PMF=)

Max z = 1000x1 + 1200x2 (56)


subject to : (57)
10x1 + 5x2 + e1 = 200 (58)
2x1 + 3x2 + a2 = 60 (59)
x1 + e3 = 12 (60)
x2 − e4 + a4 = 6 (61)
x1 , x2 , e1 , e3 , e4 , a2 , a4 ≥ 0 (62)

Nizar El Hachemi L’algorithme du simplexe


La méthode en deuxwww.almohandiss.com
phases

La méthode en deux phases


Pour obtenir un modèle équivalent à (PMF=), il faudrait ajouter au
modèle précédent la double contrainte suivante :
a2 = a4 = 0
ce qui nous ramènerait à la situation de départ !
Le truc consiste à ne inclure la double contrainte dans le modèle,
mais à utiliser une fonction-objectif qui pénalise le fait que les
variables artificielles prennent des valeurs positives. On considère ici
le modèle (PMFA ) obtenu du modèle précédent en substituant à
z = 1000x1 + 1200x2 l’objectif suivant :
Min zA = a2 + a4

Nizar El Hachemi L’algorithme du simplexe


La méthode en deuxwww.almohandiss.com
phases

La méthode en deux phases


Toute solution admissible (x1 ; x2 ) de (PMF) détermine une et une
seule solution admissible (x1 ; x2 ; e1 ; e3 ; e4 ; a2 ; a4 ) de (PMFA ) où
a2 = a4 = 0.
Le modèle linéaire (PMFA ) permet de trouver une solution
admissible de (PMF), s’il en existe. Supposons en effet que la
valeur minimale de zA soit 0 ; et considérons une solution de base
optimale (x1 ; x2 ; e1 ; e3 ; e4 ; a2 ; a4 ) de (PMFA ). Alors a2 + a4 = 0.
Or, la somme de variables non négatives est nulle seulement si
chacune de ces variables est nulle : il résulte donc que :
a2 = a4 = 0
Par conséquent, (x1 ; x2 ) est une solution admissible de (PMF).

Nizar El Hachemi L’algorithme du simplexe


Tableau initial de lawww.almohandiss.com
phase 1

Figure: Tableau initial de la phase I

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)
www.almohandiss.com

Phase 1
Le modèle (PMFA ) n’est pas à fait sous la forme canonique :
comme les variables artificielles a2 et a4 seront dans la base, leurs
coefficients dans zA devraient être nuls. Il est possible de trouver
une réécriture équivalente de zA , où les coefficients de a2 et de a4
sont nuls. Il suffit d’isoler a2 et a4 en fonction des variables hors
base.
a2 = 60 − 2x1 − 3x2
a4 = 6 − x2 + e4
a2 + a4 = 66 − 2x1 − 4x2 + e4

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)
www.almohandiss.com

Phase 1
La solution de base associée s’obtient en déclarant nulles les
variables hors base et en posant chaque variable de base égale à la
valeur apparaissant à droite, sur sa ligne :
x1 = x2 = e4 = 0
e1 = 200, a2 = 60, e3 = 12, a4 = 6.
Cette solution correspond à l’origine O = (0; 0) et n’appartient pas
à la région admissible de (PMF=).

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)
www.almohandiss.com

Phase 1 : Étape B
Le choix de la variable entrante : puisque l’objectif proposé en
phase 1 en est un de minimisation, les variables artificielles a2 et a4 ,
les variables susceptibles d’entrer dans la base sont celles dont le
coût marginal est négatif. Nous disposons de 2 variables candidates,
soit x1 et x2 . Le taux auquel décroit zA est de 2 quand x1 est
augmenté, et de 4 quand x2 augmente.

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)
www.almohandiss.com

Phase 1 : Étape C
Le choix de la variable sortante : La colonne supplémentaire, à
la droite du tableau donne les limites à l’accroissement de x2
découlant de la non-négativité des différentes variables de base ; par
exemple la limite de la ligne 1 est égale au quotient 200 5 , où 200 et
5 sont respectivement la valeur et l’élément de la colonne x2 situés
sur cette première ligne. Aucune limite n’apparaît à la troisième
ligne, car le coefficient situé à l’intersection de la troisième ligne et
de la colonne x2 est nul. La borne 6 de la quatrième ligne est la
plus petite : ce sera la valeur que prendra la variable entrante x2 . Et
la variable a4 , qui était variable de base de cette quatrième ligne,
deviendra nulle et hors base dans le tableau suivant.

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)
www.almohandiss.com

Phase 1 : Étape D
Le pivotage : Le pivot ici est le nombre 1 situé à l’intersection de
la colonne x2 et de la quatrième ligne. La première opération
consiste à diviser par le pivot les éléments de la ligne où se trouve
celui-ci, ne commande ici aucun calcul.
Les prochaines itérations de la phase I du simplexe sont résumées s
aux tableaux suivants :

Nizar El Hachemi L’algorithme du simplexe


Tableaux de la phase 1
www.almohandiss.com

Figure: Tableaux de la phase I

Nizar El Hachemi L’algorithme du simplexe


Tableau final de la phase 1
www.almohandiss.com

Figure: Tableau final de la phase I

Nizar El Hachemi L’algorithme du simplexe


Solution optimale dewww.almohandiss.com
la phase 1

La solution de base associée au dernier tableau


La solution de base associée au dernier tableau de la phase 1est :
x1 = a2 = a4 = 0
e1 = 100, e4 = 14, e3 = 12, ; x2 = 20
Cette solution correspond au point F = (0; 20). Les coûts
marginaux des variables hors base sont tous ≥ 0, ce qui signifie que
l’on a atteint un minimum de la fonction-objectif artificielle zA . Les
variables a2 et a4 dont nulles : le point F appartient donc à la
région admissible et peut servir de solution initiale pour la phase II.

Nizar El Hachemi L’algorithme du simplexe


La phase II www.almohandiss.com

Résolution de (PMF)
La phase II reprend l’objectif original qui était de maximiser
z = 1000x1 + 1200x2 . Le tableau initial de la phase II s’obtient en
modifiant le dernier tableau de la première phase de la façon
suivante :
Les colonnes associées aux variables artificielles sont biffées ;
La ligne supérieure et la colonne "Coefficients de base" sont
réécrites en utilisant les coefficients cj de la fonction-objectif z ;
Les lignes zj et cj − zj sont recalculées à partir des nouveaux
coefficients de base.

Nizar El Hachemi L’algorithme du simplexe


La phase II www.almohandiss.com

Résolution de (PMF)
Le coût marginal de x1 étant positif, il est possible d’augmenter la
valeur z en entrant x1 dans la base. La plus petite limite se
trouve sur la ligne 3 : c’est donc la variable e3 qui sortira de la
base. Le pivot est le nombre 1 situé à l’intersection de la colonne x1
et la ligne 3. Les tableaux suivant présentent le tableau initial de la
phase II puis le tableau du simplexe obtenu après pivotage.

Nizar El Hachemi L’algorithme du simplexe


Tableaux de la phase II
www.almohandiss.com

Figure: Tableaux de la phase II

Nizar El Hachemi L’algorithme du simplexe


Transition www.almohandiss.com

Transition entre les phases I et II


Supposons que, lors de la phase I d’un modèle de type (PLC), on
ait effectué un certain nombres et que les coûts marginaux du
dernier tableau obtenu soient non négatifs. On a alors atteint un
minimum de zA . Si dans ce tableau, toutes les variables artificielles
sont hors base, il suffit de biffer les colonnes associées aux variables
artificielles pour obtenir une solution de base admissible de
(PLC=). Avant d’entreprendre la première itération de la phase II,
il faudra inscrire les coefficients cj de la fonction-objectif originale z
à la place de ceux de zA , puis recalculer les coûts marginaux.

Nizar El Hachemi L’algorithme du simplexe


Transition www.almohandiss.com

Transition entre les phases I et II


Il arrive que la phase I se termine par un tableau dont la base
contient une ou plusieurs variables artificielles. Si l’une de ces
variables artificielles de base prend une valeur positive, la valeur
minimale de zA est positive et, par conséquent, le problème initial
(PLC) n’a pas de solution admissible.
Par contre, si toutes les variables artificielles de base ont une valeur
nulle, on tentera de les sortir de la base, afin d’écrire le problème
initial sous forme canonique. En effet, le dernier tableau I donne
une solution admissible de (PLC=), sans plus. Or, le but de la
phase I est d’obtenir une solution de base.

Nizar El Hachemi L’algorithme du simplexe


La méthode du grand M
www.almohandiss.com

La résolution de (PMF)
On peut résoudre les modèles de type (PLC) par une autre
méthode, dite du grand M. On commence ici encore par ajouter
une variable artificielle dans chaque contrainte technologique de
signe = ou ≥. mais, plutôt que de scinder la résolution en 2 phases
dont la première est consacrée à minimiser la somme des variables
artificielles, on adjoint à la fonction-objectif z un terme de pénalité
pour chaque variable artificielle et on procède en une phase unique.

Nizar El Hachemi L’algorithme du simplexe


La méthode du grand M
www.almohandiss.com

La résolution de (PMF)
Illustrons la méthode par l’exemple (PMF). Une fois les variables
artificielles ajoutées, le modèle à ajouter est constitué, comme dans
la méthode en 2 phases. Mais l’objectif est ici remplacé par le
suivant :
Max zM = 1000x1 + 1200x2 − Ma2 − Ma4
où M est une constante positive, dont la valeur, sans être précisée,
dépasse largement tous les autres nombres dans le modèle.

Nizar El Hachemi L’algorithme du simplexe


La méthode du grand M
www.almohandiss.com

La résolution de (PMF)
Les calculs s’effectuent avec le symbole M, dont la valeur n’est
jamais précisée. Il serait possible de donner à M une valeur précise,
à condition de l’adapter à chaque situation. Nous optons pour
l’approche traditionnelle, qui consiste à considérer M comme un
paramètres supposé beaucoup plus grand que tous les autres
nombres apparaissant dans le modèle.
Avec la méthode du grand M, ou bien toutes les variables
artificielles prennent la valeur 0 à l’optimum et l’on obtient une
solution admissible te optimale, ou bien certaines d’entre elles
prennent une valeur positive et alors le modèle linéaire (PLC) n’a
pas de solution admissible.

Nizar El Hachemi L’algorithme du simplexe


Tableau initial de lawww.almohandiss.com
méthode du grand M

Figure: Tableau initial de la méthode du grand M

Nizar El Hachemi L’algorithme du simplexe


Tableau des séquences de la méthode du grand M
www.almohandiss.com

Figure: Tableau des séquences de la méthode du grand M

Nizar El Hachemi L’algorithme du simplexe


La méthode du grand M
www.almohandiss.com

La résolution de (PMF)
Dans un modèle où il s’agit de minimiser une fonction-objectif z,
les variables artificielles reçoivent dans zM le coefficient +M : ainsi,
toute valeur positive prise par l’une ou l’autre d’entre elles entraîne
une augmentation considérable de zM , ce qui rend la solution fort
peu intéressante.

Nizar El Hachemi L’algorithme du simplexe