Vous êtes sur la page 1sur 64

Ecole des Hautes Etudes Commerciales

LA RECHERCHE OPERATIONELLE
Cours & Exercices

Polycopié destiné aux étudiants de Tronc Commun en sciences de gestion et


sciences commerciales

Elaboré par :
Mme HADDAD Fatma Zohra

2016/2017
Avant propos

Le présent polycopié expose les principales techniques de la Recherche


Opérationnelle. Il répond à une demande insistante des étudiants en Sciences
Commerciales et de gestion qui ne trouvent pas toujours des ouvrages
correspondant à leur profil.

Il se compose de quatre chapitres. Le premier chapitre présente les


caractéristiques d’un programme linéaire. Le second propose les méthodes de
résolution d’un programme linéaire. Le troisième évoque l’analyse
économique. Le quatrième chapitre présente les problèmes concrets résolus par
la recherche Opérationnelles à savoir le problème de transport ; et les problèmes
dynamiques. Une série diversifiée d’exercices conclut ce travail.

Le lecteur voudra bien excuser nos éventuelles erreurs qui auraient pu se


glisser dans le texte.
Introduction à la Recherche Opérationnelle

De milliers de décisions sont prises chaque jour dans les entreprises. Cependant, Il
existe plusieurs types de classifications de décision, celles selon le degré de risque (certaines,
aléatoires et incertaines), une deuxième classification selon le niveau de décisions présenté
par I.ANSOFF (stratégiques, tactiques et opérationnelles). Par contre, H.SIMON distingue
une classification selon le type d’information et possibilité de modélisation (structurées, semi
structurées et non structurées). La classification de la décision que nous allons adopter est
celle de SIMON, du faite qu’elle se rapproche plus de notre sujet d’étude.

SIMON (Economiste prix Nobel 1978) est l’auteur du modèle IMC (Intelligence,
Modélisation, Choix), qui parle de la complexité du processus décisionnel où il parle d’une
rationalité limitée. Il considère que le processus décisionnel est constitué de trois étapes :

- Intelligence : il s’agit de comprendre en recueillant les informations possibles sur l’entreprise


et son environnement.
- Modélisation : les informations recueillies vont être traité, les décideurs vont ensuite
rechercher les solutions envisageables.

Choix de la meilleure solution compte tenu des contraintes.


Donc, toute prise de décision est soutenue par un recueil d’information, modélisation
et en fin un choix. C’est dans cette optique, que l’approche quantitative est très importante
vue qu’elle traite de l’information structurées.

Le concept de la Recherche Opérationnelle


La Recherche Opérationnelle est définie par Robert FAURE comme « l’ensemble des
méthodes et techniques rationnelles d’analyses et de synthèses des phénomènes
d’organisation utilisables pour élaborer de meilleures décisions. »1 .
La Recherche Opérationnelle, encore appelée science du management ou science de la
décision, est une discipline dont l’objet est d’aider les gestionnaires à prendre des décisions en
utilisant des modèles et des méthodes scientifiques adaptés. Elle aide à résoudre les problèmes
concrets.

1
FAURE Robert, Précis de RO, édition : DUNOD, 2000, page:13
La première étape pour résoudre un problème est de l’identifier à un modèle connu ;
ensuite les méthodes associées à ce modèle sont appliquées pour proposer des solutions.
Notons que la finalité de la Recherche Opérationnelle est la prise de décision plutôt que la
description ou l’explication de phénomènes observés.

On situe habituellement la naissance de la RO lors de la deuxième guerre mondiale,


lorsque l’Etat-major britannique fit appel à des équipes de mathématiciens et de physiciens
pour l’aider à analyser des questions de stratégie militaire (développement d’un réseau de
radars, organisation des convois maritimes…). Après la guerre, cette approche systématique
et scientifique des problèmes de décision a été transposée au monde économique et industriel
où elle a connu de nombreux succès. Depuis, de nouvelles méthodes et de nouveaux champs
d’application ont vu le jour.

Les questions auxquelles s’intéresse la RO peuvent être classées en différentes


catégories (pas nécessairement exclusives), selon les caractéristiques des situations visées, des
modèles utilisés pour les représenter et des techniques de résolution utilisées2.
On peut par exemple évoquer les problèmes combinatoires, aléatoires ou
concurrentiels. Les problèmes combinatoires apparaissent lorsque le nombre de réponses
possibles est trop important pour pouvoir être énuméré complètement (ordonnancement de la
production, planning du personnel…). En environnement aléatoire, tous les paramètres du
problème ne sont pas connus avec certitude (gestion des pannes, des stocks, des files
d’attente, de portefeuilles financiers…). Dans ce cas, des outils de la théorie des probabilités
sont souvent combinés à ceux de la simulation numérique. En environnement concurrentiel, le
décideur doit sélectionner une stratégie sans connaître la position qu’adoptera son adversaire
(choix politique, décision d’investissements, positionnement de produits…).

Outre l’arsenal classique de l’analyse mathématique, la RO fait un usage intensif des


mathématiques discrètes (par opposition aux mathématiques du continu) et de
l’algorithmique. La popularité grandissante des méthodes de RO est d’ailleurs
indissociablement liée à la percée fulgurante de l’informatique (en particulier, de la micro-
informatique) dans le monde de la gestion. Des outils aussi puissants et aussi complexes que
la programmation linéaire, les algorithmes de graphes, l’optimisation combinatoire, l’analyse

2
https://educnet.enpc.fr/pluginfile.php/17191/mod_resource/content/0/CoursROPonts.pdf
multicritère, la simulation et les processus stochastiques sont ainsi disponibles grâce au
tableur Excel).
Dans un contexte économique caractérisé par une concurrence féroce, des marges
réduites et la complexité croissante des décisions de gestion, la RO devient souvent un outil
indispensable pour améliorer la performance des entreprises et semble encore promise à un
bel avenir.

L’entreprise et la Recherche Opérationnelle


L'un des rôles de la R.O est de trouver l'équilibre optimal entre les facteurs qui,
souvent, se font opposition au sein des entreprises. Ainsi, le nombre d'ouvriers, les coûts reliés
à leur travail, les quantités d’heures machines disponibles sont des facteurs qui restreignent la
production, tandis que les profits découlant de la production, les commandes à satisfaire
poussent en sens inverse.
Va-t-on passer en régime d'heures supplémentaires, acheter des machines ou se
contenter de les louer ? Doit- on accroître la part de marché d'un des produits par un effort de
marketing ? Est- il rentable d'investir dans un projet des capitaux empruntés au taux actuel du
marché ?
Comme ces questions le suggèrent, l'entreprise est une arène où s'affrontent des points
de vue conflictuels.
Pour une bonne part, l'utilité de la R.O dans l'entreprise provient du fait qu'elle force
les décideurs à considérer leurs problèmes de façon rationnelle et cohérente. Il leur faut
définir précisément chaque problème non seulement pour repérer clairement l'objectif
poursuivi et les variables de décision qui influent sur l'attente de cet objectif, mais aussi pour
analyser toutes les interactions entre ces variables.
Donc, l'utilisation de modèles de R.O peut aider l'entreprise à contribuer à la stabilité
économique. « Elle peut aussi comme dans certains modèles de régularisation de la
production, permettre à l'entreprise de réaliser ses objectifs afin d’assurer sa survie.

Les phases d’une étude de Recherche Opérationnelle 3

3
Jean-François PHELIZON, Méthodes et Modèles de la Recherche Opérationnelle, édition :
économica, 1998, Page : 50
• Formulation du problème
• Construction du modèle mathématique
 Identification des variables associées au problème
 Formulation des contraintes qui délimitent les valeurs que peuvent
prendre les variables
 Formulation de la mesure d’efficacité associée aux variables (fonction
linéaire dite fonction objectif)
• Obtention d’une solution optimale à partir du modèle
• Vérification du modèle et de la solution
• Établissement de contrôle sur la solution
• Mise en œuvre de la solution

Chapitre I : La programmation Linéaire


Dans l’expression « programmation linéaire » le mot programmation signifie
« planification de taches, d’activités ». Cet usage date des années quarante. Ce n’est que plus
récemment que le mot a pris un tout autre sens, au moins chez les informaticiens. L’adjectif
« linéaire » signifie que les contraintes et les objectifs à atteindre sont modélisés par des
expressions linéaires en les variables du problème.

Section I : Généralités sur la programmation linéaire

1- Définition :

Un programme linéaire est un problème d'optimisation dans lequel : les variables doivent
satisfaire un ensemble d'équations et/ou d'inéquations linéaires, appelées « contraintes »;
on cherche à maximiser ou minimiser une fonction linéaire de ces variables, appelée
« fonction objective ou fonction économique ». Ainsi, la Programmation linéaire occupe
une place très importante et sa mise en point fut étroitement liée au développement de
l’informatique scientifique4.

2- La formulation d’un programme linéaire

- La mise en forme mathématique


 Définir les variables de décision
• ensemble des variables qui régissent la situation à modéliser
• variables réelles, entières, binaires
 Préciser la fonction objective
• fonction mathématique composée des variables de décision qui représente le
modèle physique modélisé
• fonction linéaire,
 Préciser les contraintes du problème
• ensemble des paramètres qui limitent le modèle réalisable
• équations ou inéquations composées des variables de décision

 Préciser les paramètres du modèle


• constantes associées aux contraintes et à la fonction objective
 Validation du modèle et des résultats

4
 http://www.enib.fr/~tisseau/pdf/course/info.pdf.
• S’assurer que :
o Le modèle développé est conforme à la réalité
o Les résultats sont valides dans toutes les conditions

 Conception du système d’application


• Possibilité d’utiliser des logiciels spécialisés

3- Les hypothèses d’un programme linéaire 5 


• La linéarité des contraintes et de la fonction objective
• La proportionnalité des gains/coûts et des consommations de ressources
• La divisibilité des variables
• Le déterminisme des données

Exemple 6
Une firme fabrique deux produits A et B avec trois matières : M1, M2 et M3, selon le
tableau suivant :
A B Stocks
M1 2 1 8
M2 1 2 7
M3 0 1 3
Gain / unité 4 5

Les variables :
Soit x1 la quantité du produit A et x 2 la quantité du produit B. Nous remarquons que les
variables x1 et x2 qui représentent des productions, ne peuvent pas avoir de valeurs négatives ;

x 1≥0 et x 2≥0 .

Les contraintes :

- bilan de M1 :
2 x 1 +x 2 ≤8

- bilan de M2 :
x 1 +2 x 2 ≤7

- bilan de M3 :
x 2≤3

5
Ces hypothèses résument celles qui ont été donné par G. B. Dantzig : La proportionnalité, La non-
négativité, l’additivité et la linéarité de la fonction objectif
6
Exemple adapté du livre : Exercices et problèmes de Recherche Opérationnelle, p :56,Roseaux
2005.Edition dunod.
L'objectif :
Il s’agit de rendre le profit maximum, c'est à dire de maximiser la fonction :
Z =4 x 1 +5 x 2

4- Les composantes d’un Programme Linéaire

- Les variables de décision ou d’activité 


Se sont les variables du problème étudié. IL s’agit pour l’entreprise de sélectionner le
meilleur programme d’activités où X =( x1, x2 ,x3,….,xn) , c'est-à-dire celui qui est le plus
conforme à ses objectifs, et ceux sont des variables hors base.

- Les coefficients économiques de la fonction objectif :


Ils mesurent le degré de réalisation de l’objectif de l’entreprise, associé à une valeur
unitaire de chacune des variables. A chaque variable x j est ainsi associé un coefficient
économique (c1,c2,c3,…., cn.). la signification des coefficients économiques change selon la
fonction objectif :
Dans le cas de maximisation, le coefficient économique représente : un profit, un prix
de vente, une marge bénéficiaire.
Dans le cas de minimisation, le coefficient économique représente : un cout variable, un cout
fixe, un cout total, un cout de transport.

- Les ressources : b1,b2, b3,….bm


Elles sont les éléments qui limite le calcul économique de l’entreprise : des capacités
de production limitées, des normes à respecter, potentiel de vente. Dans tout problème, il
faudra ainsi prendre en considération un vecteur de ressources B= ( b1,b2, b3,….bm )donnés.

- Les coefficients techniques : a11, a12, a13  ,……,an


Ils désignent le degré de consommation d’une ressource par activité. A la ressource i
et l’activité j correspondra au coefficient technique a ij. Dans la mesure où le problème étudié
met en jeu n activités et m ressources, il faudra considérer mn coefficients techniques que l’on
pourra regrouper dans un tableau du type suivant :

Activités 1……………….i……………..n
Ressources
1 a 11………….…a1j ….……..a1n

j ai1…………..…Aij .….……..Ain

am1……………amj ….…….amn
m

Section II : Le modèle général


Il s’agit de formuler l’objectif et les différentes contraintes qui agissent sur le
problème.

1- Les contraintes du problème 


On dispose de n processus de fabrication ou activités. Pour réaliser une gamme de
produits; soit xj (j=1 à n) le niveau de production de l’activité j. (xj étant non négative).

Dans la fabrication de chaque produit concourt un nombre m de facteurs de


production, disponible en quantité limitée. Soit bi (i=1, à m) la quantité de facteur i
disponible (ressources). Soit aij (i=1 à m, j=1 à n) la quantité de facteur i requise pour réaliser
une unité de produit final par le processus j (coefficients techniques). Ainsi, pour obtenir x j
unités de produit final par le processus j, il faudra disposer d’aij xj unités de facteurs i :

∑ aij xj ≤ bi i=1 à m

2- La fonction à optimiser 
Elle  traduit l’objectif poursuivi par l’entreprise. L’objectif consiste à maximiser un
avantage ou minimiser un inconvénient. Cette fonction s'appelle fonction objective ou
fonction économique.
Connaissant le prix de vente à l'unité de chaque produit (Pi) et son coût de fabrication
à l'unité (Vi), il est possible de définir une marge bénéficiaire brute par unité de produit
(Ci).

La formulation générale du problème se présente comme suit :


Soient :

Bi la "quantité de ressource i" disponible (i = 1,2,...m)

Xj le "niveau de l'activité j" (j = 1,2,...n)

Aij la part de la ressource i "utilisée" par l'activité j

Z la mesure de l'efficacité globale du partage

Cj l'augmentation de Z qui résulterait d'une augmentation de une unité de xj .

MaxZ ou bien Min Z = c1 x1 + c2 x2 + ... + cn xn

Sous les contraintes :


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

a21 x1 + a22 x2 + ... + a2n xn £ b2

.
.
.
.
am1 x1 + am2 x2 + ... + amn xn £ bm

x1 ³ 0 , x2 ³ 0 , ... , xn ³ 0

Remarque :
 Cette formulation mathématique est caractérisée par des contraintes linéaires et une
fonction objective par rapport à l'ensemble des variables. Elle est appelée "Programme
linéaire" et est notée souvent "PL".
 On pourra aussi rencontrer des fonctions objectives à minimiser, des contraintes de type " ³
" ou de type " = " et des variables "non-astreintes".
3- L’écriture matricielle du programme mathématique 
Le problème (PL) revient à chercher x tel que la fonction économique Z soit
maximum.

PL¿{Z(x)=⟨c,x⟩¿{ Ax≤b¿¿
a11 a12 …. a1n
A= a21 a22 … a2n
.
.
.
am1 am2 …. 1mn

x = ( x1 , x2, , …, xn) ; b = ( b1 ,b 2, , …, bm); C = (c1 , c2,, … , cn) .

Forme standard 
Un problème est dit sous forme standard si et seulement si toutes les vraies contraintes, autre

que
x i≥0 , sont des égalités. Il est souvent nécessaire d’introduire des variables d’écart
pour transformer des inégalités en égalité.
Max [z] = C X Min [f] = C X
s/c s/c
AX=B AX =B
X≥0 X ≥0

4- Exemples de formulation

Enoncé de problème N° 1 :7

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’œuvre et de 440 m 3 d’eau. Un hectare de
tomates demande 1 heure de main d’œuvre, 4 m3 d’eau et donne un bénéfice net de 100

7
Méthodes et exercices d'application Robert Faure, Bernard Lemaire, Christophe
PicouleauEdition : Dunod p : 36
Unités Monétaires. Un hectare de piments demande 4 heures de main d’œuvre, 2 m 3 d’eau et
donne un bénéfice net de 200 Unités Monétaires.

Le bureau du périmètre irrigué 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 ?

Formulation du problème N° 1  en un PL  :

Etape 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 et x2 sont positives : x1  0, x2  0 .


Etape 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

 Eau : la culture d’un hectare de tomates demande 4 m 3 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 4 x1  2 x2  440 .


 Main d’œuvre : Les 480 heures de main d’œuvre seront départager (pas nécessairement en
totalité) ente la culture des tomates et celles 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  4 x 2  480
 Les limitations du bureau du périmètre irrigué : 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.
Etape 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 à leur valeur. La fonction

objectif est donc z  100 x1  200 x 2 .

Le programme linéaire qui modélise le problème d’agriculture est :


Max 100 x1  200 x2
s.c. x1  x2  150
4 x1  2 x2  440
x1  4 x2  480
x1  90
x1  0, x2  0

Enoncé de problème N° 2 :8


Une usine de Textile ait parmi ses activités la finition des tissus de coton. La
production du service « finition » est limitée par la capacité de son équipement et le volume
de main-d’œuvre disponible. Les dirigeants de la firme ont le choix entre trois procédés de
finition : ils savent qu’avec le procédé 1 le profit par lot de tissu traité est de 1 Unité
Monétaire, avec le procédé 2 il est de 0,9 Unité Monétaire, et avec le procédé 3 il est de 1.1
Unité Monétaire. Ils savent aussi que le procédé 1 utilise 3 heures-machine par lot de tissu
traité, le procédé 2 utilise 2.5 heures-machine et le procédé 3 utilise 5,25 heures-machine. Le
procédé 1 a besoin de 0,4 heure de main-d’œuvre par lot de tissu, le procédé 2 a besoin de 0,5
heure, et le procédé 3 a besoin de 0,35 heure. Enfin, l’usine a une capacité maximale de
finition de 6000 heures-machine, et elle peut employer au maximum 600 heures de main-
d’œuvre par semaine.
Déterminer le PL qui permet de trouver le nombre de lots de tissu de coton que chaque
procédé peut traiter par semaine pour maximiser le profit de la firme.

Formulation du problème N° 2  en un PL  :

x1  : nombre de lots de tissu de coton que le procédé 1 permet de traiter par semaine.
x2 : nombre de lots de tissu de coton que le procédé 2 permet de traiter par semaine.
x3 : nombre de lots de tissu de coton que le procédé 3 permet de traiter par semaine.

MAX Z : x1  + 0.9 x2 + 1.1 x3


8
An introduction to linear programming and the theory of games (2001), A. M. Glicksman
3 x1   + 2.5 x2 + 5.25 x3 ≤ 6000
0.4 x1 + 0.5 x2 + 0.35 x3 ≤ 600
x1  ≥ 0, x2 ≥ 0, x3 ≥ 0
Enoncé de problème N° 3 9 :
Pour nourrir sa vache, un paysan dispose de deux poudres alimentaires P1 et P2
composées d’ingrédients A, B et C. Un sac de poudre P1 pèse 900 g et contient 100 g
d’ingrédients A, 200 g de B et 600 g de C. Un sac de poudre P2 pèse 600 g et contient 200 g
de chacun des trois ingrédients. Quotidiennement, la vache doit consommer au moins 300 g
de A, 500 g de B et 700 g C. Les prix respectifs par kg de P1 et P2 sont respectivement 3
Unité Monétaire et 2 Unité Monétaire . Quelle dépense journalière minimale le paysan doit-
il envisager, de sorte que sa vache reçoive une nourriture suffisante ?

Formulation du problème N° 3  en un PL  :


x1 : La quantité de poudre P1 que le paysan doit donner à sa vache
x2  : La quantité de poudre P2 que le paysan doit donner à sa vache
Min Z : 3 x1 + 2 x2 
100 x1 + 200 x2  ≥ 300
200 x1 + 200 x2  ≥ 500
600 x1 + 200 x2 ≥ 700
x1 ≥ 0 , x2  ≥ 0

Remarque :
 Cette formulation mathématique est caractérisée par des contraintes linéaires et une
fonction objective par rapport à l'ensemble des variables. Elle est appelée "Programme
linéaire" et est notée souvent "PL".
 On pourra aussi rencontrer des fonctions objectives à minimiser, des contraintes de type " ³
" ou de type " = " et des variables "non-astreintes".

Section III : Exercices de formulation10

Exercice 1 :

9
Méthodes et modèles de la recherche opérationnelle 2006, A. Kaufmann, pp 22-23
10
Recherche opérationnelle Méthodes d'optimisation en gestion Jean-Claude Moisdon , Michel
Nakhla Edition : Presses des Mines – Transvalor, 2011
Un fabricant de fuel produit de l’essence normale et sans plomb. Chaque type
d’essence nécessite deux traitements : le cracking et le raffinage. Chaque unité de normal
nécessite 0,2 heures de cracking et 0,5 heure de raffinage ; l’essence sans plomb nécessite 0,4
heure de cracking et 0,2 heure de raffinage. Le profit est de 15 unité Monétaire par unité de
normal, et de 30 unité Monétaire pour le sans plomb.

Le matériel de cracking peut fonctionner au plus 8 heures par jour, le matériel de


raffinage également. Combien d’unités de normal et d’unités de sans plomb doivent être
produites pour maximiser le profit du fabricant ?

Exercice 2 :

Considérons une banque qui n'a que deux types d'actifs, ses prêts et ses placements en
valeurs mobilières. Cette banque dispose de 400 millions unité Monétaire qu'elle doit répartir
entre ces deux types d'actifs. Cette banque veut que ses prêts s'élèvent au moins à 150
millions unité Monétaire. Comme il est plus aisé de retrouver de la liquidité avec des
placements qu'avec des prêts la banque souhaite que le montant des placements soit égal au
moins à 20% du total, prêts plus placement. Les responsables de la banque veulent maximiser
le profit sachant que les prêts rapportent 16% et les placements 10%.

Exercice 3 :

Soient deux machines M1 et M2 traitant chacune deux produits X et Y. Les deux


machines ne peuvent fonctionner que 3 000 heures par an. Une unité de X requiert 1 heure de

M 1 et 2 heures de M2 , et une unité de Y requiert 2 heures de M 1 et 1 heure de M2. La


marge sur coût variable d’un X est de 10 unités monétaires  ; elle est de 12 unités Monétaires
pour un Y. Formuler mathématiquement le P.L. correspondant à ce problème.

Exercice 4 :

Une entreprise peut fabriquer, sur une machine donnée, travaillant 45 heures par

semaine, trois produits différents P1 , P2 et P3 . L’article P1 laisse un profit net de 4 unité

Monétaire , l’article P2  : 12 unité Monétaire , et l’article P3  : 3 unité Monétaire . Les


rendements de la machine sont, respectivement, 50, 25 et 75 articles par heure. Le marché

peut absorber, au plus, 1 000 objets P1 , 500 objets P2 et 1 500 objets P3 par semaine.
Formuler mathématiquement le P.L. correspondant à ce problème.
Exercice 5 :

Une entreprise fabrique deux types de ceintures : A et B. Le type A est de meilleure


qualité que le type B. Le bénéfice net est de 2 DA pour le type A et de 1,5 unité Monétaire
pour le type B. Le temps de fabrication pour le type A est deux fois le temps de fabrication
pour le type B, et si toutes les ceintures étaient du type B, l’entreprise pourrait en fabriquer 1
000 par jour. L’approvisionnement en cuir est suffisant pour 800 ceintures par jour (type A ou
B). Enfin 400 boucles de type A et 700 boucles de type B sont disponibles par jour.

Combien de ceintures de chaque type faut-il fabriquer par jour de manière à maximiser
le bénéfice total de l’entreprise ?

Exercice 6 :

Le mobilier d'une bibliothèque municipale doit être changé pour contenir au moins
4400 livres de petit format et 2600 livres de grand format. 
Un premier fournisseur propose des meubles de type A pouvant contenir 110 livres de petit
format et 100 livres de grand format pour un prix de 400 unités monétaires. 
Un deuxième fournisseur propose des meubles de type B pouvant contenir 220 livres de petit
format et 100 livres de grand format pour un prix de 600 unités Monétaires.

Par ailleurs le responsable de la bibliothèque a pour consigne de ne passer aucune


commande supérieure à 9600 unités monétaires chez un même fournisseur. Soit x le nombre
de meubles de type A et y le nombre de meubles de type B.
Traduire les contraintes que doit respecter le bibliothécaire sous forme d'un programme
linéaire

Exercice 7 :

Des hommes d’affaires veulent investir au maximum 5 000 unités monétaires dans
les projets A et B. L’investissement en A est au plus de 4 000 unités monétaires, et
l’investissement en B est au moins de 600 unités monétaires. Pour chaque dollar investi, A
rapporte 0,08 unité Monétaire et B rapporte 0,10 unité monétaire.
L’investissement en Y peut être au plus le tiers de l’investissement en X. Combien

Exercice 8 :
Une entreprise fabrique trois types de piles : sèches de type 1 (PS1), sèches de type 2
(PS2) et à combustible (PC).
Le processus de fabrication comporte trois étapes :

 L'assemblage,
 Un test de qualité
 Un traitement d'isolation.

Seules les piles satisfaisant le test de qualité sont soumises au traitement d'isolation.

Les piles qui ratent le test de qualité sont mises au rebut.

Au cours du mois prochain, l'entreprise disposera en temps-machine de 9 000 heures


pour l'assemblage, de 1200 heures pour les tests de qualité et de 8500 heures pour le
traitement d'isolation.

Le tableau suivant résume les informations pertinentes du procédé de fabrication.

Isolation Profit Perte


Test
Assemblage Taux
Type
(seconde/unité) (seconde/ (Francs/ d'échec (Francs/
(seconde/unité)
unité) unité) unité)
PS1 33 3 15 1,25 3% 0,6
PS2 25 4,5 22 1 1% 0,55
PC 24 4 21 1,1 2% 0,75

Quel type de problème reconnaissez-vous ?

Modélisez cet exercice de façon à pouvoir répondre aux questions suivantes : Quel est
le nombre optimal de piles de chaque type à fabriquer le mois prochain si l'entreprise est
assurée de vendre toute sa production ? Quel sera le profit ?

Exercice 10 :

Votre start-up est bien partie mais la concurrence est rude et pour augmenter votre
clientèle (principalement des femmes) vous décidez de lancer une grande campagne de
publicité. Votre plan de publicité prévoit que vous voulez atteindre au moins 200 millions de
consommateurs dont 150 millions de femmes minimum (en audience cumulée). Cependant,
vu le retournement de conjecture vous devez être très prudent avec vos dépenses car vos
financiers commencent à se montrer assez inquiets. Vous faites donc appel à une grande
agence de publicité qui vous communique le nombre de consommateurs que vous pouvez
espérer toucher en passant des annonces dans les différents medias ainsi que les coûts
associés.

Audience Audience féminine Coût par annonce (milliers


Média
(millions) (millions) de F)
Presse
1 0,4 30
quotidienne
Magazines 1 0,8 35
Télévision 10 6 400
Radio 0,6 0,4 22

Complétez votre plan de publicité en déterminant le nombre d'annonces que vous allez
faire passer sur chaque media pour atteindre le public visé au moindre coût.

Chapitre 2 : Méthodes de résolution des modèles linéaires


Un Programme Linéaire admet une des quatre (04) situations:

1) Une solution unique et meilleure qu’elle soit et qu’on appelle solution optimale ;
2) Une solution double ;
3) Une infinité de solution ;
4) Un Programme qui n’admet pas de solution.

Il existe deux méthodes de résolution d’un programme linéaire : Méthode graphique et la


méthode mathématique

Section I : Méthode graphique


Lorsque le nombre de variables est égal à 2; le programme linéaire peut être résolu
graphiquement. Il s’agit de représenter le problème dans l’espace à deux dimensions dont les
axes porteront sur la solution optimale.

1- Representation des contraintes et objectif :

- D'abord, il faut représenter les droites limites (équations provenant des


contraintes).
- Déterminer deux points pour tracer la droite de chaque contrainte ;
- Déterminer deux points pour tracer la fonction objectif ;
- Tracer les droites de chaque contrainte et celle de la fonction objectif sur le même plan
(X1, X2). Ceci permet d Délimiter le domaine d'acceptabilité.
- Remplacer successivement les coordonnées de chaque sommet du domaine dans la
fonction objective afin d'obtenir la combinaison optimale cherchée.

-Les propriétés de la solution optimale :

Elle correspond au point le plus éloigné de l’origine (0,0) sur la zone admissible atteint par la
droite Z, dans le cas de maximisation,

Elle correspond au point le plus proche de l’origine (0,0) sur la zone admissible attient par la
droite Z, dans le cas de minimisation.

Remarque :
Si l'ensemble des solutions optimales est non vide, alors, il représente un des sommets du
polyèdre (obtenu en représentant les contraintes sous formes géométrique).
Reprenons le probleme de formulation N°3 pour trouver la solution optimale
graphiquement :

Min Z : 3 X1 + 2 X2
100 X1 + 200 X2 ≥ 300
200 X1 + 200 X2 ≥ 500
600 X1 + 200 X2 ≥ 700
X1 ≥ 0, X2 ≥ 0

2- La recherche de la solution optimale


On doit en premier tracer les contraintes et la fonction objectif, en s’appuyant sur deux points
pour chaque droite :
Z : 3 X1 + 2 X2 Z : 3 X1 + 2 X2 = 6
X1 = 0 => X2 = 3,(0,3)
X2 = 0 => X1 = 2, (2,0)
100 X1 + 200 X2 ≥ 300 ∆1 : 100 X1 + 200 X2= 300
X1 = 0 => X2 = 3/2, (0,3/2)
X2 = 0 => X1 = 3 , (3,0)
200 X1 + 200 X2 ≥ 500 ∆2 : 200 X1 + 200 X2 = 500
X1 = 0 => X2 = 5/2, (0,5/2)
X2 = 0 => X1 =5/2, (5/2,0)
600 X1 + 200 X2 ≥ 700 ∆3 : 600 X1 + 200 X2 = 700
X1 = 0 => X2 = 7/2 , (0, 7/2)
X2 = 0 => X1 = 7/6 , (7/6,0)

Maintenant en ayant les coordonnées de chaque droite, on peut les tracer sur le même plan.
On hachure le demi-plan correspondant aux solutions non réalisables

Reprenons le problème de formulation N°5 pour trouver la solution optimale


graphiquement 

Le programme linéaire se formule comme suit :


on construit d'abord les droites qui délimite la région convenable du plan ce sont les droites
d'équation : 

Et on colorie la région qui ne convient pas : 


Voir programmation linéaire
La dépense d = 400 x + 600 y
On trace la droite d'équation 400 x + 600 y = 15 600
Donc : y = -2x/3 + 26
Droite correspondant à une dépense d quelconque a pour équation :
y = -2x/3 + d/600 cette droite est parallèle à la droite d'équation y = -2x/3 + 26
la droite qui correspond à une dépense minimale est celle qui traverse le domaine en blanc et
dont l'ordonnées à l'origine est la plus petite possible.
Cela se produit pour x = 12 et y = 14

La dépense est alors de d = 400 12 + 600 14 = 4800 + 8400 = 13200

Résoudre graphiquement les programmes suivants :

Max Z : 20 X1 + 30 X2

X1 + 3 X2 ≤ 18

X1 + X2 ≤ 8

2 X1 + X2 ≤ 14

X1 ≥ 0 , X2 ≥ 0

 Exemples :11

Dans cette section on donne quelques exemples de résolution graphique de problèmes


linéaires relatifs au différents cas possibles :

 Problème de maximisation
Max 100x1  200 x2 x2 (2)
(4)

s.c. x1  x2  150 (1) A


B
110
4 x1  2 x2  440 (2) C
(3)

x1  4 x2  480 (3) Z=0 30


D (1)

x1  90 (4) 40
E x1

x1  0, x2  0
la solution optimale est B(40,110)

11
Exercices et problèmes résolus de recherche opérationnelle - Roseaux, Edition : Dunod 2000
 Problème avec solution non bornée
Max - 2 x1  3x 2 x2

s.c. x1  5 (1) (2)

2 x1  3x 2  6 (2)
x1  0, x 2  0
5 x1
Z=0
(1)

On peut augmenter la valeur de la fonction objectif dans la direction des flèches


indéfiniment donc la solution est non bornée

 Problème impossible
Min 3x1  2 x 2 x2

s.c. x1  2 x 2  2 (1)
2 x1  4 x 2  8 (2)
x1  0, x 2  0
x1
(2)
(1)

L’espace des solutions réalisables est vide, il est l’intersection des deux zones
grises de la figure ci-dessus

 Problème à solutions multiples


Max x1  3x 2 x2
(2)

s.c. 2 x1  6 x 2  30 (1) (1)


A (3)
x1  10 (2) B

x2  4 (3)
10 x1
x1  0, x 2  0
Z=0

L’ensemble des points décrit par le segment [AB] représente les solutions
optimales du problème linéaire
 Problème de dégénerescence
Max x1  x 2 x2
(2)

s.c. 3 x1  2 x 2  40 (1) (1)


B (3)
A
x1  10 (2)
x2  5 (3)
O C x1
x1  0, x 2  0
Z=0

La solution optimale B(10,5) est dite dégénérée si trois contraintes concourent


en ce point.

3- Analyse de sensibilité
Une analyse de sensibilité se résume à la recherche des intervalles de variations
possibles des paramètres du programme linéaire sans que la solution optimale ne soit
modifiée.

Question : De combien peut-on faire varier la quantité de codéine dans le problème de


médecine sans changer la solution optimale.

Réponse :
x2

12
B

x1
6 12
Z=10

On peut changer la valeur du second membre de la troisième contrainte jusqu'à ce que la


droite de coefficient directeur –1/6 touche le point optimal (2,8). C’est à dire qu’on peut varier
le second membre de la troisième contrainte de 24 jusqu'à 50 sans changer la solution
optimale.

Question : De combien peut-on faire varier le profit engendré par la culture d’un hectare de
tomates, dans le problème de l'agriculture, sans changer la solution optimale ?

Réponse :
x2 (2)
(4)
A
B
110
C
(3)
Z=0 30
D (1)

E x1
40
Soit  la variation du profit engendré par la culture d’un hectare de tomate. La fonction
objectif est égale à (100   ) x1  200 x2

Section II : La méthode du simplexe

La solution graphique ne peut pas évidemment s’étendre au cas d’un nombre de


variables supérieur à trois, puisqu’il n’est pas possible d’effectuer des représentations
graphiques dans un espace de n dimensions (n > 3). En plus, dans la pratique on peut avoir
plusieurs variables et contraintes et à titre d’exemples, on peut citer 12 Introduction à la
recherche opérationnelle

American Airlines : 12 000 000 variables ;


A.T.T : Installation des câbles sous-marins et circuits satellites, choix du type de
câbles, sur un horizon de 19 ans : 77 000 variables et 28 000 contraintes ;
Transaction financières : 50 000 variables et 1 000 contraintes
Planification des officiers : planifier les promotions pour assurer un encadrement
adéquat de l’armée : 43 000 variables et 21 000 contraintes

Alors au-delà de trois variables, il y a lieu d’utiliser une autre méthode. Il s’agit de la
méthode du simplexe.

On considère le simplexe en étant un des algorithmes fondamentaux pour la résolution


des PL, dont notamment les problèmes économiques. Il a été mis au point par les premiers
travaux13 (1947) de George B. Dantzig

Ainsi, l’algorithme permet de maximiser ou minimiser une fonction objective de


plusieurs variables sous un nombre de contraintes.

1- Les fondements de la méthode du simplexe

• développée initialement par George Dantzig en 1947


• seule méthode exacte pour solutionner des problèmes linéaires de grande taille
• méthode itérative algébrique où l’on circule séquentiellement sur les sommets
à l’intérieur de la zone de solution jusqu’à l’obtention de la solution optimale

Notions de bases

Bases  et hors bases


Considérons un m-uplet B. On dit que B forme une base si et seulement si la matrice
AB m x m, constituée par les colonnes de A d’indice dans B, est régulière. Le complément de
B dans { 1, ⋯, n } est le hors-base associé HB.

12
https://educnet.enpc.fr/pluginfile.php/17191/mod_resource/content/0/CoursROPonts.pdf
13
De nombreux mathématiciens, parmis eux le Russe L. V. Kantorovich, se sont penchés sur le
problème de programmation linéaire avant 1947.
Les Solutions de base
On appelle solution de base (associée à B), la solution particulière obtenue en faisant
x HB =0 , d’où x B= A
B−1
b
. Une telle solution est dite réalisable si
x B ≥0 . Une
solution de base est dite dégénérée14 si
x B a des composantes nulles.

2- L’algorithme  du Simplexe

- On suppose dans un premier temps connaître une base B réalisable.


- On donne les données du problème sous forme d’un tableau

a 1,1 ⋯ a1, n b1

( ⋮
am , 1
c1



a m ,n
cn

bm
Z (x)
) .

- On passe à l’écriture canonique par rapport à la base B, ce qui donne de façon simplifiée :

t
( 1
0 ⋯ 0

t
A HB =A
B −1
A HB b= A

c HB =t c HB −t πA HB Z ( x )−t πb
B−1
b

c HB n’est pas négatif ou nul, il faut utiliser un changement de base.


)
- Si

c e=max ( c i >0 )
- Considérons l’indice e de .

- On teste la colonne
A e  : si tous les coefficients sont négatifs, alors l’algorithme se
termine car Z →∞ .

- Sinon, on forme les coefficients


qi =b i /ai ,e et on détermine s tel que
b s /a s, e =min ( bi /a i, e )
pour les
ai ,e>0 . La ligne s est dite ligne de pivot. Si le
minimum obtenu est unique (non dégénérescence) la nouvelle solution x aura toutes
ses composantes > 0, et par conséquent x sera une solution de base associée à la
nouvelle base B=B/ { s }∪ { e } .

14
- Le nouveau tableau se calcule par pivotage : on utilise la méthode de Gauss en prenant
pour pivot le coefficient a s,e ,

- on effectue la pré-multiplication du tableau par la matrice de pivotage :

1 −a1 , e /as , e

( )
⋱ ⋮
1 −a s−1, e /as , e
1 /as , e 0
−as+1 , e /as , e 1
⋮ ⋱
−am , e /a s, e 1
0 ⋯ 0 −c e /a s ,e 0 ⋯ 0 1
,

dont la colonne singulière est en position s.

- On arrête l’algorithme dès lors que la base obtenue s’avère optimale.

- On lit les solutions du problème dans le tableau final.

3-L’organigramme du simplex

Début

Oui Solution optimale


Cj ≥ 0

Non

Fin
CS=max {Cj}
jєn

Non Oui
Br = Min
…i. Ais Ais.rrr....
bi
Ais Ais<0 Pas de solution

J = J – {nr} + {ns} Fin

Faire l’opération de pivotage


4- La transformation du PL:

Dans un PL sous forme canonique, toutes les contraintes ont des signes différents et toutes les
variables sont positives ou nulles. Par contre, dans le PL sous forme standard, toutes les
contraintes sont des égalités (en général avec beaucoup plus d’inconnues que d’équations).Les
versions algébriques de l’algorithme du simplexe commencent par transformer le PL à traiter
en un PL équivalent sous forme standard. Le passage de la forme canonique du PL vers la
forme standard se fait par le biais des variables d’écarts et /ou artificielles.

5-Les conditions de transformations:

Si la contrainte est du signe ≤ : alors on ajoute une variable d’écart.


Les variables d’écarts forment la matrice identité et ce sont des variables de base
Le coefficient de la variable d’écart dans la fonction objectif est nul
La contrainte de non négativité
La signification économique de la variable d’écart est la quantité restante en stock d’une
ressource.
Forme canonique Forme standard
MAX Z : X1 +0.9 X2 + 1.1 X3 MAX Z : X1 +0.9 X2 + 1.1 X3 + 0S1 + 0S2
3 X1 + 2.5 X2 + 5.25 X3 ≤ 6000 3 X1 + 2.5 X2 + 5.25 X3 + S1 = 6000
0.4 X1 + 0.5 X2 + 0.35 X3 ≤ 600 0.4 X1 + 0.5 X2 + 0.35 X3 + S2 = 600
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0 X1 ≥ 0, X2 ≥ 0, X3 ≥ 0, S1 ≥ 0, S2≥ 0

Si la contrainte est du signe ≥ : alors on déduit une variable d’écart et on ajoute une variable
artificielle
Les variables artificielles forment la matrice identité et ce sont des variables de base.
Le coefficient de la variable artificielle dans la fonction objectif est (+M) si on est le cas de
MIN et (–M) dans le cas de MAX, sachant que M tend vers + ∞
La contrainte de non négativité

Forme canonique Forme standard


Min Z : 3 X1 + 2 X2 Min Z : 3 X1 + 2 X2 +MR1+MR2+MR3
100 X1 + 200 X2 ≥ 300 100 X1 + 200 X2 - S1 + R1 = 300
200 X1 + 200 X2 ≥ 500 200 X1 + 200 X2- S2 + R2 = 500
600 X1 + 200 X2 ≥ 700 600 X1 + 200 X2 – S3 + R3 = 700
X1 ≥ 0 , X2 ≥ 0 X 1 ≥ 0 , X2 ≥ 0, S1 ,S2 ,S3 ≥ 0, R1,R2
R3≥ 0

Si la contrainte est une égalité: alors on ajoute seulement la variable artificielle

Forme canonique Forme standard


Max Z : X1 + 25 X2 Max Z : X1 + 25 X2 - MR1 - MR2
X1 +5 X2 ≥ 10 X1 + 5 X2 - S1 + R1 = 10
3 X1 - 4 X2 = 50 3 X1 - 4 X2 + R2 = 50
6 X1 + X2 ≤ 78 6 X1 + X2 + S3 = 78
X1 ≥ 0 , X2 ≥ 0 X1 ≥ 0 , X2 ≥ 0, S1,S3 ≥ 0, R1,R2

Solution admissible de base:

Une solution admissible de base du problème avec n variables d’écarts est une solution du
problème à (n+m) variables où n variables sont nuls et toutes les autres (m) variables sont non
négatives.

Les valeurs des variables de bases dans la solution de bas se lisent dans les valeurs de
ressources.

Section III : Les itérations de l’algorithme du tableau simplicial:


1-Résolution du problème N° 1 avec méthode simplexe :

MAX Z : X1 +0.9 X2 + 1.1 X3


3 X1 + 2.5 X2 + 5.25 X3 ≤ 6000
0.4 X1 + 0.5 X2 + 0.35 X3 ≤ 600
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0

Le passage de la forme canonique vers forme standard se fait par l’introduction des variables
d’écarts comme suit :

MAX Z : X1 +0.9 X2 + 1.1 X3 + 0S1 + 0S2

3 X1 + 2.5 X2 + 5.25 X3 + S1 = 6000

0.4 X1 + 0.5 X2 + 0.35 X3 + S2 = 600

X1 ≥ 0, X2 ≥ 0, X3 ≥ 0, S1 ≥ 0, S2≥ 0

La solution admissible est une solution de base :

X1= 0, X2 = 0 et X3 = 0 alors Z0 = 0

La méthode simplexe se présente sous forme de tableau à partir du PL,

Les variables de base sont les variables d’écarts : S1 et S2 sur la ligne et colonne

Les variables hors base sont les variables de décision : X1 , X2 et X3 juste sur la ligne

VHB VB

C X* X1 X2 X3 S1 S2 B B/A
0 S1 3 2.5 5.25 1 0 6000
VB 0 S2 0.4 0.5 0.35 0 1 600
C 1 0.9 1.1 0 0 0 Z= 0
Z

La méthode simplexe se déroule en suivant les étapes suivantes :

1) La variable qui doit intégrer la base (entrante) correspond à la plus élevée de ∆ en


valeur absolue. Sachant que ∆ = Z – C et au même temps Z = ∑ (A*C),
2) La variable qui doit quitter la base (sortante) correspond à la valeur la plus petite
positif non nul du rapport B/A, sachant que B représente les disponibilités et A
correspond aux coefficients techniques de la variable entrante,

3) L’intersection de la colonne de la variable entrante et la ligne de la variable sortante


nous donne le pivot de Gauss
4) Pour remplir le nouveau tableau :
a) Diviser la ligne du pivot sur le pivot
b) Former la matrice identité
c) Remplir le reste du tableau avec le carré de Gauss

A B

C D
A est le pivot, la nouvelle valeur de D est : D’ = (A*D) – (B*C)

Chaque fois qu’on veut calculer la nouvelle valeur d’une case, elle doit se située sur la
diagonale du pivot.

5) Recalculer ∆ et vérifier la condition suivante : on atteint la solution optimale lorsque :

MAX : ∆ > 0

MIN ∆ < 0

VHB VB

C X* X1 X2 X3 S1 S2 B B/A
0 S1 3 2.5 5.25 1 0 6000 6000/5.25 =
1142.85 Variable sortante
0 S2 0. 0.5 0.35 0 1 VB
600 600/0.35=
4 1714.28
C 1 0.9 1.1 0 0 0 Z= 0
Z= 0 0 0 0 0 / /
∑(A*C
)
∆=Z – -1 -0.9 -1.1 0 0 / /
C
La variable entrante est X3 car elle représente la valeur la plus élevé de ∆ = 1.1

La variable sortante est S2 car elle représente la valeur la plus petite du rapport B/A : 1142.85

Le pivot de Gauss est 5.25

On s’appuyant sur ces trois éléments, on peut avoir le premier tableau d’itération :

C X* X1 X2 X3 S1 S2 B B/A
1.1 X3 0.5 0.47 1 0.19 0 1142.85 1142.85/0.47
7 =2431.57
0 S2 0.2 0.33 0 - 1 200 200/0.33=606.06 Variable sortante
0.06
C 1 0.9 1.1 0 0 Z=1257.3 S2 X1’=[(0.4*5.25)-(3*0.35)]/5.25=0.2
5 S2 X2’=[(0.5*5.25)-(0.35*2.
Z 0.6 0.51 1.1 0.20 0 / 5)]/5.25=0.33
2 S2 S1’=[(0*5.25)-(0.35*1)]/5.25=-0.06
∆ - - 0 0.20 0 / B’ =[(600*5.25)-
0.3 0.39 (0.35*6000)]/5.25=200
8 Z= (1.1*1142.85)+(0*200)=1257.35

Variable
entrante

Puisqu’il y a des valeurs de ∆ < 0, donc ce n’est pas la solution optimale et il faudra
améliorer la solution.

La variable entrante est X2 puisqu’elle correspond à la valeur la plus élevé de ∆, par contre la
variable sortante est S2 et le pivot est : 0.33

Le deuxième tableau d’itération :

C X* X1 X2 X3 S1 S2 B B/A
1.1 X3 0.28 0 1 0.27 - 858 858/0.28=3064.28
1.42
0.9 X2 0.60 1 0 - 3.03 606.06 606.06/0.6=1010.1
0.18
C 1 0.9 1.1 0 0 Z=
1489.25
Z 0.84 0.9 1.1 0.13 1.16 /
∆ -0 .1 0 0 0.13 1.16 /
5
Puisqu’il y a des valeurs de ∆ < 0, donc ce n’est pas la solution optimale et il faudra
améliorer la solution.

La variable entrante est X1 puisqu’elle correspond à la valeur la plus élevé de ∆, par contre la
variable sortante est X2 et le pivot est : 0.60
Le troisième tableau d’itération :

C X* X1 X2 X3 S1 S2 B B/A
1.1 X3 0 0.46 1 0.35 -2 .8 575.17 /
3
1 X1 1 1.67 0 -0.3 5.05
1010.1 /
C 1 0.9 1.1 0 0
Z= /
1642.78
Z 1 2.17 1.1 0.08 1.93 / /
∆ 0 1 .27 0 0.08 1.93 / /
Puisque toutes les valeurs de ∆ sont positives ou nulles, alors on a attient la solution
optimale : X*1 =1010.1, X*2 = 0, X*3 = 575.17, S1= 0, S2 = 0 et Z* = 1642.78

- L’interprétation économique des résultats : en prenant en considération la capacité


d’équipement et le volume de main-d’œuvre disponible dans l’Américaine Textile Company ,
les dirigeants peuvent traiter 1010.1 lots de tissu de coton par semaine et en utilisant le
procédé 1, aussi ils traitent 575.17 lots de tissu de coton par semaine et en utilisant le procédé
3, mais par contre ils ne vont pas utiliser le procédé 2. Chose importante à signaler, c’est qu’il
n’y a pas de disponibilités non utilisées. Le profit réalisé est de : 1642.78 DA

2- Résolution du problème N° 2 avec méthode simplexe :

Forme canonique Forme standard


Min Z : 3 X1 + 2 X2 Min Z : 3 X1 + 2 X2+MR1+MR2+MR3
100 X1 + 200 X2 ≥ 300 100 X1 + 200 X2 - S1 + R1 = 300
200 X1 + 200 X2 ≥ 500 200 X1 + 200 X2- S2 + R2 = 500
600 X1 + 200 X2 ≥ 700 600 X1 + 200 X2 – S3 + R3 = 700
X1 ≥ 0 , X2 ≥ 0 X 1 ≥ 0 , X2 ≥ 0, S1 ,S2 ,S3 ≥ 0, R1,R2
R3≥ 0

La solution admissible est une solution de base :

X1= 0, X2 = 0, X3 = 0 alors Z0 = 1500 M

C X* X1 X2 S1 R1 S2 R2 S3 R3 B B/A
M R1 100 200 -1 1 0 0 0 0 300 300/100 = 3
M R2 200 200 0 0 -1 1 0 0 500 500/200 = 2.5
Variable
M R3 600 200 0 0 0 0 -1 1 700 700/600 = 1.16
sortante
C 3 2 0 M 0 M 0 M 1500 /
M
Z 900M 600M -M M -M M -M M / /
∆ 900M - 3 600M -2 -M 0 -M 0 -M 0 / /

Variable entrante
600 est le pivot

Remarque :

Dés que la variable artificielle quitte la base, on supprime sa colonne du tableau

Le premier tableau d’itération :

C X* X X2 S1 R1 S2 R2 S3 B B/A
1 Variable
M R1 0 500/3 -1 1 0 0 1/6 550 /3 11/10= 1.1 sortante
M R2 0 400/3 0 0 -1 1 1/3 800/3 2
3 X1 1 1/3 0 0 0 0 -1/600 7/6 2/7 =3.5
C 3 2 0 M 0 M 0 Z=450M /
+7/2
Z 3 300M+1 -M M -M M M/2 / /
-3/600
∆ 0 300M-1 -M 0 -M 0 M/2 / /
-3/600

Variable
entrante
Puisqu’il y a des valeurs de ∆ > 0, donc ce n’est pas la solution optimale et il faudra
améliorer la solution.

La variable entrante est X2 puisqu’elle correspond à la valeur la plus élevé de ∆, par contre la
variable sortante est R1 et le pivot de Gauss est : 500/3

Remarque :
Quand il y a un « zéro » dans la ligne du pivot, la colonne ne change pas.

Le deuxième tableau d’itération :

C X* X1 X2 S1 S2 R2 S3 B B/A
2 X2 0 1 -3/500 0 0 1/1000 11/10 /
M R2 0 0 4/5 -1 1 1/5 120 150
3 X1 1 0 1/500 0 0 -1/500 4/5 400
C 3 2 0 0 M 0 /
Z 3 2 4M/5- -M M M/5- / /
2/500 1/200
∆ 0 0 4M/5- -M 0 M/5- / /
2/500 1/200

Puisqu’il y a des valeurs de ∆ > 0, donc ce n’est pas la solution optimale et il faudra
améliorer la solution.
La variable entrante est S1 puisqu’elle correspond à la valeur la plus élevé de ∆, par contre la
variable sortante est R2 et le pivot est : 4/5

Le troisième tableau d’itération :

C X* X1 X2 S1 S2 S3 B
2 X2 0 1 0 -3/400 1/400 2
0 S1 0 0 1 -5/4 ¼ 150
3 X1 1 0 0 1/400 -1/400 0.5
C 3 2 0 0 0 Z= 5.5
Z 3 2 0 3/400- -1/400 /
∆ 0 0 0 -3/400 -1/400 /

Puisque toutes les valeurs de ∆ < 0 donc c’est la solution optimale : X1*= 0.5 (0.9) = 0.45,
X2*= 2 (0.6) = 1.2, et Z* = 0.45 (3) + 1.2 (2) = 3.75 Unités monétaires.

L’interprétation économique des résultats obtenues par de la solution graphique est : le


paysan doit assurer 0.45 kg de la poudre P1 et 1.2 kg de la poudre P2.Par contre, la dépense
journalière minimale que le paysan doit envisager, de sorte que sa vache reçoive une
nourriture suffisante est de 3.75 unité monétaire, sachant que la vache ne va pas consommer la
totalité de la substance A, puisqu’elle va laisser une quantité de 150 gm.

Section IV : Les problèmes de minimisation


Nous avons traité jusque la les problèmes de maximisation, nous allons voir dans ce qui suit le
cas du problème de minimisation en utilisant la méthode de simplexe.

La première méthode nécessite le changement de la règle de choix de la variable entrante.


Dans un problème de maximisation la règle est de choisir comme variable entrante celle qui a
le plus grand effet net positif non nul. Ceci parce que notre objectif est de choisir la variable
qui en entrant dans la base va engendrer un profit supplémentaire et ainsi accroître la valeur
de la fonction objectif. Pour un problème de minimisation, on va utiliser la règle inverse.
C’est-à-dire la variable entrante est celle à laquelle on associe la plus petite valeur négative
non nulle de l’effet net cj - zj.

Ceci va nous amener aussi à changer notre règle d’arrêt de la procédure de simplexe et de
définir le tableau optimal, comme celui où tous les effets nets
cj - zj sont positifs ou nuls.

Essayons d’appliquer la méthode de simplexe sur le problème de médecine :

Min x1 + x2

Sc 2x1 + x2  12

5x1 + 8x2  74
x1 + 6x2  24

x1  0 , x2  0

Pour permettre à la méthode de simplexe de démarrer de l’origine, il faut comme on l’a déjà
vu dans le cas de problème de maximisation, introduire les variables artificielles.

Avec les problèmes de maximisation on attribue à ces variables un coefficient


-M dans la fonction objectif pour les contraindre à quitter la base rapidement. Dans le cas de
problèmes de minimisation, on a intérêt à changer le coefficient de ces variables en M (M très
grand) afin d’arriver au même résultat et de les faire sortir de la base.

Avant de construire le tableau de simplexe initial, on réécrit le programme linéaire relatif au


problème de médecine avec les variables artificielles.

Min x1 + x2 + MA1 + MA2+ MA3

Sc 2x1 + x2 - S1 + A1 = 12

5x1 + 8x2 - S2 + A2 = 74

x1 + 6x2 - S3 + A3 = 24

x1 , x2 , S1 , S2 , S3 , A1 , A2  0

Le tableau de simplexe initial est :

5 6 0 0 0 M M M

x1 x2 S1 S2 S3 A1 A2 A3

M A1 12 2 1 -1 0 0 1 0 0 12

M A2 74 5 8 0 -1 0 0 1 0 37/4

M A3 24 1 6 0 0 -1 0 0 1 4

8M 15 -M -M -M M M M

1-8M 1-15M M M M 0 0 0

Après 4 itérations, on trouve le tableau de simplexe optimal suivant :


5 6 0 0 0

x1 x2 S1 S2 S3

1 x1 8 1 0 -8/11 1/11 0

0 S3 26 0 0 2 -1 1

1 x2 2 0 1 5/11 -2/11 0

1 1 -3/11 -1/11 0

0 0 3/11 1/11 0

On retrouve la même solution obtenue par la méthode graphique :

x1 = 8

x2 = 2

S1 = 0

S2 = 0

S3 = 26

Z = 10

Après avoir vérifié que le second membre des contraintes est positif, le tableau suivant résume
les transformations à faire subir à notre programme linéaire avant de le résoudre par la
méthode de simplexe :

Quand la contrainte est Pour la fonction objectif d’un problème de

I- Maximisation II- Minimisation

III- de type «  » Attribuer un coefficient nul pour la variable d’écart

Ajouter une variable


d’écart

II- de type « = » Attribuer un coefficient -M pour Attribuer un coefficient M pour


Ajouter une variable variable artificielle la variable artificielle
d’écart et une
variable artificielle
III- de type «  » Attribuer un coefficient nul pour Attribuer un coefficient nul pour
la variable d’écart et un la variable d’écart et un
Ajouter une variable coefficient - M pour variable coefficient M pour variable
artificielle et une artificielle
variable d’écart avec un artificielle
signe "-"

Le tableau suivant résume les étapes de la méthode de simplexe relatif aux problèmes de
maximisation et minimisation :

Etape Maximisation Minimisation

1 Formuler un programme linéaire pour le Formuler un programme linéaire pour le


problème réel. problème réel.

2 Vérifier que le second membre du Vérifier que le second membre du


programme linéaire est positif sinon programme linéaire est positif sinon
modifier les contraintes modifier les contraintes

3 Ecrire le programme linéaire sous une Ecrire le programme linéaire sous une
forme standard forme standard

4 Construire le premier tableau de simplexe Construire le premier tableau de simplexe

5 Choisir comme variable entrante dans la Choisir comme variable entrante dans la
base celle qui admet le plus grand effet base celle qui admet le plus petit effet net
net positif cj-zj. négatif cj-zj.

6 Choisir la variable sortante de la base Choisir la variable sortante de la base


celle qui admet le plus petit ratio celle qui admet le plus petit ratio
supérieur à zéro. supérieur à zéro.

7 Construire le nouveau tableau en utilisant Construire le nouveau tableau en utilisant


la règle de pivot la règle de pivot

8 Faire le test d’optimalité. Si Faire le test d’optimalité. Si


(cj-zj)  0 pour toutes les variables (hors (cj-zj)  0 pour toutes les variables (hors
base) donc la solution obtenue est base) donc la solution obtenue est
optimale. Sinon retourner à l’étape 5. optimale. Sinon retourner à l’étape 5.

La deuxième méthode pour résoudre un problème de se base sur le résultat suivant « Résoudre
un problème min ctx sujet à un ensemble de contraintes est équivalent à résoudre un problème
max -ctx sujet au même ensemble de contraintes ». Ces deux problèmes sont équivalents dans
la mesure où ils donnent le même vecteur des solutions optimales. La seule différence est que
la valeur de la solution max -ctx est l’opposé de la solution de min ctx; (i.e. min ctx = - max
-ctx).
Donc pour résoudre le programme linéaire relatif au problème de médecine, on peut résoudre
le problème de maximisation suivant:

Max - x1 - x2

S.c. 2x1 + x2  12

5x1 + 8x2 74

x1 + 6x2  24

x1 , x2  0

On peut vérifier facilement que la méthode de simplexe appliquée au programme ci-dessus,


engendre le même vecteur de solutions optimales.

1- Problèmes Irréguliers15

Dans le chapitre précédent tous les programmes linéaires qu’on a traité sont du type :
Maximiser une fonction linéaire sous contraintes de type inférieur ou égale (et avec un second
membre positif).

Or dans beaucoup de problèmes réels, on peut retrouver des contraintes de type supérieur ou
égal et/ou de type égal.

Dans ce chapitre, on étudiera les modifications à apporter à la méthode du simplexe pour


qu’elle puisse résoudre tous ces types de programmes.

- Les variables artificielles


Considérons le programme linéaire suivant :
Max 5x1 + 6x2
S.c -x1 + x2 4
5x1 + 3x2 = 60
x2  5
x1  0 , x2  0
L'introduction des variables d'écart dans le programme linéaire donne
Max 5x1 + 6x2 + 0S1 + 0S2
S.c -x1 + x2 + S1 = 4
5x1 + 3x2 = 60
x2 - S2 = 5
x1 0 , x2 0, S1 0, S2 0

Afin de générer une solution réalisable de base initiale pour la méthode de simplexe, on a
annulé les variables de décision x1 et x2 . Ceci nous permet de commencer à partir de l’origine
O. Or, on vérifie bien que l’origine n’est pas une solution réalisable. La question qui se pose
est comment nous allons réécrire le programme de manière qu’on puisse construire le tableau
de simplexe initial à l’origine.

15
J.ACHER,J.GARDELLE, Programmation Linéaire, édition Dunod, 3 édition, 2000, page : 49
Pour arriver à cette fin, on doit ressortir une astuce mathématique qui se résume à
l’introduction de nouvelles variables, dite variables artificielles A1 et A2.
Ces variables n’ont aucune interprétation, comme leur nom l’indique, ils sont conçus a-
rtificiellement pour nous aider à utiliser la procédure de simplexe et à formuler le tableau
initial à partir de l'origine.

Si on ajoute ces deux variables artificielles A1 et A2 respectivement à la 2ème et 3ème contrainte,


le programme devient le suivant.

Max 5x1 + 6x2 +...


S.c -x1 + x2 + S1 = 4
5x1 + 3x2 + A1 = 60
x2 -S2 + A2 = 5
x1 0, x2 0, S1 0, S2 0 , a1  0, a2 0

Maintenant on peut obtenir une solution initiale de base du système d’équations, si on pose x1
= x2 = 0.
La solution initiale est
x1 = 0
x2 = 0
S1 = 4
S2 = 0
A1 = 60
A2 = 5

Cette solution n’est pas réalisable puisque x2 n’est pas supérieur à 50. Ainsi, il est important de
distinguer entre une solution réellement réalisable et une solution du programme linéaire
réécrit pour la procédure du simplexe. Certes, une solution réalisable du problème réel reste
toujours une solution réalisable pour le programme linéaire transformé, le contraire n’est pas
toujours vrai.

On peut conclure que tant que les variables artificielles restent dans la base, la solution
demeure non réalisable réellement pour notre programme.

Une manière pour garantir que ces variables artificielles sortent de la base avant d’atteindre la
solution optimale est de leur associée un grand coût -M dans la fonction objectif. Ainsi, si ces
variables restent dans la base ils vont causer une diminution importante de la valeur de la
fonction objectif. Ce qui nous contraignent à les faire sortir le plutôt possible de la base.
La fonction objectif s’écrit donc :

Max z = 5x1 + 6x2 - M A1 - M A2


A
vec M un très grand nombre (exemple: M 1010) .

En appliquant de ces modifications, le tableau de simplexe initial est


5 6 0 0 -M -M
x1 X2 S1 S2 A1 A2
0 S1 4 -1 1 1 0 0 0
-M A1 60 (5) 3 0 0 1 0
-M A2 5 0 1 0 -1 0 1

De la même manière que précédemment essayons de retrouver la variable entrante te la


variable sortante :
5 6 0 0 -M -M
x1 x2 S1 S2 A1 A2
0 S1 4 -1 1 1 0 0 0 -4
-M A1 60 (5) 3 0 0 1 0 12
-M A2 5 0 1 0 -1 0 1 
-5M -4M 0 M -M -M
5+5 6+4 0 -M 0 0
M M

La variable entrante est x1 (5 +5M  6 + 4M avec M assez grand) et la variable sortante est
A1 . Le tableau de simplexe qui suit est :
5 6 0 0 -M -M
x1 x2 S1 S2 A1 A2
0 S1 16 0 8/5 1 0 1/5 0 10
5 x1 12 1 3/5 0 0 1/5 0 20
-M A2 5 0 (1) 0 -1 0 1 5
5 3-M 0 M 1 -M
0 3+M 0 -M -M-1 0

Le tableau de simplexe après la deuxième itération indique que la variable sortante est A2.

Remarque: Simplification du tableau

Les deux premières itérations on fait sortir de la base les variables artificielles A1 et A2. Leurs
effets nets est maintenant négatif et très élevé, elles ne pourront donc pas être sélectionnées à
l’itération suivante, ni même ultérieurement comme on peut facilement le constater. Donc on
peut supprimer du tableau la colonne relative à A1 et A2.
En appliquant la règle ci-dessus, on obtient le tableau de simplexe suivant :

5 6 0 0
x1 x2 S1 S2
0 S1 8 0 0 1 8/5 5
5 x1 9 1 0 0 3/5 15
6 x2 5 0 1 0 -1 -5
5 6 0 -3
0 0 0 3

5 6 0 0
x1 x2 S1 S2
0 S2 5 0 0 5/8 1
5 x1 6 1 0 -3/8 0
6 x2 10 0 1 5/8 0
5 6 15/8 0
0 0 -15/8 0

Le tableau ci-dessus est optimal car tous les effets nets sont négatifs ou nuls. Donc la solution
optimale est :
x1 = 6
x2 = 10
S1 = 0
S2 = 5

Remarque: cas où le second membre négatif


Le problème qui peut se poser est que l’une des variables du second membre soit négative.
Par exemple supposons que lors de la formulation on trouve une contrainte de ce type :
x1 - x2  -4
La condition qu’il faut vérifier avant de se lancer dans la réécriture de cette contrainte, en vue
de construire le programme standard, est la nonégativité du second membre.
Ainsi, on doit modifier la contrainte avant de commencer la standardisation et la réécrire
comme suit :
-x1 + x2  4
Exercice :
Réécrire convenablement ces contraintes:
(1) x1 + 3x2 - 5x3 = - 20
(2) -x1 + 3x2  - 5
(3) 5x1 - 2x2  - 10
2- Les différentes situations d’un problème irrégulier
Après avoir examiné comment on peut résoudre un programme linéaire par la méthode de
simplexe, on s’intéresse dans cette section aux problèmes irréguliers, qu'on peut rencontrer
lors de la résolution d’un programme linéaire par la méthode de simplexe. Donc, l’objet de
cette section est de reconnaître ces problèmes et de les résoudre par la méthode de simplexe.

-.Les problèmes impossibles16

Graphiquement, on a caractérisé ces problèmes par un ensemble de solutions réalisables vide.


Avec la méthode de simplexe, on reconnaît que le problème est impossible si une ou plusieurs
variables artificielles sont présentes dans la base dans le tableau de simplexe optimal, ce qui
signifie que la solution donnée par ce tableau n’est pas réellement réalisable.

Exemple:

Vérifions à l’aide de la méthode de simplexe, que le problème suivant est réellement


impossible :
Max 4 x1 + 3x2
Sc x1 + x2  2
3x1 + x2  10
x1 , x2  0
En introduisant les variables d’écarts et les variables artificielles le programme s’écrit:
Max 4x1 + 3x2 - MA1
Sc x1 + x2 - S1 = 2
3x1 + x2 - S2 + a1 = 10
x1 , x2 , S1 , S2 , A1  0

4 3 0 0 -M
x1 x2 S1 S2 a1
0 S1 2 (1) 1 1 0 0 2
-M a1 10 3 1 0 -1 1 10/3
-3M -M 0 M 1
3M+4 M+3 0 -M -M-1

4 3 0 0 -M
x1 x2 S1 S2 a1
4 x1 2 1 1 1 0 0
-M a1 5 0 -2 -3 -1 1
4 4+2M 1+3M M -M
0 -1-2M -1-3M -M 0

16
Jean-François PHELIZON, Méthodes et Modèles de la Recherche Opérationnelle, édition :
économica, 1998
Le tableau de simplexe ci-dessus est optimal avec une variable artificielle dans la base.

Remarque : Un programme de maximisation ou de minimisation avec seulement des


contraintes de type «   » ne peut pas être impossible (sous l’hypothèse que le second membre
b est positif). Ceci est dû au fait que lors de la résolution de ce genre de programme par la
méthode de simplexe on n'utilise pas des variables artificielles. Donc il est impossible de les
retrouver dans la solution optimale.

3- Les problèmes à solutions multiples


Graphiquement, ce problème est caractérisé par le fait que la pente de la droite représentant la
fonction objectif (z = 0) est égale à la pente de l’une des contraintes restrictives. Lorsqu’on
utilise la méthode de simplexe, on identifie ce problème lorsqu’un des effets nets (relatif à une
variable hors base) est nul. L’exemple de la section 3 du précédent chapitre représente un
problème avec solutions multiples.

4- Les problèmes à solution infinie


Graphiquement, ce problème est caractérisé par le fait qu’on peut déplacer la droite de la
fonction objectif indéfiniment de manière à accroître la valeur, en gardant toujours une
intersection non vide avec l’ensemble des solutions réalisables.

Avec la méthode de simplexe, on reconnaît ce problème lorsque la variable entrante n’admet


aucune limite sur sa valeur d’entrée, c’est à dire que tous les ratios Qi/aijo sont négatifs ou
nuls.
Exemple
Max x1 + 2x2
Sc x1 + x2  2
x2  3
x1 , x2  0
On introduit les variables d’écart et les variables artificielles, le programme linéaire devient :
Max x1 + 2x2 + 0S1 + 0S2 - Ma1
Sc x1 + x2 - S1 + a1 = 2
x2 + S2 = 3
x1 , x2 , S1 , S2 , a1  0
Les tableaux de simplexe sont :

1 2 0 0 -M
x1 x2 S1 S2 a1
-M a1 2 1 (1) -1 0 1 2
0 S2 3 0 1 0 1 0 3
-M -M M 0 -M
1+M 2+M -M 0 0

1 2 0 0
x1 x2 S1 S2
2 x2 2 1 (1) -1 0 -2
0 S2 1 -1 0 (1) 1 1
2 2 -2 0
-1 0 2 0

1 2 0 0
x1 x2 S1 S2
2 x2 3 0 1 0 1 
0 S1 1 -1 0 1 1 -1 
0 2 0 2
1 0 0 -2

Le dernier tableau montre que la variable x1 n’admet aucune limite sur sa valeur de sortie.

5- Les problèmes à solution dégénérée


Graphiquement, on appelle solution dégénérée le point où plusieurs contraintes concourent
(un nombre supérieur ou égale à trois contraintes). Un programme linéaire est dit dégénéré si
une ou plusieurs variables dans la base optimale sont nulles. Dans la résolution graphique ce
problème n’est pas difficile à résoudre, mais avec la méthode de simplexe il peut causer des
difficultés.

Exemple
Max z = 2x1 + 0 x2 + 3/2 x3
s.c. x1 - x2  2
2x1 + x3  4
x1 + x2 + x3  3
x1, x2, x3  0
La solution optimale de ce problème est :
x1 = 1
x2 = 0
x3 = 2
z =5

La forme standard du programme linéaire est


Max 2x1 + 0 x2 + 3/2x3 + 0 S1 + 0 S2 + 0 S3
Sc x1 - x2 + S1 = 2
2x1 + x3 + S2 = 4
x1 + x2 + x3 + S3 = 3
x1, x2, x3, S1, S2, S3  0
Le tableau de simplexe initial est :

2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
0 S1 2 1 -1 0 1 0 0 2
0 S2 4 2 8 0 -1 0 0 2 
0 S3 3 1 6 0 0 -1 0 3
0 15 -M -M -M M
2 0 3/2 0 0 0

La variable entrante est x1, mais les deux premières contraintes donnent la même valeur
minimale du ratio. Ceci indique que lorsque x1 passe à 2, les variables d’écart S1 et S2 vont
s’annuler malgré que l’un des deux demeure encore dans la base.

Choisissons arbitrairement de faire sortir de la base la variable d’écart S1.

2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
2 x1 2 1 -1 0 1 0 0 -2
0 S2 0 0 2 1 -2 1 0 0
0 S3 1 0 2 1 -1 0 1 1/2
2 -2 0 2 0 0
0 2 3/2 -2 0 0

La nouvelle solution réalisable de base est :


x1 = 0
x2 = 0
x3= 1
S1 = 2
S2 = 0
S3 = 0

Et la valeur de la fonction objectif z = 4. Cette solution de base est dite dégénérée. Continuons
les itérations relatives à la méthode de simplexe. La variable entrante est x2.

Le problème est qu’un des ratios est nul ce qui indique qu’on ne peut pas augmenter la valeur
de x2 puisque la valeur de la fonction objectif ne va pas augmenter et reste égale à 4.
Si on réitère une autre fois, en remplaçant S2 par x2 dans la base on obtient :

2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
2 x1 2 1 0 1/2 0 1/2 0 4
0 x2 0 0 1 1/2 -1 1/2 0 0
0 S3 1 0 0 0 1 -1 1 
2 0 0 0 1 0
0 0 1/2 0 -1 0

Ce tableau n’est pas optimal, la variable entrante est x3 et la variable sortante est x2. On
remarque aussi que ce passage d’une solution à une autre ne s’accompagne pas d’une
augmentation de la valeur de la fonction objectif.

On peut facilement vérifier que nous somme en train de cycler sans atteindre la solution
optimale. Ce genre de cyclage dans la méthode de simplexe est dangereux et on doit
l’identifier avant de commencer à résoudre le problème, sinon on passera un temps énorme
sans atteindre la solution optimale.

Pour terminer cette section, il faut noter que ce n'est pas tout problème de dégénérescence qui
peut conduire à un cyclage.

Exemple
Max 10 x1 + 9x2
Sc 7/10x1 + x2  630
1/2 x1 +5/6x2  480
x1 + 2/3x2  708
1/10 x1 +1/4x2  135
x1 ,, x2  0
Essayer de résoudre ce programme par la méthode de simplexe (choisir en cas de deux
quotients égaux, celui qui se trouve dans la ligne supérieure).

CHAPITRE 3 : Dualité et analyse de sensibilité


Introduction
On va étudier des notions relatives aux programmes linéaires tels que le programme dual, les
coûts marginaux ainsi que des techniques de validation de la solution d’un programme
linéaire, c’est à dire l’analyse de sensibilité.

Nous allons commencer ce chapitre par donner quelques termes clés du jargon utilisé pour
interpréter économiquement les différents résultats du programme linéaire.
Section I : Interprétation économique
Les éléments clés d’un programme linéaire standard sont :

- La fonction objectif dite fonction économique. Cette fonction peut représenter un coût, un
profit, etc...

- Les contraintes sont composées, des coefficients aij de la matrice A, dite matrice
technologique, et des constantes bi, qui forment le vecteur du second membre. Le second
membre peut représenter la disponibilité des ressources, les niveaux de demande etc...

- Les variables d’écart peuvent représenter, par exemple dans le problème de l’agriculteur,
l’excédent de chacune des ressources : terrain, eau, heures de travail, bureau d’irrigation. Elles
sont aussi dites variables de surplus.

1- Définition du Coût marginal

Par définition, on appelle coût marginal d’un bien l’augmentation minimale de dépenses, par
rapport à la solution optimale, qui résulterait de l’utilisation d’une unité supplémentaire de ce
bien, lorsque le problème posé consiste à produire des biens au moindre coût.

Si le problème posé consiste à transformer des biens pour vendre une production avec un
meilleur profit et l’augmentation maximale de revenu qui résulte de la possibilité de disposer
d’une unité supplémentaire de l’un des biens, est la valeur marginale de ce bien. Très souvent,
on emploie également dans ce cas le qualificatif coût marginal.

2- Exemple  d’application:

Dans le problème de l’agriculteur on a

 Le coût marginal lié à


S 1 est 200/3

⇒ Une augmentation de 1 S
d’une unité entraîne une diminution de 200/3 de la
valeur de la fonction économique.

 Le coût marginal lié à


S 2 est 0 et à l'optimum S 2 =0

3 3
⇒ On a déjà 60 m d’eau de plus donc si on ajoute 1m ca ne va pas changer la
solution optimale ni la valeur de la fonction économique

Le système de contraintes dans le programme linéaire relatif au tableau de simplexe optimal


du problème de l’agriculteur est
x 1 + 4 /3 S1 −1/ 3 S 3 =40

{S 2−14 / 3 S 1 +2/ 3 S 3 =60


x 2 −1/ 3 S 1 +1/ 3 S 3 =110
S 4 −4 /3 S1 + 1/3 S3 =50

La fonction économique s’écrit

z=100 x1 +200 x2

Si on exprime z en fonction de
S 1 et S 3 (variables hors base) en utilisant le système
d’équation ci dessus on a

z=100 (−4/3 S1 +1 /3 S3 + 40 ) +200 ( 1/3 S1 −1/3 S 3 +110 )

z=26000−200/3 S 1−100 /3 S3

La valeur 26000 correspond à la valeur optimale de la fonction économique.

Si
S =1
1 alors un hectare de terrain de moins à utiliser, donc une réduction de 200/3
dinars de la valeur de la fonction objectif.

Si on ajoute 3 hectares de terrains ( S1 =−3 ) , avec l’hypothèse que les autres quantités

restent inchangées alors le revenu augmente de ( 200/3 )×3=200dinars


On vérifie ceci, si on résout le programme linéaire

Max 100 x1 +200 x 2

S .C x 1 +x 2≤153

4 x 1 +2 x 2 ≤440

x 1 +4 x 2 ≤480

x 1≤90

x 1≥0 ,
x 2≥0

On trouve que la valeur optimale va augmenter de 200 dinars est devient 26 200 dinars.

Exercice : Expliquer graphiquement que si on ajoute des m3 d’eau, on aura aucune


amplification dans la fonction objectif.
3
Remarque : Dans le cas où on diminuerait 60 m d’eau, la solution optimale devient
dégénérée.

Les valeurs marginales apportent donc des renseignements économiques particulièrement


intéressants, mais il faut les utiliser avec prudence car leur domaine de validité est limité.

Par exemple, si on ajoute 30 hectares de terrains aux 150 déjà disponibles dans le problème de

l’agriculteur, le revenu augmentera de ( 200/3 )×3=200dinars . Ceci n’est pas vrai, parce
que si on résout le programme linéaire suivant :

Max 100 x1 +200 x 2

S .C x 1 +x 2≤180

4 x 1 +2 x 2 ≤440

x 1 +4 x 2 ≤480

x 1≤90

x 1≥0 ,
x 2≥0

La valeur optimale du programme linéaire ci-dessus est de 26 875,14 donc le revenu n’a pas
augmenté de 2000 dinars comme prévu.

Section II : La notion de la Dualité

1- Définition

La forme d’un programme linéaire de type maximisation est

Max z=c t x

S .C Ax≤b ( PL1 )
x≥0

Avec x,b , c des vecteurs de dimensions respectives n,m et n , et A une matrice de

dimension ( m ,n )

On appelle programme dual de ( PL1 ) , le programme linéaire suivant :


t
Min w=b y
t
S .C A . Y ≥c
y≥0
t
Avec y un vecteur de dimension m et A la transposée de la matrice A .

Le programme ( PL1 ) est appelé programme Primal.

Pour passer du primal au dual, on remarque que :

Les termes du second membre deviennent les coefficients de la fonction objectif et


réciproquement.

Le problème de maximisation devient un problème de minimisation.

Les inégalités <= deviennent des inégalités >=

La matrice A se transforme en sa transposée.

Exemple : Le programme primal (problème de l’agriculteur) est

Max z=100 x1 +200 x2

S .C x 1 +x 2≤150

4 x 1 +2 x 2 ≤440

x 1 +4 x 2 ≤480

x 1≤90

x 1≥0 ,
x 2≥0

Donc le programme dual est

Min w=150 y 1 +440 y 2 +480 y 3 +90 y 4

S .C y 1 + 4 y 2 + y 3 + y 4 ≥100

y 1 +2 y 2 +4 y 3 ≥200

y 1 ≥0 ,
y 2 ≥0

2- Propriétés et signification économique du programme dual

Pour expliquer la signification du problème dual on va se baser sur l’exemple de l’agriculteur.


Supposons qu’un agriculteur (client) voudrait acheter la totalité de nos ressources disponibles.
Notre agriculteur acceptera certainement cette proposition si le prix offert par ce client lui
procure le même profit.

Soit
y 1 le prix d'un hectare de terrain
y 2 le prix d’un m3 d’eau
y 3 le prix d’une heure de main d’œuvre
y 4 le prix de la permission de la culture d’un hectare de tomates.

Le problème du client consiste à minimiser les frais d’achat des ressources : c’est à dire
150 y 1 +440 y 2 +480 y 3 +90 y 4 sous la contrainte que les prix satisfont notre agriculteur.
3
Pour notre agriculteur un hectare de terrain 4 m d’eau, une heure de travail et un hectare de
permission du bureau est équivalent a un revenu de 100 dinars.
3
Tandis que, un hectare de terrain, 2m d’eau et 4 heures de travail lui engendrent un revenu
de 200 dinars.

Il n’est prêt à vendre ses ressources que si


y 1+ 4 y 2+ y 3 + y 4 lui rapporte un revenu

supérieur ou égale à 100 DT et que si


y 1 +2 y 2 +4 y 3 lui rapporte un revenu supérieur ou
égal à 200 DT.

Ainsi le problème du client est

Min 150 y 1 +440 y 2 +480 y 3 +90 y 4

S .C y 1 + 4 y 2 + y 3 + y 4 ≥100

y 1 +2 y 2 +4 y 3 ≥200

y 1 ≥0 ,
y 2 ≥0

Donc le problème du client peut être modélisé par le programme dual.

Le tableau de simplexe final du programme dual est :

150 440 480 90 0 0

y1 y2 y3 y4 L1 L2

480 y3 100/3 0 -2/3 1 -1/3 1/3 1/3

150 y1 200/3 1 14/3 0 4/3 -4/3 1/3


150 380 480 40 -40 -110

0 60 0 50 40 110

Avec L1 et L2, les variables d’écart à la 1ère et la 2ème contrainte du programme dual.

On remarque que la solution optimale du dual peut être déduite du primal de la manière
suivante :

y1 = 200/3  C3 - z3 = - 200/3

y2 = 0  C2 - z4 = 0

y3 = 100/3  C5 - z5 = - 100/3

y4 = 0  C6 - z6 = 0

L1 = 0  C1 - z1 = 0

L2 = 0  C2 - z2 = 0

C1 - z1 = 0  S1 = 0

C2- z2 = 60  S2 = 60

C3- z3 = 0  S3 = 0

C4 - z4= 50  S4 = 50

C5 - z5= 40  x1 = 40

C6 - z6= 110  x2 = 110

w = 26000  z = 260000

On peut généraliser ce résultat dans le tableau suivant :

Primal (Max) Dual (Min)

Variables de décision variables d’écart

xj = 0  Cj - zj < 0 Li = | Cj - zj |  0  Cj - zj = 0

xj > 0  Cj - zj = 0 Li = 0  Cj - zj = xj

variables d’écart  Variables de décision


Sj = 0  Cj - zj  0 yi = | Ci - zj |  0  Cj - zj = 0

Sj > 0  Cj - zj = 0 yi = 0 et Cj – zj = Sj

On remarque aussi qu’à l’optimum la valeur de la fonction objectif du dual est égale à la
valeur de la fonction objectif du primal.

Proposition : Le dual du programme dual est le programme primal.

3- Tableau de correspondance primal-dual

Max Min

- Matrice des contraintes (m, n) - Transposée de la matrice des contraintes (n,


m)
- Second membre des contraintes
- Coefficient de la fonction objectif
- Coefficient de la fonction objectif
- Second membre des contraintes

Nombre de contraintes Nombre de variables principales

i ème contrainte de type «  » i ème variable de type «  0 »

i ème contrainte de type «   » i ème variable de type «  0 »

i ème contrainte de type «  = » i ème variable qcq « IR »

Nombre de variables Nombre de contraintes

j ème variable «    » j ème contrainte de type «    »

j ème variable «   » j ème contrainte de type  «    »

j ème variable qcq « IR » i ème contrainte de type «  = »

 Exemples

Primal Dual

Max ½ x1 + x2 Min 3y1 + y2 + 2y3

S.c x1 + x2  3 S.c y1 - y2 + y3  ½

- x1 + x2  1 y1 + y2  1
x1  2 y1  0, y2  0, y3  0

x1  0, x2  0

Min - x1 + x2 Max 2y1 - 2y2 + 5y3

S.c 2x1 - x2  2 S.c 2y1 - y2 + y3  -1

- x1 + 2x2  -2 - y1 + 2y2 + y3  1

x1 + x2  5 y1  0, y2  0, y3  0

x1  0, x2  0

Max 2x1 - x2 Min 3 y1+ 4 y2

S.c x1 - x2 = 3 S.c y1+ 2 y2  2

x1  4 - y1  -1

x1  0, x2  0 y1IR, y2  0

Max 2x1 - x2 Min - 2y1 + 6y2 - 5y3

S.c x1 - 2x2  2 S.c y1 + y2 = 2

x1 + x2 = 6 - 2y1 + y2+ y3 = -1

x2  5 y1  0, y2 IR, y3  0

x1IR, x2IR

Section 3 : Analyse de sensibilité


1- Définition:

Une solution de base optimale est dite stable si l’ensemble des variables de base à l’optimum
ne changent pas, même si les valeurs de ces variables de base sont modifiées.

Dans cette section on examinera la stabilité de la solution optimale d’un programme linéaire
suite à la variation de l’un des paramètres de ce programme.

On utilisera pour présenter l’analyse de sensibilité sur ces différents paramètres du


programme linéaire l’exemple de l’agriculteur.

Max 100x1 + 200x2


S.c x1 + x2  150
4x1 + 2x2  440
- x1 + 4x2  480
x1  90
x1  0 , x2  0
2- Analyse de sensibilité sur les Cj
On cherche à déterminer un intervalle dans lequel peut varier Cj sans que la solution optimale
ne change.

Considérons une variation du coefficient Cj de 100 à 100 + 

En remplaçant dans le tableau optimal 100 par 100 +  , on obtient le tableau suivant :

100+ 200 0 0 0 0

x1 x2 S1 S2 S3 S4

100+ x1 40 1 0 4/3 0 -1/3 0

0 S2 60 0 0 -14/3 1 2/3 0

200 x2 110 0 1 -1/3 0 1/3 0

0 S4 50 0 0 -4/3 0 1/3 1

100+ 200 (200+4)/3 0 (100-)/3 0

0 0 -(200+4)/3 0 -100/3 0

La solution donnée par le tableau reste optimale si

( 200+ 4 Δ )
{ −
3
≤0 ¿ ¿ ¿ ¿

Donc la solution optimale est stable et prend la même valeur (x1,x2)=(40,110) tant que 50 
C1  200

Exercice : Supposons que le coefficient Cj d'une variable hors base dans la solution optimale,
est modifié. Dans quel intervalle, Cj peut-il varier sans que la base optimale soit modifiée ?

(Aide : différencier le cas d’un programme de maximisation et le cas d’un programme de


minimisation).

Solution :

-  < Cj  zj cas d’un programme de maximisation

zj  Cj < -  cas d’un programme de minimisation


3- Analyse de sensibilité sur les bj

Déterminer l’intervalle pour lequel, la solution optimale reste stable, pour une variation du
second membre de la ième contrainte bi .

Considérons une variation de b1 de 150 à 150 + .

Sachant que dans le premier tableau de simplexe b1 n’est présent que dans la première
contrainte. On obtient ainsi une correspondance entre la colonne des quantités Qi et la colonne
de S1.

100 200 0 0 0 0

x1 x2 S1 S2 S3 S4

0 S1 150+1  1 1 1 0 0 0

0 S2 440+0  4 2 0 1 0 0

0 S2 480+0  1 4 0 0 1 0

0 S4 90+0  1 0 0 0 0 1

0+1  0 0 0 0 0 0

100 100 0 0 0 0

Dans le tableau optimal, la colonne correspondant à S1 nous donne les coefficients de  dans
la colonne des quantités.

100 200 0 0 0 0

x1 x2 S1 S2 S3 S4

100 x1 40+4/3 1 0 4/3 0 -1/3 0

0 S2 60-14/3 0 0 -14/3 1 2/3 0

200 x2 110-1/3 0 1 -1/3 0 1/3 0

0 S4 50-4/3 0 0 -4/3 0 1/3 1

26000+200/3 100 200 200/3 0 100/3 0

0 0 -200/3 0 -100/3 0

La base reste optimale tant que :


{40+4/3Δ≥0¿{60−14/3Δ≥0¿{1 0−1/3Δ≥0¿ ¿  - 30    90/7

Donc tant que 120  b1  160,85 la base demeure la même et la solution optimale est stable
mais elle change en valeur (exemple: pour = 3 le vecteur de solutions optimale est
(x1,x2,S1,S2,S3,S4)=(44,109,0,46,0,46))

Remarque : D’après le résultat ci-dessus on peut conclure que le coût marginal de 200/3 par
hectare de la première ressource n’est valide que si la solution de base demeure stable. Donc
si et seulement si 120  b1  160,85. Ceci est appelé le domaine de validité du coût marginal.

Exercice 1:

Sans faire de calcul, de combien peut-on modifier la quantité de m 3 d’eau sans nuire à la
solution optimale ? Confirmez votre résultat a l'aide de la méthode d'analyse de sensibilité
exposé ci-dessus ?

Exercice 2 :

Déterminer l’intervalle dans lequel peut varier b1 et b3 (les ressources en surface et en main
d’œuvre) sans que la base optimale change.

Réponse 2 :

{40+4/3Δ1−1/3Δ2≥0¿{60+14/3Δ1+2/3Δ2≥0¿{1 0+1/3Δ1+1/3Δ2≥0 ¿ ¿
Pour 1 = 0 (variation nulle de la surface en hectare), la solution optimale est stable pour une
variation 2 des ressources en main d’œuvre entre 570 et 730 heures (-150  2  90).

Le coût marginal de 100/3 par heure de main d’œuvre de la 3ème ressource n’est valide que
dans l’intervalle [570, 730].

4- Analyse de sensibilité sur les coefficients aij


Supposons que dans le problème de l’agriculteur, le nombre d’unités de la ième ressources
nécessaire pour produire une unité de produit j, soit (aij + ) ou lieu de aij. Ainsi, on se pose la
question si la solution optimale demeure stable suite à un tel changement.

i) xj est une variable de base et la ième ressource est totalement utilisée.

 Par exemple : x1 + (4+)x2  480  x1 + (4 +  )x2 + S3 = 480

A l’optimum, la base est inchangée donc


¿ ¿ ¿
x 1 +( 4+∂) x 2 +S3 =480
S¿3 =0 , x ¿1 ≥0 , x ¿2 ≥0

 Si   0 , alors l’équation ne peut pas être satisfaite sinon


S ¿3 <0 puisque
¿ ¿ ¿ ¿ ¿
x 1 +4 x 2 =480 et
∂ x 2 +S3 =0 , x 2≥0 .

 Si   0 , alors on a un excèdent de la 3ème ressource (S3  0), ce qui nous contraint à


changer la base (la solution optimale n’est plus stable).

 Conclusion: Dans le cas où xj est une variable de base optimale et la ième ressource est
totalement utilisée, il est impossible de modifier le coefficient aij sans que la base dans la
solution optimale ne change pas (la solution optimale n'est pas satable).

ii) xj est une variable de base et la ième ressource n’est pas totalement utilisée² .

Par exemple : (4 +) x1 + 2x2  440

 (4 +  )x1 +2x2 + S2 = 440

A l’optimum, la solution est inchangée donc


¿
(4 +∂)x 1 + 2 x 2 + S 2 =440
¿ ¿

S¿2 =60 , x ¿1 ≥0 , x ¿2≥0

 Pour que la base demeure toujours optimale il faut et il suffit que

¿ ¿
{∂ x2 +S 2 =60 ¿ ¿ ¿ ¿
Conclusion: Dans le cas où xj serait une variable de base optimale et où la ième ressource n’est
pas totalement utilisée, il est possible de modifier le coefficient aij d’une valeur ij égale à
Si
−∞≤δ ij ≤ ¿
xj et la solution optimale demeure stable.

iii) Si xj est une variable hors base (xj = 0). Ceci implique qu’on ne va pas produire le produitj

 Si ij  0, alors il est encore moins économique de fabriquer ce produit si le coefficient


technologique aij augmenterait de ij

 Si ij  0, alors la fabrication du produit j peut devenir économique si on utilise moins de


ressources.

5- Introduction d’une nouvelle activité

On sait déjà que la valeur optimale de la variable duale représente les coûts marginaux
(d’opportunité) associés à l’utilisation de ressources limitées.

On peut également utiliser ces coûts marginaux pour évaluer des décisions concernant
l’introduction de nouveaux produits ou de nouveaux procédés de fabrication.

 a. Introduction d’une nouvelle variable de décision

L’agriculteur prévoit de produire des pommes de terre. Un hectare de pomme de terre


demande 3 m3 d’eau et 2 heures de travail pour un revenu de C3 dinars.

La question est pour qu’elle valeur de C3, l’agriculteur a-t-il intérêt à introduire cette nouvelle
production ?

Sans résoudre le nouveau programme linéaire suivant:

Max 100x1 + 200x2 + C3x3

S.c x1 + x2 + x3  150

4x1 + 2x2 +3x3  440

x1 + 4x2 + 2x3  480

x1  90

x1, x2, x3  0

On peut déterminer si l’agriculteur a un intérêt à introduire la production ou pas.

En d’autres termes, s’il n’a pas intérêt à le faire, la solution optimale du programme linéaire
ci-dessus donne x3 = 0. Ce qui revient à dire, que pour l’agriculteur l’utilisation d’un hectare
de terrain, de 3 mètres cube d’eau et de deux heures de travail lui procurent plus de gain s’ils
va les mettre au service de la production de tomates et/ou de piments plutôt que dans la
production de pommes de terre. Ceci est équivalent au fait que la contrainte suivante:
¿ ¿ ¿
¿ ¿ ¿
y 1 +3 y 2 +2 y 3 ³C 3
n’est pas satisfaite (avec
y1 , y2 e t y3 sont les prix minimaux des
ressources pour notre agriculteur).

Cette contrainte correspond à la 3ème contrainte du programme dual du programme linéaire ci-
dessus :

¿ 200 ¿ ¿ 100
y 1= ,y 2 =0 et y 3 =
On a : 3 3 , donc :

 Si C3 < 200/3, l’agriculteur n’a pas intérêt à introduire la nouvelle activité

 Si C3 > 200/3, l’agriculteur a intérêt à introduire cette nouvelle activité, la solution


optimale va changer et la valeur de la fonction objectif augmentera

 Si C3 = 200/3, l’agriculteur est indifférent envers l’introduction de cette nouvelle activité.

 b. Introduction d’une nouvelle contrainte

Si la solution optimale satisfait la nouvelle contrainte, le problème admettra la même solution.


Sinon l’introduction de cette contrainte va engendrer une nouvelle solution optimale.

6- Les problèmes à solution infinie


Graphiquement, ce problème est caractérisé par le fait qu’on peut déplacer la droite de la
fonction objectif indéfiniment de manière à accroître la valeur, en gardant toujours une
intersection non vide avec l’ensemble des solutions réalisables.

Avec la méthode de simplexe, on reconnaît ce problème lorsque la variable entrante n’admet


aucune limite sur sa valeur d’entrée, c’est à dire que tous les ratios Qi/aijo sont négatifs ou
nuls.
Exemple
Max x1 + 2x2
Sc x1 + x2  2
x2  3
x1 , x2  0
On introduit les variables d’écart et les variables artificielles, le programme linéaire devient :
Max x1 + 2x2 + 0S1 + 0S2 - Ma1
Sc x1 + x2 - S1 + a1 = 2
x2 + S2 = 3
x1 , x2 , S1 , S2 , a1  0
Les tableaux de simplexe sont :
1 2 0 0 -M
x1 x2 S1 S2 a1
-M a1 2 1 (1) -1 0 1 2
0 S2 3 0 1 0 1 0 3
-M -M M 0 -M
1+M 2+M -M 0 0

1 2 0 0
x1 x2 S1 S2
2 x2 2 1 (1) -1 0 -2
0 S2 1 -1 0 (1) 1 1
2 2 -2 0
-1 0 2 0

1 2 0 0
x1 x2 S1 S2
2 x2 3 0 1 0 1 
0 S1 1 -1
0
0
2
1
0
1
2
-1 
1 0 0 -2

Le dernier tableau montre que la variable x1 n’admet aucune limite sur sa valeur de sortie.

Exemple
Max z = 2x1 + 0 x2 + 3/2 x3
s.c. x1 - x2  2
2x1 + x3  4
x1 + x2 + x3  3
x1, x2, x3  0
La solution optimale de ce problème est :
x1 = 1
x2 = 0
x3 = 2
z =5
La forme standard du programme linéaire est
Max 2x1 + 0 x2 + 3/2x3 + 0 S1 + 0 S2 + 0 S3
Sc x1 - x2 + S1 = 2
2x1 + x3 + S2 = 4
x1 + x2 + x3 + S3 = 3
x1, x2, x3, S1, S2, S3  0
Le tableau de simplexe initial est :
2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
0 S1 2 1 -1 0 1 0 0 2
0
0
S2
S3
4
3
2
1
8
6
0
0
-1
0
0
-1
0
0
2
3

0 15 -M -M -M M
2 0 3/2 0 0 0

La variable entrante est x1, mais les deux premières contraintes donnent la même valeur
minimale du ratio. Ceci indique que lorsque x1 passe à 2, les variables d’écart S1 et S2 vont
s’annuler malgré que l’un des deux demeure encore dans la base.
Choisissons arbitrairement de faire sortir de la base la variable d’écart S1.
2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
2 x1 2 1 -1 0 1 0 0 -2
0 S2 0 0 2 1 -2 1 0 0
0 S3 1 0 2 1 -1 0 1 1/2
2 -2 0 2 0 0
0 2 3/2 -2 0 0

La nouvelle solution réalisable de base est :

x1 = 0
x2 = 0
x3= 1
S1 = 2
S2 = 0
S3 = 0
Et la valeur de la fonction objectif z = 4. Cette solution de base est dite dégénérée. Continuons
les itérations relatives à la méthode de simplexe. La variable entrante est x2.
Le problème est qu’un des ratios est nul ce qui indique qu’on ne peut pas augmenter la valeur
de x2 puisque la valeur de la fonction objectif ne va pas augmenter et reste égale à 4.
Si on réitère une autre fois, en remplaçant S2 par x2 dans la base on obtient :
2 0 3/2 0 0 0
x1 x2 x3 S1 S2 S3
2 x1 2 1 0 1/2 0 1/2 0 4
0 x2 0 0 1 1/2 -1 1/2 0 0
0 S3 1 0 0 0 1 -1 1 
2 0 0 0 1 0
0 0 1/2 0 -1 0

Ce tableau n’est pas optimal, la variable entrante est x3 et la variable sortante est x2. On
remarque aussi que ce passage d’une solution à une autre ne s’accompagne pas d’une
augmentation de la valeur de la fonction objectif.

On peut facilement vérifier que nous somme en train de cycler sans atteindre la solution
optimale. Ce genre de cyclage dans la méthode de simplexe est dangereux et on doit
l’identifier avant de commencer à résoudre le problème, sinon on passera un temps énorme
sans atteindre la solution optimale.
Pour terminer cette section, il faut noter que ce n'est pas tout problème de dégénérescence qui
peut conduire à un cyclage.

Exemple
Max 10 x1 + 9x2
Sc 7/10x1 + x2  630
1/2 x1 +5/6x2  480
x1 + 2/3x2  708
1/10 x1 +1/4x2  135
x1 ,, x2  0
Essayer de résoudre ce programme par la méthode de simplexe (choisir en cas de deux
quotients égaux, celui qui se trouve dans la ligne supérieure).