Vous êtes sur la page 1sur 110

L’algorithme du simplexe

Nizar El Hachemi

8 octobre 2018

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Introduction

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

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’écart 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’écart

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’écart

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

Figure – Les variables d’écart


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Les variables d’excédent

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

Figure – Les variables d’excédent


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Modèle

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

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

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

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


La caractéristique algébrique des points extrêmes

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

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

Figure – Intersections des droites associées aux contraintes

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Les solutions de base

Considérons un modèle (PLS) quelconque ; et notons n′ = 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

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

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)

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

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

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

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

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)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Étape A

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

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

Figure – Modèle (FRB) : tableau initial

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Étape A

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

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

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

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

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

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

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

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

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 la base

Figure – Tableau de la solution 1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Étape D

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

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

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 simplexe après une itération

Figure – Tableau canonique de la solution 1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Étape D

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

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

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 simplexe après une itération

Figure – Tableau canonique de la solution 2

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Le calcul des coûts 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 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

Figure – Calcul, du coefficient zj d’une variable

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


La troisième itération

Figure – Variables de bases et coefficients

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


La troisième itération

Figure – Complétion des lignes du tableau

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Séquence des solutions de base

Figure – Séquence des solutions de base

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Le calcul des coefficients de la section centrale

Figure – Méthode du réctangle

a′ = a − b∗c
pivot
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Description de l’algorithme du simplexe

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

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

É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

Étape C
Le choix de la variable sortante : Notons xp la variable
′ le coefficient qui, dans le tableau courant, est situé à
entrante ; aip
l’intersection de la ligne i et de la colonne xp ; et bi′ la valeur de la
ligne i dans le tableau courant. On calcule d’abord, pour chaque

variable de base xi dont le coefficient aip ′ est positif, le quotient bi .

aip
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

É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

É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

É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 la 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 la construction d’un tableau initial

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


Max (Min)z = ci xi (38)
i
subject to : (39)
 
∑ ≤
∀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)

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)

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’un 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é

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é

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

Figure – Région admissible (PMF=)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Modèle de la Fonderie modifié

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 deux 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 deux 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é

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 deux 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 deux 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 la phase 1

Figure – Tableau initial de la phase I

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


La résolution de (PMF)

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)

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)

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)

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 2005 , 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)

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

Figure – Tableaux de la phase I

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Tableau final de la phase 1

Figure – Tableau final de la phase I

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Solution optimale de 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

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

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

Figure – Tableaux de la phase II

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Transition

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

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


Transition

Cas pathologiques
Considérons une variable artificielle as qui une variable de base
associée à la ligne i du tableau du simplexe de la phase I dont la
valeur de zA est nulle. Deux cas peuvent survenir :
Sur la ligne i de ce tableau, au moins une variable hors base
non artificielle admet un coefficient non nul. On peut donc
faire sortir as de la base en s’appuyant sur l’une des variables
hors base non artificielle dont le coefficient associé à la ligne i
est non nul.
Les coefficients associs à la ligne i des variables hors base non
artificielles sont tous nuls. Dans ce cas, une fois les variables
hors base artificielles soient biffées, la contrainte liée à la ligne
i devient as = 0.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Formulation

Max z = 2x1 + x2 (63)


subject to : (64)
x1 − 2x2 = 2 (65)
x1 − 3x2 ≥ 1 (66)
x1 − x2 = 3 (67)
x1 , x2 ≥ 0 (68)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Formulation=

Max z = 2x1 + x2 (69)


subject to : (70)
x1 − 2x2 + a1 = 2 (71)
x1 − 3x2 − e2 + a2 = 1 (72)
x1 − x2 + a3 = 3 (73)
x1 , x2 , e2 , a1 , a2 , a3 ≥ 0 (74)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Tableau 1

0 0 0 1 1 1
Base
x1 x2 e2 a1 a2 a3 Valeur
1 a1 1 -2 0 1 0 0 2
1 a2 1 -3 -1 0 1 0 1
1 a3 1 -1 0 0 0 1 3
cj − z j -3 6 1 0 0 0 6

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Tableau 2

0 0 0 1 1 1
Base
x1 x2 e2 a1 a2 a3 Valeur
1 a1 0 1 1 1 -1 0 1
0 x1 1 -3 -1 0 1 0 1
1 a3 0 2 1 0 -1 1 2
cj − z j 0 -3 -2 0 3 0 3

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Tableau 3

0 0 0 1 1 1
Base
x1 x2 e2 a1 a2 a3 Valeur
0 x2 0 1 1 1 -1 0 1
0 x1 1 0 2 3 -2 0 4
1 a3 0 0 -1 -2 1 1 0
cj − z j 0 0 1 3 0 0 0

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Tableau 4 faisant sortir la variable artificielle de la base

0 0 0 1 1 1
Base
x1 x2 e2 a1 a2 a3 Valeur
0 x2 0 1 0 -1 0 1 1
0 x1 1 0 0 -1 0 2 4
0 e2 0 0 1 2 -1 -1 0
cj − zj 0 0 0 1 1 1 0

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 1

Tableau 1 de la phase 2

2 1 0
Base
x1 x2 e2 Valeur
1 x2 0 1 0 1
2 x1 1 0 0 4
0 e2 0 0 1 0
cj − zj 0 0 0 9

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Formulation

Max z = 6x11 + 5x12 + 7x21 + 4x22 (75)


subject to : (76)
x11 + x12 = 20 (77)
x21 + x22 = 10 (78)
x11 + x21 = 13 (79)
x12 + x22 = 17 (80)
x11 , x12 , x21 , x22 ≥ 0 (81)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Formulation=

Max z = 6x11 + 5x12 + 7x21 + 4x22 (82)


subject to : (83)
x11 + x12 + a1 = 20 (84)
x21 + x22 + a2 = 10 (85)
x11 + x21 + a3 = 13 (86)
x12 + x22 + a4 = 17 (87)
x11 , x12 , x21 , x22 , a1 , a2 , a3 , a4 ≥ 0 (88)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 1

0 0 0 0 1 1 1 1
Base
x11 x12 x21 x22 a1 a2 a3 a4 Valeur
1 a1 1 1 0 0 1 0 0 0 20
1 a2 0 0 1 1 0 1 0 0 10
1 a3 1 0 1 0 0 0 1 0 13
1 a4 0 1 0 1 0 0 0 1 17
cj − z j -2 -2 -2 -2 0 0 0 0 60

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 2

0 0 0 0 1 1 1 1
Base
x11 x12 x21 x22 a1 a2 a3 a4 Valeur
1 a1 0 1 -1 0 1 0 -1 0 7
1 a2 0 0 1 1 0 1 0 0 10
0 x11 1 0 1 0 0 0 1 0 13
1 a4 0 1 0 1 0 0 0 1 17
cj − z j 0 -2 0 -2 0 0 2 0 34

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 3

0 0 0 0 1 1 1 1
Base
x11 x12 x21 x22 a1 a2 a3 a4 Valeur
0 x12 0 1 -1 0 1 0 -1 0 7
1 a2 0 0 1 1 0 1 0 0 10
0 x11 1 0 1 0 0 0 1 0 13
1 a4 0 0 1 1 -1 0 1 1 10
cj − z j 0 0 -2 -2 2 0 0 0 20

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 4

0 0 0 0 1 1 1 1
Base
x11 x12 x21 x22 a1 a2 a3 a4 Valeur
0 x12 0 1 -1 0 1 0 -1 0 7
0 x22 0 0 1 1 0 1 0 0 10
0 x11 1 0 1 0 0 0 1 0 13
1 a4 0 0 0 0 -1 -1 1 1 0
cj − z j 0 0 0 0 2 2 0 0 0

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 5

6 5 7 4 0
Base
x11 x12 x21 x22 a4 Valeur
5 x12 0 1 -1 0 0 7
4 x22 0 0 1 1 0 10
6 x11 1 0 1 0 0 13
0 a4 0 0 0 0 1 0
cj − z j 0 0 2 0 0 153

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


Cas pathologique 2

Tableau 5

6 5 7 4 0
Base
x11 x12 x21 x22 a4 Valeur
5 x12 0 1 0 1 0 17
7 x21 0 0 1 1 0 10
6 x11 1 0 0 -1 0 3
0 a4 0 0 0 0 1 0
cj − z j 0 0 0 -2 0 173

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Nizar El Hachemi L’algorithme du simplexe


La méthode du grand M

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

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

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

Vous aimerez peut-être aussi