Académique Documents
Professionnel Documents
Culture Documents
Programmation Linéaire
Dr. O. Chadli
Copyright © 2020 O. Chadli
Licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License (the
“License”). You may not use this file except in compliance with the License. You may obtain a
copy of the License at http://creativecommons.org/licenses/by-nc/3.0. Unless required
by applicable law or agreed to in writing, software distributed under the License is distributed on an
“AS IS ” BASIS , WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Tentative de definition 6
1.2 Les domaines d’applications 7
1.3 Difficultés de l’Optimisation 8
1.4 Objectifs et critères de la recherche opérationnelle 9
1.5 La recherche opérationnelle est plus un art qu’une science 10
1.6 Recherche opérationnelle et Gestion 10
Pour le grand public, la recherche opérationnelle est une technique récente, datant tout au plus de la
seconde guerre mondiale. Et, en fait, c’est bien à son application aux opérations militaires qu’elle
doit son nom.
En réalité, elle est bien plus ancienne, car, dès le dix-septième siècle, B. Pascal et P. de Fermât,
inventeurs de la notion d’espérance mathématique (1654), cherchaient, suivis de peu par Jacques
Bernoulli et Waldegrave, à résoudre des problèmes de décision dans l’incertain. Avant la fin de
l’ancien régime, Monge s’était proposé et avait résolu analytiquement un problème économique de
nature combinatoire : celui des déblais et remblais (1776). Sous la monarchie de Juillet, Augustin
Cournot s’était attaqué à la théorie mathématique des richesses (1838), devenant ainsi le précurseur
de l’économétrie. Plus récemment, Emile Borel introduisait la théorie mathématique des jeux, sous
sa forme moderne, à l’Académie des Sciences (1921-25), tandis qu’Erlang fondait celle des files
d’attente, qu’il utilisait à la conception des réseaux téléphoniques (1917). Enfin, à la veille de la
guerre 1939-45, L. Kantorovitch concevait et appliquait la programmation linéaire à la planification
peu après que Kônig se fut intéressé aux graphes (1936).
On peut donc dire que, lorsque le physicien anglais Blackett fut, en 1940, appelé à présider la
première équipe de chercheurs opérationnels, d’illustres devanciers l’avaient précédé. Cependant,
Blackett eut l’immense mérite de trouver l’organisation lui permettant de traiter rapidement et avec
succès la difficile question de l’implantation optimale des radars de surveillance britanniques, qui
devaient jouer un rôle si déterminant dans la bataille d’Angleterre. On sait qu’il attribua lui-même
l’efficacité de son entreprise aux faits que l’équipe qu’il avait rassemblée était très hétérogène
(autrement dit les points de vue qui s’y manifestèrent étaient très variés), qu’aucune information
(même secrète) ne fut jugée trop noble pour échapper à sa compétence et qu’enfin il réserva la
décision à ses commettants.
Dès la fin des hostilités, furent tentés de nombreux essais d’application à l’économie industrielle
de méthodes jusqu’alors éprouvées seulement par les états-majors alliés. Depuis cette date, des
milliers de publications témoignent de leur réussite et de leurs heureux développements.
C’est pourquoi l’on peut légitimement se demander pourquoi l’apparition de la recherche opéra-
tionnelle a été si tardive. Il est bon d’énumérer quelques-unes des principales raisons de cette
naissance laborieuse:
a- Les modèles mathématiques qui ont, de longue date, conquis la physique et peu à peu, bien
d’autres sciences expérimentales, n’ont pas été acceptés d’emblée par les spécialistas des
sciences économiques, particulièrement de la micro-économie et surtout de l’économie
d’entreprise. Il ne faut pas méconnaître que les économistes avaient quelques raisons de
suspecter des modèles inertes, simplistes, rigides et abstraits, d’être peu propres à représenter
le milieu vivant, complexe, flexible et terriblement concret de l’économie. Toutefois, dès
que la connaissance économique fut suffisamment avancée et consentit à se parer du nom
de science, il fallut bien se rendre à l’évidence: comme dans toutes les autres sciences
expérimentales, parvenues à une certaine maturité, le recours à la mathématique était fatal;
b- C’est seulement à notre époque que les problèmes sont devenus irrémédiablement complexes,
en raison de la taille croissante des firmes et de l’intrication extraordinaire des liens qui les
unissent entre elles;
c- Enfin, la théorie de la recherche opérationnelle ne serait rien sans les moyens de calcul, les
machines numériques automatiques, seules aptes à résoudre les problèmes dans la pratique.
Or, les premiers ordinateurs n’ont été commercialisés qu’en 1955-56.
A ce propos, il peut être utile de remarquer qu’il en va de la recherche opérationnelle comme des
ordinateurs. Ces derniers suscitent souvent des espoirs démesurés ou des craintes infondées. Il
faut répéter que la machine doit être considérée comme un instrument, un outil au service de son
créateur: l’homme. Il faut se persuader que lorsqu’on confie à une machine l’exécution d’opérations
qui, naguère encore étaient l’apanage de l’esprit humain, le caractère de cette besogne se transforme,
du même coup, radicalement: le travail intellectuel devient un simple travail d’exécution. Il
n’y a donc aucune chance qu’une machine dépasse un jour son auteur, bien qu’il n’y ait pas
d’impossibilité à ce qu’elle démontre une conjecture, voire découvre un théorème inconnu (par une
combinaison logique inattendue...). De la même manière, la recherche opérationnelle est l’auxiliaire
de la décision humaine: elle lui est, par essence, subordonnée et il n’existe pas plus de chance
qu’elle la supplante un jour.
Il a été longtemps de mode de penser que les décisions, à propos des phénomènes d’organisation
qui existent dans l’entreprise, la région, voire la nation, étaient du ressort du seul bon sens.
C’est particulièrement vrai dans plusieurs pays, où la formation des dirigeants et des entrepreneurs
est fortement teintée de cartésianisme et où l’on confond volontiers la puissance de l’esprit humain
avec les ressources du sens commun.
Aussi, la recherche opérationnelle n’est pas le moyen d’échapper aux jugements de bon sens.
Bien au contraire, elle constitue la méthode adéquate pour ramener l’attention de l’homme aux
domaines où sa raison individuelle peut s’exercer efficacement, c’est- à-dire au niveau des choix -
une fois résolus et explorés, par des techniques adéquates, les problèmes combinatoires, aléatoires
ou concurrentiels qui ne sont pas du ressort de l’esprit, même le mieux constitué.
8! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8
d’un second employé, pourtant destiné seulement à absorber les pointes de trafic. Pour
que cette véritable solution puisse apparaître, il est nécessaire de considérer le phénomène
aléatoire dans toute son ampleur; il faut tenir compte de toutes les incidences du hasard et
minimiser l’espérance mathématique du coût global des opérations.
3- Les situations de concurrence: Les situations de duel (sinon de concurrence multiple, cas encore
plus difficile) demandent à être étudiées avec le plus grand soin. Il est bien clair, en effet, que
le choix d’une stratégie dans une situation donnée, dépend des décisions des concurrents. Et,
comme celles-ci sont éventuelles, il s’agit, à la fois, d’un problème combinatoire et d’une
situation de hasard.
Example 1.2 Imaginons, par exemple, qu’un fabricant A hésite, à chaque campagne de
vente, entre la hausse, le maintien et la diminution de ses prix de vente, sachant parfaitement
que la concurrence peut lui opposer les mêmes stratégies pures. Supposons, en outre, qu’il ait
été en mesure de déterminer les gains (les gains négatifs sont des pertes) qu’il réaliserait pour
chaque paire de choix (son propre choix et le choix du concurrent en duopole) par rapport au
chiffre normal : ces situations sont résumées par le tableau ci-dessous
Concurrence
+ = −
+ 5 −1 −4
Stratégie de A = 6 0 −2
− 10 −1 2
c- Un critère d’optimisation peut se dégrader ou être périmé lorsque du temps a passé. Cela est
dû, avant tout, à la grande flexibilité du monde économique, aux progrès de la technique, à
l’obsolescence des produits, aux fluctuations de la législation, aux renversements de la mode,
etc. et parfois, tout simplement, à la succession des saisons. Ce qui est bon en 2019 peut
devenir mauvais en 2020; ce qui est à conseiller en été peut être à rejeter en hiver. Bref, en
recherche opérationnelle, l’évolution est de règle, même pour le critère de choix.
dont c’est la fonction de décider quelle solution lui paraît la plus convenable ou la plus praticable.
Il faut affirmer bien haut que la recherche opérationnelle, loin d’entraver l’exercice des prérogatives
de l’entrepreneur, autorise ce dernier à décider en meilleure connaissance de cause, donc élève
finalement le niveau où se manifeste la liberté du choix.
Figure 1.1:
est de permettre de connaître la situation de fortune de l’entreprise (les éléments passifs et actifs)
et l’autre de fournir au fisc les bases d’imposition. Plus récemment, la comptabilité a tenté aussi
de devenir un instrument de prévision. L’étude des ratios permet de surveiller le développement
de l’entreprise et facilite l’élaboration de certaines décisions: le contrôle budgétaire autorise une
certaine planification interne et un contrôle permanent de l’utilisation et de la croissance des
ressources.
Dans les années à venir, la comptabilité semble devoir concourir à une gestion de plus en plus
scientifique. Une des conditions de ce développement est l’intégration des données, qui vise à saisir
le fait élémentaire, une fois pour toutes, dans sa pureté, c’est-à-dire au plus près de sa source. Il
faut remarquer que cette exigence ne contrarie en rien la réalisation d’un système d’informations
adapté à une structure plus ou moins décentralisée de l’entreprise et s’accomode, sans difficulté, de
tout système informatique correspondant au type d’organisation retenu, pourvu qu’un archivage
convenable soit prévu.
Source: R. Faure2 .
2 R. Faure: Précis de recherche opérationnelle. Méthodes et exercices d’application. Dunod, 7ième édition.
2. Mise en Equations et Résolution Graphiques.
Les principaux concepts et résultats seront introduits à partir de l’exemple numérique suivant:
Un ébéniste fabrique des bureaux sous deux modèles: le modèle « luxe» et le modèle «stan-
dard». Des études de marché ont montré que, pour l’année à venir, les possibilités de vente
s’élèvent à 300 unités pour le modèle « luxe» et à 400 unités pour le modèle « standard ».
L’approvisionnement en bois est suffisant pour pouvoir fabriquer annuellement 500 bureaux,
quel que soit le type. Par ailleurs, le temps de fabrication d’un bureau sous le modèle « luxe»
est double de celui d’un bureau de type « standard »; la capacité annuelle de fabrication est
telle que, si tous les bureaux fabriqués étaient du type « standard », on pourrait en fabriquer
700 au maximum. La vente d’un bureau sous le modèle « luxe» conduit à une marge unitaire
sur coût variable égale à 7, celle d’un bureau de type « standard» : 5. On se propose de
rechercher le programme annuel de fabrication conduisant au profit global maximal.
1. Variables d’activités
Désignons par x1 et x2 les nombres annuels respectifs de bureaux de modèle « luxe» et de modèle
« standard » à fabriquer : ce sont les inconnues du problème. Ces nombres sont des valeurs
numériques de variables que nous désignerons par les mêmes notations: x1 et x2 ; ces variables sont
souvent appelées variables d’activités et ce sont des variables d’action, c’est-à-dire des variables
auxquelles on peut attribuer à volonté certaines valeurs numériques, le but étant de déterminer des
valeurs numériques optimales en un sens qui va être précisé.
Le couple (x1 , x2 ) est appelé programme, quel que soit le contexte. Ici, c’est un programme annuel
2. Fonction économique
Le profit global annuel résultant de la réalisation du programme (x1 , x2 ) est : z = 7x1 + 5x2 .
C’est une fonction linéaire des deux variables x1 et x2 .
L’objectif est de déterminer l’ensemble des couples de valeurs de x1 et x2 conférant à z sa valeur
maximale.
3. Contraintes
Si les variables x1 et x2 pouvaient prendre n’importe quelle valeur réelle, il serait possible d’obtenir
des valeurs arbitrairement élevées pour le profit global z en attribuant à x1 et x2 des valeurs positives
suffisamment grandes. Mais il n’en est rien: x1 et x2 ne peuvent décrire que des sous-ensembles de
valeurs réelles. En effet :
a- Contraintes de signe:
Par nature même, x1 et x2 ne peuvent être que des variables positives:
x1 ≥ 0 et x2 ≥ 0.
On dira que les variables sont soumises à des contraintes de signe. Ces contraintes de signe,
étant évidentes, ne sont généralement pas énoncées dans l’exposé du problème. Elles sont
implicites.
b- Contraintes de caractère économique:
Ces contraintes expriment encore des inégalités (au sens large) que doivent vérifier les
variables x1 et x2 :
x1 ≤ 300 (Possibilités de vente annuelle du modèle luxe)
x2 ≤ 400 (Possibilités de vente annuelle du modèle standard)
x1 + x2 ≤ 500 (Disponibilités annuelles en bois)
2x1 + x2 ≤ 700 (Capacité annuelle de fabrication)
Dans cette dernière inégalité, les coefficients 2 et 1 sont les standards d’unité d’ oeuvre.
R Enfin, dans cet exemple, les variables x1 et x2 ne peuvent prendre que des valeurs entières,
Quand les solutions théoriques s’expriment par des nombres non entiers, on retient des valeurs
arrondies aux entiers les plus proches de façon compatible avec les contraintes.
Une telle écriture est appelée programme linéaire: elle pose ici le problème de la recherche du
maximum d’une fonction linéaire sous des contraintes linéaires.
2.2 Interprétation graphique 15
Definition 2.1.1 On dit qu’une contrainte est linéaire lorsqu’elle s’exprime au moyen d’une
inégalité ou d’une égalité, dont le premier membre est une forme linéaire des variables et le
second membre un nombre réel.
ax1 + bx2 ≤ c
du programme (I) représentent les six demi-plans fermés limités par les six droites:
Les équations s’obtiennent en saturants une à une les contraintes, c’est à dire en y remplaçant le
symbole « ≤ » ou « ≥ » par « = ».
Sur la figure 2.1 ci-dessous, on a hachuré l’intersection (F) des six demi-plans fermés représen-
tatifs des contraintes (y compris celles de signe). La partie ainsi hachurée est un domaine polygonale
fermé (hexagone). Elle est l’image des solutions admissibles, c’est à dire l’ensemble des couples
(x1 , x2 ) vérifiants l’ensemble des contraintes (2.2).
16 Chapter 2. Mise en Equations et Résolution Graphiques.
R Pour décider quel demi-plan représente une contrainte, on teste en un point du plan. Par
exemple, après avoir mis en place la droite d’équation x1 + x2 = 500, on constate qu’au point
x1 = 0, x2 = 0, la contrainte inégalité x1 + x2 ≤ 500 est vérifiée. En conséquence, le demi-plan
représentatif de cette contrainte est limité par la droite x1 + x2 = 500 et contient l’origine.
L’équation:
où z est considéré comme un paramètre, représente une famille de droites parallèles, de coefficient
directeur commun m = − 57 . Autrement dit, les courbes de niveau sont des droites parallèles.
Sur la figure (2.3), on a placé une droite de la famille définie par l’équation (2.4) pour une valeur
quelconque fixée de z.
18 Chapter 2. Mise en Equations et Résolution Graphiques.
Figure 2.3:
Au sommet O3 , on a deux contraintes saturées. On dit qu’une solution d’un programme linéaire
sature une contrainte-inégalité lorsque, pour cette solution, l’inégalité (au sens large) devient une
égalité.
Theorem 2.4.1 S’il existe au moins une solution optimale, il existe nécessairement un sommet
de (F) correspondant à une solution optimale.
Dans la suite, on appellera solution extrême toute solution admissible (optimale ou non) corre-
spondant à un sommet de (F).
Dans notre exemple, le sommet O3 correspond à une solution extrême optimale.
b. Cas dégénérés
Dans l’exemple, le sommet O3 correspond à la seule solution du programme (I). On dit que le cas
est non dégénéré.
Par contre, si nous modifions le programme (I), en remplaçant la fonction économique par la
nouvelle fonction z = x1 + x2 , les droites de niveau deviendront parallèles au côté de (F) passant par
les sommets O3 et O4 . Si le sommet O3 représente une solution optimale, alors tous les points du
segment défini par les sommets O3 et O4 représentent l’ensemble de toutes les solutions optimales.
C’est le cas dégénéré. Il y a donc alors une infinité de solutions optimales, parmi lesquelles figurent
deux solutions extrêmes, correspondant aux deux sommets O3 et O4 .
Figure 2.4:
1 Ilpeut arriver que l’ensemble des solutions admissibles d’un programme linéaire soit vide. Dans ce cas, on dit que
les contraintes sont incompatibles.
20 Chapter 2. Mise en Equations et Résolution Graphiques.
Figure 2.5:
On verra que dans le cas général, une méthode énumérative ne peut être envisagée, même si
l’on dispose de puissants moyens de calcul.
2.6 Exercises
Exercise 2.1 La direction d’une usine de meubles a constaté qu’il y a des temps morts dans
chacun des départements de l’usine. Pour remédier à cette situation, elle décide d’utiliser
ces temps morts pour fabriquer deux nouveaux modèles de bureaux, M1 et M2 . Les temps de
réalisation pour chacun de ces modèles dans les ateliers de sciage, d’assemblage et de sablage
ainsi que les temps libres dans chacun de ces ateliers sont donnés dans le tableau ci-dessous.
Ces temps représentent le nombre d’heures nécessaires à un homme pour effectuer le travail.
Les profits que la compagnie peut réaliser pour chacun de ces modèles sont de 300 DH pour M1
et de 200 DH pour M2 .
M1 M2 Temps Libre
Sciage 1 2 20
Assemblage 2 1 22
Sablage 1 1 12
Exercise 2.2 L’entreprise NewTech doit, dans son processus de fabrication de ses produits,
utiliser trois phases successives d’opération : l’usinage des pièces, l’assemblage et la finition.
2.6 Exercises 21
Pour simplifier le problème, supposons que l’entreprise fabrique trois produits que nous noterons
P1 , P2 et P3 . Les différentes phases d’opération ne peuvent toutefois fonctionner que pendant un
certain nombre d’heures. La main d’oeuvre actuelle limite le nombre d’heures disponibles aux
valeurs suivantes:
Usinage: 100 heures
Assemblage: 120 heures
Finition: 200 heures
Le tableau suivant nous indique les temps de fabrication requis, en heures/unité, aux différentes
phases d’opération pour fabriquer les produits P1 , P2 et P3 .
P1 P2 P3
Usinage 1 2 1
Assemblage 3 4 2
Finition 2 6 4
De plus, on suppose qu’il n’existe aucune restriction de marché ; il peut absorber toute la
production. Déterminer le programme linéaire associé à ce problème.
Exercise 2.3 Une compagnie prépare trois assortiments de fruits frais : une boîte de luxe,
une boîte spéciale et une boîte ordinaire. La boîte de luxe contient 0.45 kg de dattes, 0.67 kg
d’abricots et 0.34 kg de pêches. La boîte spéciale contient 0.56 kg de dattes, 0.34 kg d’abricots
et 0.084 kg de pêches. La boîte ordinaire contient 0.45 kg de dattes, 0.22 kg d’abricots. La
compagnie dispose de 33.6 kg de dattes, 25.2 kg d’abricots et 10.08 kg de pêches. Les profits
sur chaque boîte de luxe, spéciale et ordinaire sont respectivement de 3 DH, 2 DH et 1.50 DH.
Enoncer le programme de base de la compagnie.
Exercise 2.4 Une compagnie a besoin d’espace additionnel pour entreposer ses marchandises.
Elle planifie la location d’espace pour les cinq prochains mois, sachant que l’espace additionnel
requis pour chacun de ces mois est connu avec certitude, tel que représenté par le tableau suivant:
Plusieurs options s’offrent à la compagnie : elle peut louer de l’espace un mois à la fois, mais
aussi pour des périodes de deux mois ou plus. Les coûts de location correspondants sont donnés
par le tableau suivant:
22 Chapter 2. Mise en Equations et Résolution Graphiques.
L’objectif de la compagnie est de minimiser le coût total de location, tout en s’assurant que
l’espace additionnel requis soit loué. Formulez ce problème à l’aide d’un modèle de program-
mation linéaire.
Exercise 2.5 Un fabricant de meubles peut produire quatre modèles de bureau. Chaque bureau
est d’abord fabriqué dans l’atelier de menuiserie, puis envoyé à l’atelier de finition où il est
poncé et verni. Le nombre d’heures de travail requis dans chaque atelier est le suivant:
Du fait des capacités de production limitées, on ne peut effectuer plus de 7000 heures de travail
dans l’atelier de menuiserie et de 4000 heures de travail dans l’atelier de finition, au cours des
six mois à venir. La marge bénificière brute (recette moins coût directs) provenant de la vente
de chaque modèle est la suivante:
Modèle 1 2 3 4
Marge 60 100 90 200
On suppose que les matières premières et les fournitures sont disponibles en quantités suffisante
et que toute la production peut être écoulée.
Travail à faire: Ecrire le programme linéaire dont l’objectif est la maximisation de la marge
bénificiaire.
(Source: D’après G.B. Dantzig, "Applications et prolongement de la programmation linéaire", Dunod)
Exercise 2.6 La "Socité anonyme des Fonderies du Maroc" fabrique, entre autres produits,
deux articles P1 et P2 qu’elle vend à des grossistes aux prix respectifs de 320 DH et 500 DH. Sur
le plan de fabrication, la production des produits P1 et P2 nécessite l’utilisation, dans un ordre
quelconque, de trois types de machines notées M1 , M2 et M3 , pendant des temps exprimés en
minutes dans le tableau suivant:
Machines M1 M2 M3
Produit P1 20 50 10
Produit P2 30 50 40
Par ailleurs, pour cette fabrication, ces machines ne sont disponibles au cours d’un mois que:
25 % pour P1
20 % pour P2 .
z1 > z0 .
Le problème qui s’est posé au sommet de départ (O) se repose dans les mêmes termes au nouveau
sommet (O1 ).
Soient C(O1 ) , C’(O1 ) , C"(O1 ) les trois classes de sommets adjacents à (O1 ) définies comme précédem-
ment.
Si l’ensemble C(O1 ) est vide, le sommet (O1 ) est optimal, unique si de plus C’(O1 ) = 0. / Sinon,
on itère la procédure en sélectionnant un sommet (O1 ) dans la classe C(O1 ) , etc. On démontre
qu’au bout d’un nombre fini d’itérations, on atteindra une solution optimale. A chaque itération, la
fonction économique va en croissant. On voit donc que cette méthode itérative consiste, à partir
d’un sommet de départ, a cheminer tout le long de certains côtés de (F) jusqu’à l’obtention d’une
solution optimale, une itération faisant passer d’un sommet à un sommet adjacent en « améliorant»
la fonction économique.
Max [z = 7x1 + 5x2 + 0x3 + 0x4 + 0x5 + 0x6 ]
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0
x1 + x3 = 300
Forme standard (I’) (3.2)
s.c. x2 + x4 = 400
x1 + x2 + x5 = 500
2x1 + x2 + x6 = 700
Le programme canonique (I) et le programme standard (I’) ont les mêmes solutions optimales, en
x1 et x2 ; autrement dit, les valeurs optimales de x1 et x2 sont les mêmes dans les programmes (I) et
(I’).
Les variables x3 , x4 , x5 et x6 s’appellent variables d’écart. Elles sont affectées d’un coefficient
positif de telle sorte que ces variables soient positives pour toute solution admissible (x1 , x2 ).
Ainsi, toutes les variables du programme (I’) sont soumises aux mêmes contraintes de signe. A
3.3 Problème de la détermination d’une solution extrême de départ 27
chaque contrainte économique du programme canonique (I) est associée une variable d’écart du
programme standard (I’).
Une contrainte de (I) est saturée si, et seulement si, sa variable d’écart associée est nulle.
Évidemment, la fonction économique doit être la même dans (I) et dans (I’). C’est le profit global
résultant du programme de fabrication (x1 , x2 ). Donc, dans (I’) les variables d’écarts ont des
coefficients nuls dans la fonction économique.
x1 + x3 = 300
x2 + x4 = 400
x1 + x2 = 500
2x1 + x2 = 700.
Solution:
x1 = 200, x2 = 300
x3 = 100, x4 = 100.
n
Cette solution est admissible, puisque toutes les coordonnées sont positives. Or, puisqu’il y a Cn+m
n
façons de choisir n variables nulles parmi n + m, il y a donc (au plus) Cn+m systèmes de format
(m, m) à résoudre, pour retenir enfin un système dont la solution est à coordonnées positives ou
nulles. On conçoit dès lors qu’une méthode énumérative est le plus souvent impraticable, dès que n
et m depassent quelques unités, pour déterminer un sommet de (F) qui servira de solution de depart
dans l’algorithme simplicial.
28 Chapter 3. Méthode de Dantzig: Résolution Algébrique
Dans le cas des programmes du type (I), il existe cependant une solution extrême évidente
qui peut être choisie comme solution de départ. Il est clair que si on annule x1 et x2 les autres
inconnues, de x3 , x4 , x5 et x6 prennent des valeurs positives, égales aux seconds membres. La
solution admissible extrême (sommet):
sera donc une solution extrême de départ (O) (ou bien sommet de départ (O)), solution pour
laquelle la fonction économique prend la valeur z0 = 0.
Dans la théorie des systèmes linéaires on dit que les inconnues x3 , x4 , x5 , x6 sont choisies comme
inconnues principales dans le système (S). Les inconnues x1 et x2 sont alors non principales: on
leur a attribué une valeur arbitraire; ici, on a choisi zéro.
Rappelons que le rang de la matrice A des coefficients des premiers membres de contraintes est 4.
Or, les 6 vecteurs-colonnes sont des vecteurs de R4 , ils sont donc linéairement indépendants. On
voit de plusimmédiatement que les 4 derniers vecteurs-colonnes constituent une base de l’espace
vectoriel engendré par les vecteurs-colonnes: ce n’est autre que la base cononique de R4 .
A ces vecteurs de base, numéros 3, 4, 5, 6 correspondent, dans le système (S), les variables x3 ,
x4 , x5 , x6 choisies comme inconnues principales dans le cadre de la résolution du système (S)
en fonction des inconnues non principales x1 et x2 . En programmation linéaire, on dit, par abus
de langage, que les variables principales x3 , x4 , x5 , x6 sont les variables dans la base et que les
variables non principales x1 et x2 sont les variables hors-base pour la solution extrême admissible
(ou bien sommet de départ) (O), dite aussi solution de base.
Definition 3.3.1 Le choix de variables hors-base correspond donc, dans (S), au choix de
variables en fonction desquelles on cherche à résoudre (S), et, pour une solution de base,
correspond au choix des variables qui seront nulles, de façon à se trouver en un sommet du
domaine polyédral (F) des solutions admissibles.
Theorem 3.3.3 Pour tout programme standard associé à un programme canonique de type (I), il
existe toujours une solution de base de départ évidente:
celle qui consiste à choisir les variables d’écart comme variables dans la base, dont les valeurs
sont celles des seconds membres, les autres variables, hors-base, prenant la valeur zéro. Cette
solution correspond à la « solution nulle » du programme canonique.
Disposant ainsi d’une solution extrême de départ, l’algorithme du simplexe peut être amorcé. Nous
exposerons ses fondements exclusivement à partir de l’exemple numérique précédent, au moyen
d’un procédé algébrique élémentaire, c’est le but de ce chapitre.
La solution de base (extrême) de départ du programme standard correspond au sommet (O) pour le
programme canonique: c’est la « solution nulle », qui consiste à ne rien produire.
x1 = 0, x2 = 0;
30 Chapter 3. Méthode de Dantzig: Résolution Algébrique
z0 = 0.
Dans cet exposé, il sera commode de considérer que les variables d’écart x3 , x4 , x5 , x6 sont les
niveaux de production de produits fictifs P3 , P4 , P5 , P6 qui ne rapportent rien. Les produits « réels»
seront désignés par P1 et P2 .
PREMIÈRE ITÉRATION
a) Variable entrante et variable sortante
Soit (S0 ) le système formé par les contraintes et par la fonction économique, désignée par z:
x1 + x3 = 300
2 + x4 = 400
x
(S0 ) x1 + x2 + x5 = 500
2x + x2 + x6 = 700
1
7x1 + 5x2 − z = 0
z = 7x1 + 5x2 .
O. Chadli. ©FSJES Agadir
3 Cet
échange revient à procéder à un changement de base dans l’espace vectoriel R4 , initialement rapporté à la base
canonique. Ce changement de base n’échange qu’un seul vecteur; celui qui correspond à la variable entrante.
4 G.B. Dantzig a énoncé un autre critère de sélection de la variable entrante, dit « premier critère de Dantzig », mais
Cherchons maintenant jusqu’à quel niveau il est possible de porter x1 de façon compatible avec les
contraintes. Ces contraintes (autres que celles de signe) satisfaites dès l’instant où l’on a:
x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0.
Donc, d’après (T0 ), To), la variable entrante x1 peut prendre toute valeur positive telle que:
x1 ≤ 300
1
300 − x1 ≥ 0
x1 ≤ 400
400 − 0x1 ≥ 0 0
0
(U0 ) ⇐⇒ (U0 )
500 − x1 ≥ 0
x1 ≤ 500
700 − 2x1 ≥ 0
1
x1 ≤ 700
2
La valeur maximale de x1 est donc égale à la plus grande solution du système d’inéquations (U0 ) :
c’est le plus petit rapport figurant dans (U00 ):
(Figure 3.1), la sélection de x1 conduit à cheminer tout le long de l’axe (Ox1 ); L’ « absence » de
x1 dans la deuxième contrainte se traduit par le parallehsme de ce cheminement avec le segment
[O4 , O5 ]. La valeur maximale de x1 compatible avec les contraintes, x2 restant nulle, est donc:
x1 = 300.
x3 = 0.
Il en résulte que x3 devient variable hors-base dans la nouvelle solution extrême (O1 ): x3 est
variable sortante.
x3 = 0 signifie que la solution extrême (O1 ) sature la première contrainte. Revenons au système
(S0 ). On constate que les rapports 300 400 500 700
1 , 0 , 1 , 2 ne sont autres que les rapports des seconds
membres des contraintes aux coefficients correspondants de la variable entrante. La variable
sortante est donc sélectionnée selon le critère:
La première itération est maintenant terminée. Elle a aboutit à la solution associée au sommet (O1 ):
• variables hors-base:
x2 = 0, x3 = 0;
z1 = 2100.
DEUXIÈME ITÉRATION
Afin de la préparer, il est nécessaire de se placer dans la même situation qu’au début dc la première
itération: pour la nouvelle solution de base, il nous faut écrire le système (S10 ) exprimant les
nouvelles variables dans la base x1 , x4 , x5 , x6 et la fonction économique z exclusivement en
fonction des nouvelles variables hors-base x2 , x3 .
x3 = 300 − x1 − 0x2 ← équation d’échange
x1 = 300 − 0x2 − x3
x4 = 400 − 0x1 − x2 x4 = 400 − x2 − 0x3
(S00 ) x5 = 500 − x1 − x2 ⇐⇒ (S10 ) x5 = 200 − x2 + x3
x6 = 700 − 2x1 − x2 x6 = 100 − x2 + 2x3
z = 2100 + 5x2 − 7x3
z = 0 + 7x1 + 5x2
Dans le passage du sommet (O) au sommet (O1 ), les variables échangées sont x1 et x3 : x1 entrante,
x3 sortante (on a « buté» sur la contrainte n° 1). Nous dirons que la première équation de (S00 ), ainsi
que de (S0 ), est l’équation d’échange: elle permet de tirer la variable entrante x1 en fonction des
nouvelles variables hors-base x2 , x3 .
qui aurait pu être obtenu directement à partir de (S0 ) par combinaisons linéaires d’équations:
on aurait conservé la première équation de (S0 ), puis éliminé x1 dans toutes les autres à
partir de la première. C’est cette remarque qui va permettre de présenter les calculs sous
forme de tableaux, ultérieurement. On applique ensuite la même procédure qu’auparavant.
Il est visible qu’on n’a pas intérêt à faire entrer x3 : toute augmentation de x3 à partir de 0
provoquerait une diminution de z; on cheminerait alors de nouveau sur le segment [O1 , O] (Figure
3.1) et l’on reviendrait au point de départ (O). Le deuxième critère de Dantzig conduit à la sélection
de x2 , qui sera la variable entrante. (II est naturel de fabriquer maintenant P2 qui rapporte aussi).
Comme x3 reste alors hors-base, donc nulle, le cheminement va se produire tout le long du segment
[O1 , O2 ], ce qui conduira au sommet (O2 ): la première contrainte restera saturée. « Butant» sur la
quatrième contrainte qui sera saturée au sommet (O2 ), la variable d’écart associée x6 s’annulera:
on la trouvera donc comme variable sortante.
et cherchons jusqu’à quel niveau on peut porter x2 . Les contraintes seront satisfaites dès l’instant
où:
x1 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0.
x2 ≤ 300
0 = +∞
300 − 0x2 ≥ 0
x2 ≤ 400
400 − x2 ≥ 0 1
0
(U1 ) ⇐⇒ (U1 )
200 − x2 ≥ 0
x2 ≤ 200
100 − x2 ≥ 0
1
x2 ≤ 100
1
Dans le système (S1 ), la variable sortante est la variable dans la base, correspondant au plus petit
rapport (positif) des seconds membres aux coefficients de la variable entrante.
TROIXIÈME ITÉRATION
Exprimons les nouvelles variables dans la base x1 , x2 , x4 , x5 et la fonction économique z en fonction
des nouvelles variables hors-base x3 et x6 .
Dans (S10 ), l’équation d’échange est la quatrième.
x1 = 300 − 0x2 − x3
x1 = 300 − x3 − 0x6
− −
4
x = 400 x 2 0x 3 x4 = 300 − 2x3 + x6
(S10 ) x5 = 200 − x2 + x3 ⇐⇒ (S20 ) x5 = 100 − x3 + x6
x = 100 − x + 2x ← équation d’échange x = 100 + 2x3 − x6
6 2 3
2
z = 2100 + 5x2 − 7x3 z = 2600 + 3x3 − 5x6
(S20 ) est obtenu à partir de (Sl0 ) en tirant x2 dans l’équation d’échange et en reportant dans les autres
équations.
qu’on obtient directement à partir de (S1 ) en conservant la quatrième équation (équation d’échange)
et en éliminant x2 dans les autres à partir de celle-ci, au moyen de combinaisons linéaires conven-
ables.
3.4 Exposé algébrique de la méthode du simplexe 35
QUATRIÈME ITÉRATION
Géométriquement, on sait qu’elle n’aura pas lieu. Cependant, il nous faut la préparer, de façon à
apercevoir le critère de fin de calcul. Formons le système (S30 ) à partir de (S20 ):
x1 = 300 − x3 − 0x6
x1 = 200 + x5 − x6
x4 = 300 − 2x3 + x6
x4 = 100 + 2x5 − x6
(S20 ) x5 = 100 − x3 + x6 ← équation d’échange ⇐⇒ (S30 ) x3 = 100 − x5 + x6
x2 = 100 + 2x3 − x6 x2 = 300 − 2x5 + x6
z = 2900 − 3x5 − 2x6
z = 2600 + 3x3 − 5x6
On a donc les nouvelles variables dans la base et la fonction économique en fonction des nouvelles
variables hors-base.
De plus, (S30 ) équivaut à (S3 ):
x1 − x5 + x6 = 200
+x − 2x + x = 100
4 5 6
(S3 ) x3 + x5 − x6 = 100
x + 2x − x = 300
2 5 6
−3x5 − 2x6 − z = −2900
qu’on déduit de (S2 ) en gardant l’équation d’échange n° 3 et en éliminant x3 dans les autres à partir
de celle-ci, par combinaisons linéaires.
Tous les coefficients de z sur ces variables sont négatifs: faire de nouveau entrer dans la base x5 ou
x6 diminuerait z. Il n’est donc plus possible « d’améliorer» la fonction économique.
La solution extrême précédente est optimale. Les variables « réelles» ont pour valeur optimale:
∗
x1 = 200, : 200 bureaux du modèle « luxe»;
x2∗ = 300, : 300 bureaux du modèle « standard »;
x3∗ = 100 : il reste une possibilité de marché de 100 bureaux du modèle « luxe»;
x4∗ = 100 : il reste une possibilité de marché de 100 bureaux du modèle « standard»;
x5∗ = 0 : tout le bois disponible est utilisé;
x6∗ = 0 : tout le temps disponible est utilisé.
Le profit maximum est:
z∗ = 2900.
De plus, cette solution optimale est unique, car toute augmentation de x5 et x6 provoque une
variation de z dans le sens de la décroissance. Par contre, si l’un des coefficients de x5 ou x6 dans
l’expression de z, avait été nul, l’introduction dans la base de la variable correspondante aurait
laissé z constant: il y aurait eu deux solutions optimales extrêmes adjacentes, d’où une infinité de
solutions optimales correspondant aux points de l’arête joignant les deux sommets associés aux
solutions optimales extrêmes.
Theorem 3.4.1 Si, relativement à une solution extrême, les coefficients de la fonction économique
exprimée exclusivement en fonction des variables hors-base, sont négatifs ou nuls, cette solution
est optimale lorsque optimal signifie maximal.
3.5 Exercises
Exercise 3.1 Résoudre par la méthode du simplexe le programme linéaire suivant:
Max [z = 3x1 + 4x2 + 2x3 ]
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
x1 ≤ 100
(3.3)
s.c. x2 ≤ 150
x + x2 + 2x3 ≤ 200
1
2x1 + x2 + x3 ≤ 250
Travail à faire:
L’entreprise désirant connaître les programmes de fabrication conduisant à maximiser son chiffre
d’affaires, ainsi que les capacités de production utilisées et résiduelles, vous êtes chargé d’en
mener l’étude générale. On désignera par x les quantités de produit P1 et par y les quantités de
produit P2 liées aux programmes de fabrication étudiés.
1- Déterminer le programme de fabrication de l’unité de fabrication existante par la Méthode
graphique-On le désignera par Programme I.
a- Etablir le graphe (Domaine des solutions admissibles);
b- Présenter le résultat de l’étude dans un tableau de synthèse faisant ressortir pour les
sommets du graphe:
- Les quantités de produits P1 et P2 fabriquées;
- Les chiffres d’affaires par produit, le chiffre d’affaires global mensuel correspon-
dant.
2- Déterminer le programme de fabrication de l’unité de fabrication nouvelle ( Méthode
graphique). On le désignera par Programme II.
a- Etablir le graphe;
b- Présenter le résultat de l’étude dans un tableau de synthèse identique à celui visé à la
question 1)-b);
c- Contrôler le programme de fabrication II par la méthode de Dantzig (simplexe).
3- Prèsenter sous la forme d’un tableau unique ou de plusieurs tableaux synoptiques, pour
chacun des programmes I et II ci-dessus, ainsi que pour la production actuelle de 1 500
unités de chacun des produits P1 et P2 :
- les programmes en quantités (x, y);
- les coefficients techniques d’atelier;
- les capacités utilisées dans chaque atelier et pour l’ensemble de l’unité de production,
- les capacités résiduelles par atelier et pour l’ensemble de l’unité de production, mettant
en évidence la sous-activité de l’atelier ou de l’unité de fabrication.
Partie II. L’analyse des coûts et prix de revient des produits P1 et P2 , pour l’unité de fabrication
existante, est résumée comme suit:
P1 P2
Quantités fabriquées et vendues mensuellement 1500 unités 1 500 unités
Coût variable unitaire 200 DH 160 DH
Coût fixe global annuel 3300000 DH 1650000 DH
L’analyse corrélative des coûts et prix de revient prévisionnels pour l’unité de fabrication
supplémentaire a fait ressortir la structure des coûts suivante associée au programme II :
P1 P2
Quantités fabriquées et vendues mensuellement 2000 unités 2000 unités
Coût variable unitaire 120 DH 140 DH
Coût fixe global annuel 2860000 DH 1 100 000 DH
Travail à faire:
3.5 Exercises 39
1- En tenant compte d’une activité de onze mois, l’entreprise étant fermée au mois d’août pour
cause de congés, ainsi que de l’impôt sur les sociétés au taux actuel de 50%, étudier le
résultat analytique d’exploitation par produit et global pour un exercice social, associé :
a- aux conditions d’activité actuelles,
b- aux conditions d’activité liées au programme I,
c- aux conditions d’activité liées au programme II.
Présenter l’étude sous la forme d’un tableau.
Chiffrer les variations de résultat net associées aux programmes I et II.
2- En vue ce compléter votre étude, la direction vous demande en dernier lieu de rechercher les
programmes de fabrication conduisant à une maximisation de la marge sur coût variable
globale mensuelle:
a- pour l’unité de fabrication existante - programme III,
b- pour la nouvelle unité de fabrication - programme IV.
Utiliser les conclusions antérieures.
3- A l’intention de la direction générale, à partir des résultats obtenus précédemment (questions
I et II), présenter et justifier en quelques lignes des propositions de choix économiques
qui devront être faites en matière de production.
(comptabilité et gestion d’entreprises, extrait de l’étude de cas)