Vous êtes sur la page 1sur 84

CHAPITRE 1

Formulation dun programme linaire (PL)


I. Introduction
Limportance de loptimisation et la ncessit dun outil simple pour modliser
des problmes de dcision que soit conomique, militaire ou autres on fait de la
programmation linaire un des champs de recherche les plus actifs au milieu du
sicle prcdent. Les premiers travaux (1947) sont celle de George B. Dantzig et
ses associs du dpartement des forces de lair des Etats Unis dAmrique.
Les problmes de programmations linaires sont gnralement lis des
problmes dallocations de ressources limites, de la meilleure faon possible,
afin de maximiser un profit ou de minimiser un cot. Le terme meilleur fait
rfrence la possibilit davoir un ensemble de dcisions possibles qui
ralisent la mme satisfaction ou le mme profit. Ces dcisions sont en gnral
le rsultat dun problme mathmatique.

II. Les Conditions de formulation


La programmation linaire comme tant un modle admet des hypothses (des
conditions) que le dcideur doit valider avant de pouvoir les utiliser pour
modliser son problme. Ces hypothses sont :
1. Les variables de dcision du problme sont positives
2. Le critre de slection de la meilleure dcision est dcrit par une fonction
linaire de ces variables, cest dire, que la fonction ne peut pas contenir
par exemple un produit crois de deux de ces variables. La fonction qui
reprsente le critre de slection est dite fonction objectif (ou fonction
conomique).
3. Les restrictions relatives aux variables de dcision (exemple: limitations
des ressources) peuvent tre exprimes par un ensemble dquations
linaires. Ces quations forment lensemble des contraintes.
4. Les paramtres du problme en dehors des variables de dcisions ont une
valeur connue avec certitude

III. Les tapes de formulation dun PL :


Gnralement il y a trois tapes suivre pour pouvoir construire le modle d'un
programme linaire :

1. Identifier les variables du problme valeur non connues (variable de


dcision) et les reprsenter sous forme symbolique (exp. x , y ).
2. Identifier les restrictions (les contraintes) du problme et les exprimer par
un systme dquations linaires.
3. Identifier lobjectif ou le critre de slection et le reprsenter sous une
forme linaire en fonction des variables de dcision. Spcifier si le critre
de slection est maximiser ou minimiser.
1

IV. Prsentation Thorique


Un programme linaire consiste trouver le maximum ou le minimum dune
forme linaire dite fonction objectif en satisfaisant certaines quations et
ingalits dites contraintes. En langage mathmatique, on dcrira de tels
modles de la manire suivante :
Soient N variables de dcision x , x ,, x lhypothse que les variables de
1

n,

dcision sont positives implique que


La fonction objectif est une forme linaire en fonction des variables de dcision
de type
o les coefficients c ,,c doivent avoir une valeur bien dtermine (avec
certitude) et peuvent tre positifs, ngatifs ou nuls. Par exemple le coefficient c
peut reprsenter un profit unitaire li la production dune unit supplmentaire
du bien x ainsi la valeur de z est le profit total li la production des diffrents
biens en quantits gales
1

i,

Supposons que ces variables de dcision doivent vrifier un systme dquations


linaires dfinis par M ingalits

o les coefficients a ,, a et b ,, b doivent avoir une valeur bien dtermine


(avec certitude) et peuvent tre positifs, ngatifs ou nuls. Le paramtre b
reprsente la quantit de matire premire disponible dont le bien x utilise une
quantit gale a x .
1M

MN

ij

En suivant les tapes de formulation ci-dessus, on peut reprsenter le PL comme


suit :

V. Exemples de formulations
Limit au dpart aux problmes industriels et militaires, de nos jours plusieurs
problmes de divers domaines sont reprsents ou approxims par des modles
de PL. Lutilisation de ces techniques de modlisation sest renforce encore
aprs avoir construit des algorithmes et des logiciels capables de rsoudre de
plus larges problmes avec autant de variables de dcision que de contraintes.
La tche de formulation demande gnralement une certaine expertise et
connaissance du problme pour pouvoir relever facilement les diffrentes
composantes du problme et ainsi donner un programme qui modlise au mieux
la situation relle. Dans ce qui suit, on prsentera quelques exemples de
formulation en programme linaire lis diffrents problmes de dcision :
Exemple 1 : Problme dagriculture
Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de
tomates et celles de piments. Il dispose de 480 heures de main duvre et de 440
m deau. Un hectare de tomates demande 1 heure de main duvre, 4 m deau
et donne un bnfice net de 100 dinars. Un hectare de piments demande 4 heures
de main duvre, 2 m deau et donne un bnfice net de 200 dinars.
3

Le bureau du primtre irrigu veut protger 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 problme en un PL :
Etape 1 : Identification des variables de dcision. Les deux activits que
lagriculteur doit dterminer sont les surfaces allouer pour la culture de
tomates et de piments :

x : la surface alloue la culture des tomates


1

x : la surface alloue la culture des piments


2

On vrifie bien que les variables de dcision x et x sont positives :


.
Etape 2 : Identification des contraintes. Dans ce problme les contraintes
reprsentent la disponibilit des facteurs de production :
1

Terrain : lagriculteur dispose de 150 hectares de terrain, ainsi la


contrainte lie la limitation de la surface de terrain est
Eau : la culture dun hectare de tomates demande 4 m deau et celle dun
hectare de piments demande 2m mais lagriculteur ne dispose que de
440m . La contrainte qui exprime les limitations des ressources en eau est
.
Main duvre : Les 480 heures de main duvre seront dpartager (pas
ncessairement en totalit) ente la culture des tomates et celles des
piments. Sachant quun hectare de tomates demande une heure de main
duvre et un hectare de piments demande 4 heures de main duvre
alors la contrainte reprsentant les limitations des ressources
humaines est
Les limitations du bureau du primtre irrigu : Ces limitations exigent
que lagriculteur ne cultive pas plus de 90 hectares de tomates. La
contrainte qui reprsente cette restriction est
3

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 dcision x1 et x2
sont proportionnelles leur valeur. La fonction objectif est donc
Le programme linaire qui modlise le problme dagriculture est :

Exemple 2 : Problme de mdecine


Un spcialiste en mdecine a fabriqu un mdicament (des pilules) pour gurir
les sujets atteints dun rhume. Ces pilules sont fabriques selon deux formats :

Petite taille : elle contient 2 grains daspirine, 5 grains de bicarbonate et 1


grain de codine.
Grande taille : elle contient 1 grain daspirine, 8 grains de bicarbonate et 6
grains de codine.

Pour gurir la maladie, le sujet a besoin de 12 grains daspirine, 74 grains de


bicarbonate et 24 grains de codine. Dterminer le nombre de pilules minimales
prescrire au sujet pour quil soit gurit.
Formulation du problme en un PL :
Le problme de mdecine prsente certaines ressemblances avec le problme de
lagriculture, dans les deux cas cest un problme dallocation de ressources.
Les variables de dcision qui reprsentent des valeurs inconnues par le dcideur
qui est dans ce cas le spcialiste en mdecine sont :

x : le nombre de pilules de petite taille prescrire.

x : le nombre de pilules de grande taille prescrire.

On vrifie bien que les variables de dcision x et x sont positives :


.
Les contraintes imposes par le problme sur les valeurs possibles de x et x
sont :
1

La prescription doit contenir des pilules avec au moins 12 grains


daspirine. Sachant quune petite pilule contient 2 grains daspirine et
quune grande pilule contient un seul grain daspirine, on obtient la
contrainte suivante :
.
De la mme faon que pour laspirine, la prescription du spcialiste en
mdecine doit contenir au moins 74 grains de bicarbonate. Ainsi la
contrainte suivante doit tre satisfaite :
.
Finalement la contrainte impose par le fait que la prescription doit
contenir au moins 24 grains de codine est
.

Etape 3 : Identification de la fonction objectif. On remarque quil y a plusieurs


couples de solutions
qui peuvent satisfaire les contraintes spcifies
ltape 2. La prescription doit contenir le minimum possible de pilules. Donc le
critre de slection de la quantit de pilules prescrire est celle qui minimise le
nombre total des pilules
.

Le programme linaire qui modlise ce problme mdical est donc le suivant :

Exemple 3 : problme de production


Pour fabriquer deux produits P1 et P2 on doit effectuer des oprations sur trois
machines M1, M2 et M3, successivement mais dans un ordre quelconque. Les
temps unitaires dexcution sont donns par le tableau suivant :
M1
M2
M3
P1 11 mn 7 mn 6 mn
P2 9 mn 12 mn 16 mn
On supposera que les machines nont pas de temps dinactivit.
La disponibilit pour chaque machine sont :

165 heures (9900 minutes) pour la machine M1 ;


140 heures (8400 minutes) pour la machine M2 ;
160 heures (9600 minutes) pour la machine M3 .

Le produit P1 donne un profit unitaire de 900 dinars et le produit P2 un profit


unitaire de 1000 dinars.
Dans ces conditions, combien doit-on fabriquer mensuellement de produits P1 et
P2 pour avoir un profit total maximum ?
Formulation en un PL :
Les variables de dcisions sont :

x : le nombre dunits du produit P1 fabriquer

x : le nombre dunits du produit P2 fabriquer

Les contraintes outre les contraintes de non-ngativit sont :

pour la machine M1
pour la machine M2
pour la machine M3

Le profit maximiser est :


Le programme linaire rsultant est :

Exemple 4 : Problme dalimentation


On se propose de raliser une alimentation conomique pour des bestiaux, qui
contient obligatoirement 4 sortes de composants nutritifs, A, B, C et D.
Lindustrie alimentaire produit prcisment deux aliments M et N qui
contiennent ces composants : 1 Kg daliment M contient 100 g de A, 100 g de C,
200 g de D ; 1 Kg daliment N contient 100 g de B, 200 g de C, 100 g de D.
Un animal doit consommer par jour au moins : 0.4 Kg de A ; 0.6 Kg de B ; 2 Kg
de C ; 1.7 Kg de D. Laliment M cote 10 DT le Kg et N cote 4 DT le Kg.
Quelles quantits daliments M et N doit-on utiliser par jour et par animal pour
raliser lalimentation la moins coteuse ?
Formulation en un PL :
On peut rsumer toutes les donnes du problme dans le tableau suivant
M N Quantits prescrites
A 0.1 0
0.4
B
0 0.1
0.6
C 0.1 0.2
2
D 0.2 0.1
1.7
Cot 10 4
Ce genre de tableau peut aider mieux analyser le problme et ainsi formuler le
programme linaire correspondant.
Les variables de dcision sont

x : la quantit daliments M utiliser pour lalimentation des deux


bestiaux
x : la quantit daliments N utiliser pour lalimentation des deux
bestiaux
M

Les contraintes de non-ngativit sont


Le choix de cette quantit est contraint la prsence dans lalimentation du
composant

A:
B:
C:

D:

La fonction objectif est une fonction cot :


.
Le programme linaire est un programme de minimisation :

Exemple 5 : Problme de mlange


Un industriel veut produire un alliage Z 30% de plomb, 30% de zinc et 40%
dtain. Supposons quil puisse se procurer sur le march des alliages A, B, C,
D, E, F, G, H, I dont les compositions et les prix respectifs sont donns dans le
tableau suivant :
Compositions
alliages
(en %)
Plomb
Zinc
Etain
Cot au Kilo

des A

10
10
80
4.1

C D E

10
30
60
4.3

40
50
10
5.8

60
30
10
6

30
30
40
7.6

Alliage
fabriquer

30
40
30
7.5

30
20
50
7.3

50
40
10
6.9

20
30
50
7.3

30
30
40

Combien doit-il acheter de chaque alliages A, B, C, D, E, F, G, H et I pour


obtenir au prix de revient minimum un 1 Kg de lalliage Z ?
Formulation en un PL :
La dcision prendre : Combien acheter de chaque alliage A, B, , I ?
Les variables de dcision sont :

x : la quantit dalliage i, i= A, B, , I, acheter.


i

On vrifie bien que les variables de dcision x , i= A, B, , I, sont positives :


i

.
Les contraintes relatives au problme sont :

Equation de la conservation de la matire :

Equation de la satisfaction des proportions en Plomb :

Equation de la satisfaction des proportions en Zinc :

Equation de la satisfaction des proportions en Etain :

La fonction objectif dans cet exemple reprsente le cot dachat des diffrents
alliages A, B, C, D, E, F, G, H et I. Donc lexpression de la fonction objectif est
la suivante :
Le programme linaire qui modlise ce problme mlange s'crit :

Exemple 6 :

Slection de Mdias

Une entreprise dsire effectuer une campagne publicitaire dans la tlvision, la


radio et les journaux pour un produit lanc rcemment sur le march. Le but de
la campagne est dattirer le maximum possible de clients. Les rsultats dune
tude de march sont donns par le tableau suivant :

Cot dune publicit


Nombre de client potentiel par publicit
Nombre de client potentiel femme par
publicit

Tlvision
Locale
Par
satellite
40 DT
75 DT
400
300

900
400

Radio Journaux

30
DT
500
200

15 DT
200
100

Pour la campagne, on prvoit de ne pas payer plus que 800DT pour toute la
campagne et on demande que ces objectifs soient atteints :
1.

Au minimum 2000 femmes regardent, entendent ou lisent la publicit ;

2.
3.
4.

La campagne publicitaire dans la tlvision ne doit pas dpasser


500 DT ;
Au moins 3 spots publicitaires seront assurer par la tlvision locale et au
moins de deux spots par la tlvision par satellite.
Le nombre des publicits dans la radio ou dans les journaux sont pour
chacun entre 5 et 10.

Formulation en un PL :
Les variables de dcision du problme sont

x
x
x
x

1
2
3
4

: le
: le
: le
: le

nombre de spots publicitaires dans la tlvision locale


nombre de spots publicitaires dans la tlvision par satellite
nombre de spots publicitaires dans la radio
nombre daffiches publicitaires dans les journaux

Les contraintes de non-ngativit sont vrifies.


Les contraintes du problme sont :

Cot total de la compagne publicitaire :


Nombre de clients femmes potentiels par publicit :

Contraintes de la tlvision :
,
et
Contraintes sur le nombre de publicits dans la radio et dans les journaux
et
.

La fonction objectif maximiser reprsente le nombre de clients potentiels par


publicit
.
Le programme linaire rsultant est :

CHAPITRE 2

Rsolution dun programme linaire (PL)


I. Introduction
Aprs avoir illustrer par des exemples, comment un problme pratique peut
tre modlis par un programme linaire, ltape qui va suivre sera
certainement celle de la rsolution de ce problme mathmatique. La mthode
graphique est lune des premires mthodes utilises ce sujet.
Si on parle de rsolution graphique alors on doit se limiter une reprsentation
deux variables et au plus trois variables. Ceci indique que dans ce chapitre
on examinera seulement les programmes linaires deux variables de dcision.

II. Systme d'axes


Une des conditions de la russite de notre reprsentation graphique est le choix d'un systme daxes.
Un mauvais choix peut rendre notre reprsentation non claire et imprcise.

A cause des contraintes de non-ngativit des variables de dcision, nous nous


intressons seulement au cadran positif (voir figure ci-dessus).
Cette rgion sappelle la rgion des solutions possibles du problme.
Prenons lexemple 2 relatif au problme de mdecine. Le programme linaire
est le suivant :

Un bon choix se base sur une lecture des diffrents paramtres du programme
linaire. Dans notre cas, on ne peut qualifier de bon, le choix de 20 comme
unit dans les deux axes.
Pour lexemple, on peut choisir le systme daxes suivant :

III. Reprsentation graphique des contraintes


Parmi les solutions possibles dun problme, il y a ceux qui vont satisfaire
toutes les contraintes du programme, appels solutions ralisables, et ceux qui
vont satisfaire une partie ou aucune de ces contraintes, appels solutions non
ralisables.
Une reprsentation graphique des ingalits (des contraintes) va nous
permettre de dterminer lensemble des solutions ralisables.
Revenons lexemple 2 du problme de mdecine.
Une des contraintes de ce problme est celle relative au grain daspirine :

.
Lensemble des solutions qui vrifient cette ingalit est le mme que celui qui
vrifie

et

Lensemble des solutions qui correspond lquation est lensemble des points
de la droite l dfinie par
. Cette droite admet une valeur de la
pente gale 2 et intercepte laxe des ordonnes en 12 (voir figure cidessus).
Lingalit

correspond un demi-plan limit par la droite

. Or cette droite divise le plan en deux demi-plans ouverts donc


quel est le demi-plan choisir ?

Pour ce faire, il suffit de prendre un point de lun des demi-plans (cest dire
nappartenant pas la droite

) et voir sil vrifie lingalit

. Par exemple le point de coordonnes (0,0) ne vrifie pas


lingalit
donc le demi-plan au-dessus de la droite est celui
recherch (voir figure ci-dessus).
1

Lespace hachur reprsente le demi-plan ferm des solutions qui vrifient la


contrainte

Si on fait de mme pour les deux autres contraintes du problme (voir figures
ci-dessous), on obtient les deux autres demi-plans et relatifs aux solutions
2

vrifiant respectivement les contraintes

et

Une solution possible du problme est dite ralisable si et seulement si elle


vrifie toutes les contraintes, cest dire si elle appartient aux trois demi-plans
relatifs chaque contrainte du programme linaire, en dautre terme
(voir figure).
1

Dfinition : Un ensemble E non vide est dit convexe si et seulement si pour


tout lment x et y de E et pour tout [0,1], x + (1-) yE.
On peut vrifier facilement que chacun des demi-plans , , est convexe en
vrifiant que pour toute paire de points P et P , lensemble des points qui
forment le segment [P P ] appartient au demi-plan.
1

Thorme : Lintersection densembles convexes (non vide) est convexe.


Propositions : Lensemble des solutions ralisables (non vide) est convexe.

IV. Reprsentation de la fonction objectif


Soit z la valeur de la fonction objectif du problme de mdecine
Pour z=0, la fonction objectif est reprsente de la manire suivante :

Pour z=6, cest dire que le nombre de pilules prescrire est gale 6 pilules.
La fonction objectif est reprsente comme suit :

Chaque point du segment qui relie les points (6,0) (0,6) reprsente des
solutions qui engendrent une prescription avec 6 pilules des deux tailles.
On peut tracer une infinit de droites qui reprsentent les diffrentes valeurs
de la fonction objectif, toutes ces droites ont le mme coefficient directeur (-1).
Par suite elles sont parallles entre elles. De plus on peut diminuer la valeur de
z indfiniment dans le sens indiqu dans la figure ci-dessous.

Le problme est de connatre quelle est la droite qui correspond la valeur


minimal de la fonction objectif ?

V. Recherche de la solution optimale


a. Rsolution graphique

Si nous retraons lensemble des droites parallles relatives diffrentes


valeurs de la fonction objectif sur la figure qui reprsente lensemble des
solutions ralisables, on peut localiser la solution optimale. Elle correspond la
solution ralisable qui intercepte la droite la plus petite valeur de z.

Dans notre exemple, la solution optimale est lintersection des deux


contraintes
et
. Une valuation des coordonnes de ce
point revient rsoudre le systme linaire suivant :

Elle correspond daprs le graphique au point (2,8). Donc la prescription


optimale est de 2 pilules de petite taille et 8 pilules de grande taille. Le nombre
de pilules (la valeur de la fonction objectif) est gale 10.
b. Rsolution par numration

On remarque que la solution optimale du problme de mdecine est un point


extrme qui se trouve sur le bord de lensemble des solutions. Une telle
solution est dite solution ralisable de base.
On peut admettre le rsultat suivant : Si un programme linaire admet une
solution optimale alors il existe une solution ralisable de base pour laquelle la
fonction objectif atteint la valeur optimale
Une mthode de rsolution du programme linaire consiste donc dterminer
les solutions ralisables de base (les points dintersection des droites qui
forment les contraintes) et calculer pour chaque point la valeur de la fonction
objectif. La solution du programme linaire est la solution qui on associe la
valeur optimale de la fonction objectif.

Dans le problme de mdecine, lensemble des solutions ralisables de base prsente 4 points
extrmes A(0,12), B(2,8), C(23/11,126/11) et D(24,0). La valeur de la fonction objectif associe
respectivement A, B, C et D est 12, 10, 149/11 et 24. On vrifie bien que B est la solution optimale
du problme avec une valeur optimale gale 10.

VI. Exemples
Dans cette section on donne quelques exemples de rsolution graphique de problmes linaires
relatifs au diffrents cas possibles :

Problme de maximisation

la solution optimale est B(40,110)

Problme avec solution non borne

On peut augmenter la valeur de la fonction objectif dans la direction des


flches indfiniment donc la solution est non borne

Problme impossible

Lespace des solutions ralisables est vide, il est lintersection des deux zones
grises de la figure ci-dessus

Problme solutions multiples

Lensemble des points dcrit par le segment [AB] reprsente les solutions
optimales du problme linaire

Problme de dgnerescence

La solution optimale B(10,5) est dite dgnre si trois contraintes concourent


en ce point.

VII. Analyse de sensibilit


Une analyse de sensibilit se rsume la recherche des intervalles de
variations possibles des paramtres du programme linaire sans que la solution
optimale ne soit modifie.

Question : De combien peut-on faire varier la quantit de codine dans le


problme de mdecine sans changer la solution optimale.

Rponse :

On peut changer la valeur du second membre de la troisime contrainte


jusqu' ce que la droite de coefficient directeur 1/6 touche le point optimal
(2,8). Cest dire quon peut varier le second membre de la troisime
contrainte de 24 jusqu' 50 sans changer la solution optimale.

Question : De combien peut-on faire varier le profit engendr par la culture


dun hectare de tomates, dans le problme de l'agriculture, sans changer la
solution optimale ?

Rponse :

Soit la variation du profit engendr par la culture dun hectare de tomate. La


fonction objectif est gale
.La solution demeure optimale si
la pente de la fonction objectif reste toujours comprise entre la pente de la
contrainte (1) et (3). Ceci est quivalent dire que :

On peut vrifier aussi que si :

alors la solution optimale est A


alors le problme est solutions multiples : [AB]
alors la solution optimale est B
alors le problme est solutions multiples : [BC]
alors la solution optimale est C
alors le problme est solutions multiples : [CD]
alors la solution optimale est D

CHAPITRE 3

La Mthode de Simplexe
I. Introduction
On a prsent dans le chapitre prcdent une procdure graphique pour rsoudre
un programme linaire deux variables. Par contre, dans la plupart des
problmes rels, on a plus que deux variables dterminer. Une procdure
algbrique pour rsoudre les programmes linaires avec plus que deux variables
fera lobjet de ce chapitre. C'est la mthode de simplexe.
Une implmentation de cette procdure permis de rsoudre des programmes
avec un peu plus de quelques milliers de variables. Le programme Lindo quon
prsentera dans le chapitre 7 (en version pour tudiant) supporte au plus 200
variables et 100 contraintes.
Dans ce chapitre la mthode de simplexe est prsente pour les problmes
et en utilisant le problme de lagriculteur :

II. Mise sous forme standard


La mise sous forme standard consiste introduire des variables supplmentaires
(une pour chaque contrainte) de manire a rcrire les ingalits ( ) sous la
forme d'galits. Chacune de ces variables reprsente le nombre de ressources
non utiliss. On les appelle variable d'cart. La forme standard s'crit donc :

La forme standard du programme linaire de l'agriculteur est :


Max
s. c

100x + 200x
(3.1)
x + x + S = 150
(3.2)
4x + 2x + S = 440 (3.3)
x + 4x + S = 480 (3.4)
x + S = 90
(3.5)
x , x2, S , S , S , S 0 (3.6)
1

L'impact de ces variables d'cart sur la fonction objectif est nulle. Ceci explique
le fait que leur existence soit tout simplement lie une mise en forme du
programme linaire initial. Ces variables d'cart peuvent prendre des valeurs
nonnegatives. Le fait de donner la valeur des variables d'cart a l'optimum donne
une ide du nombre des ressources non utilises.

III. Revue algbrique de la mthode du simplexe


La question qui se pose : que demande-t-on dune procdure algbrique ?
En premier lieu, on note que les contraintes du problme (3.2)-(3.5), forment un
systme de 4 quations et de 6 variables. Or il y a un nombre infini de solutions
de ce systme dquations. Donc une procdure algbrique, pour la rsolution
dun programme linaire doit tre capable de retrouver les solutions des
systmes dquations o il y a plus de variables que de contraintes.
En deuxime lieu, ce ne sont pas toutes les solutions qui vrifient (3.2)-(3.5) qui
sont des solutions du programme linaire ; ils doivent en plus satisfaire les
contraintes de nonngativit. Ainsi une procdure algbrique doit tre capable
dliminer, de lensemble des solutions qui satisfait (3.2)-(3.1) celles qui
narrivent pas satisfaire les contraintes de nonngativit.
Finalement, une procdure algbrique pour rsoudre les programmes linaires
doit tre en mesure de choisir parmi les solutions ralisables ceux qui
maximisent la fonction objectif.
La mthode de simplexe est une procdure algbrique qui tient compte de ces
trois considrations.
Pour illustrer cette procdure, supposons que x = 0 et S = 0. Notre systme
devient
x = 150
x = 150
x + S = 440
S = 340
4x + S = 480
S = -120
x + S = 90
S = -60
2

Les variables x , S , S et S (non nulles) sont dites variables de base et les


variables S , x , (nulles) sont dites variables hors base.
1

Gnralement, si on a un programme linaire standard constitu de n variables et


m contraintes (n m) alors une solution de base (extrme) est obtenue, en
annulant (n-m) variables et en rsolvant les m contraintes pour dterminer les
valeurs des autres m variables.
On note quune solution de base nest pas toujours ralisable. Cest le cas de la
solution quon vient de retrouver.
Une solution ralisable de base serait celle o x = x = 0, ainsi on a :
S = 150
S = 440
S = 480
S = 90
Cette solution correspond un point extrme de lensemble des solutions
ralisables qui est lorigine O.
Pour la mthode de simplexe une solution ralisable de base initiale est
demande. Une telle solution peut tre retrouve en annulant toutes les variables
de dcision. Ce qui correspond dans notre exemple au point dorigine O.
1

1
2
3
4

A partir de ce point la mthode de simplexe va gnrer successivement des


solutions ralisables de base pour notre systme dquations en sassurant que la
valeur de la fonction objectif est en train daugmenter jusqu' localiser la
solution optimale du problme qui est un point extrme de lespace des solutions
ralisables donc une solution ralisable de base.
Ainsi, on peut dcrire la mthode de simplexe comme tant une procdure
itrative qui passe dune solution ralisable de base une autre jusqu atteindre
la solution optimale.
La description mathmatique de ce processus fera lobjet de la section suivante.

IV. La mthode des tableaux


La mthode de simplexe commence par l'identification d'une solution ralisable
de base et ensuite, elle essaye de trouver d'autres solutions ralisables de base
jusqu atteindre la solution optimale. Ainsi, on doit, tout dabord, retrouver
cette solution ralisable de base.
Gnralement si le programme linaire satisfait ces deux proprits :

P1/ Parmi les variables du problme standard, il y a m variables qui apparaissent


avec un coefficient non nul dans chaque contraintes (dans notre exemple : S , S ,
S et S ).
P2/ Les valeurs du second membre des contraintes (les composants du vecteur
b) sont positives.
1

Alors une solution ralisable de base est obtenue en annulant les (n-m) variables
de dcision et la valeur des variables d'cart est directement donne par le
second membre. La deuxime proprit assure la satisfaction des contraintes de
nonngativit des variables d'cart.
Dans notre exemple, la forme standard du programme linaire vrifie ces deux
proprits.
a. Tableau de simplexe initial

Aprs avoir mis le programme linaire sous une forme qui vrifie les deux
proprits P1 et P2, ltape suivante est de tracer le tableau de simplexe initial.
Le modle gnral des tableaux de simplexe est :

Pour notre exemple le tableau de simplexe initial est le suivant :


100 200 0 0 0 0
x
x S S S S
0 S 150 1 1 1 0 0 0
1

0 S 440 4 2 0 1 0 0
0 S 480 1 4 0 0 1 0
0 S 90 1 0 0 0 0 1
On remarque quon a plac en premire ligne les contributions unitaires de
toutes les variables de dcision x ,..., S dans la fonction objectif. Dans la
troisime ligne, on retrouve la premire contrainte x + x + S = 150. La valeur
150 reprsente ici la valeur de S relative la solution ralisable de base initiale.
Dans la premire colonne on trouve les contributions nulles des variables d'cart
qui forment la solution de base initiale.
2
3
4

Exemple :
Question : Quelles sont les contraintes et la fonction objectif du programme
linaire dcrit par le tableau de simplexe suivant :
6
x
0 S 150 4
0 S 440 1

1
2

7
x
2
5

0
S
1
0

0
S
0
1

Rponse : Les contraintes du programme sont :


4 x + 2x + S = 50
x + 5x + S = 40
et la fonction objectif est : 6x + 7x + 0S + 0S
1

Remarque : Les variables qui figurent dans la deuxime colonne sont dites
variables de base. A chacune de ces variables, on associe la valeur 1
lintersection de la ligne et de la colonne relative cette variable et dans le reste
de la colonne on trouve des zros.
Jusqu ici on a vu comment retrouver une solution ralisable de base et
comment prsenter le tableau de simplexe initial. Dans la section suivante, on
examinera la procdure lie la mthode de simplexe qui permet de passer de
cette solution ralisable de base initiale une autre solution ralisable de base
qui donne une meilleure valeur de la fonction objectif.
b. Amlioration de la solution

Pour amliorer la solution il faut gnrer une autre solution de base (point
extrme) qui augmente la valeur de la fonction objectif. Cest dire, quon doit
slectionner une variable hors base et une variable de base et les permuter de
telle faon que la nouvelle solution donne une plus grande valeur de la fonction
objectif.

Pour savoir si on peut amliorer notre solution ralisable de base initiale nous
allons introduire deux nouvelles lignes au-dessus du tableau de simplexe.
La premire ligne, note z , reprsente la variation de la valeur de la fonction
objectif qui rsulte du fait quune unit de la variable correspondante la j
colonne de la matrice A est amene dans la base. Par exemple z reprsente la
diminution du profit qui rsulte de lajout dune unit la valeur de x .
En effet, si on produit un hectare supplmentaire de x , la valeur de quelques
variables de base vont changer vu quon a :
x + S = 150
4x + S = 440
x + S = 480
x + S = 90
Donc, une augmentation de x de 0 vers 1 va tre accompagne d'une diminution
des variables de base S , S , S , S respectivement de 1, 4, 1 et 1.
Leffet de cette diminution sur la fonction objectif est nul car les coefficients des
variables dcarts dans cette fonction sont nulles
z = 0 S + 0 S + 0 S + 0 S =0 1 + 0 4 + 0 1 + 0 1 = 0
La valeur z est calcule en multipliant les coefficients de la premire colonne de
la matrice A relatifs la variable x par les coefficients c de la premire colonne.
Gnralement, on a :
j

me

z =
La deuxime ligne, note c - z , reprsente leffet net de laugmentation dune
unit de la j variable.
Dans notre exemple, leffet net sur la fonction objectif engendr par
laugmentation dune unit dans la valeur de x est
c - z = 100 - 0 = 100
j

me

Si on reprend la mme opration pour le reste des variables, on trouve le tableau


suivant :
100
x
1
4
1
1
0
100
1

0
0
0
0

S 150
S 440
S 480
S 90
z
c -z
1
2
3
4

200
x
1
2
2
0
0
200
2

0
S
1
0
0
0
0
0

0
S
0
1
0
0
0
0

0
S
0
0
1
0
0
0

0
S
0
0
0
1
0
0

En analysant la ligne relative lvaluation nette c - z , on remarque quune


augmentation dune unit de la valeur de x engendre un profit de 100 dinars, et
j

quune augmentation dune unit de la valeur de x engendre un profit


supplmentaire de 200 dinars. Donc, si on a choisir, on va opter pour une
augmentation de la valeur de x On dit que x est la variable entrante.
2

2.

Le problme est maintenant, jusquo peut-on augmenter x ?


2

Cette augmentation ne peut pas se faire infiniment, sous lhypothse que x reste
nulle. On a
x + S = 150
2x + S = 440
4x + S = 480
x + S = 90
On peut voir que x peut prendre comme valeur maximale la valeur de 100 (il ne
faut pas oublier que les S i=1, 2, 3, 4 sont des variables positives). Cette valeur
est obtenue en choisissant la plus petite valeur positive des divisions de 100/1,
440/2, 480/4 et 90/0 (on suppose que 90/0 est gale linfini ).
1

i,

En gnral, la valeur maximale de la variable entrante x est le minimum des


valeurs positives des rapports de Q par les coefficients de la colonne de la
matrice A relatif la j variable. Ces rapports feront lobjet dune autre colonne
droite de la matrice A.
j

me

Dans notre exemple, on aura :

Le fait daugmenter x jusqu la valeur 100 va engendrer lannulation de la


valeur du variable dcart S , ce qui limine S de la base. On appelle S variable
sortante.
2

Llment 4, lintersection de la ligne relative la variable sortante S (dite


ligne pivot) et de la colonne relative la variable entrante x (dite colonne pivot)
est llment pivot. (Cest llment cercl dans le tableau).
1

c. Calcul des tableaux suivants

Dans le nouveau tableau de simplexe on va remplacer S par x et lensemble des


variables de base deviendra S , S , x , S . On exige que x prenne la mme place
dans la colonne des variables de base que celle de la variable sortante S .
Jusqu maintenant on ne peut pas remplir le tableau relatif cette nouvelle
solution de base :
3

100 200 0 0 0 0
x
x S S S S
1

0
0
200
0

S
S
x
S

1
2

2
4

Ce qui reste dterminer sont les coefficients a de la nouvelle matrice A et les


valeurs Q des variables de base. Ceci est ralis en utilisant la rgle de pivot :
ij

1. Diviser le ligne de pivot par la valeur de llment de pivot pour trouver la


ligne transforme de la ligne de pivot.
100 200 0 0
x
x S S
1

0
0
200
0

S
S
x 120 1/4
S

0
S

0
S

1
2

0 0 -1/4 0

2.
A chacune des variables de base, on associe la valeur 1 lintersection de
la ligne et de la colonne relative cette mme variable et dans le reste de la
colonne on trouve des zros.
100 200 0
x
x S
0 S
0 1
0 S
0 0
200 x 120 1/4 1 0
0 S
0 0
1

1
2

0 0 0
S S S
0
0
1
0
0 -1/4 0
0
1
2

3.
Pour calculer le reste des valeurs du tableau, on opre des combinaisons
linaires dans le prcdent tableau de simplexe. Par exemple pour calculer la

nouvelle valeur qui va prendre la place de la valeur 100 devant la variable de


base S1: On multiplie 100 par le pivot (4), on retranche de ce produit le produit
de la projection de la valeur 100 sur la ligne pivot par la projection de la valeur
100 sur la colonne pivot, et on divise le tout par la valeur du pivot (4).

100
x
3/4
7/2
1/4
1
1

0
0
200
0

S
S
S
S

1
2
3
4

30
200
120
90

200
x
0
0
1
0
2

0
S
1
0
0
0

0 0 0
S S S
0 -1/4 0
1 -1/2 0
0 -1/4 0
0 0 1
2

Remarques:
a.
On vrifie toujours que les colonnes de la matrice relative chacune des
variables de base sont formes par des zros sauf 1 dans lintersection avec la
ligne relative aux mmes variables de base.
b. On peut vrifier aussi que lensemble des solutions ralisables, induit par
les contraintes dcrites dans le dernier tableau de simplexe, est le mme
que celui reprsent par les contraintes initiales. La rgle de pivot est une
combinaison linaire des contraintes du programme linaire donc elle ne
change pas lensemble des solutions ralisables.

c. La nouvelle solution ralisable de base est


x =0
x = 120
S = 30
S = 200
S =0
S = 90
Cette nouvelle solution correspond au point A(voir graphique). On vrifie bien
que la valeur de la fonction objectif est passer de 0 120 x 200. La valeur de la
fonction objectif peut tre facilement calculer en multipliant membre membre
les c de la premire colonne par les valeurs des variables de base Q dans la 3
colonne.
1
2

1
2
3
4

me

d. La solution de dpart correspond au point O. La premire itration nous a


amen dans le sens de l'amlioration du profit (fonction objectif), cest
dire le long de laxe des ordonnes.
Ayant retrouv une nouvelle solution, on veut savoir sil est possible de
retrouver une solution ralisable de base meilleure. Pour arriver cette fin, on
doit ajouter les deux lignes relatives au choix de la variable entrante, et la
colonne relative au choix de la variable sortante.

La variable entrante est x ; elle prsente la plus grande valeur c - z . Si on calcule


les quotients Q /c , on retrouve que la variable sortante est S qui on associe la
plus petite valeur du ratio Q /c =40. Llment pivot dans ce tableau est 3/4. La
nouvelle base est compose de x , S , x , S .
Le tableau de simplexe suivant issu de lapplication de la rgle de pivot est :
1

i1

11

100 200 0 0 0 0
x
x
S S S S
100 x 40 1 0 4/3 0 -1/3 0
1

0 S 60 0 0 -14/3 1 2/3 0
200 x 110 0 1 -1/3 0 1/3 0
0 S 50 0 0 -4/3 0 1/3 1
Cette nouvelle solution
x = 40
x = 120
S = 0
S = 60
S = 0
S = 50
correspond au point B qui est, daprs les rsultats retrouve par la mthode
graphique, la solution optimale du problme. Ainsi, il faut sattendre ce que la
mthode de simplexe reconnaisse cette solution comme tant la solution
optimale.
2

1
2

1
2
3
4

Ajoutons la ligne relative au calcul de l'effet net dune augmentation unitaire


dune des variables du problme, on a :
100
x
1
0
0
0
100
0
1

100
0
200
0

x
S
x
S

1
2

2
4

40
60
110
50

200
x
0
0
1
0
200
0
2

0
S
4/3
14/3
-1/3
-4/3
200/3
-100/3
1

0
0
0
S
S
S
0 -1/3 0
1 2/3 0
0 1/3 0
0 1/3 1
0 100/3 0
0 -100/3 0
2

Leffet net associ aux variables hors base S et S est ngatif. Ceci nous oblige
dire que faire entrer une de ces deux variables dans la base va engendrer une
diminution dans la valeur de la fonction objectif. Donc il ny a pas une autre
solution ralisable de base qui peut engendrer un profit meilleur. Par suite cette
dernire solution est la solution optimale. Ce dernier tableau de simplexe est
donc dit tableau optimal.
1

On peut gnraliser ce rsultat en disant que la solution optimale dun


programme linaire est atteinte sil ny a aucune valeur positive dans la ligne
c -z du tableau du simplexe.
j

V. Rsum de la procdure de la mthode du simplexe


(dans le cas d'un problme de maximisation sous contraintes et avec un second
membre positif)

Etapes
1. Formuler un programme
linaire pour le problme rel.
2. Vrifier que le second membre
du programme linaire est positif
3. Ecrire le programme linaire
sous une forme standard
4. Construire le premier tableau de
simplexe
5. Choisir comme variable
entrante dans la base celle qui
admet le plus grand effet net
positif c -z .
6. Choisir la variable sortante de la
base celle qui admet le plus petit
ratio suprieur zro.
j

7. Construire le nouveau tableau


en utilisant la rgle de pivot
8. Faire le test doptimalit. Si
(c -z ) 0 pour toutes les variables
(hors base), la solution obtenue est
donc optimale. Sinon retourner
ltape 5.
j

Justification
Pour
obtenir
une
reprsentation
mathmatique du problme
Ceci est ncessaire pour obtenir comme
variable de base initiale lorigine
Mettre toutes les contraintes sous forme
dgalit
Ce tableau correspond la solution initiale
de base
La valeur de c -z indique la quantit
daugmentation de la fonction objectif si on
augmente la valeur de x dune unit.

La plus petite valeur de Q /a indique le


nombre maximal dunit de x quon peut
introduire avant que la variable de base de
lime ligne ne soit gale zro.
Cette rgle nous permet entre autre de
calculer les valeurs des nouvelles variables
de dcision
Si (c -z ) 0 alors on na pas dintrt faire
entrer dans la base aucune de ces variables.
Une telle introduction engendra une
diminution de la fonction objectif.
i

ij

VI. Exemple
Rsoudre le programme linaire suivant en utilisant la mthode de simplexe.
Max 3x + 2x
SC
- x + 2x 4
3x + 2x 14
x +x 3
x 0 x 0
La forme standard du programme linaire s'crit comme suit :
Max 3x + 2x
SC
- x + 2x + S = 4
3x + 2x + S = 4
x - x +S = 3
1

x , x S , S , S 0
1

2,

Tableau de simplexe initial (1re itration)

La variable entrante est x puisquelle prsente le plus grand effet net positif. La
variable sortante est S car elle correspond au plus petit quotient positif.
1

2me itration

La variable entrante est x et la variable sortante est S


2

3me itration
3
x
0 S 6 0
2 x 1 0
3 x 4 1
3
0

2
1

2
x
0
1
0
2
0

0
S
1
0
0
0
0

0
S
-1/5
1/5
1/5
1
-10
2

0
S
8/5
-3/5
2/5
0
0
3

Tous les c -z 0 donc le tableau de simplexe est optimal et la solution optimal du


programme linaire est
x =4
x =1
S =6
S =0
S =0
La valeur de la fonction objectif est 14.
j

1
2

1
2
3

Remarque : Leffet net de laugmentation dune unit de la valeur de S


(variable hors base) est nul. Donc si on introduit S dans la base, on ne modifie
pas la valeur de la fonction objectif. Ainsi une autre solution optimale peut tre
trouve pour notre programme linaire. Ceci confirme le rsultat de la mthode
graphique qui indique que ce problme admet un ensemble de solution optimale
dcrit par le segment [BC].
3

La solution optimale donne par le dernier tableau de simplexe correspond au


point C.
Le tableau du simplexe suivant est :
3 2 0
0 0
x x S
S S
0 0 5/8 -1/8 1
0 1 3/8 1/8 0
1 0 -1/4 1/4 0
3 2 0
1 0
0 0 0 -1 0
est optimal et la solution correspondante est :
1

0 S 15/4
2 x 13/4
3 x 5/2
3

2
1

Le tableau
x = 5/2
x = 13/4
S =0
S =0
S = 15/4
La valeur de la fonction objectif est 14.
1
2

1
2
3

CHAPITRE 4

Problmes de Minimisation et Problmes


Irrguliers
I. Introduction
Dans le chapitre prcdent tous les programmes linaires quon a trait sont du
type : Maximiser une fonction linaire sous contraintes de type infrieur ou
gale (et avec un second membre positif).
Or dans beaucoup de problmes rels, on peut retrouver des contraintes de
type suprieur ou gale et/ou de type gale, ainsi que des problmes o on a
minimiser au lieu de maximiser.

Dans ce chapitre, on tudiera les modifications apporter la mthode du


simplexe pour quelle puisse rsoudre tous ces types de programmes.

II. Les variables artificielles


Considrons le programme linaire suivant :
Max 5x + 6x
1

S.c -x + x 4
1

5x + 3x = 60
1

x 5
2

x 0,x 0
1

L'introduction des variables d'cart dans le programme linaire donne


Max 5x + 6x + 0S + 0S
1

S.c -x + x + S = 4
1

5x + 3x = 60
1

x -S =5
2

x 0 , x 0, S 0, S 0
1

Afin de gnrer une solution ralisable de base initiale pour la mthode de


simplexe, on a annul les variables de dcision x et x . Ceci nous permet de
commencer partir de lorigine O. Or, on vrifie bien que lorigine nest pas
une solution ralisable. La question qui se pose est comment nous allons
rcrire le programme de manire quon puisse construire le tableau de
simplexe initial lorigine.
1

Pour arriver cette fin, on doit ressortir une astuce mathmatique qui se
rsume lintroduction de nouvelles variables, dite variables artificielles A et
A.
1

Ces variables nont aucune interprtation, comme leur nom lindique, ils sont
conus artificiellement pour nous aider utiliser la procdure de simplexe et
formuler le tableau initial partir de l'origine.

Si on ajoute ces deux variables artificielles A et A respectivement la 2 et 3


contrainte, le programme devient le suivant.
1

me

me

Max 5x + 6x +...
1

S.c -x + x + S = 4
1

5x + 3x + A = 60
1

x -S + A = 5
2

x 0, x 0, S 0, S 0 , a 0, a 0
1

Maintenant on peut obtenir une solution initiale de base du systme


dquations, si on pose x = x = 0.
1

La solution initiale est


x = 0
1

x =0
2

S =4
1

S =0
2

A = 60
1

A = 5
2

Cette solution nest pas ralisable puisque x nest pas suprieur 50. Ainsi, il
est important de distinguer entre une solution rellement ralisable et une
solution du programme linaire rcrit pour la procdure du simplexe. Certes,
une solution ralisable du problme rel reste toujours une solution ralisable
pour le programme linaire transform, le contraire nest pas toujours vrai.
2

On peut conclure que tant que les variables artificielles restent dans la base, la
solution demeure non ralisable rellement pour notre programme.

Une manire pour garantir que ces variables artificielles sortent de la base
avant datteindre la solution optimale est de leur associe un grand cot -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 plutt possible de la base.
La fonction objectif scrit donc :
Max z = 5x + 6x - M A - M A
1

avec M un trs grand nombre (exemple: M 10 ) .


10

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

5 6 0 0 -M -M
x X S S A
1

0 S

4 -1 1 1 0

-M A 60 (5) 3 0 0

0 1 0 -1 0

-M A 5
2

De la mme manire que prcdemment essayons de retrouver la variable


entrante te la variable sortante :

La variable entrante est x (5 +5M 6 + 4M avec M assez grand) et la variable


sortante est A . Le tableau de simplexe qui suit est :
1

Le tableau de simplexe aprs la deuxime itration indique que la variable


sortante est A .
2

Remarque: Simplification du tableau


Les deux premire itrations on fait sortir de la base les variables artificielles A
et A . Leurs effets nets est maintenant ngatif et trs lev, elles ne pourront
1

donc pas tre slectionnes litration suivante, ni mme ultrieurement


comme on peut facilement le constater. Donc on peut supprimer du tableau la
colonne relative A et A .
1

En appliquant la rgle ci-dessus, on obtient le tableau de simplexe suivant :

5 6

x x

0 S 5 0 0 5/8 1
2

5 x 6 1 0 -3/8 0
1

6 x 10 0 1 5/8 0
2

5 6 15/8 0
0 0 -15/8 0

Le tableau ci-dessus est optimal car tous les effets nets sont ngatifs ou nuls.
Donc la solution optimale est :
x = 6
1

x = 10
2

S = 0
1

S = 5
2

Remarque: cas o le second membre ngatif


Le problme qui peut se poser est que lune des variables du second membre
soit ngative. Par exemple supposons que lors de la formulation on trouve une
contrainte de ce type :
x - x -4
1

La condition quil faut vrifier avant de se lancer dans la rcriture de cette


contrainte, en vue de construire le programme standard, est la nongativit du
second membre.
Ainsi, on doit modifier la contrainte avant de commencer la standardisation et
la rcrire comme suit :
-x + x 4
1

Exercice :
Rcrire convenablement ces contraintes:
(1) x + 3x - 5x = - 20
1

(2) -x + 3x - 5
1

(3) 5x - 2x - 10
1

III. Les problmes de minimisation


Il y a deux manires de rsoudre un problme de minimisation en utilisant la
mthode de simplexe.

La premire mthode ncessite le changement de la rgle de choix de la


variable entrante. Dans un problme de maximisation la rgle 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 supplmentaire et ainsi accrotre la valeur de la fonction
objectif. Pour un problme de minimisation, on va utiliser la rgle

inverse. Cest--dire la variable entrante est celle laquelle on associe la plus


petite valeur ngative non nulle de leffet net c - z .
j

Ceci va nous amener aussi changer notre rgle darrt de la procdure de


simplexe et de dfinir le tableau optimal, comme celui o tous les effets nets
c - z sont positifs ou nuls.
j

Essayons dappliquer la mthode de simplexe sur le problme de


mdecine :
Min x + x
1

Sc 2x + x 12
1

5x + 8x 74
1

x + 6x 24
1

x 0,x 0
1

Pour permettre la mthode de simplexe de dmarrer de lorigine, il faut


comme on la dj vu dans le cas de problme de maximisation, introduire les
variables artificielles.

Avec les problmes de maximisation on attribue ces variables un coefficient


-M dans la fonction objectif pour les contraindre quitter la base
rapidement. Dans le cas de problmes de minimisation, on a intrt changer
le coefficient de ces variables en M (M trs grand) afin darriver au mme
rsultat et de les faire sortir de la base.
Avant de construire le tableau de simplexe initial, on rcrit le programme
linaire relatif au problme de mdecine avec les variables artificielles.
Min x + x + MA + MA + MA
1

Sc 2x + x - S + A = 12
1

5x + 8x - S + A = 74
1

x + 6x - S + A = 24
1

x ,x ,S ,S ,S ,A ,A 0
1

Le tableau de simplexe initial est :

Aprs 4 itrations, on trouve le tableau de simplexe optimal suivant :


5 6

x x

1 x 8 1 0 -8/11 1/11 0
1

0 S 26 0 0
3

-1

1 x 2 0 1 5/11 -2/11 0
2

1 1 -3/11 -1/11 0
0 0 3/11 1/11 0

On retrouve la mme solution obtenue par la mthode graphique :


x = 8
1

x = 2
2

S = 0
1

S = 0
2

S = 26
3

Z = 10

Aprs avoir vrifier que le second membre des contraintes est positif, le
tableau suivant rsume les transformations faire subir notre programme
linaire avant de le rsoudre par la mthode de simplexe :

Quand la contrainte est

Pour la fonction objectif dun problme de


Maximisation

I.

de type

Ajouter
dcart

une

Minimisation

Attribuer un coefficient nul pour la variable


dcart

variable

IIde
type

= Attribuer un coefficient Attribuer un coefficient

Ajouter
une -M pour variable
M pour la variable
variable
dcart
et artificielle
artificielle
une
variable
artificielle
III- de type

Attribuer un coefficient
nul pour la variable
Ajouter
une
variable
artificielle et une variable dcart et un coefficient
- M pour variable
dcart avec un signe "-"

Attribuer un coefficient
nul pour la variable
dcart et un coefficient
M pour variable
artificielle

artificielle

Le tableau suivant rsume les tapes de la mthodes de simplexe relatif aux


problmes de maximisation et minimisation :

Etape
1

Maximisation

Minimisation

Formuler un programme linaire Formuler un programme linaire


pour le problme rel.
pour le problme rel.

Vrifier que le second membre Vrifier que le second membre


du programme linaire est positif du programme linaire est positif
sinon modifier les contraintes
sinon modifier les contraintes

Ecrire le programme linaire sous Ecrire le programme linaire sous


une forme standard
une forme standard

Construire le premier tableau de Construire le premier tableau de


simplexe
simplexe

Choisir comme variable entrante Choisir comme variable entrante


dans la base celle qui admet le plus dans la base celle qui admet le plus
grand effet net positif c -z .
petit effet net ngatif c -z .
j

Choisir la variable sortante de la Choisir la variable sortante de la


base celle qui admet le plus petit base celle qui admet le plus petit
ratio suprieur zro.
ratio suprieur zro.

Construire le nouveau tableau en Construire le nouveau tableau en


utilisant la rgle de pivot
utilisant la rgle de pivot

Faire le test doptimalit. Si


(c -z ) 0 pour toutes les variables
(hors base) donc la solution
obtenue est optimale. Sinon
retourner ltape 5.
j

Faire le test doptimalit. Si


(c -z ) 0 pour toutes les variables
(hors base) donc la solution
obtenue est optimale. Sinon
retourner ltape 5.
j

La deuxime mthode pour rsoudre un problme de se base sur le rsultat


suivant Rsoudre un problme min c x sujet un ensemble de contraintes est
quivalent rsoudre un problme max -c x sujet au mme ensemble de
contraintes . Ces deux problmes sont quivalents dans la mesure o ils
donnent le mme vecteur des solutions optimales. La seule diffrence est que
la valeur de la solution max -c x est loppos de la solution de min c x; (i.e.
min c x = - max -c x).
t

Donc pour rsoudre le programme linaire relatif au problme de mdecine,


on peut rsoudre le problme de maximisation suivant:
Max - x - x
1

S.c. 2x + x 12
1

5x + 8x 74
1

x + 6x 24
1

x ,x 0
1

On peut vrifier facilement que la mthode de simplexe applique au


programme ci-dessus, engendre le mme vecteur de solutions optimales.

IV. Les problmes irrguliers


Aprs avoir examiner comment on peut rsoudre un programme linaire par la
mthode de simplexe, on sintresse dans cette section aux problmes
irrguliers, qu'on peut rencontrer lors de la rsolution dun programme
linaire par la mthode de simplexe. Donc, lobjet de cette section est de
reconnatre ces problmes et de les rsoudre par la mthode de simplexe.
a. Les problmes impossibles

Graphiquement, on a caractris ces problmes par un ensemble de solutions


ralisables vide. Avec la mthode de simplexe, on reconnat que le problme
est impossible si une ou plusieurs variables artificielles sont prsentes dans la
base dans le tableau de simplexe optimal, ce qui signifie que la solution donne
par ce tableau nest pas rellement ralisable.

Exemple:
Vrifions laide de la mthode de simplexe, que le problme suivant est
rellement impossible :
Max 4 x + 3x
1

Sc x + x 2
1

3x + x 10
1

x ,x 0
1

En introduisant les variables dcarts et les variables artificielles le programme


scrit:
Max 4x + 3x - MA
1

Sc

x +x - S =2
1

3x + x - S + a = 10
1

x ,x ,S ,S ,A 0
1

0 -M

4 x 2 1
1

-M a 5 0

-2

-3

-1 1

4 4+2M 1+3M M -M
0 -1-2M -1-3M -M 0

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

lhypothse que le second membre b est positif). Ceci est d au fait que lors de
la rsolution de ce genre de programme par la mthode de simplexe on
n'utilise pas des variables artificielles. Donc il est impossible de les retrouver
dans la solution optimale.
b.Les problmes solutions multiples

Graphiquement, ce problme est caractris par le fait que la pente de la


droite reprsentant la fonction objectif (z = 0) est gale la pente de lune des
contraintes restrictives. Lorsquon utilise la mthode de simplexe, on identifie
ce problme lorsquun des effets nets (relatif une variable hors base) est nul.
Lexemple de la section 3 du prcdent chapitre reprsente un problme avec
solutions multiples.
c. Les problmes solution infinie

Graphiquement, ce problme est caractris par le fait quon peut dplacer la


droite de la fonction objectif indfiniment de manire accrotre la valeur, en
gardant toujours une intersection non vide avec lensemble des solutions
ralisables.

Avec la mthode de simplexe, on reconnat ce problme lorsque la variable


entrante nadmet aucune limite sur sa valeur dentre, cest dire que tous les
ratios Q /a sont ngatifs ou nuls.
i

ijo

Exemple
Max x + 2x
1

Sc x + x 2
1

x 3
2

x ,x
1

On introduit les variables dcart et les variables artificielles, le programme


linaire devient :
Max x + 2x + 0S + 0S - Ma
1

Sc

x +x - S +a =2
1

x +S =3
2

x ,x ,S ,S ,a 0
1

Les tableaux de simplexe sont :

1 2 0 0
x x S S
1

x 3 0 1 0 1
2

2
0

S 1 -1 0 1 1 -1
1

0 2 0 2
1 0 0 -2

Le dernier tableau montre que la variable x nadmet aucune limite sur sa


valeur de sortie.
1

d. Les problmes solution dgnre

Graphiquement, on appelle solution dgnre le point o plusieurs


contraintes concourent (un nombre suprieur ou gale trois contraintes). Un
programme linaire est dit dgnre si une ou plusieurs variables dans la base
optimale sont nulles. Dans la rsolution graphique ce problme nest pas
difficile rsoudre, mais avec la mthode de simplexe il peut causer des
difficults.

Exemple
Max z = 2x + 0 x + 3/2 x
1

s.c.

x -x 2
1

2x + x 4
1

x +x +x 3
1

x,x,x 0
1

La solution optimale de ce problme est :


x =1
1

x =0
2

x =2
3

z =5

La forme standard du programme linaire est


Max 2x + 0 x + 3/2x + 0 S + 0 S + 0 S
1

Sc

x -x + S =2
1

2x + x + S = 4
1

x +x +x +S = 3
1

x1, x , x , S , S S 0
2

2,

Le tableau de simplexe initial est :

La variable entrante est x , mais les deux premires contraintes donnent la


mme valeur minimale du ratio. Ceci indique que lorsque x passe 2, les
variables dcart S et S vont sannuler malgr que lun des deux demeure
encore dans la base.
1

Choisissons arbitrairement de faire sortir de la base la variable dcart S .


1

La nouvelle solution ralisable de base est :


x =0
1

x =0
2

x= 1
3

S =2
1

S =0
2

S =0
3

et la valeur de la fonction objectif z = 4. Cette solution de base est dite


dgnre. Continuons les itrations relatives la mthode de simplexe. La
variable entrante est x .
2

Le problme est quun des ratios est nul ce qui indique quon ne peut pas
augmenter la valeur de x puisque la valeur de la fonction objectif ne va pas
augmenter et reste gale 4.
2

Si on ritre une autre fois, en remplaant S par x dans la base on obtient :


2

2 0 3/2 0

x x

2 x 2 1 0 1/2 0 1/2 0 4
1

0 x 0 0 1 1/2 -1 1/2 0 0
2

0 S 1 0 0 0
3

2 0 0

1 -1 1
0

0 0 1/2 0 -1 0

Ce tableau nest pas optimal, la variable entrante est x et la variable sortante


est x . On remarque aussi que ce passage dune solution une autre ne
saccompagne pas dune augmentation de la valeur de la fonction objectif.
3

On peut facilement vrifier que nous somme en train de cycler sans atteindre la
solution optimale. Ce genre de cyclage dans la mthode de simplexe est
dangereux et on doit lidentifier avant de commencer rsoudre le problme,
sinon on passera un temps norme sans atteindre la solution optimale.
Pour terminer cette section, il faut noter que ce n'est pas tout problme de
dgnrescence qui peut conduire un cyclage.
Exemple

Max

10 x + 9x
1

Sc 7/10x + x 630
1

1/2 x +5/6x 480


1

x + 2/3x 708
1

1/10 x +1/4x 135


1

x ,x 0
1 ,

Essayer de rsoudre ce programme par la mthode de simplexe (choisir en cas


de deux quotients gaux, celui qui se trouve dans la ligne suprieure).

CHAPITRE 5
Dualit et analyse de sensibilit

I. Introduction
Dans ce chapitre, on va tudier des notions relatives au programmes linaires tels
que le programme dual, les cots marginaux ainsi que des techniques de validation
de la solution dun programme linaire, cest dire lanalyse de sensibilit.
Nous allons commencer ce chapitre par donner quelques termes cls du jargon
utilis pour interprter conomiquement les diffrents rsultats du programme
linaire.

II. Interprtation conomique


Les lments cls dun programme linaire standard sont :
- La fonction objectif dite fonction conomique. Cette fonction peut reprsenter un
cot, un profit, etc...
- Les contraintes sont composes, 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 reprsenter la disponibilit des ressources, les niveaux de
demande etc...
- Les variables dcart peuvent reprsenter, par exemple dans le problme de
lagriculteur, lexcdent de chacune des ressources : terrain, eau, heures de travail,
bureau dirrigation. Elles sont aussi dites variables de surplus.
Quand une variable dcart est nulle, on dit que la contrainte correspondante est
sature. Dans le problme de lagriculteur les contraintes terrain et main duvre
sont satures. Elles sont dites aussi restrictives car une variation du second membre
(par exemple) engendre un changement dans la valeurs de la solution optimale.
Toute contrainte non sature loptimum nest pas restrictive pour le problme,
cest dire quelle na aucune influence sur la solution considre.

Dfinition: Cot marginal


Par dfinition, on appelle cot marginal dun bien laugmentation minimale de
dpenses, par rapport la solution optimale, qui rsulterait de lutilisation dune
unit supplmentaire de ce bien, lorsque le problme pos consiste produire des
biens au moindre cot.
Si le problme pos consiste transformer des biens pour vendre une production
avec un meilleur profit et laugmentation maximale de revenu qui rsulte de la
possibilit de disposer dune unit supplmentaire de lun des biens, est la valeur
marginale de ce bien. Trs souvent, on emploie galement dans ce cas le
qualificatif cot marginal.
Remarque : Les cots marginaux sont donc les effets nets associs aux variables
dcart, puisque ce sont ces variables qui dterminent les excdents (ou les
insuffisances) de biens.
Si une variable dcart nest pas nulle, dans la solution optimale, cest que le bien
correspondant est dj excdentaire. Par consquent, le fait de disposer dune unit
supplmentaire de ce bien naura aucune influence sur le revenu. On dit alors que
ce bien une valeur marginale nulle, ou par extension, que la variable dcart
associe ce bien a une valeur marginale nulle.
Par contre, si une variable dcart est nulle dans la solution optimale, cest que le
bien correspondant est totalement utilis. Par la suite une variation de la
disponibilit aura gnralement une influence sur le revenu. Cest pourquoi cette
variable dcart nulle dans la solution optimale une valeur marginale non nulle, et
cette valeur marginale prcise la variation de la fonction conomique rsultant de
lutilisation dune unit supplmentaire du bien associ.
Exemple : Dans le problme de lagriculteur on a

Le cot marginal li

est

Une augmentation de dune unit entrane une diminution de


valeur de la fonction conomique.

Le cot marginal li

est 0 et l'optimum

de la

=0

on a dj
deau de plus donc si on ajoute
ca ne va pas changer la
solution optimale ni la valeur de la fonction conomique
Le systme de contraintes dans le programme linaire relatif au tableau de simplexe
optimal du problme de lagriculteur est

La fonction conomique scrit

Si on exprime en fonction de
dquation ci dessus on a

et

(variables hors base) en utilisant le systme

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


Si
alors un hectare de terrain de moins utiliser, donc une rduction de
dinars de la valeur de la fonction objectif.
Si on ajoute 3 hectares de terrains
, avec lhypothse que les autres
quantits restent inchanges alors le revenu augmente de
On vrifie ceci, si on rsout le programme linaire

,
On trouve que la valeur optimale va augmenter de 200 dinars est devient 26 200
dinars.
Exercice : Expliquer graphiquement que si on ajoute des
amplification dans la fonction objectif.

deau, on aura aucune

Remarque : Dans le cas o on diminuerait


dgnre.

deau, la solution optimal devient

Les valeurs marginales apportent donc des renseignements conomiques


particulirement intressants, 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 dj disponibles dans le
problme de lagriculteur, le revenu augmentera de
. Ceci
nest pas vrai, parce que si on rsout le programme linaire suivant :

,
La valeur optimale du programme linaire ci-dessus est de 26 875,14 donc le
revenu na pas augment de 2000 dinars comme prvu.

II. Dualit
a. Dfinition
La forme dun programme linaire de type maximisation est

avec
, des vecteurs de dimensions respectives
dimension
On appelle programme dual de

et , et A une matrice de

, le programme linaire suivant :

avec

un vecteur de dimension

Le programme

et

la transpose de la matrice

est appel programme Primal.

Pour passer du primal au dual, on remarque que :


a. Les termes du second membre deviennent les coefficients de la fonction
objectif et rciproquement.
b. Le problme de maximisation devient un problme de minimisation.
c. Les ingalits
deviennent des ingalits
d. La matrice A se transforme en sa transpose.
Exemple : Le programme primal (problme de lagriculteur) est

,
Donc le programme dual est

b. Proprits et signification conomique du programme dual


Pour expliquer la signification du problme dual on va se baser sur lexemple de
lagriculteur.
Supposons quun 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 mme profit.
soit

le prix d'un hectare de terrain

le prix dun

deau

le prix dune heure de main duvre


le prix de la permission de la culture dun hectare de tomates.
Le problme du client consiste minimiser les frais dachat des ressources : cest
dire
agriculteur.

sous la contrainte que les prix satisfont notre

Pour notre agriculteur un hectare de terrain


deau, une heure de travail et un
hectare de permission du bureau est quivalent a un revenu de 100 dinars.
Tandis que, un hectare de terrain,
revenu de 200 dinars.

deau et 4 heures de travail lui engendrent un

Il nest prt vendre ses ressources que si


suprieur ou gale 100 DT et que si
ou gal 200 DT.

lui rapporte un revenu


lui rapporte un revenu suprieur

Ainsi le problme du client est

,
Donc le problme du client peut tre modlis par le programme dual.

Le tableau de simplexe final du programme dual est :

480
150

y3
y1

100/3
200/3

150
y1
0
1
150
0

440
y2
-2/3
14/3
380
60

480
y3
1
0
480
0

90
y4
-1/3
4/3
40
50

0
L1
1/3
-4/3
-40
40

0
L2
1/3
1/3
-110
110

Avec L1 et L2, les variables dcart la 1re et la 2me contrainte du programme dual.
On remarque que la solution optimale du dual peut tre dduite du primal de la
manire 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 gnraliser ce rsultat dans le tableau suivant :

Primal (Max)
Variables de dcision

Dual (Min)
variables dcart

xj = 0 C j - z j < 0

Li = | Cj - zj | 0 Cj - zj = 0

xj > 0 C j - z j = 0
variables dcart

Li = 0 Cj - zj = xj
Variables de dcision

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 loptimum 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.
c. Tableau de correspondance primal-dual

Max
Matrice des contraintes (m, n)

Min
- Transpose de la matrice des
contraintes (n, m)

- Second membre des contraintes


- Coefficient de la fonction objectif
- Coefficient de la fonction objectif
Nombre de contraintes

- Second membre des 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 " = "


Nombre de variables

i me variable qcq " IR "


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 + x 2 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 + x 2 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
Max 2x1 - x2

y1 IR, y2 0
Min - 2y1 + 6y2 - 5y3

S.c x1 - 2x2 2

S.c y1 + y2 = 2

x1 + x 2 = 6

- 2y1 + y2+ y3 = -1

x2 5

y1 0, y2 IR, y3 0

x1 IR, x2 IR

III. Analyse de sensibilit


Dfinition: Une solution de base optimale est dite stable si lensemble des
variables de base loptimum ne changent pas, mme si les valeurs de ces variables
de base sont modifies.
Dans cette section on examinera la stabilit de la solution optimale dun
programme linaire suite la variation de lun des paramtres de ce programme.
On utilisera pour prsenter lanalyse de sensibilit sur ces diffrents paramtres du
programme linaire lexemple de lagriculteur.
Max 100x1 + 200x2
S.c x1 + x2 150
4x1 + 2x2 440
- x1 + 4x2 480
x1 90
x1 0 , x 2 0
a. Analyse de sensibilit sur les Cj
On cherche dterminer un intervalle dans lequel peut varier Cj sans que la
solution optimale ne change.
Considrons une variation du coefficient Cj de 100 100 +
En remplaant dans le tableau optimal 100 par 100 + , on obtient le tableau
suivant :

100+
0
200
0

x1
S2
x2
S4

40
60
110
50

100+
x1
1
0
0
0
100+
0

200
x2
0
0
1
0
200
0

0
S1
4/3
-14/3
-1/3
-4/3
(200+4 )/3
-(200+4 )/3

0
S2
0
1
0
0
0
0

0
S3
-1/3
2/3
1/3
1/3
(100- )/3
-100/3

0
S4
0
0
0
1
0
0

La solution donne par le tableau reste optimale si

Donc la solution optimale est stable et prend la mme 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 modifie ?
(Aide : diffrencier le cas dun programme de maximisation et le cas dun
programme de minimisation).
Solution :
- < Cj zj cas dun programme de maximisation
zj Cj < - cas dun programme de minimisation
b. Analyse de sensibilit sur les bj
Dterminer lintervalle pour lequel, la solution optimale reste stable, pour une
variation du second membre de la i me contrainte bi .
Considrons une variation de b1 de 150 150 + .
Sachant que dans le premier tableau de simplexe b1 nest prsent que dans la
premire contrainte. On obtient ainsi une correspondance entre la colonne des
quantits Qi et la colonne de S1.

0
0
0
0

S1
S2
S2
S4

150+1
440+0
480+0
90+0
0+1

100
x1
1
4
1
1
0
100

200
x2
1
2
4
0
0
100

0
S1
1
0
0
0
0
0

0
S2
0
1
0
0
0
0

0
S3
0
0
1
0
0
0

0
S4
0
0
0
1
0
0

Dans le tableau optimal, la colonne correspondant S1 nous donne les coefficients


de dans la colonne des quantits.

100
0
200
0

x1
S2
x2
S4

40+4/3
60-14/3
110-1/3
50-4/3
26000+200
/3

100
x1
1
0
0
0
100

200
x2
0
0
1
0
200

0
S1
4/3
-14/3
-1/3
-4/3
200/3

0
S2
0
1
0
0
0

0
S3
-1/3
2/3
1/3
1/3
100/3

0
S4
0
0
0
1
0

-200/3

-100/3

La base reste optimale tant que :

- 30 90/7
Donc tant que 120 b1 160,85 la base demeure la mme 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 : Daprs le rsultat ci-dessus on peut conclure que le cot marginal de
200/3 par hectare de la premire ressource nest 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 cot marginal.
Exercice 1:
Sans faire de calcul, de combien peut-on modifier la quantit de m3 deau sans
nuire la solution optimale ? confirmez votre rsultat a l'aide de la mthode
d'analyse de sensibilit expos ci-dessus ?
Exercice 2 :
Dterminer lintervalle dans lequel peut varier b1 et b3 (les ressources en surface et
en main duvre) sans que la base optimale change.
Rponse 2 :

Pour 1 = 0 (variation nulle de la surface en hectare), la solution optimale est


stable pour une variation 2 des ressources en main duvre entre 570 et 730
heures (-150 2 90).
Le cot marginal de 100/3 par heure de main duvre de la 3me ressource nest
valide que dans lintervalle [570, 730].
c. Analyse de sensibilit sur les coefficients aij
Supposons que dans le problme de lagriculteur, le nombre dunits de la i me
ressources ncessaire 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 utilise.
Par exemple : x 1 + (4+ )x 2 480 x 1 + (4 + )x 2 + S3 = 480
A loptimum, la base est inchange donc

Si 0 , alors lquation ne peut pas tre satisfaite sinon

et
.
Si 0 , alors on a un excdent de la 3me ressource (S3 0), ce qui nous
contraint changer la base (la solution optimale nest plus stable).

puisque

Conclusion: Dans le cas o xj est une variable de base optimale et la i me ressource


est totalement utilise, 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 nest pas totalement utilise.
Par exemple : (4 + ) x1 + 2x2 440

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

A loptimum, la solution est inchange donc

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

Conclusion: Dans le cas o xj serait une variable de base optimale et o la i me


ressource nest pas totalement utilise, il est possible de modifier le coefficient aij
dune valeur ij gale

et la solution optimale demeure stable.

iii) Si xj est une variable hors base (xj = 0). Ceci implique quon ne va pas produire
le produit j

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.

IV. Introduction dune nouvelle activit


On sait dj que la valeur optimale de la variables duale reprsentent les cots
marginaux (dopportunit) associs lutilisation de ressources limites.
On peut galement utiliser ces cots marginaux pour valuer des dcision
concernant lintroduction de nouveaux produits ou de nouveaux procds de
fabrication.
a. Introduction dune nouvelle variable de dcision
Lagriculteur prvoit de produire des pommes de terre. Un hectare de pomme de
terre demande 3 m3 deau et 2 heures de travail pour un revenu de C3 dinars.
La question est pour quelle valeur de C3, lagriculteur a-t-il intrt introduire
cette nouvelle production ?
Sans rsoudre le nouveau programme linaire 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 dterminer si lagriculteur a un intrt introduire la production ou pas.
En dautres termes, sil na pas intrt le faire, la solution optimale du programme
linaire ci-dessus donne x3 = 0. Ce qui revient dire, que pour lagriculteur
lutilisation dun hectare de terrain, de 3 mtres cube deau et de deux heures de
travail lui procurent plus de gain sils va les mettre au service de la production de
tomates et/ou de piments plutt que dans la production de pommes de terre. Ceci
est quivalent au fait que la contrainte suivante:
satisfaite (avec
agriculteur).

nest pas

sont les prix minimaux des ressources pour notre

Cette contrainte correspond la 3me contrainte du programme dual du programme


linaire ci-dessus :

On a :

, donc :
Si C3 < 200/3, lagriculteur na pas intrt introduire la nouvelle activit
Si C3 > 200/3, lagriculteur a intrt introduire cette nouvelle activit, la
solution optimale va changer et la valeur de la fonction objectif augmentera
Si C3 = 200/3, lagriculteur est indiffrent envers lintroduction de cette
nouvelle activit.

b. Introduction dune nouvelle contrainte


Si la solution optimale satisfait la nouvelle contrainte, le problme admettra la
mme solution. Sinon lintroduction de cette contrainte va engendrer une nouvelle
solution optimale.

CHAPITRE 7

Introduction la Programmation
Dynamique

I. Introduction
La programmation dynamique est une technique mathmatique qui a pour objet
daider prendre des dcisions squentielles indpendantes les unes des autres.
Contrairement la programmation linaire, il ny a pas un formalisme
mathmatique standard. Cest une approche de rsolution o les quations doivent
tre spcifies selon le problme rsoudre.
Notre expos se base essentiellement sur de nombreux exemples qui illustrent cette
technique.

II. Exemple prototype. Le problme du voyageur

Un postier dcide deffectuer un voyage entre diffrentes villes quil ne connat


pas. Son but est de choisir le chemin le moins dangereux. Pour choisir son chemin,
il sinforme auprs des assurances sur les diffrentes valeurs des polices
dassurance de vie entre les diffrentes routes possibles du voyage.
Le trajet du postier est compos de 4 tapes (voir figure) et il doit arriver la ville
numrote 10 en partant de la ville numrote 1. Les autres numros reprsentent
les villes susceptibles dtre traverses. Les arcs entre ces nuds reprsentent les
diffrents trajets possibles et les valeurs cij au-dessus des arcs reprsentent le prix
de la police dassurance vie relatif au trajet dcrit par larc.

Le chemin le moins dangereux est celui qui admet la plus petite valeur de la police
dassurance vie
Exemple : Si le voyageur empreinte le trajet 1 2 6 9 10 , le cot total de
la police dassurance est 13
Soit xn (n=1, ..., 4) les variables de dcisions relatives chacune des 4 tapes. Le
chemin suivre par le voyageur est 1 x1 x2 x3 x4 avec x4 = 10.
Soit fn (S, xn) le cot total de la police dassurance vie pour le reste des tapes
sachant que nous somme ltat S de ltape n et que la destination choisie est xn.
Etant donn S et n, soit

la valeur de xn qui minimise fn (S, xn) et soit

valeur minimale de fn (S, xn). (

(S)= fn (S,

(S) la

)).

Lapproche de la programmation dynamique repose sur lide quun chemin ne


peut tre optimal que si chacune des ses composantes est elle mme optimale. La
dmarche de la programmation dynamique consiste tudier dabord les sous
problmes qui se situent chronologiquement les derniers et sur un principe de
retour en arrire.
Lobjectif est donc de trouver la valeur de

(1). Pour lavoir, la programmation

dynamique va essayer dvaluer avec une procdure de chanage en arrire


(s),

(s) et enfin

(s),

(1).

A chaque tape, on va essayer dvaluer pour chaque tat s, la valeur de f (S, xn)
pour chaque destination xn possible, puis de retrouver la meilleure destination
(celle qui correspond au plus petit cot f(S, xn)) et aussi la valeur de
Etape 4
x4

f4(S, x4))

(s),

S
8
9

3
4

3
4

10
10

(s).

Etape 3
f3(S, x3)=Csx3+

(x3)

x3

5
6
7

4(=1+3)
9
6

8(=4+4)
7
7

(s)

S
4
7
6

8
9
8

Etape 2
f2(S, x2)=Csx2+

(x2)

x2

2
3
4

11
7
8

11
9
8

12
10
11

(s)

S
11
7
8

5 ou 6
5
5 ou 6

Etape 1
f1(S, x1)=Csx1+
x1 S
1
La valeur de

( x1)

13

11

112

(1)
11

3 ou 4

(1) = 11 reprsente le cot total minimal de la police dassurance

vie. Le chemin optimal nest unique puisque ds le dpart on peut choisir


4, donc lensemble de ces chemins est:
1 3 5 8 10
1 4 5 8 10
1 4 6 9 10

= 3 ou

Exercice 1 : (Problmes de transport)


Modliser le problme de plus court chemin en utilisant la programmation linaire
?
(Aide: Utiliser des variables du type binaires xi=0 ou 1)

III. Caractristiques dun problme de


programmation dynamique
Nous allons maintenant sur la base de lexemple prcdant analyser les proprits
communes aux problmes de programmation dynamique.
(i) Le problme peut tre dcompos en tapes et une dcision doit tre prise
chaque tape.
Le dernier exemple est devis en 4 tapes o chaque tape, la dcision prendre
est celle de la destination choisir. Ces dcisions sont interdpendantes et
squentielles.
(ii) A chaque tape correspond un certain nombre dtats. Dans lexemple du
voyageur, les tats chaque tapes sont reprsents par les villes que le voyageur
visit. Le nombre de ces tats dans lexemple est fini. Dans ce qui suit en tudiera
des problmes o le nombre dtats est infinie (xn IN) ou continue (xn IR)
(iii) A chaque tape, la dcision prise transforme ltat actuel en un tat associ
ltape suivante (dans certains cas avec une distribution de probabilit).
Dans notre exemple, se trouvant une ville donne, le voyageur dcide de se rendre
une autre ville qui est un tat de ltape suivante.
(iv) Etant donn un tat, une stratgie optimale pour les tapes restantes est
indpendante des dcisions prises au tapes prcdentes.
Si le voyageur est dans un tat quelconque de ltape i, le chemin optimal entre cet
tat et ltat 10 sera indpendant de la faon dont il y est arriv. En dautres termes,
ltat actuel contient toute linformation ncessaire aux dcisions futures. Cette
proprit est dite principe doptimalit.
(v) Lalgorithme de recherche de la solution optimale commence par trouver la
stratgie optimale pour tous les tats de la dernire tape.

(vi) Une relation de rcurrence identifie la stratgie optimale dans chaque tat de
ltape n partir de la stratgie optimale dans chaque tat de ltape n+1.
Dans notre exemple la relation est

(S)=

{Csxn +

(xn)}

La stratgie optimale tant donn que nous sommes ltat S de ltape n, ncessite
de retrouver la valeur de xn qui minimise lexpression ci-dessus.
La relation de rcurrence toujours cette forme

(S)=

avec fn(S,xn) est une expression en fonction de S, xn et

ou

{fn(S,xn)},

(-)

(vii) Utilisant cette relation de rcurrence, lalgorithme procde reculons tape par
tape. Il dtermine la stratgie optimale pour chaque tat de chaque tape.
Dans tout problme de programmation dynamique, on peut construire chaque
tape un tableau analogue au suivant.
Etape n
x1

fn(S, x1)
tats n+1

(s)

S
tats n

le cot ou la
distance

La longueur du
Le meilleur
chemin optimal tat de ltape
partir de S
n+1 le long du
jusqu ltat final
chemin
optimal final

IV. Programmation dynamique dterministe


a. Introduction
Dans cette section on sintresse au problme dit dterministe, o la connaissance
de ltat et de la dcision prendre suffisent pour savoir ltat ltape suivante.
Un problme dynamique dterministe est caractris par la dtermination de la
fonction objective. Cette fonction peut tre le minimum de la somme de la
contribution induite par le passage dun tat un autre, ou le maximum dune telle
somme, ou le minimum du produit de ces termes etc.

Il faut aussi dterminer la nature de lensemble des tats dans chacune des tapes.
Ces tats Sn peuvent tre reprsents par des variables discrtes ou par des variables
continues ou dans certains cas par un vecteur .
tape n tape n+1

b. Problme du type plus court chemin

Quel est le plus court chemin de A B ?


Solution:
On considre l'ensemble des tats les point d'intersection sur les diagonales. Ainsi
on a exactement 8 tapes.
fn(S, xn) = Csxn + fn+1 (xn), n=1,...., 8
avec f*n+1 (s) =

fn(S, xn) et f9 (S) = 0

Etape 8
f8(S, B)
x8 S

B
1
2

(S)
3
2

3
2

B
B

Etape 7
f7(S, x7) = Csx7+ f8( x7)
x7
S
1
2
3

7
5
-

6
6

(s)
7
5
6

1
1
2

Etape 6
f6(S, x6) = Csx6+ f7( x7)
x6

1
2
3
4

12
9
-

8
7
-

11
7

(s)

S
12
8
7
7

1
2
2
3

Etape 5
f5(s, x5) = Csx5+

(x6)

x5

1
2
3
4
5

16
16
-

11
12
-

8
10
-

11
15

(s)

S
16
11
8
10
15

1
2
3
3
4

Etape 4
f4(s, x4) = Csx4+

(x4)

x4

1
2
3
4

20
-

16
14
-

10
11
-

11
16

20

f3(s, x3) = Csx3+

(x3)

(s)

S
16
10
11
16

2
3
3,4
4

Etape 3

x3

1
2
3

12
-

12
12
-

16
13

17

(s)

S
12
12
13

2
2
3

Etape 2
f2(s, x2) = Csx2+

(x3)

x2

1
2

15
2

15
16

14

(s)

S
15
14

1,2
3

Etape 1
f1(s, x1) = Csx1+

(x1)

x1

20

18

(s)

S
18

On peut rsumer les rsultats de la faon suivante:


Etapes
Chemin optimal 1
Chemin optimal 2

1
A
A

2
2
2

3
3
3

4
3
3

5
3
4

6
3
3

7
2
2

8
1
1

La longueur du chemin optimal (1 ou 2) est gale 18.


c. Rpartition optimale des moyens
Un projet du gouvernement est tudi par 3 groupes de chercheurs. La probabilit
que chacun de ces groupes 1, 2 et 3, narrive pas terminer le projet est
respectivement: 0,4; 0,6 et 0,8.
Si on ajoute ces groupes deux nouveaux chercheurs, les probabilits dchec sont
donn par ce tableau

9
B
B

Probabilit dchec
Groupes

Nbre de nouveaux chercheurs


123
0,4
0,2
0,15

0
1
2

0,6
0,4
0,2

0,8
0,5
0,3

Le problme est de dterminer lallocation optimale de ces deux chercheurs afin de


minimiser la probabilit que les groupes de recherche chouent dans leur travail.
Solution:

Etapes: 3 tapes ou les tats reprsentent le nombre de chercheurs


disponibles
Variable de dcision: xn reprsente le nombre de chercheurs allouer
lquipe de recherche n, n = 1, 2, 3.
Contribution de la dcision xn est la probabilit que lquipe n choue aprs
avoir eu xn chercheur de plus
(S) cest la probabilit minimale que les groupes n,..., 3 chouent dans
leurs recherches :

(S) =

avec fn(S, xn) = pn(xn)


et

fn(S, xn) n = 1, 2, 3
(S, xn), pn(xn) est la contribution de la dcision xn

(s) =1.

tape n tape n+1

S pn(xn) S- xn
fn(S, xn) = pn(xn)

(S- xn)

Etape 3

x3

f3(S, x3) = p3(x3)


0
1
2

(S)

S
0
1
2

0,8
0,8
0,8

0,5
0,5

0,3

0,8
0,5
0,3

0
1
2

Etape 2
f2(S, x2) = p2(x2)

(x3)

x2

0
1
2

0,48
0,3
0,18

0,32
0,2

0,16

(S)

S
0,48
0,3
0,16

0
0
2

Etape 1

x1

f1(S, x1) = p1(x1)


0
1

0,064

(x1)
2

(S)

S
0,06

La stratgie optimale est

= 1,

0,072
= 0 et

0,06

= 1.

La probabilit dchec des trois groupes de recherche est de 0,06.


Exercice 2 : (Problme de gestion des Stocks)
Un magasin vend des chaussures de Ski. Par exprience, la priode de vente de ces
chaussures dure 6 mois, du 1er Octobre jusquau 31 Mars.
Les prvisions de vente sont donnes par le tableau suivant:

Mois
Octobre
Novembre
Dcembre
Janvier
Fvrier
Mars

Demande
40
20
30
40
30
20

Le magasin achte ces chaussures par lots de 10, 20, 30, 40 ou 50 paires avec un
cot de 4$ par paire et des rductions sur les prix dachat.
Quantit
10
20
30
40
50

Solde
4%
5%
10%
20%
25%

Le cot de lancement dune commande dapprovisionnement est fixe, et est de 2$.


En plus un cot supplmentaire pour chaque ordre est de 8$ (cot de transport des
chaussures au magasin).
Le stock du magasin ne peut pas dpasser le nombre de 40 paires de chaussures par
mois.
Une paire qui reste en stock la fin du mois engendre un cot de 0,2$ par paire par
mois.
Aprs 6 mois le magasin doit vendre toutes ces chaussures est le niveau des stocks
doit tre nul. Sous lhypothse que la demande est fixe et uniforme pendant chaque
mois, retrouver la stratgie qui minimise le cot total des stocks.
Solution:
Les tapes reprsente le dbut de chaque mois et les tats le nombre de paires de
chaussures en stock.

Dn: demande la nme tape


xn: la commande au debut de la nme tape
(xn) = 10 + Cn xn avec Cn le cot d'achat.

Pour n = 1,...,5,

(S)=0

(S)=

{ (xn) +0,2(S+xn-Dn)+

(S+xn-Dn)} avec

Etape 6
A la dernire tape le stock restant est nulle donc les tats possibles de cette tape
sont 0, 10, 20.
(s)
S6
0
10
20

86
84
0

20
10
0

Etape 5
S6 = S5 + x5 30
f5(s, x5)= (x5) +0,2(S+x5-30)+
0

10

f5(s, x5)
20 30

(S+x5-30)
100

50
(s)

S5
0
10
20
30
40

- 204 188 164


- 172 168 142 - 134 136 122 86 98 90
50 52
-

164
142
122
86
50

50
40
30
0
0

Etape 4
S5 = S4 + x4 - 40
f4(s, x4)= (x4)+0,2(S+x5-30)+
0

10

f4(s, x4)
20 30

(S+x5-30)
40

50
(s)

S4
0
10
20
30

- 282
- 250 262
212 230 244

302
282
264
230

304
286
252
218

302
282
250
218

40
30,40
20
10

40

164 192 212 210 196

164

Etape 3
S4 = S3 + x3 - 30
f3(s, x3)= (x3)+2/3+1/3-30)
0
10 20 30 40

(s4)
50
(s)

S
0
10
20
30
40

302
284

350
332
302

388
370
340
310

420
402
372
342
290

422
392
362
310
-

414
384
323
-

414
384
323
302
284

50
50
50
0
0

Etape 2
S3 = S2 + x3 - 20
f2(s, x2)= (x2)+0,2+ (S2 + x2-20)
0
10
20
30
40

(s3)
50

414
386
336

467
452
-

(s)

S
0
10
20
30
40

462
434
384
356

500
472
422
394
378

504
454
426
410
-

474
446
430
-

468
446
414
384
336

50
40
0
10
0

Etape 1
S2 = S1 + x1 40
f1(s, x1)= (x1)+0,2+ (S1 + x1-40)
(s2)
0
10
20
30
40
50
(s)
S
0

606

608

606

la politique optimale est 40, 50, 0, 40, 50, 0. Le cot est 606.

40

d. Rsolution d'un programme linaire :


La programmation linaire peut tre utiliser pour rsoudre des programmes
linaires de petite taille. On se limite ici des programmes linaires du type entiers.
Considrons le programme linaire suivant
Max 3x1 + 5x2
S.c 3 x1 + 2 x2 9
4 x1 + 5 x2 11
x1 IN , x2 IN
La dcision prendre est de dterminer les valeurs de x1 et x2. On peut assimiler le
problme un programme dynamique deux tapes, o dans un premier temps, on
doit dterminer la valeur de x1, et dans un deuxime temps la valeur de x2. Reste
savoir quels sont les tats relatifs chaque tape ?
Ces tats doivent fournir l'information ncessaire pour aider choisir notre
dcision.
Une simple rflexion nous amne considrer, le nombre de ressources non
utilises dans les contraintes, comme tant des tats possibles.
Un tat est dcrit par un vecteur (R1,R2), o R1 et R2 sont respectivement les
ressources non utilises dans la premire et la deuxime contrainte.
A l'tape 1, l'unique tat possible est S=(9,11).
La structure de base du problme est

tape n tape n+1


(R1,R2) cn xn (R1- a1n xn , R2- a2nxn )
fn((R1,R2), xn) = cn xn +

((R1- a1n xn , R2- a2nxn ))

avec

(R1,R2) =

{ fn((R1,R2), xn)} pour n=1,2 et

(R1,R2)=0

Etape 2
A l'tape 2, si on considre toutes les combinaisons possibles des valeurs de R1 et
R2 alors on aura considrer un nombre d'tat total gale 99 tats. Or tous ces
tats ne sont pas ralisables dans le sens qu'on n'aura jamais par exemple dans
l'tape 2 l'tat (10,8). Ainsi, pour dterminer l'ensemble des tats ralisables dans la
deuxime tape, il suffit de considrer toutes les valeurs possible de x1 (0,1 et 2), et
avoir par consquence les tats suivant: (9,11), (6,7) et (3,3).
f2((R1,R2), x2) = 5 x2
1
2
(s)

0
S
9,11
6,7
3,3

0
0
0

5
5
-

10
-

10
5
0

2
1
0

Etape 1
On a : f1((R1,R2), x1) == 3 x1 +

((R1- 3 x1 , R2- 4 x1 ))

f1((R1,R2), x1)
1
2

(s)

S
9,11

10

3+5=8

10

La solution optimale est (x1,x2)=(0,2) et la valeur de la fonction objectif est gale


10.
Exercice 3: Rsoudre les programmes linaires suivants en utilisant la technique de
la programmation dynamique:
o

Max 4x1 + 5x2

S.c 8 x1 + 5 x2 24
2 x1 + 5 x2 13

x1 IN , x2 IN
La solution optimale est (x1,x2)=(1,2).
o

Max x1 + 2 x2 + x3

S.c 3 x1 + 2 x2 5
3 x2 + 2 x 3 7
x1 IN , x2 IN , x3 IN
La solution optimale est (x1,x2,x3)=(1,1,2).

Vous aimerez peut-être aussi