Vous êtes sur la page 1sur 56

Recherche Opérationnelle

GE fondamentale

Pr. Khatmi samira


Faculté des Sciences Juridiques, Economiques et Sociales D’Eljadida

Année universitaire 2020-2021


Table des matières

1 Introduction 1
1.1 Problèmes de programmation mathématique . . . . . . . . . . . . 2
1.2 Problèmes de programmation linèaire . . . . . . . . . . . . . . . 2

2 Formulation d’un programme linéaire (PL) 5


2.1 Les conditions de formulation d’un PL . . . . . . . . . . . . . . . 5
2.2 Les étapes de formulation d’un PL . . . . . . . . . . . . . . . . . 5
2.3 Présentation théorique . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Exemples de formulations . . . . . . . . . . . . . . . . . . . . . . 7

3 La méthode graphique 11
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Représentation graphique des contraintes . . . . . . . . . . . . . . 12
3.3 Représentation de la fonction objectif . . . . . . . . . . . . . . . 14
3.4 Recherche du point optimal de la fonction objectif . . . . . . . . . 14
3.5 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.1 Problème de maximisation avec la normale dirigée vers le
haut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.2 Problème de maximisation avec la normale dirigée vers le bas 17
3.5.3 Problème de minimisation avec la normale dirigée vers le
haut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Les différents types de solutions d’un problème de PL . . . . . . . 22
3.6.1 Infinité de solution . . . . . . . . . . . . . . . . . . . . . . 22
3.6.2 Solution optimale infinie . . . . . . . . . . . . . . . . . . . 24
3.6.3 Aucune solution . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 La méthode du simplexe 29
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Formulation du problème . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1 Forme canonique . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.2 Forme standard . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Résolution du problème par la méthode du simplexe . . . . . . . 34

i
TABLE DES MATIÈRES

4.3.1 Résolution d’un programme linéaire canonique par rapport


à la base I. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3.2 Résolution d’un programme linéaire sachant qu’une va-
riable de base a un coût non nul . . . . . . . . . . . . . . . 45
4.3.3 Résolution d’un programme linéaire quelconque : Méthode
à deux phases . . . . . . . . . . . . . . . . . . . . . . . . . 46

ii Recherche Opérationnelle
Chapitre 1

Introduction

Dans une économie caractérisée par la raréfaction des ressources naturelles,


une diminution des sources de financement et une concurrence toujours plus vive
entre les entreprises, la répartition optimale de moyens limités entre la multitude
des besoins devient la tâche principale des responsables politiques et économiques
de notre société. Ce problème se retrouve dans tous les domaines de l’activité éco-
nomique, politique, scientifique et sociale. En gestion de la production, il s’agit,
par exemple, de définir une politique d’approvisionnement, d’adapter la produc-
tion à la demande, de déterminer les niveaux de stocks. En gestion financière,
il faut procéder au choix des investissements et définir un programme d’amor-
tissements. En marketing, il est nécessaire d’établir un réseau de représentants,
de choisir un support publicitaire. En raison de l’ampleur des enjeux décision-
nels, le décideur ne peut plus prendre de décisions hâtives et justifier un choix
d’attribution fondé sur un raisonnement instinctif ou des calculs naı̈fs. Une bonne
résolution de ce type de problèmes nécessite la connaissance de méthodes approu-
vées ainsi que la maı̂trise des outils mathématiques et informatiques développés à
cet effet. Les méthodes proposées pour résoudre les problèmes évoqués ci-dessus
sont nombreuses, mais elles peuvent toutes se résumer à l’énoncé mathématique
suivant, à savoir maximiser ou minimiser une fonction numérique de variables
soumises à diverses contraintes.
À partir de la fin de la Seconde Guerre Mondiale, de nouvelles méthodes
permirent de résoudre des problèmes complexes là où les méthodes classiques
échouaient. Ces méthodes furent connues sous le nom de programmation linéaire,
développées principalement par George B. Dantzig (né le 8 novembre 1914), ma-
thématicien américain et créateur de la méthode du Simplexe, et L. Kantorovich
(1912-1986). Danzig, outre la programmation linéaire, étudia entre autres la pro-
grammation mathématique, la prise de décision et les modèles de planification à
large échelle. L’impact de son œuvre fut considérable en gestion et en économie
et ses méthodes restent totalement d’actualité.

1
Introduction

1.1 Problèmes de programmation mathématique


De manière générale, la résolution de problèmes de programmation mathéma-
tique vise à déterminer l’allocation optimale (c’est-à-dire la meilleure combinaison
possible) de ressources limitées pour atteindre certains objectifs. Les allocations
doivent minimiser ou maximiser une fonction dite objectif. En économie, ces
fonctions sont par exemple le profit ou le coût. Ces problèmes, traités par la pro-
grammation mathématique, se distinguent des problèmes d’optimisation classique
par le fait que leurs solutions sont d’ordre numérique. Celles-ci sont obtenues par
une technique numérique itérative, alors que les solutions à un problème classique
sont en général données sous forme de formules fermées. La forme générale d’un
problème de programmation mathématique est la suivante :

Optimiser z = f (x1 , x2 , . . . , xn ) (1.1)


 

Sous les contraintes hi (x1 , x2 , . . . , xn )  ≥  bi i = 1 . . . m (1.2)
=

où les fonctions f et hi sont des fonctions numériques à n variables.


La fonction f de (1.1) est la fonction objectif à optimiser, tandis que les équations
ou inéquations de (1.2) sont les contraintes.
Selon la nature des fonctions f et hi , on peut être confronté à plusieurs types
de problèmes de programmation mathématique. Lorsque les fonctions f et hi ,
i = 1, ..., m sont linéaires, il s’agit d’un problème de programmation linéaire. Si
de plus, on impose que les variables ne peuvent prendre que des valeurs entières,
on parle de programmation linéaire entière. Les problèmes dans lesquels la fonc-
tion f ou hi sont non linéaires font partie de la programmation non-linéaire. Un
cas particulier est la programmation quadratique relative aux problèmes pour
lesquels la fonction f est quadratique et les fonctions hi linéaires. Par la suite,
nous étudierons essentiellement les problèmes de programmation linéaire.

1.2 Problèmes de programmation linèaire


la programmation linèaire est beaucoup utilisée (pour ne citer que les cas les
plus connus) dans la logistique, la finance d’entreprise ou encore aussi en théorie
de la décision lorsque nous devons résoudre un jeu à stratégie mixte (Théorie de
la décision et des jeux). Dans le cadre de résolution de problèmes où interviennent
des produits de deux variables nous parlons alors logiquement ”programmation
quadratique”. C’est typiquement le cas en économétrie dans la modélisation des
portefeuilles (Econométrie). La programmation linéaire est un cas particulier de la
programmation mathématique pour laquelle (1.1) et (1.2) sont linéaires. De plus,
les variables sont supposées être non-négatives. Un problème de programmation
linéaire revient donc à :

2 Recherche Opérationnelle
1.2 Problèmes de programmation linèaire

Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n (1.3)
 

Sous les contraintes ai1 x1 + ai2 x2 + . . . + ain xn ≥  bi
 (1.4)
=
xj ≥ j = 1...n (1.5)

aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n


Ce cours sera consacré à :
• La modélisation mathématique.
• La résolution de problèmes de programmation linéaire par la méthode
graphique.
• La résolution de problèmes de programmation linéaire par la méthode du
Simplexe.

Pr.Khatmi 3
Chapitre 2

Formulation d’un programme


linéaire (PL)

2.1 Les conditions de formulation d’un PL


La programmation linéaire comme étant un modèle admet des hypothèses
(des conditions) que le décideur doit valider avant de pouvoir les utiliser pour
modéliser son problème. Ces hypothèses sont :
1. Les variables de décision du problème sont positives
2. Le critère de sélection de la meilleure décision est décrit par une fonction
linéaire de ces variables, c’est à dire, que la fonction ne peut pas contenir
par exemple un produit croisé de deux de ces variables. La fonction qui
représente le critère de sélection est dite fonction objectif (ou fonction
économique).
3. Les restrictions relatives aux variables de décision (exemple : limitations
des ressources) peuvent être exprimées par un ensemble d’équations ou
d’inéquations linéaires, formant ainsi l’ensemble des contraintes.
4. Les paramètres du problème en dehors des variables de décisions ont une
valeur connue avec certitude.

2.2 Les étapes de formulation d’un PL


Généralement il y a trois étapes à suivre pour pouvoir construire le modèle
d’un programme linéaire :
1. Identifier les variables du problème à valeurs non connues (variable de
décision) et les représenter sous forme symbolique (Par exemple x1 ; x2 )
2. Identifier les restrictions (les contraintes) du problème et les exprimer par
un système d’équations ou d’ inéquations linéaires.

5
Formulation d’un programme linéaire (PL)

3. Identifier l’objectif ou le critère de sélection et le représenter sous une


forme linéaire en fonction des variables de décision.
NB : Spécifier si le critère de sélection est à maximiser ou à minimiser.

2.3 Présentation théorique


Un programme linéaire consiste à trouver le maximum ou le minimum d’une
forme linéaire dite fonction objectif en satisfaisant certaines équations et inéqua-
tions dites contraintes. En langage mathématique, on décrira de tels modèles de
la manière suivante :
Soient n variables de décision x1 , x2 . . . , xn , l’hypothèse que les variables de
décision sont positives implique que x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0
La fonction objectif est une forme linéaire en fonction des variables de décision
de type
z = c1 x 1 + c2 x 2 + . . . + cn x n
où les coefficients c1 , . . . , cn doivent avoir une valeur bien déterminée (avec certi-
tude) et peuvent être positifs, négatifs ou nuls. Par exemple le coefficient ci peut
représenter un profit unitaire lié à la production d’une unité supplémentaire du
bien xi , ainsi la valeur de z est le profit total lié à la production des différents
biens en quantités égales à x1 , x2 , . . . , xn

Supposons que ces variables de décision doivent vérifier un système d’équa-


tions linéaires définis par p inégalités :

a11 x1 + a12 x2 + . . . + a1n xn ≥ b1


a21 x1 + a22 x2 + . . . + a2n xn ≥ b2
..
.
ap1 x1 + ap2 x2 + . . . + apn xn ≥ bp

où les coefficients aij et bi i = 1 . . . p , j = 1 · · · n doivent avoir une valeur


bien déterminée (avec certitude) et peuvent être positifs, négatifs ou nuls. Le
paramètre bi représente la quantité de matière première disponible dont le bien
xj utilise une quantité égale à aij xj .
En suivant les étapes de formulation ci-dessus, on peut représenter le PL comme
suit :
Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n
Sous contraintes a11 x1 + a12 x2 + . . . + a1n xn ≥ b1
a21 x1 + a22 x2 + . . . + a2n xn ≥ b2
..
.
ap1 x1 + ap2 x2 + . . . + apn xn ≥ bp
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0

6 Recherche Opérationnelle
2.4 Exemples de formulations

2.4 Exemples de formulations


La tâche de formulation demande généralement une certaine expertise et
connaissance du problème pour pouvoir relever facilement les différentes com-
posantes du problème et ainsi donner un programme qui modélise au mieux la
situation réelle. Dans ce qui suit, on présentera quelques exemples de formulation
en programme linéaire liés à différents problèmes de décision :

Exemple 2.4.1 (Problème d’agriculture).


Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de
tomates et celles de piments. Il dispose de 480 heures de main d’oeuvre et de 440
m3 d’eau. Un hectare de tomates demande 1 heure de main d’oeuvre, 4 m3 d’eau
et donne un bénéfice net de 100 dhs. Un hectare de piments demande 4 heures de
main d’oeuvre, 2 m3 d’eau et donne un bénéfice net de 200 dhs.
Le ministère d’agriculture veut protéger le prix des tomates et ne lui permet pas
de cultiver plus de 90 hectares de tomates. Quelle est la meilleure allocation de
ses ressources ?

1. Identification des variables de décision


Les deux activités que l’agriculteur doit déterminer sont les surfaces à
allouer pour la culture de tomates et de piments :
• x1 : la surface allouée à la culture des tomates
• x2 : la surface allouée à la culture des piments
On vérifie bien que les variables de décision x1 ≥ 0 et x2 ≥ 0
2. Identification des contraintes.
Dans ce problème les contraintes représentent la disponibilité des facteurs
de production :
• Terrain : l’agriculteur dispose de 150 hectares de terrain, ainsi la
contrainte liée à la limitation de la surface de terrain est x1 + x2 ≤ 150.
NB : (Il n’est pas obligé de cultiver la totalité de la surface.)
• Eau : la culture d’un hectare de tomates demande 4 m3 d’eau et celle
d’un hectare de piments demande 2m3 mais l’agriculteur ne dispose
que de 440m3 . La contrainte qui exprime les limitations des ressources
en eau est 4x1 + 2x2 ≤ 440.
• Main d’œuvre : Les 480 heures de main d’œuvre seront départagées
(pas nécessairement en totalité) entre la culture des tomates et celle
des piments. Sachant qu’un hectare de tomates demande une heure de
main d’œuvre et un hectare de piments demande 4 heures de main
d’œuvre alors la contrainte représentant les limitations des ressources
humaines est x1 + 4x2 ≤ 480.
• Les limitations du ministère d’agriculture : Ces limitations
exigent que l’agriculteur ne cultive pas plus de 90 hectares de tomates.
La contrainte qui représente cette restriction est x1 ≤ 90.

Pr.Khatmi 7
Formulation d’un programme linéaire (PL)

3. Identification de la fonction objectif


La fonction objectif consiste à maximiser le profit apporté par la culture
de tomates et de piments. Les contributions respectives 100 et 200, des
deux variables de décision x1 et x2 sont proportionnelles à leurs valeurs.
La fonction objectif est donc z = 100x1 + 200x2 .
Le programme linéaire qui modélise le problème d’agriculture est :

Maximiser z = 100x1 + 200x2


Sous contraintes x 1 + x2 ≤ 150
4x1 + 2x2 ≤ 440
x1 + 4x2 ≤ 480
x1 ≤ 90
x1 ≥ 0, x2 ≥ 0

Exemple 2.4.2 ( Problème de pilules).


Un spécialiste en médecine a fabriqué un médicament (des pilules) pour guérir
les sujets atteints d’un rhume. Ces pilules sont fabriquées selon deux formats :
• Petite taille : elle contient 2 grains d’aspirine, 5 grains de bicarbonate et
1 grain de codéine.
• Grande taille : elle contient 1 grain d’aspirine, 8 grains de bicarbonate et
6 grains de codéine.
Pour guérir la maladie, le sujet a besoin d’au moins 12 grains d’aspirine, 74
grains de bicarbonate et 24 grains de codéine. Déterminer le nombre de pilules
minimales à prescrire au sujet pour qu’il soit guéri.

Le problème de médecine présente certaines ressemblances avec le problème


de l’agriculture, dans les deux cas c’est un problème d’allocation de ressources.
1. Identification des variables de décision
Les variables de décision qui représentent des valeurs inconnues par le
décideur ” le spécialiste en médecine ” sont :
• x1 : le nombre de pilules de petite taille à prescrire.
• x2 : le nombre de pilules de grande taille à prescrire.
On vérifie bien que les variables de décision x1 ≥ 0 et x2 ≥ 0.
2. Identification des contraintes.
Les contraintes imposées par le problème sur les valeurs possibles de x1 et
x2 sont :
• La prescription doit contenir des pilules avec au moins 12 grains d’aspi-
rine. Sachant qu’une petite pilule contient 2 grains d’aspirine et qu’une
grande pilule contient un seul grain d’aspirine, on obtient la contrainte
suivante : 2x1 + x2 ≥ 12.
• De la même façon que pour l’aspirine, la prescription du spécialiste
en médecine doit contenir au moins 74 grains de bicarbonate. Sachant
qu’une petite pilule contient 5 grains de bicarbonate et qu’une grande

8 Recherche Opérationnelle
2.4 Exemples de formulations

pilule contient 8 grains de bicarbonate. Ainsi la contrainte suivante doit


être satisfaite : 5x1 + 8x2 ≥ 74.
• Finalement la contrainte imposée par le fait que la prescription doit
contenir au moins 24 grains de codéine et sachant qu’une petite pilule
contient un grain de codéine et qu’une grande pilule contient 6 grains
de codéine. La contrainte est x1 + 6x2 ≥ 24.
3. Identification de la fonction objectif
On remarque qu’il y a plusieurs couples de solutions qui peuvent satis-
faire les contraintes spécifiées à l’étape 2. La prescription doit contenir le
minimum possible de pilules. Donc le critère de sélection de la quantité
de pilules à prescrire est celle qui minimise le nombre total des pilules
z = x1 + x2 . Le programme linéaire qui modélise ce problème médical est
donc le suivant :
Minimiser z = x1 + x2
Sous contraintes 2x1 + x2 ≥ 12
5x1 + 8x2 ≥ 74
x1 + 6x2 ≥ 24
x1 ≥ 0, x2 ≥ 0

Pr.Khatmi 9
Chapitre 3

La méthode graphique

3.1 Introduction
Après avoir illustrer par des exemples, comment un problème pratique peut
être modélisé par un programme linéaire, l’étape qui va suivre sera certainement
celle de la résolution de ce problème mathématique. La méthode graphique est
l’une des premières méthodes utilisées à ce sujet. Cette méthode n’est applicable
que dans le cas où il n’y a que deux variables ou au plus trois variables. Son
avantage est de pouvoir comprendre ce que fait la méthode générale du Sim-
plexe, sans entrer dans la technique purement mathématique. Soit le problème
d’optimisation linéaire suivant :

Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n (3.1)
 

Sous les contraintes ai1 x1 + ai2 x2 + . . . + ain xn ≥  bi
 (3.2)
=
xj ≥ 0 j = 1...n (3.3)

aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n

Définition 3.1.1. On appelle Zone des solutions réalisables, l’ensemble des


points x de l’espace qui satisfait les contraintes économiques et les contraintes de
signe (3.2) et (3.3).

Définition 3.1.2.
• On appelle solution optimale un point réalisable qui optimise (maximise
ou minimise) la fonction objectif z(x).
• La valeur optimale est la valeur de la fonction objectif z(x) atteinte pour
toute solution optimale.

11
La méthode graphique

3.2 Représentation graphique des contraintes


Une représentation graphique des inégalités (des contraintes) va nous per-
mettre de déterminer l’ensemble des solutions réalisables.

Remarque 3.2.1. Pour respecter la contrainte de positivité, on va travailler


uniquement dans le premier cadran (c’est à dire la partie du plan où x ≥ 0 et
y ≥ 0 ).

Pour voir comment la représentation graphique des contraintes détermine la


zone des solutions réalisables, on va reprendre l’exemple du problème de médecine.
Une des contraintes de ce problème est celle relative au grain d’aspirine

2x1 + x2 ≥ 12 ⇔ x2 ≥ 12 − 2x1

L’ensemble des solutions qui vérifient cette inégalité est le demi-plan P1 situé au
dessus de la droite D1 d’équation x2 = 12 − 2x1 qui passe par les points

M1 = (0, 12); et M2 = (6, 0)

Figure 3.1 – Représentation du demi plan 2x1 + x2 ≥ 12

12 Recherche Opérationnelle
3.2 Représentation graphique des contraintes

Si on fait de même pour les deux autres contraintes du problème, on obtient les
deux autres demi-plans P 2 et P 3 relatifs aux solutions vérifiant respectivement
les contraintes 5x1 + 8x2 ≥ 74 et x1 + 6x2 ≥ 24.(voir figures 3.2)

Figure 3.2 – Représentation des demi- plans 5x1 + 8x2 ≥ 74 et x1 + 6x2 ≥ 24

Donc la zone des solution réalisables du problème est l’ensemble des points
du plan qui appartiennent aux trois demi-plans relatifs à chaque contrainte du
programme linéaire, en d’autre terme l’intersection des trois demi plans
(P 1 ∩ P 2 ∩ P 3) voir figure (3.3)

Figure 3.3 – Zone des solutions réalisables

Pr.Khatmi 13
La méthode graphique

Remarque 3.2.2. La région des solutions admissibles est un ensemble convexe


(c.à.d. tout segment de droite dont les extrémités appartiennent à l’ensemble est
entièrement inclus dans cet ensemble).

3.3 Représentation de la fonction objectif


La fonction objectif est une droite d’équation z = ax + by ⇔ y = − ab x + z
b

Définition 3.3.1.
• − ab est la pente de la droite.  
−b
• le vecteur directeur de la droite est donné par le vecteur
 a

a
• le vecteur normal de la droite est donné par le vecteur
b
Proposition 3.3.1. Deux droites qui ont la même pente sont parrallèles
Remarque 3.3.1. On peut tracer une infinité de droites qui représentent des
différentes valeurs de la fonction objectif, toutes ces droites ont la même pente − ab .
Par suite elles sont parallèles entre elles. Donc pour les tracer, il suffit d’initialiser
la fonction objectif, tracer la droite corespondante et prendre toutes les droites qui
lui sont parallèles.
Remarque 3.3.2. Pour initialiser la fonction objectif z c’est à dire lui donner
une valeur z0 et tracer la droite ax+by = z0 qui lui corresponds , il suffit de choisir
un point (x0 ; y0 ) qui appartient à la zone des solutions admissibles et calculer la
valeur de z qui lui corresponds z0 = ax0 + by0 .
On peut diminuer ou augmenter la valeur de z indéfiniment.Le problème est
de connaı̂tre qu’elle est la droite qui correspond à la valeur optimal de la fonction
objectif ?

3.4 Recherche du point optimal de la fonction


objectif
1. On dessine la zone des solutions admissibles.
2. Tracer le vecteur normal de la fonction objectif.
3. Initialiser la fonction objectif z et tracer la droite qui la représente.
4. On translate la droite de la fonction objectif selon son vecteur normal.
Si le vecteur normal indique un déplacement vers le haut, la fonction
objectif doit couper l’axe (OY ) le plus haut possible dans le cas d’une
maximisation, et le plus bas possible dans le cas d’une minimisation,
tout en touchant la zone des solutions admissibles.

14 Recherche Opérationnelle
3.5 Exemples

Si le vecteur normal indique un déplacement vers le bas, la fonction ob-


jectif doit couper l’axe (OY ) le plus bas possible dans le cas d’une
maximisation, et le plus haut possible dans le cas d’une minimisation,
tout en touchant la zone des solutions admissibles.
Si le vecteur normal est un vecteur horizontal (cas rare mais possible),
la fonction objectif ne coupera pas l’axe (OY ). Le point optimal sera,
selon les cas, le plus éloigné ou le plus proche de l’axe (OY ).
5. Le point optimal est le dernier point de la zone des solutions admissibles
que la droite de la fonction objectif touchera lors de son déplacement.

Remarque 3.4.1. On déplace la droite de la fonction objectif suivant le sens


du vecteur normal dans le cas d’un problème de maximisation et suivant le sens
contraire du vecteur normal dans le cas d’un problème de minimisation.

3.5 Exemples
3.5.1 Problème de maximisation avec la normale dirigée
vers le haut

Maximiser z = 1200x1 + 1000x2


Sous contraintes 3x1 + 4x2 ≤ 160
6x1 + 3x2 ≤ 180
x1 ≥ 0, x2 ≥ 0
1. Détermination de la zone des solutions réalisables
• Détermination du demi-plan P1
3
3x1 + 4x2 ≤ 160 ⇔ x2 ≤ 40 − x1
4
P1 est situé en dessous de la droite D1 d’équation x2 = 40 − 34 x1 qui
passe par les points (0, 40) et (40, 10)
• Détermination du demi-plan P2

6x1 + 3x2 ≤ 180 ⇔ x2 ≤ 60 − 2x1

P2 est situé en dessous de la droite D2 d’équation x2 = 60 − 2x1 qui


passe par les points (0, 60) et (30, 0)
• La zone des solutions réalisables est l’intersection des demi-plans P1 et
P2 . (voir figure 3.4)
C’est un ensemble convexe fermé. Les solutions, si elles existent appar-
tiennent donc à cet ensemble. Il s’agit donc de chercher à l’intérieur de ce
domaine, le couple (x1 , x2 ) maximisant la fonction objectif.

Pr.Khatmi 15
La méthode graphique

Figure 3.4 – Zone des solutions réalisables

Remarque 3.5.1. Pour Tracer les droites D1 et D2 , on choisit de préfé-


rence des points qui appartiennent à l’axe des x et l’axe des y.
2. Initialisation de la fonction objectif
On choisit un point qui appartient à la zone des solutions réalisables, soit
M0 = (0, 0), on calcule la valeur initiale z0 = 1200 ∗ 0 + 1000 ∗ 0 = 0 et
tracer la droite 1200x1 + 1000x2 = 0 qui passe par le point M0
Remarque 3.5.2. Si on a un repère orthonormé alors pour initialiser la
fonction objectif, il suffit de prendre un point qui appartient à la zone des
solutions réalisables et tracer la droite qui passe par ce point et perpendi-
culaire au vecteur normal.

Figure 3.5 – Initialisation de la fonction objectif

16 Recherche Opérationnelle
3.5 Exemples

3. Trouver la valeur maximum de z


Pour augmenter la valeur de z0 et donc la fonction économique, il suffit de
déplacer cette droite vers le haut puisque le vecteur normal de la fonction
économique est dirigé vers le haut. cette droite sera déplacée jusqu’à l’ex-
trême limite où il n’y aura plus qu’un point d’intersection (éventuellement
un segment) avec la région des solutions admissibles.

Figure 3.6 – Recherche du point optimal

On remarquera que la solution optimale se trouve nécessairement sur le pourtour


de la région des solutions admissibles. La solution se trouvant sur les deux droites
d’équation (3x1 + 4x2 = 160 et 6x1 + 3x2 = 180). La résolution de ce système
conduit à la solution x1 = 16 ; x2 = 28, d’où z = 1200 ∗ 16 + 1000 ∗ 28 = 47200.

3.5.2 Problème de maximisation avec la normale dirigée


vers le bas

Maximiser z = x1 − x 2
Sous contraintes x1 − 2x2 ≤ 2
2x1 − x2 ≤ 4
x1 + x2 ≤ 5
x1 ≥ 0, x2 ≥ 0

Pr.Khatmi 17
La méthode graphique

1. Détermination de la zone des solutions réalisables


• Détermination du demi-plan P1
1
x1 − 2x2 ≤ 2 ⇔ x2 ≥ x1 − 1
2
P1 est situé au dessus de la droite D1 d’équation x2 = 12 x1 − 1 qui passe
par les points (0, −1) et (2, 0)
• Détermination du demi-plan P2

2x1 − x2 ≤ 4 ⇔ x2 ≥ 2x1 − 4

P2 est situé au dessus de la droite D2 d’équation x2 = 2x1 − 4 qui passe


par les points (0, −4) et (2, 0)
• Détermination du demi-plan P3

x1 + x2 ≤ 5 ⇔ x2 ≤ 5 − x1

P3 est situé en dessous de la droite D3 d’équation x2 = 5 − x1 qui passe


par les points (0, 5) et (5, 0)
• La zone des solutions réalisables est l’intersection des demi-plans P1 ,
P2 et P3 .(voir figure 3.7)

Figure 3.7 – Zone des solutions réalisables

C’est un ensemble convexe fermé. Les solutions, si elles existent appar-


tiennent donc à cet ensemble. Il s’agit donc de chercher à l’intérieur de ce
domaine, le couple (x1 , x2 ) maximisant la fonction objectif.

18 Recherche Opérationnelle
3.5 Exemples

2. Initialisation de la fonction objectif


On choisit un point qui appartient à la zone des solutions réalisables, soit
M0 = (1, 3), on calcule la valeur initiale z0 = 1 − 3 = −2 et tracer la droite
x1 − x2 = −2 qui passe par le point M0 .

Figure 3.8 – Initialisation de la fonction objectif

3. Trouver la valeur maximum de z


Pour augmenter la fonction économique, il suffit de déplacer cette droite
vers le bas puisque le vecteur normal de la fonction économique est dirigé
vers le bas.

Figure 3.9 – Recherche du point optimal

Pr.Khatmi 19
La méthode graphique

On remarque que la solution optimale se trouve sur les deux droites d’équa-
tion (2x1 − x2 = 4 et x1 − 2x2 = 2). La résolution de ce système conduit
à la solution x1 = 2 ; x2 = 0, d’où z = 2 − 0 = 2.
Remarque : les coordonnées du point optimal peuvent être relevés direc-
tement sur le graphique.

3.5.3 Problème de minimisation avec la normale dirigée


vers le haut

Minimiser z = 1000x1 + 1000x2


Sous contraintes x1 + 2x2 ≥ 90
x1 + 4x2 ≥ 120
6x1 + 3x2 ≥ 180
x1 ≥ 0, x2 ≥ 0
1. Détermination de la zone des solutions réalisables
• Détermination du demi-plan P1
1
x1 + 2x2 ≥ 90 ⇔ x2 ≥ 45 − x1
2
P1 est situé au dessus de la droite D1 d’équation x2 = 45 − 21 x1 qui
passe par les points (0, 45) et (90, 0)
• Détermination du demi-plan P2
1
x1 + 4x2 ≥ 120 ⇔ x2 ≥ 30 − x1
4
P2 est situé au dessus de la droite D2 d’équation x2 = 30 − 41 x1 qui
passe par les points (0, 30) et (120, 0)
• Détermination du demi-plan P3

6x1 + 3x2 ≥ 180 ⇔ x2 ≥ 60 − 2x1

P3 est situé en dessous de la droite D3 d’équation x2 = 60 − 2x1 qui


passe par les points (0, 60) et (30, 0)
• La zone des solutions réalisables est l’intersection des demi-plans P1 ,
P2 et P3 .(voir figure 3.10)
C’est un ensemble convexe non borné. Les solutions, si elles existent ap-
partiennent donc à cet ensemble. Il s’agit donc de chercher à l’intérieur de
ce domaine, le couple (x1 , x2 ) minimisant la fonction objectif.

20 Recherche Opérationnelle
3.5 Exemples

Figure 3.10 – Zone des solutions réalisables

2. Initialisation de la fonction objectif


On choisit un point M0 qui appartient à la zone des solutions réalisables,on
trace la droite z0 qui passe par ce point et perpendiculaire au vecteur
normal de coordonnées n = (1000, 1000) = (10, 10) puis la fonction objectif
est donnée par z = 1000x1 + 1000x2

Figure 3.11 – Initialisation de la fonction objectif

Pr.Khatmi 21
La méthode graphique

3. Trouver la valeur minimum de z


Pour diminuer la fonction économique, il suffit de déplacer cette droite
vers le bas puisque le vecteur normal de la fonction économique est dirigé
vers le haut.

Figure 3.12 – Recherche du point optimal

On remarque que la solution optimale se trouve sur les deux droites d’équa-
tion (x1 + 2x2 = 90 et 6x1 + 3x2 = 180). La résolution de ce système
conduit à la solution

x1 = 10 ; x2 = 40 d’où z = 1000 ∗ 40 + 1000 ∗ 10 = 50000.

Remarque : les coordonnées du point optimal peuvent être relevés direc-


tement sur le graphique.

3.6 Les différents types de solutions d’un pro-


blème de PL
Jusqu’ici, les problèmes résolus graphiquement avaient une solution optimale
unique, ce qui n’est pas toujours le cas. En effet, trois autres situations peuvent
se présenter. Ces différents types de solutions sont expliqués dans les problèmes
suivants.

3.6.1 Infinité de solution

Maximiser z =x+y
Sous contraintes 2x + 2y ≤ 8
x ≥ 0, y ≥ 0

22 Recherche Opérationnelle
3.6 Les différents types de solutions d’un problème de PL

1. Détermination de la zone des solutions réalisables


• Détermination du demi-plan P1

2x1 + 2x2 ≤ 8 ⇔ x2 ≤ 4 − x1

P1 est situé en dessous de la droite D1 d’équation x2 = 4 − x1 qui passe


par les points (0, 4) et (4, 0)
• La zone des solutions réalisables est un triangle rectangle dont les som-
mets sont les points (0 ;0), (0 ;4) et (4 ;0).(voir figure 3.13)

Figure 3.13 – Zone des solutions réalisables

2. Initialisation de la fonction objectif


On choisit un point M0 qui appartient à la zone des solutions réalisables,on
trace la droite z0 qui passe par ce point et perpendiculaire au vecteur
normal de coordonnées n = (1, 1) = puisque la fonction objectif est donnée
par z = x1 + x2

Figure 3.14 – Initialisation de la fonction objectif

Pr.Khatmi 23
La méthode graphique

3. Trouver la valeur maximum de z


Pour augmenter la fonction économique, il suffit de déplacer cette droite
vers le haut puisque le vecteur normal de la fonction économique est dirigé
vers le haut.

Figure 3.15 – Recherche du point optimal

On remarque que La droite qui permet d’attribuer la plus grande valeur


à z est le segment de droite reliant les sommets (0 ;4) et (4 ;0). Par consé-
quent, tous les points de ce segment représentent une solution optimale
au problème. Il existe donc une infinité de solutions qui donnent la même
valeur de z, à savoir 4. Comme les solutions optimales à ce problème cor-
respondent au segment de droite d’extrémités (0 ;4) et (4 ;0),elles peuvent
être décrites par l’ensemble :
     
x 0 4
{ =µ + (1 − µ) , 0 ≤ µ ≤ 1}
y 4 0

En faisant varier µ entre 0 et 1 on obtient toutes les solutions optimales

3.6.2 Solution optimale infinie

Maximiser z = 2x1 + 5x2


Sous contraintes 8x1 + 4x2 ≥ 40
x1 + 5x2 ≥ 10
x1 ≥ 0, x2 ≥ 0

24 Recherche Opérationnelle
3.6 Les différents types de solutions d’un problème de PL

1. Détermination de la zone des solutions réalisables


• Détermination du demi-plan P1

8x1 + 4x2 ≥ 40 ⇔ x2 ≥ 10 − 2x1

P1 est situé au dessus de la droite D1 d’équation x2 = 10 − 2x1 qui


passe par les points (0, 10) et (5, 0)
• Détermination du demi-plan P2

x1 + 5x2 ≥ 10 ⇔ x2 ≥ 2 − 1/5 ∗ x1

P2 est situé en dessus de la droite D2 d’équation x2 = 2 − 1/5x1 qui


passe par les points (0, 20) et (10, 0)
• La zone des solutions réalisables est l’intersection des demi-plans P1 et
P2 . (voir figure 3.16)

Figure 3.16 – Zone des solutions réalisables

C’est un ensemble convexe ouvert.Il s’agit donc de chercher à l’intérieur


de ce domaine, le couple (x1 , x2 ) maximisant la fonction objectif.
2. Initialisation de la fonction objectif
On choisit un point M0 qui appartient à la zone des solutions réalisables,
et on trace la droite qui passe par ce point et perpendiculaire au vecteur
normale de la fonction objectif n = 2, 5).

Figure 3.17 – Initialisation de la fonction objectif

Pr.Khatmi 25
La méthode graphique

3. Trouver la valeur maximum de z


Pour augmenter la valeur de la fonction objectif, il suffit de déplacer cette
droite vers le haut puisque le vecteur normal de la fonction économique est
dirigé vers le haut. On remarque que la fonction objectif peut être déplacée
à l’infini en conservant toujours une intersection non vide avec la région
réalisable. (voir figure 3.18). Dans ce cas, on dit que le programme linéaire
n’est pas borné et possède donc une solution optimale infinie.

Figure 3.18 – Solution optimale c’est l’infinie

3.6.3 Aucune solution

Maximiser z = 2x1 + x2
Sous contraintes x1 + x2 ≤ 2
x1 − x2 ≥ 3
x1 ≥ 0, x2 ≥ 0
• Détermination du demi-plan P1

x1 + x 2 ≤ 2 ⇔ x2 ≤ 2 − x1

P1 est situé en dessous de la droite D1 d’équation x2 = 2 − x1 qui passe


par les points (0, 2) et (2, 0)
• Détermination du demi-plan P2

x1 − x2 ≥ 3 ⇔ x2 ≤ x1 − 3

26 Recherche Opérationnelle
3.7 Conclusion

P2 est situé en dessus de la droite D2 d’équation x2 = x1 − 3 qui passe par


les points (0, −3) et (3, 0)
• La zone des solutions réalisables
L’intersection des demi-plans P1 et P2 est vide, il n’existe aucun point qui
satisfait simultanément les deux contraintes ainsi que les contraintes de
non-négativité . (voir figure 3.19). Le programme linéaire ne possède donc
aucune solution.

Figure 3.19 – L’ensemble des points réalisables est impossible

En résumé, il existe quatre types de solutions à un problème de programmation


linéaire :
X Solution optimale unique ;
X Infinité de solutions optimales ;
X Solution optimale infinie (Programme non borné) ;
X Aucune solution ( La zone des solutions réalisables est vide).

3.7 Conclusion
Nous allons résumer quelques-unes des propriétés des problèmes de program-
mation linéaire que nous avons résolus graphiquement. Nous avons vu que pour
un programme linéaire fini, la région des solutions réalisables était convexe, qu’elle
possédait des sommets et que des arêtes reliaient les différents sommets. De plus,
nous avons remarqué que lorsque le maximum ou le minimum de z était fini, la
solution optimale était toujours un sommet de la région réalisable. La situation
était différente quand la fonction objectif pouvait prendre des valeurs infinies.
Dans ce cas, naturellement, aucun sommet n’était optimal. Du point de vue de
la terminologie, des solutions infinies ne sont pas qualifiées d’optimales. Le terme
”solution optimale” est employé quand le minimum ou le maximum de z est fini.
À noter que ces constatations, qui dérivent de simples exemples graphiques, sont
vraies pour le cas général de la programmation linéaire. Nous en reparlerons
d’ailleurs quand nous étudierons la méthode du simplexe.

Pr.Khatmi 27
La méthode graphique

28 Recherche Opérationnelle
Chapitre 4

La méthode du simplexe

4.1 Introduction
On a présenté dans le chapitre précédent une procédure graphique pour ré-
soudre un programme linéaire à deux variables. Par contre, dans la plupart des
problèmes réels, on a plus que deux variables à déterminer. Une procédure algé-
brique pour résoudre les programmes linéaires avec plus que deux variables fera
l’objet de ce chapitre. C’est la méthode de simplexe,elle consiste à suivre un cer-
tain nombre d’étapes avant d’obtenir la solution d’un problème donné. Il s’agit
d’une méthode algébrique itérative qui permet de trouver la solution exacte d’un
problème de programmation linéaire en un nombre fini d’étapes.
Afin de comparer avec la résolution graphique, nous pouvons considérer que nous
sommes dans un espace à n dimensions (nombre de variables d’activité). Les
contraintes délimitent un polyèdre convexe, région des solutions admissibles ; la
fonction objectif est un hyperplan que l’on va déplacer le plus loin possible de
l’origine, jusqu’à l’extrême limite où il n’y aura plus qu’un point d’intersection
(éventuellement un segment, un plan...) avec la région des solutions admissibles.
La solution se trouvant forcément sur le pourtour du polyèdre admissible, la mé-
thode du simplexe consiste en itérations qui font passer d’un sommet du polyèdre
à un autre en sélectionnant le sommet adjacent maximisant la fonction objectif.

29
La méthode du simplexe

4.2 Formulation du problème


Un problème général de programmation linéaire peut se formuler de la manière
suivante :

Optimiser z = c1 x 1 + c2 x 2 + . . . + cn x n (4.1)
 

Sous les contraintes ai1 x1 + ai2 x2 + . . . + ain xn  ≥  bi (4.2)
=
xj ≥ 0 j = 1...n (4.3)
aij , bi et cj sont des constantes connues, avec i = 1 . . . m et j = 1, . . . n
Chaque contrainte pouvant avoir un signe d’inégalité différent.
En résumé, un programme linéaire est un modèle mathématique qu’on peut écrire
sous la forme matricielle suivante :
Optimiser z = cx (4.4)
 

Sous les contraintes Ax  ≥  b (4.5)
=
x≥0 (4.6)
   
x1 a11 a12 · · · a1n
  x2   a21 a22 · · · a2n 
Avec c = c1 c2 · · · cn , x =  ..  et A =  ..
   
.. .. .. 
 .   . . . . 
xn am1 am2 · · · amn
Un problème de programmation linéaire peut se présenter sous différentes
formes. En voici la terminologie.

4.2.1 Forme canonique


Définition 4.2.1. Si la fonction objectif doit être maximisée et si toutes les
contraintes (4.2) sont des inéquations du type ≤, on dit que le programme li-
néaire se présente sous une forme canonique. Matriciellement, un problème de
programmation linéaire se présente sous sa forme canonique de la manière sui-
vante :
Maximiser z = cx (4.7)
Sous les contraintes Ax ≤ b (4.8)
x≥0 (4.9)
Tout problème de programmation linéaire peut être posé sous forme cano-
nique. Deux cas peuvent alors se présenter : La transformation de minimisation
en maximisation, la transformation des contraintes économiques .

30 Recherche Opérationnelle
4.2 Formulation du problème

1. Transformation minimisation-maximisation
Tout problème de minimisation peut être transformé en un problème équi-
valent de maximisation. En effet, le problème :
Minimiser z = cx ⇔ Maximiser (−z) = −cx
La raison pour laquelle ces deux formulations sont équivalentes est simple :
la solution qui permet d’obtenir la plus petite valeur de z fournit également
la plus grande valeur de (−z). La seule différence réside dans le signe de la
valeur de la fonction objectif. La valeur minimale de z s’obtient en prenant
l’opposé de la valeur maximale de (−z).
Exemple 4.2.1. Minimiser z = 3x1 −2x2 +5x3 La formulation équivalente
en terme de maximisation est : Maximiser (−z) = −3x1 + 2x2 − 5x3
2. Transformation des contraintes économiques

(a) si la ieme contrainte est de la forme :


ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m)
en la multipliant par (-1) on obtient :
−ai1 x1 − ai2 x2 − . . . − ain xn ≤ −bi (1 ≤ i ≤ m)

(b) si la ieme contrainte est de la forme :


ai1 x1 + ai2 x2 + . . . + ain xn = bi (1 ≤ i ≤ m)
on peut transformer cette équation en deux inéquations :
ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m)
ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m)
Il suffit alors de multiplier la deuxième équation par (-1) pour obtenir :
ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m)
−ai1 x1 − ai2 x2 − . . . − ain xn ≤ −bi (1 ≤ i ≤ m)
Exemple 4.2.2. Transformer le problème de programmation linéaire suivant
Minimiser z = x1 − 2x2
sous contrainte x1 − 2x2 ≤ 5
3x1 + 2x2 ≥ 2
x1 + x 2 = 7
x1 ≥ 0, x2 ≥ 0
sous forme canonique.

Pr.Khatmi 31
La méthode du simplexe

X Transformer minimiser en maximiser

Minimiser z = x1 − 2x2 ⇔ Maximiser (−z) = −x1 + 2x2


X Transformation des contraintes économiques
La première contrainte est déjà sous forme canonique. La deuxième doit
être multipliée par (-1) :
−3x1 − 2x2 ≤ −2
Finalement, pour la troisième contrainte, on pose :
x1 + x2 ≤ 7 et x1 + x2 ≥ 7
La contrainte x1 + x2 ≥ 7 doit être multiplié par (−1).
Sous forme canonique, le problème de programmation linéaire s’écrit :
Maximiser (−z) = −x1 + 2x2
Sous contraintes x1 − 2x2 ≤ 5
−3x1 − 2x2 ≤ −2
x1 + x 2 ≤ 7
−x1 − x2 ≤ −7
x1 ≥ 0, x2 ≥ 0

4.2.2 Forme standard


Définition 4.2.2. Un problème de programmation linéaire se présente sous sa
forme standard si toutes les contraintes sont des équations. La fonction objectif
doit également être maximisée. Sous forme matricielle, la forme standard s’écrit :
Maximiser z = cx (4.10)
Sous les contraintes Ax = b (4.11)
x≥0 (4.12)
Tout problème de programmation linéaire peut être posé sous forme stan-
dard. Trois cas peuvent alors se présenter : La transformation de minimisation
en maximisation, la transformation des contraintes de signe et la transforma-
tion des contraintes économiques inégalitées en contraintes égalitées. La transfor-
mation minimisation-maximisation et la transformation des contraintes de signe
sont déja traités au paragraphe précédent, il reste la dernière transformation .
Transformation des contraintes inégalitées en contraintes égalitées

Pour transformer les inégalités en égalités, on introduit des variables non-


négatives appelées variables d’écart.

32 Recherche Opérationnelle
4.2 Formulation du problème

1. si la ieme contrainte est de la forme :

ai1 x1 + ai2 x2 + . . . + ain xn ≤ bi (1 ≤ i ≤ m)

nous introduisons une nouvelle variable ti ≥ 0 et écrivons :

ai1 x1 + ai2 x2 + . . . + ain xn + ti = bi

avec
ti = bi − ai1 x1 + ai2 x2 + . . . + ain xn
2. si la ieme contrainte est de la forme :

ai1 x1 + ai2 x2 + . . . + ain xn ≥ bi (1 ≤ i ≤ m)

nous introduisons une nouvelle variable ti ≥ 0 et écrivons :

ai1 x1 + ai2 x2 + . . . + ain xn − ti = bi

avec
ti = ai1 x1 + ai2 x2 + . . . + ain xn − bi

Remarque 4.2.1.
• Avec l’introduction des variables d’écart, tout problème sous forme cano-
nique possède une forme standard équivalente.
• La méthode du simplexe requiert des bi ≥ 0. Par conséquent, les contraintes
qui ont un bi négatif doivent être transformées en contraintes aux bi posi-
tifs. Cette transformation se fait simplement en multipliant la contrainte
par (−1).

Exemple 4.2.3. Transformer le problème de programmation linéaire suivant

Minimiser z = x1 − 2x2
sous contrainte x1 − 2x2 ≤ 5
3x1 + 2x2 ≥ 2
x1 ≥ 0, x2 ≥ 0.

sous forme standard.


X Transformation de minimiser en maximiser

Minimiser z = x1 − 2x2 ⇔ Maximiser (−z) = −x1 + 2x2


X Transformation des contraintes économiques

Pr.Khatmi 33
La méthode du simplexe

• La contrainte x1 − 2x2 ≤ 5
En introduisant la variable d’écart t1 , elle va être transformée en

x1 − 2x2 + t1 = 5

• La contrainte 3x1 + 2x2 ≥ 2


En introduisant la variable d’écart t2 , elle va être transformée en

3x1 + 2x2 − t2 = 2

Sous forme standard, le problème de programmation linéaire s’écrit :

Maximiser (−z) = −x1 + 2x2


Sous contraintes x1 − 2x2 + t1 = 5
3x1 + 2x2 − t2 = 2
x1 ≥ 0, x2 ≥ 0, t1 ≥ 0 et t2 ≥ 0.

En résumé, nous avons vu que la fonction objectif d’un programme linéaire peut
être présentée sous forme de maximisation, que les contraintes peuvent toujours
s’écrire sous forme d’égalité (avec des bi positifs). En d’autres termes un pro-
gramme linéaire peut toujours être présenté sous sa forme standard.

4.3 Résolution du problème par la méthode du


simplexe
Dans le paragraphe précédent, nous avons montré comment un problème de
programmation linéaire pouvait toujours se présenter sous forme standard avec
un second membre positif :

Maximiser z = cx (4.13)
Sous contraintes Ax = b (4.14)
x≥0 (4.15)
b≥0 (4.16)

Dans cette formulation, le vecteur x contient toutes les variables, y compris les
variables d’écart ; il s’agit d’un vecteur colonne d’ordre (n × 1). Le vecteur c est
un vecteur ligne d’ordre (1×n). Quant à la matrice A, d’ordre (m×n), il s’agit de
la matrice des coeffcients des contraintes transformées. Enfin, le vecteur b d’ordre
(m × 1) est le vecteur (positif) du second membre.
Définition 4.3.1.
• On appelle solution d’un problème de programmation linéaire tout vecteur
x qui satisfait les contraintes (4.14).

34 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

• Une solution est appelée solution réalisable si elle vérifie les contraintes de
non-négativité (4.15). Dans le cas contraire, on dit que la solution n’est
pas réalisable.
• Une solution réalisable est une solution optimale s’il n’existe pas d’autres
solutions réalisables qui fournissent une plus grande valeur de la fonction
objectif.
Remarque 4.3.1. À noter que dans un problème possédant des solutions réali-
sables, il se peut que la valeur optimale de la fonction objectif soit infinie. Dans
ce cas, on parle de solution optimale infinie.
L’ensemble des contraintes (4.14) s’écrit donc comme un système de m équa-
tions à n inconnues : Ax = b. Pour développer la méthode du simplexe, nous
avancerons les hypothèses suivantes :
1. r(A) = r(A|b), c’est-à-dire que le système d’équations est compatible.
2. r(A) = m, où m est le nombre de contraintes.
La seconde hypothèse permet de former, à partir de A, une sous matrice B (m×m)
inversivble. Cette matrice B peut être formée par n’importe quel ensemble de m
colonnes linéairement indépendantes de A.. La matrice B est appelée matrice de
base puisqu’elle est formée de m vecteurs linéairement indépendants.
Sans restreindre la généralité, on peut supposer que les colonnes de A ont été
ordonnées de manière à pouvoir écrire A sous la forme A = (B, N ), avec B de
dimension (m×m) la matrice de base et N de dimension (m×(n−m)) contenant
les colonnes de A qui n’appartiennent pas à B. Le vecteur x peut être partitionné
de façon analogue en posant x = (xB , xN ).
Définition 4.3.2 (Variables de base).
Les variables xB sont appelées variables de base et les variables xN les variables
hors base.
Définition 4.3.3 (Base).
La famille I constitué par les indices des variables de bases est dite une base
Finalement le vecteur c peut lui aussi être partitionné de la même manière en
c = (cB , cN ). Le programme linéaire (4.13)-(4.14) peut donc être reformulé de la
manière suivante :

Maximiser z = cB x B + cN x N (4.17)
Sous contraintes BxB + N xN = b (4.18)
xB ≥ 0, xN ≥ 0 (4.19)
b≥0 (4.20)

La contrainte (4.18) peut s’écrire de manière équivalente :

BxB = b − N xN

Pr.Khatmi 35
La méthode du simplexe

etr puisque B est inversible

xb = B −1 b − B −1 N xN

Lorsque toutes les variables hors base sont nulles, xN = 0, la relation (4.3)devient
xb = B −1 b.

Définition 4.3.4 (solution de base).


• On appelle solution de base la solution :
   −1 
xB B b
=
xN 0

• Lorsque xB = B −1 b ≥ 0 et xn = 0, on parle de solution de base réalisable.

Remarque 4.3.2. Si les variables de base forment une solution de base réalisable,
on dit que la base I est réalisable.

Exemple 4.3.1. Soit le problème de programmation linéaire suivant :

Maximiser z = 3x1 + 5x2 + x3


Sous contraintes x1 + 2x2 − x3 ≤ 16
3x1 − 4x2 ≤ 20
x1 ≥ 0, x2 ≥ 0 et x3 ≥ 0

Ce problème peut se mettre sous forme standard en introduisant les variables


d’écart t1 et t2 :

Maximiser z = 3x1 + 5x2 + x3 + 0.t1 + 0t2


Sous contraintes x1 + 2x2 − x3 + t1 = 16
3x1 − 4x2 + t2 = 20
x1 , x 2 , x 3 , t 1 , t 2 ≥ 0

Sous forme matricielle, on obtient donc :


 
x1
   x2   
1 2 −1 1 0   16 
A= , x=  x3 3 5 1 0 0
, b = et c =
3 −4 0 0 1  t1

 20
t2

Formons à partir de A une matrice de base B en prenant par exemple les colonnes
2 et 4, dans cet ordre :  
2 1
B=
−4 0

36 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

Il s’agit bien d’une base puisque B est inversible (|B| = 4 6= 0).


À cette matrice de base correspond une solution de base donnée par : xB = B −1 b.
Dans notre cas :
0 − 41
 

B −1 =  
1
1 2
0 − 14
      
x2 16 −5
xB =  =  = 
1
x4 1 2 20 26
Les autres variables étant nulles, x1 = x3 = x5 = 0. Dans ce cas la base I = (2, 4)
Cette solution de base n’est pas réalisable pour la simple raison que x2 = −5 viole
la contrainte de non-négativité. Dans cet exemple, il est très facile de trouver une
base qui fournisse une solution réalisable de base. En effet les colonnes 4 et 5
forment une base qui est l’identité :
 
1 0
B=I=
0 1
 
16
La solution de base est le vecteur b puisque : xB = I.b = b =
20
Comme b ≥ 0 lorsque le problème est présenté sous sa forme standard, la solution
est une solution réalisable de base, et z a pour valeur : z = 0∆16 + 0∆20 = 0
Définition 4.3.5. Un programme linéaire standard est dit sous forme canonique
par rapport à une base I si la matrice B associée à I est l’identité et les coûts
correspondant aux variables de base sont nuls.

4.3.1 Résolution d’un programme linéaire canonique par


rapport à la base I.
On part de l’exemple traité dans la section résolution graphique

Maximiser z = 1200x1 + 1000x2


Sous contraintes 3x1 + 4x2 ≤ 160
6x1 + 3x2 ≤ 180
x1 ≥ 0, x2 ≥ 0

dont la solution optimale est z = 47200 et réalisée au point x1 = 16 et x2 = 28


Écrivons le programme sous sa forme standard

Maximiser z = 1200x1 + 1000x2 + 0.t1 + 0.t2


Sous contraintes 3x1 + 4x2 + t1 = 160
6x1 + 3x2 + t2 = 180
x1 ≥ 0, x2 ≥ 0, t1 ≥ 0, t2 ≥ 0

Pr.Khatmi 37
La méthode du simplexe

1. Initialisation
Pour avoir une solution initiale réalisable, on commence par extraire de la
matrice A une base I qui soit réalisable et telle que le programme linéaire
soit sous forme canonique par rapport à cette base.
   
3 4 1 0 1 0
A= ⇒B= et I = (3, 4)
6 3 0 1 0 1

la solution de base réalisable initiale est


 
0
 0 
 
 160 
180

Et la fonction objectif initiale est alors z0 = 1200 × 0 + 1000 × 0 = 0


On forme alors un premier tableau 0 à partir du programme linéaire et
de la base I.
Tableau 0
HH HB
H
x1 x2 t1 t2 C
B HHH
t1 3 4 1 0 160
t2 6 3 0 1 180
4 1200 1000 0 0 -z=0
Ce tableau nous donne la première solution admissible :
X Les variables Hors Base (HB) sont nulles :x1 = 0 ; x2 = 0 (t1 et t2 en
rouge ne sont pas hors base ; elles ne sont présentes que pour rappeler
qu’il s’agit des colonnes des coefficients de ces deux variables dans la
matrice A)
X Les valeurs des variables dans la Base (B) se lisent dans la colonne C :
t1 = 160 et t2 = 180 La dernière cellule (intersection de C et 4) donne
la valeur de −z : −z = 0 donc z = 0
X La ligne 4 donne les valeurs marginales ou taux marginaux de sub-
stitution ; elles s’interprètent de la manière suivante : à ce stade de la
solution, une augmentation de 1 unité de x1 ferait accroı̂tre la fonction
objectif de 1200, et une augmentation de 1 unité de x2 ferait accroı̂tre
la fonction objectif de 1000.
L’algorithme du simplexe s’écrit schématiquement ainsi :
• Former le premier tableau du simplexe.
• Vérifier si le test d’arrêt est vérifié.
• Sinon, faire le tableau suivant et changer de base.
Les conditions du tableau du simplexe
A chaque itération les conditions suivantes doivent être vérifiées :

38 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

• Le programme linéaire est sous forme canonique par rapport à la base.


• La base est réalisable (les éléments de la dernière colonne sont positifs
ou nuls).
• Les variables de base sont listées sur la première colonne.
• La case en bas à droite vaut −z
• Les coûts des variables de base sont nuls.
2. Tableau suivant
L’objectif est d’augmenter la fonction objectif en faisant entrer une variable
(HB) dans la base à la place d’une autre variable de base qui va sortir de
la base.
Critère de sélection de la variable entrant dans la base :
On sélectionne la variable HB ayant le plus grand coefficient positif dans
la ligne 4, la colonne pivot est alors trouvée. Dans notre exemple x1 entre
dans la base.

HHB :
HH
x1 x2 t1 t2 C
B H HH
t1 3 4 1 0 160
t2 6 3 0 1 180
4 1200 1000 0 0 −z = 0

Pour sélectionner la variable sortante de la base, il est nécessaire de ra-


jouter une colonne R au tableau, obtenue en faisant le rapport membre
à membre de la colonne C et de la colonne de la variable entrant dans la
base (x1 ).

HHB :
HH
x1 x2 t1 t2 C R
B HHH
160
t1 3 4 1 0 160 3
t2 6 3 0 1 180 30
4 1200 1000 0 0 −z = 0

Remarque 4.3.3. Sur la colonne R :


• Un 0 dans la colonne C est remplacé par un infiniment petit positif ε
pour effectuer le calcul de R
• Dans la colonne R on ne tient pas compte des valeurs négatives ou
indéterminées.
Critère de sélection de la variable sortant de la base :
On sélectionne la variable dans la base ayant le plus petit coefficient positif
dans la colonne R, la ligne pivot est alors trouvée. Dans notre exemple t2

Pr.Khatmi 39
La méthode du simplexe

sort de la base.
HHHB :
H
x1 x2 t1 t2 C R
B HHH
160
t1 3 4 1 0 160 3
t2 6 3 0 1 180 30
4 1200 1000 0 0 −z = 0
On appelle pivot l’intersection de la variable entrante et de la variable
sortante, dans notre exemple le pivot est 6.
Pour obtenir le tableau qui suit, on applique les règles suivantes :
N Les coefficients de la ligne du pivot sont divisés par le pivot. Le pivot
prend donc la valeur 1.
N Les coefficients de la colonne du pivot sont remis à 0 excepté le pivot
qui reste à la valeur 1.
N Pour les autres valeurs du tableau procéder comme suit à partir du
tableau précédent :
CCP ∗ CLP
N V = AV −
P
Avec :
• NV : Nouvelle Valeur de la case considérée du tableau
• AV : Ancienne Valeur de la case considérée du tableau
• CCP : Coefficient précédent de la colonne pivot situé sur la même
ligne que AV
• CLP : Coefficient précédent de la ligne pivot situé sur la même
Colonne que AV
• P : Valeur précédente du pivot.
Tableau 1
HHB :
HH
x1 x2 t1 t2 C
B H HH
t1 0 5/2 1 −1/2 70
x1 1 1/2 0 1/6 30
4 0 400 0 -200 −36000

3. Test d’arrêt

Théorème 4.3.1 (Problème non borné).


Considérons un programme linéaire sous forme canonique par rapport à
une base réalisable I. S’il existe une variable hors base dont le coût sur
la ligne 4 est positif et tous les autres coefficients de la colonne de cette
variable sont négatifs ou nuls alors le programme linéaire n’est pas borné,
la solution est donc l’infini.

40 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

Théorème 4.3.2 (condition suffisante d’optimalité).


Considérons un programme linéaire sous forme canonique par rapport à
une base réalisable I. Si les coûts sur la ligne 4 correspondant aux variables
hors base sont négatifs ou nuls alors la solution de base I est la solution
optimale et l’objectif à l’optimum est z.

Théorème 4.3.3 (Solution unique).


Si les coûts sur la ligne 4 correspondant aux variables hors base sont stricte-
ment négatifs alors la solution de base I est la solution optimale unique et l’objectif
à l’optimum est z.

Théorème 4.3.4 (Infinité de solutions).


Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la
ligne 4, alors on a une arête (plan,...) optimale. La solution optimale constitue
le premier sommet et les autres sommets solutions sont obtenus en faisant rentrer
cette variable dans la base.

Dans le tableau 1, on remarque que la variable x2 a un coût 400, donc positif


et il ya au moins un coefficient de la colonne x2 est positif, donc on passe au
tableau 2. Pour ce faire, on doit trouver la colonne et la ligne pivot.

HHHB :
H
x1 x2 t1 t2 C R
B H
HH
t1 0 5/2 1 −1/2 70 28
x1 1 1/2 0 1/6 30 60
4 0 400 0 -200 −36000
x2 rentre dans la base et t1 sort de la base.

T ableau2

HHB :
HH
x1 x2 t1 t2 C
B HH
H
x2 0 1 2/5 −1/5 28
x1 1 0 −1/5 4/15 16
4 0 0 -160 -120 −47200
Tous les coefficients de la ligne 4 relatifs aux variables HB, sont négatifs ou
nuls, la solution trouvée est optimale. Nous avons donc ici atteint la solution
optimale.Ce tableau nous donne la solution optimale admissible :
X Les variables Hors Base (HB) sont nulles : t1 = 0 ; t2 = 0
X Les valeurs des variables dans la Base (B) se lisent dans la colonne C :

x2 = 28 et x1 = 16

Pr.Khatmi 41
La méthode du simplexe

X La dernière cellule (intersection de C et 4) donne la valeur de -z :

−z = −47200 ⇒ z = 47200

La ligne 4 donne les valeurs marginales ou taux marginaux de substitution ;


elles s’interprètent de la manière suivante : à ce stade de la solution, une aug-
mentation de 1 unité de t1 ferait diminuer la fonction objectif de 160, et une
augmentation de 1 unité de t2 ferait diminuer la fonction objectif de 120 (il est à
noter qu’une augmentation de 1 unité d’une variable d’écart revient à diminuer
le second membre de l’équation correspondante de 1 unité).
Exemple 4.3.2 (Infinité de solutions).

Maximiser z = x1 + 2x2
Sous contraintes −3x1 + 2x2 ≤ 2
x1 + 2x2 ≤ 4
−x1 + x2 ≤ 5
x1 ≥ 0, x2 ≥ 0,

1. Ecriture sous forme standard :

Maximiser z = x1 + 2x2 + 0t1 + ot2


Sous contraintes −3x1 + 2x2 + t1 = 2
x1 + 2x2 + t2 = 4
−x1 + x2 + t3 = 5
x1 ≥ 0, x2 ≥ 0, t1 ≥ 0, t2 ≥ 0, t3 ≥ 0

2. Initialisation :
   
−3 2 1 0 0 1 0 0
A =  1 2 0 1 0  ⇒ B =  0 1 0  et I = (3, 4, 5)
−1 1 0 0 1 0 0 1

les variables de base sont t1 , t2 et t3 dont les coûts sont nuls, donc la pre-
mière solution réalisable est
 
0
 0 
 
x=  2 

 4 
5

La fonction objectif initiale est z0 = 1 × 0 + 2 × 0 = 0


3. Tableaus du simplexe

T ableau0

42 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

HHB :
HH
x1 x2 t1 t2 t3 C R
B HH
H
t1 -3 2 1 0 0 2 1
t2 1 2 0 1 0 4 2
t3 -1 1 0 0 1 5 5
4 1 2 0 0 0 -z=0
Dans le tableau 0, on remarque que la variable x2 a un coût 2, donc positif
et il ya au moins un coefficient de la colonne x2 qui est positif,en plus
aucune variable hors base n’a un coût nul donc on passe au tableau 1.
T ableau1
HHHB :
H
x1 x2 t1 t2 t3 C R
B HHH
x2 − 32 1 1
2
0 0 1 − 23
1
t2 4 0 -1 1 0 2 2
1
t3 2
0 − 12 0 1 4 8
4 4 0 -1 0 0 -z=-2
Dans le tableau 1, on remarque que la variable x1 a un coût 4, donc positif
et il ya au moins un coefficient de la colonne x1 qui est positif,en plus
aucune variable hors base n’a un coût nul donc on passe au tableau 2.
T ableau2

HHB :
HH
x1 x2 t1 t2 t3 C R
B HHH
1 3 7
x2 0 1 8 8
0 4
14
x1 1 0 − 14 1
4
0 1
2
-2
t3 0 0 − 38 - 18 1 15
4
-10
4 0 0 0 -1 0 -z=-4
Les coûts sur la ligne 4 correspondant aux variables hors base sont négatifs
ou nuls, donc c’est la fin des itérations.On remarque que le coût de la
variable hors base t1 est nul, donc la solution est un ségement de premier
sommet M1 = ( 12 , 74 ), l’autre sommet est retrouvé en faisant entrer t1 dans
la base.
T ableau3
HHHB :
H
x x2 t1 t2 t3 C R
B HHH 1
t1 0 8 1 3 0 14
x1 1 2 0 1 0 4
t3 0 3 0 1 1 9
4 0 -4 0 -1 0 -z=-4
L’autre sommet est M2 = (4, 0).

Pr.Khatmi 43
La méthode du simplexe

Exemple 4.3.3 (Problème non borné).

Maximiser z = 3x1 + 4x2


Sous contraintes −2x1 + 5x2 ≤ 8
−x1 − 3x2 ≤ 3
x1 ≥ 0, x2 ≥ 0

1. Ecriture sous forme standard :

Maximiser z = 3x1 + 4x2 + 0t1 + 0t2


Sous contraintes −2x1 + 5x2 + t1 = 8
−x1 − 3x2 + t2 = 3
x1 ≥ 0, x2 ≥ 0, t1 ≥ 0, t2 ≥ 0

2. Initialisation :
   
−2 5 1 0 1 0
A= ⇒B= et I = (3, 4)
−1 −3 0 1 0 1

les variables de base sont t1 et t2 dont les coûts sont nuls, donc la première
solution réalisable est  
0
 0 
x=  8 

La fonction objectif initiale est z0 = 1 × 0 + 2 × 0 = 0


3. Tableaus du simplexe
T ableau0
HHHB :
H
x1 x2 t1 t2 C R
B HHH
t1 -2 5 1 0 8
t2 -1 -3 0 1 3
4 3 4 0 0 −z = 0
On remarque que x1 qui est une variable hors base a un coût positif mais
les autres élément de sa colonne sont négatifs, donc le problème est non
borné et la solution est l’infinie.

HHB :
HH
x1 x2 t1 t2 C R
B HHH
t1 -2 5 1 0 8
t2 -1 -3 0 1 3
4 3 4 0 0 −z0 = 0

44 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

4.3.2 Résolution d’un programme linéaire sachant qu’une


variable de base a un coût non nul
Exemple 4.3.4.
Maximiser z = 3x + y
Sous contraintes x ≤ 7
x+y = 2
x ≥ 0, y ≥ 0
1. Ecriture sous forme standard :
Maximiser z = 3x + y
Sous contraintes x+t = 7
x+y = 2
x ≥ 0, y ≥ 0, t ≥ 0

2. Initialisation
   
1 0 1 1 0
A= ⇒B= et I = (3, 2)
1 1 0 0 1
les variables de base sont t et y, or y a un coût égal à 1, donc non nul.
Pour que le programme soit canonique par rapport à la base I, il faut sup-
primer la variable y de la fonction objectif, pour cela il suffit de l’écrire en
fonction des variables hors base en utiulisant les équations des contraintes
économiques. D’aprés la deuxième équation, on a x + y = 2 ⇒ y = 2 − x,
donc z0 = 3x + (2 − x) = 2x + 2, le problème devient alors
Maximiser z = 2x + 2
Sous contraintes x+t = 7
x+y = 2
x ≥ 0 y ≥ 0, t ≥ 0
La première solution réalisable est
 
0
x0 =  7  et z0 = 2 × 0 + 2 = 2
2

3. Tableaus du simplexe
T ableau0
HHB :
HH
x y t C
B HHH
t 1 0 1 7
y 1 1 0 2
4 2 0 0 −z = −2

Pr.Khatmi 45
La méthode du simplexe

HHB :
HH
x y t C R
B HHH
t 1 0 1 7 7
y 1 1 0 2 2
4 2 0 0 −z = −2
T ableau1
HHB :
HH
x y t C
B HH
H
t 0 -1 1 5
x 1 1 0 2
4 0 -2 0 −z = −6
Le test d’arrêt est vérifié, tous les coûts sont négatifs ou nuls et aucune
variable hors base n’a un coût nul, donc la solution est unique.
   
x 2
Mop = = et zop = 6
y 0
Remarque 4.3.4.
• y = 0 car c’est une variable hors bas On donne pas la valeur des
variables d’out
• d’aprés le tableau 1, t = 5 mais comme c’est une variable d’écart, ce
n’est pas nécessaire de la donner.

4.3.3 Résolution d’un programme linéaire quelconque :


Méthode à deux phases
Pour pouvoir traiter les programmes linéaires généraux, la difficulté consiste
à former un premier tableau du simplexe satisfaisant les invariants. En effet, for-
mer ce premier tableau équivaut à identifier un sommet du polyèdre solutions
réalisables (via la solution de base) et donc, en particulier, à démontrer que le
programme linéaire admet au moins une solution réalisable.
Dans le cas d’un programme linéaire sous forme canonique par rapport à la base
, l’origine est une solution évidente mais c’est faux en général.
Dans cette section, on montre que le problème de la recherche d’un premier ta-
bleau peut se réduire en un problème d’optimisation, la résolution d’un autre
programme linéaire, appelé ( programme artificiel ), qui relève, lui, du cas pro-
gramme sous forme canonique par rapport à la base.
Prenons pour exemple le programme suivant qu’on résolu avec la méthode gra-
phique.
Maximiser z = 2x1 + 5x2
Sous contraintes 8x1 + 4x2 ≥ 40
x1 + 5x2 ≥ 10
x1 ≥ 0, x2 ≥ 0

46 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

1. Ecriturer standard

La mise sous forme standard ramène deux variables d’écart.


Maximiser z = 2x1 + 5x2
Sous contraintes 8x1 + 4x2 − t1 = 40
x1 + 5x2 − t2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0

2. Matrice A  
8 4 −1 0
1 5 0 −1
On remarque qu’on ne peut extraire l’identité I2 de la matrice A, donc le problème
n’est pas canonique. Pour trouver une première base réalisable, on introduit des
variables artificielles dans les équations qui posent problème. On prends pour
objectif artificielle minimiser ses varaibles.
On introduit des variables artificielles dans les équations qui posent problème.
On prends pour objectif artificielle minimiser ses varaibles.
Le programme artificielle associé est

Minimiser w = k1 + k2
Sous contraintes 8x1 + 4x2 − t1 + k1 = 40
x1 + 5x2 − t2 + k2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0

m
Maximiser (−w) = −k1 − k2
Sous contraintes 8x1 + 4x2 − t1 + k1 = 40
x1 + 5x2 − t2 + k2 = 10
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 k1 ≥ 0, k2 ≥ 0
Le programme artificielle relève du cas de programme canonique par rapport
à la base, en effet :
   
8 4 −1 0 1 0 1 0
A= ⇒B= et I = (5, 6)
1 5 0 −1 0 1 0 1

Les variables de base sont alors k1 et k2 et celles hors base sont x1 , x2 , t1 et t2 .


Il y a bijection entre les solutions du programme linéaire initial et les solutions
du programme artificiel telles que k1 = k2 = 0. Pour déterminer si le programme
initial admet au moins une solution, il suffit donc de déterminer si le programme
artificiel a une solution telle que k1 = k2 = 0. C’est ce qu’on fait en prenant pour
objectif : minimiser k1 + k2 .
Pour pouvoir appliquer l’algorithme du tableau du simplexe, il reste une difficulté

Pr.Khatmi 47
La méthode du simplexe

technique à lever : les variable k1 et k2 sont en base alors que leurs coûts sont non
nuls (l’une des conditions du tableau du simplexe n’est pas satisfait). Il suffit de
reformuler l’objectif en utilisant l’équation où figure les variables artificielles :

8x1 + 4x2 − t1 + k1 = 40 ⇔ 8x1 + 4x2 − t1 − 40 = −k1

x1 + 5x2 − t2 + k2 = 10 ⇔ x1 + 5x2 − t2 − 10 = −k2

La fonction objectif artificielle devient alors :

Maximiser (−w) = −k1 − k2 ⇔ Maximiser ($) = 9x1 + 8x2 − t1 − t2 − 50

Attention, cette fois ci la fonction objectif initiale est $0 = −50. On obtient


ainsi le tableau initial tableau 0 satisfaisant toutes les conditions du tableau du
simplexe. On applique au programme artificiel l’algorithme donné dans le cas fa-
vorable.

HHB :
HH
x1 x2 t1 t2 k1 k2 C R
B HH
H
Tableau 0 : k1 8 4 −1 0 1 0 40 5
k2 1 5 0 −1 0 1 10 10
4 9 9 -1 -1 0 0 50

HHB :
HH
x1 x2 t1 t2 k1 k2 C R
B HH
H
Tableau 1 : x1 1 1/2 −1/8 0 1/8 0 5 10
k2 0 9/2 1/8 −1 −1/8 1 5 10/9
4 0 9/2 1/8 -1 −9/8 0 5

HHB :
HH
x1 x2 t1 t2 k1 k2 C
B HH
H
Tableau 2 : x1 1 0 −5/36 1/9 5/36 -1/9 40/9
x2 0 1 1/36 −2/9 −1/36 2/9 10/9
4 0 0 0 0 −1 -1 0

L’optimum du programme artificiel est $0 = 0. Les variables artificielles k1 et


k2 sont hors base. On obtient une première base réalisable pour le programme
linéaire initial en supprimant simplement les variables artificielles. On
obtient ainsi un programme linéaire équivalent au programme linéaire initial avec
une première base réalisable I = (1,2), les variables dans la base sont alors x1 et

48 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

x2 et celles hors bases sont t1 et t2 .


Maximiser z = 2x1 + 5x2 (4.21)
5 1 40
Sous contraintes x1 − t1 + t2 = (4.22)
36 9 9
1 2 10
x2 + t1 − t2 = (4.23)
36 9 9
x1 ≥ 0, x2 ≥ 0 t1 ≥ 0, t2 ≥ 0 (4.24)
Proposition 4.3.1. Le programme linéaire initial admet au moins une solution
réalisable si et seulement si l’objectif réalisé à l’optimum du programme artificiel
est $0 = 0.
Proposition 4.3.2. Supposons que l’objectif réalisé à l’optimum du programme
artificiel soit $0 = 0. La solution optimale du programme artificiel fournit une
première base réalisable au programme linéraire initial si et seulement si aucune
variable artificielle n’est en base.
On remarque que le programme linéaire obtenu ne satisfait pas toutes les
conditions de l’algorithme du tableau du simplexe puisque les coûts correspondant
aux variables de base ne sont pas tous nuls. On applique la même technique que
précédemment : on réécrit l’objectif en se servant des équations des contraintes
(4.22) et (4.23).
5 1 40 5 1 40
x1 − t1 + t2 = ⇔ x1 = t1 − t2 +
36 9 9 36 9 9
1 2 10 1 2 10
x2 + t1 − t2 = ⇔ x2 = − t1 + t2 +
36 9 9 36 9 9
La fonction objectif z est alors égale à :
5 8 130
z = t1 + t2 +
36 9 9
Pour déterminer z0 , on évalue l’objectif (attention à la constante) sur la solution
de base : z0 = 130
9

HHB :
HH
x1 x2 t1 t2 C R
B HHH
Tableau 0 : x1 1 0 −5/36 1/9 40/9 40
x2 0 1 1/36 −2/9 10/9 -5
4 0 0 5/36 8/9 -130/9

HHB :
HH
x1 x2 t1 t2 C
B HHH
Tableau 1 : t2 9 0 −5/4 1 40
x2 2 1 −1/4 0 10
4 -8 0 5/4 0 -50

Pr.Khatmi 49
La méthode du simplexe

On remarque que la variable hors base t1 a une valeur positive dans la ligne
4, mais ses autres coefficients sont tous nuls, donc le test d’arrêt est vérifié, le
problème n’est pas borné et la solution optimale est l’infini, résultat confirmé par
la méthode graphique.
Proposition 4.3.3. Le programme linéaire initial n’admet pas de solution réali-
sable si et seulement si à la fin des itérations du programme artificiel $0 6= 0.
Exemple 4.3.5.
Maximiser z = 2x + y
Sous contraintes x+y ≤ 2
x−y ≥ 3
x ≥ 0, y ≥ 0
1. Ecriture sous forme standard :
Maximiser z = 2x + y
Sous contraintes x + y + t1 = 2
x − y − t2 = 3
x ≥ 0, y ≥ 0 t1 ≥ 0 t2 > 0

2. Initialisation  
1 1 1 0
A=
1 −1 0 −1
On remarque qu’onne  peut extraire l’identité I2 de la matrice A,il nous
0
manque la colonne donc le problème n’est pas canonique. Pour trou-
1
ver une première base réalisable, on introduit une variable artificielle
k dans la deuxième équation ”Equation qui pose le problème”.

Le programme artificielle associé est

Minimiser w=k
Sous contraintes x + y + t1 = 2
x − y + t2 + k = 3
x ≥ 0, y ≥ 0, t1 ≥ 0, t2 ≥ 0, k ≥ 0

qui est équivalent au problème suivant :

Maximiser w = −k
Sous contraintes x + y + t1 = 2
x − y + t2 + k = 3
x ≥ 0, y ≥ 0, t1 ≥ 0, t2 ≥ 0, k ≥ 0

50 Recherche Opérationnelle
4.3 Résolution du problème par la méthode du simplexe

     
1 1 1 0 0 1 0 t1
⇒B= , I = (3, 5) et Vb =
1 −1 0 −1 1 0 1 k
k a un côut non nul, il faut l’écrire en fonction des variables hors base

−k = x − y − t − 2 − 3 ⇒ w = x − y − t2 − 3
   
x 0
 y   0 
   
la solution réalisable du problème artificiel est  t1
 =  2  et w0 = −3
   
 t2   0 
k 3
Tableau 0
HHB :
HH
x y t1 t2 k C
B H HH
t1 1 1 1 0 0 2
k 1 -1 0 -1 1 3
4 1 -1 0 -1 0 −w = 3

HHB :
HH
x y t1 t2 k C R
B HHH
t1 1 1 1 0 0 2 2
k 1 -1 0 -1 1 3 3
4 1 -1 0 -1 0 −w = 3
Tableau 1
HHB :
HH
x y t1 t2 k C
B HH
H
x 1 1 1 0 0 2
k 0 -2 -1 -1 1 1
4 0 -2 -1 -1 0 −w = 1
On remarque que le test d’arrêt est vérifié puisque aucune varaible hors base n’a
un coût positif, cependant −w = 1, donc il n’ya pas de solution réalisable pour le
problème initial.

Pr.Khatmi 51

Vous aimerez peut-être aussi