Professional Documents
Culture Documents
com
Universit Ibn Zohr
Facult des Sciences Juridiques conomiques et Sociales
Programmation
Linaire
Mohamed HACHIMI
EG
FILIRE SCIENCES CONOMIQUES ET GESTION
TROISIME ANNEE
Semestre 5
www.livecours.com
1 Formulation 4
1. Introduction 4
2. Formulation dun problme de maximisation 4
3. Formulation dun problme de minimisation 8
4. Formulation dun problme linaire 10
2 Mthode graphique 11
1. Quelques rappels de gomtrie 11
2. Problme de maximisation 13
3. Problme de minimisation 18
www.livecours.com
1 Formulation
1. Introduction
Lobjectif que poursuit lentreprise est de maximiser le profit quelle pourra tirer, par
jour, de ces 2 produits en utilisant au mieux ses ressources.
Le tableau suivant rsume les donnes affrentes ce problme de production :
1 Formulation 5
A B Disponible
m 1h 2h 8h
p 2 kg 2 kg 10 kg
q 9 kg 4 kg 36 kg
Profit unitaire 50 dh 60 dh
Quelles sont les informations dont doit disposer le directeur de lentreprise pour
considrer que son problme est rsolu ? Il suffit de connatre la quantit du
produit A et la quantit du produit B fabriquer quotidiennement, nest-ce pas ?
Agissons comme si ces quantits nous taient connues et dnotons-les par :
(50 x1 + 60 x2 ) dh
z = 50 x1 + 60 x2
Maximiser z o z = 50 x1 + 60 x2
www.livecours.com
1 Formulation 6
Max z = 50 x1 + 60 x2
Temps dutilisation de m 6 8.
Or, ce temps utilis est la somme des heures consacres chacun des types de
produits. Pour le produit A, le temps ncessaire la fabrication de la quantit x1
se calcule ainsi :
x1 + 2x2 6 8 (m)
On emploie le signe 6 , et non = , car il nest pas obligatoire que toutes les
heures disponibles soient utilises pour la fabrication des produits A et B, bien quil
ne soit pas interdit quil en soit ainsi.
Contraintes relatives aux matires premires En sinspirant de la contrainte
relative la machine, ces contraintes scrivent tout naturellement :
x1 , x2 > 0,
www.livecours.com
1 Formulation 7
Afin de ramener les contraintes des galits (qui sont plus faciles traiter que les
ingalits), on introduit des variables dcart. Ces variables seront toujours, comme
les variables de dcision x1 et x2 , positives ou nulles.
Aprs lajout des variables dcart x3 , x4 et x5 relatives aux contraintes (m), (p) et
(q), nous obtenons la formulation :
Max z = 50x1 + 60x2
x1 + 2x2 + x3 = 8
(P) 2x1 + 2x2 + x4 = 10
9x1 + 4x2 + x5 = 36
x1 , x 2 , x 3 , x 4 , x 5 > 0
fournira les valeurs optimales des quantits xj produire de chacun des produits ;
la fonction conomiques reprsente le gain total ; le premier membre de chaque
contrainte (Mi ) reprsente le temps total dutilisation de la machine Mi . Les valeurs
des variables dcart associes chacune de ces contraintes correspondent au temps
disponible non utilis de chaque machine.
P Q Besoins minimaux
A 2 1 16
B 1 1 12
C 1 3 18
Cot unitaire 20 dh 40 dh
www.livecours.com
1 Formulation 9
Chacun des 3 lments nutritifs considrer donne lieu une contrainte, qui vise
exiger que les aliments, dans leur ensemble, satisfassent les besoins quotidiens du
troupeau. On obtient :
Les contraintes ci-dessus emploie le signe > parce quil faut respecter les
exigences de consommation minimales, mais que celles-ci peuvent tre dpasses.
Enfin, il faut pas oublier quon peut pas acheter des quantits ngatives de P ou Q :
x1 , x 2 > 0
www.livecours.com
2 Mthode graphique
p lan
mi
De
o
p lan
e mi x
D
Chaque contrainte dtermine lun des deux demi-plans (P1 ) ou (P2 ) que lon
trouvera en vrifiant si un point particulier (lorigine (0, 0) par exemple) est contenu
2 Mthode graphique 12
D
D
o x o x
(Dp ) a0 x1 + b0 x2 = p
Cette droite est appel droite diso-valeur de fonction z. Elle reprsente les points
du plan qui donnent z la valeur p.
On sintresse la famille des droites (Dp ) (p paramtre). Ce sont toutes des droites
a
parallles de pente : , que lon peut crire :
b
a0 p
x2 = x1 + (si b0 6= 0).
b0 b0
p
Ici yp = est lordonne lorigine de la droite (Dp ). Ainsi, on a :
b0
www.livecours.com
2 Mthode graphique 13
D
B
D D
A
C
o x o x
D
B
D D
A
C
o x o x
Tous les points sur une mme droite assurent la mme valeur pour z. Quand on
passe dune droite une autre, les valeur de z varient : ils augmentent si on se
dplace dans le sens du vecteur normal n (a0 , b0 ) au droites iso-valeurs : do la
signification de la flche indiquant le sens des z croissants .
2. Problme de maximisation
ncessite le passage dans le deuxime atelier pour fabriquer le cadre en bois et dans
le troisime atelier o le verre est mont sur le chassis. Les profits unitaires, les
temps de fabrication de chacun des produits dans chacun des ateliers ainsi que les
capacits hebdomadaires de ces ateliers sont donns au tableau suivant :
Quelles sont les quantits de chassis que lentreprise devrait produire par semaine,
si elle veut maximiser son profit ? Les variables de dcision seront :
Les contraintes x1 > 0 et x2 > 0 signifient que tous les points (x1 , x2 ) reprsentant
des solutions acceptables doivent tre dans le premier quadrant, soit droite de
www.livecours.com
2 Mthode graphique 15
ax1 + bx2 6 c
x1 = 4 (1)
8 8
Droite D1 Droite D1
6 6
4 4
2 2
0 2 4 6 8 x1 0 2 4 6 8 x1
droite associe la 1re contrainte prise en compte de la 1re contrainte
Puisque toutes les contraintes du modle linaire sont de la mme forme, il suffit
de les prendre en considration tour tour, en procdant, pour chaque contrainte,
comme suit :
choisir 2 points de la droite associe. Afin de faciliter les calculs, on peut choisir
les deux points ayant chacun une coordonne nulle. Puis tracer cette droite ;
dterminer de quel ct de la droite associe la contrainte est satisfaite. Pour
reprer rapidement le bon cte, il suffit de regarder si le point (0, 0) est du bon
cte ;
tracer une flche pointant vers ce ct.
x2 = 6 (2)
2 Mthode graphique 16
x2 (1) x2 (1)
8<Points ou (A1)
8 8
:est respectee mais
(A2) ne lest pas
6 6
(2) (2)
4 4
2 2
0 2 4 6 8 x1 0 2 4 6 8 x1
effet de la 2me contrainte prise en compte des contraintes (A1) et (A2)
x2 (1) x2 (1)
8 8
6 6
(2) (2)
4 4
2 (3) 2 (3)
0 2 4 6 8 x1 0 2 4 6 8 x1
effet de la 3me contrainte prise en compte de toutes les contraintes
Lensemble des points qui nont pas t limins aprs la prise en considration de
toutes les contraintes constitue la rgion ralisable. En conomie, cet ensemble est
aussi appel lensemble de production.
www.livecours.com
2 Mthode graphique 17
La rgion ralisable que nous venons de construire ne dtermine pas une solution,
mais tout un domaine contenant un nombre infini de points. Il va falloir reprer
un plan de production optimal, cest--dire un point (x1 , x2 ) vrifiant toutes les
contraintes et permettant z de prendre sa plus grande valeur sur la rgion
ralisable.
Pour cela, on va considrer des valeurs successives de la fonction conomique :
z = p.
Les points dune de ces droites sont donc le lieu de tous les points donnant la mme
valeur du profit (do le nom de droites disoprofits).
Tracer une premire droite disoprofit permet dobtenir une illustration de la pente
de z. En tracer une deuxime permet de dterminer la direction selon laquelle
la valeur de z augmente. Ainsi, en augmentant petit petit la valeur de p dans
lquation (4), on obtient des droites parallles, chacune plus loin de lorigine que
les prcdentes.
x2 (1)
6
(2)
4 z=
200
0
2 z= (3)
100
0
0 2 4 6 8 x1
droites disoprofits z = 0, z = 1000 et z = 2000
x2 (1) x2
8 8
(x1 , x2 ) = (2, 6)
6 6
(2)
4 z= 4 z=
200 200
0 0
2 z= (3) 2 z=
100 100
0 0
0 2 4 6 8 x1 0 2 4 6 8 x1
droite disoprofit la plus leve reprage de la solution graphique
(x1 , x2 ) = (2, 6)
Ce point se trouve lintersection des droites (2) et (3). On utilise donc plein les
capacits disponibles des ateliers 1 et 2. Par contre, pour cette solution optimale, les
capacits disponibles de latelier 1 seront plus que suffisantes. Au point optimal, la
fonction conomique prend la valeur 3600 :
3. Problme de minimisation
www.livecours.com
2 Mthode graphique 19
Les contraintes (A), (B) et (C) scrivent > parce quil faut respecter les besoins
minimaux en matires premires, mais ceux-ci peuvent tre dpasses.
Ce programme diffre du programme prcdent sous 2 aspects : la fonction
conomique sest minimiser ; certaines contraintes sont de signe > et lorigine
O = (0, 0) du plan nest pas une solution ralisable.
La technique de rsolution graphique reste la mme, mais, puisquil sagit de la
recherche dun minimum, la droite iso-valeur le plus proche de lorigine et qui reste
en contact avec la rgion ralisable, fournit le minimum.
En premier temps, nous construisons la rgion ralisable. La zone hachure dans le
graphe ci-dessous est lensemble des points satisfaisant toutes les contraintes.
x2 x2
16 16
14 (K) 14
12 (A) (L) 12
10 10 D
8 8
6 (B) 6
(C)
4 4
2 2
0 2 4 6 8 10 12 14 16 x1 0 2 4 6 8 10 12 14 16 x1
reprage des bons cts rgion ralisable
x2 x2
E F E F
D D
12 12
10 D 10 D
C C
8 8
6 6
4 4
2 B 2 B
A A
0 2 4 6 8 10 12 14 16 x1 0 2 4 6 8 10 12 14 16 x1
isocots z = 0, z = 200 et z = 440. le sommet B correspond la solution optimale
E F E F
D D
12 12
10 D 10 D
C C
8 8
6 6
4 4
2 B 2 B
A A
0 2 4 6 8 10 12 14 16 x1 0 2 4 6 8 10 12 14 16 x1
isocots parallles une contrainte solutions optimales multiples
www.livecours.com
2 Mthode graphique 21
Comme la droite disocot la plus basse possible est tangente la contrainte (B), la
valeur minimale serait attente aux sommets B(9, 3) et C(2, 10). De plus, tout point
du segment [B, C] minimisera la fonction conomique sous les contraintes poses.
Cette multiplicit des solutions optimales provient du fait que les droites disocots
sont parallles la droite associe la contrainte (B).
www.livecours.com
Algorithme du simplexe
3 Mthode algbrique
Nous avons rsolu des cas de programmes linaires simples : deux variables et trois
ou cinq contraintes. Au fur et mesure que le nombre des contraintes saccrot, la
mthode graphique savre de plus en plus difficile mettre en uvre. En prsence
de trois variables, nous devons faire appel une reprsentation graphique dans
lespace, exercice trs dlicat . . . Or, dans la pratique, les programmes linaires
comportent plusieurs dizaines de variables et de contraintes. Ainsi, le recours
une mthode gnrale devient indispensable.
Lalgorithme du simplexe est la plus utilise des mthodes de rsolution des
programmes linaires. Il a t mis au point en 1948 par B. Dantzig. Depuis, cet
algorithme a fait lobjet de certaines darticles scientifiques et a servi la rsolution
de nombreux modles linaires
1. Principe de lalgorithme
Max z = cx
Ax = b
x>0
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 24
o H est la sous-matrice forme par les colonnes de A qui ne sont pas dans la base.
De mme on peut partitionner x en (xB xH )t et c en (cB cH )t , on peut crire
Max z = cB xB + cH xH
BxB + HxH = b ()
x>0
xB = B1 b
xH = 0
Lorsque les variables de base sont positifs (xB > 0), la solution de base est ralisable
et appartient D. Par extension, la base B sera dite base ralisable. Une solution de
base est dite dgnre si au moins une variable de base est nulle.
Proprit fondamentale
On peut vrifier cette proprit sur lexemple de fabrication des chassis (FC) dont la
reprsentation graphique est donne la figure suivante. A la figure, les sommets
(0, 0), (0, 6), (2, 6), (4, 3), (4, 0) correspondent des solutions de base ralisables
tandis que les points (0, 9), (4, 6) et (6, 0) correspondent des solutions de base non
ralisables ; comme le montre le tableau suivant
(1)
x2
(0, 9)
var. de base (x1 , x2 ) sol. de base
8 x3 , x 4 , x 5 (0, 0) (4, 12, 18)
(2, 6) (4, 6) x2 , x 3 , x 5 (0, 6) (6, 4, 6)
(0, 6) x2 , x 3 , x 4 (0, 9) (9, 4, 6)
(2)
x1 , x 2 , x 3 (2, 6) (2, 6, 2)
4
(4, 3) x1 , x 2 , x 5 (4, 6) (4, 6, 6)
2 (3) x1 , x 2 , x 4 (4, 3) (4, 3, 6)
x1 , x 4 , x 5 (4, 0) (4, 6, 6)
(0, 0)
2 (4, 0) (6, 0) 8 x1 x1 , x 3 , x 4 (6, 0) (6, 2, 12)
Correspondance entre solution de base ralisable et sommet
3 Algorithme du simplexe : Mthode algbrique 25
On appelle solutions de base adjacentes deux solutions de base dont les variables
de base sont les mmes sauf une qui est de base dans la premire base et hors base
dans la seconde.
Dans lexemple (FC), les deux solutions de base suivantes sont adjacentes :
car elles ne diffrent que par une seule variable hors base. Par contre les solutions
suivantes :
ne sont pas adjacentes puisquelles diffrent pas plus dune variable hors base.
3. Illustration de lalgorithme
(x1 , x2 ) = (0, 0)
En termes algbriques, toutes les variables de dcision (originales) sont mises hors
base. Automatiquement, dans le systmes dgalits :
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
x3 = 4, x4 = 12, x5 = 18.
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 26
embches peuvent tre leves en passant par une phase prliminaire appele phase I
de lalgorithme du simplexe.
Que vaut la fonction objectif pour cette premire solution de base ?
cest--dire un bnfice nulle, ce qui nest pas tonnant. Cette solution correspond
au plan de production : on ne produit rien, on nutilise aucune ressource et on ne
gagne rien.
La formulation de lexemple (FC), sous la forme standard, permet dexprimer
facilement chaque variable dcart (ici variable de base) ainsi que la fonction objectif
z comme fonctions affines des variables de dcision seulement (ici variables hors
base) :
x3 = 4 x1
x4 = 12 2x2
(Dic 1)
x5 = 18 3x1 2x2
z = 300x1 + 500x2
Le tableau ci-dessus est appel un dictionnaire. La solution de base de dpart peut
tre rsume ainsi :
variables hors-base : x1 = 0, x2 = 0 ;
variables de base : x3 = 4, x4 = 12, x5 = 18 ;
la valeur de la fonction objectif : z = 0.
La question qui se pose est alors : commet choisir une arte le long de laquelle la
valeur de z va augmenter ? Algbriquement, cette question se formule de manire
quivalente par : quelle variable hors base va entrer en base ?
On a :
z = 300x1 + 500x2
3 Algorithme du simplexe : Mthode algbrique 27
Pour obtenir une meilleure solution, il suffit de faire passer lune des deux variables
x1 ou x2 de la valeur zro une valeur positive. Il est donc prfrable de choisir
x2 qui vaut 500 par unit alors que x1 ne vaut que 300. On peut ainsi esprer
aller "plus vite" vers la solution optimale. Par contre la valeur de x1 restera nulle.
conomiquement, on va donc produire des chassis de type 2 et toujours pas des
chassis de type 1.
Notons que pour pouvoir appliquer ce critre simple (le choix de la variable
entrante), la fonction objectif z doit tre exprime en fonction des seules variables
hors base.
x3 = 4 (C1)
x4 = 12 2x2 (C2)
x5 = 18 2x2 (C3)
Mais pour conserver une solution ralisable et ne pas quitter la rgion ralisable, il
faut aussi que les composantes restent positifs. Nous devons avoir x3 > 0, x4 > 0 et
x5 > 0. En fait :
x3 = 4 >0 12
x2 6 =6
ou encore 2
x4 = 12 2x2 > 0
18
x5 = 18 2x2 > 0 x2 6 =9
2
La contrainte (C1) ne place aucune restriction sur laugmentation de x2 car elle ne
contient pas x2 . Au total, la contrainte la plus restrictive pour x2 est (C2). Il faut
donc sarrter la valeur x2 = 6 (cest une rponse la question a) pour la quelle
la variable x4 dvient nulle et aller au del conduirait la rendre ngative. Donc,
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 28
on peut supposer que x4 est prsent hors base (cest une rponse la question b).
On en conclut que la variable sortante est x4 , cest--dire la premire qui sannule
lorsque x2 saccrot partir de 0.
(4, 3)
(0, 0)
(4, 0) x1
La premire itration est termine. La deuxime solution de base peut tre rsume
ainsi :
variables hors-base : x1 = 0, x4 = 0 ;
variables de base : x2 = 6, x3 = 4, x5 = 6 ;
la valeur de la fonction objectif : z = 3000.
Elle correspond au sommet (0, 6) de la rgion ralisable. conomiquement, cette
solution dfinit un plan de production beaucoup plus intressant : on fabrique 6
chassis du type 2 (x2 = 2) en consommant entirement la capacit de production de
latelier 2 et x5 = 6 units de la capacit de production de latelier 3. La capacit de
fabrication de latelier 1 nest pas encore utilis (x3 = 4). Le profit est z = 3000.
Test darrt
La question qui se pose maintenant est : commet savoir le fait que la solution
optimale est trouve ?
Un sommet est optimal si tous les sommets adjacents donnent des valeurs
infrieures ou gales la fonction objectif. Comment peut-on savoir sil existe encore
un sommet adjacent profitable ?
Pour rpondre cette question, nous allons examiner la nouvelle expression de la
fonction z. La dernire quation du dictionnaire (Dic 2) :
Deuxime itration
Au vu de
z = 3000 + 300x1 250x2
on slectionne donc pour la variable entrante x1 . En effet, cest la variable ayant le
plus grand coefficient positif, et dailleurs la seule possible.
Pour dterminer la variable sortante, tudions la variation des variables de base en
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 30
x3 = 4 x1 > 0 x1 6 6
x2 = 6 >0 ou encore
x5 = 6 3x1 > 0 x1 6 2
La variable sortante est x5 , cest elle qui est la premire sannuler (pour x1 = 2).
Pour calculer le nouveau sommet, on utilise la troisime quation du (Dic 2) pour
exprimer x2 en fonction des nouvelles variables hors base, x5 et x4 :
1 1
x1 = 2 x5 + x4
3 3
On remplace ensuite x1 par cette expression dans les autres quations du
dictionnaire :
1 1
x3 = 2 x5 + x4
3 3
1
x2 = 6 x4
2 (Dic 3)
1 1
x1 = 2 x5 + x4
3 3
z = 3600 100x5 150x4
La deuxime itration est termine. La troisime solution de base peut tre rsume
ainsi :
variables hors-base : x4 = 0, x5 = 0 ;
variables de base : x1 = 2, x2 = 6, x3 = 2 ;
la valeur de la fonction objectif : z = 3600.
Elle correspond au sommet (2, 6) de la rgion ralisable. conomiquement, cette
solution dfinit le plan de production suivant : on fabrique 2 chassis du type 1 et
6 chassis du type 2 en consommant entirement les capacits de production des
ateliers 2 et 3. Le profit est z = 3600.
x2
(2, 6)
(0, 6)
(4, 3)
(0, 0)
(4, 0) x1
Tous les coefficients de la dernire ligne, dans (Dic 3), sont ngatifs :
4. Algorithme du simplexe
tape 0. Initialisation
Dfinir une solution de base de dpart ; prciser les variables de base et les
variables hors base de cette solution. Gnralement, les variables dcart sont
pris comme variables de base et les variables de dcision comme variables hors
base.
Exprimer la fonction objectif z en fonction des seules variables hors base. Puis
choisir comme variable entrante la variable hors base affecte du coefficient
positif le plus lev.
Si tous les asr sont infrieurs 0, alors la solution est non born.
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 32
Retour ltape 1.
5. Application
La variable x3 entre en base car elle a le plus grand coefficient positif dans la
dernire ligne du dictionnaire (Dic 1), qui est 18.
La variable x7 sort de la base car elle correspond au plus petit rapport parmi les
rapports suivants :
42 17 24
= 8.4, = 8.5, = 8.
5 3 3
Nous allons faire un changement de dictionnaire en changeant les rles de x3 et x7 .
On utilise la troisime quation du (Dic 1) pour exprimer x3 en fonction de x1 , x2 , x4
et x7 :
1 2 1
x3 = 8 x1 + x2 x 7 x4
3 3 3
www.livecours.com
3 Algorithme du simplexe : Mthode algbrique 34
1 2 5
x5 = 2
x1 x2 + x7 2x4
3 3 3
1 1 2
x6 = 1 x1 + x2 + x7
3 3 3 (Dic 2)
1 2 1
x3 = 8 x1 x2 x7 x4
3 3 3
z = 144 + x1 3x2 6x7 x4
x5 = 1 + x6 x2 + x7 2x4
x1 = 3 3x6 + x2 + 2x7
(Dic 3)
x3 = 7 + x6 x2 x7 x 4
z = 147 3x6 2x2 4x7 x4
Puisque tous les coefficients de la fonction objectif z sont ngatifs, il nest plus
possible damliorer z. La solution obtenue
x1 = 3, x2 = 0, x3 = 7, x4 = 0, x5 = 1, x 6 = x7 = 0
2. Illustration de lalgorithme
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 36
B b x1 x2 x3 x4 x5
vecteur b
x3 4 1 0 1 0 0
variables x4 12 0 2 0 1 0 matrice A
de base B
x5 18 3 2 0 0 1
z 0 300 500 0 0 0
valeur de z vecteur c
On a ajout au-dessus du tableau le nom des variables pour voir quelle variable
correspond chaque colonne du tableau.
Plusieurs caractristiques dun tableau simplex sont remarquer
Tout dabord, on peut lire directement sur le tableau les valeurs des variables
de base. Si x1 = x2 = 0, on obtient x3 = 4, x4 = 12 et x5 = 18. Soit xB = b.
Dans la dernire ligne, on trouve un coefficient gal 0 pour chaque variable
de base (la fonction z est exprime en fonction des seuls variables hors base).
La matrice carre correspondant aux variables de base est la matrice identit.
Enfin, le premier coefficient de la dernire ligne donne loppos de la valeur
de z
4 Algorithme du simplexe : Mthode des tableaux 37
B b x1 x2 x3 x4 x5
x3 4 1 0 1 0 0
x4 12 0 2 0 1 0
x5 18 3 2 0 0 1
z 0 300 500 0 0 0
colonne pivot
x1 = 4 + x2
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 38
La variable sortante est alors la variable de base dont la valeur se lit dans la ligne
o le minimum se produit : ici, il sagit de la deuxime ligne et donc de la variable
x4 . On encadre alors la ligne o le minimum se produit. Cette ligne reoit le nom de
ligne pivot :
variable entrante
z 0 300 500 0 0 0
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 39
B b x1 x2 x3 x4 x5 B b x1 x2 x3 x4 x5
x3 4 1 0 1 0 0 x3 4 1 0 1 0 0
1 1
x4 6 0 1 0 2 0 x2 6 0 1 0 2 0
x5 18 3 2 0 0 1 x5 18 3 0 0 0 1
bc
a = a
2
a est la valeur modifie du coefficient a qui est considr
b est llment situ sur la mme ligne que a, mais dans la colonne du pivot
c est llment situ dans la mme colonne que a, mais sur la ligne du pivot
Dans le tableau modifier, le pivot et les coefficient a, b et c forment les coins dun
rectangle. Do le nom de la mthode.
B b x2 xj
b a
x4 2 c
B b x1 x2 x3 x4 x5
x3 4 1 0 1 0 0
1
x2 6 0 1 0 2 0
x5 6 3 0 0 1 1
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 41
B b x1 x2 x3 x4 x5
x3 4 0 0 1 0 0
1
x2 6 0 1 0 2 0
1 1
x1 2 1 0 0
3 3
z 3000 0 0 0 250 0
B b x1 x2 x3 x4 x5
1 1
x3 2 0 0 1 3
3
1
x2 6 0 1 0 2 0
1 1
x1 2 1 0 0
3 3
z 3600 0 0 0 150 100
x2 deuxieme iteration
(2, 6)
(0, 6)
premiere iteration
(4, 3)
(0, 0)
(4, 0) x1
Cest le mme chemin suivi par la mthode algbrique. Ce qui nest pas tonnant.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
. 0
z z B c1 c2 ... cn 0 0 ... 0
tape 1 :
Dans le cas o toutes les contraintes initiales dun programme linaire se prsentent
sous forme de contraintes dingalits du type "infrieur ou gal" avec un membre
de droite positif, on rcrit dabord le programme sous forme standard en ajoutant
des variables dcart. Puis on met les variables de dcisions (variables originales)
hors base et les variables dcart en base. On indique en section 5 comment
construire le tableau initial dans le cas dun programme linaire quelconque.
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 43
tape 2 :
Si les coefficients cj sont tous 6 0, alors STOP : la solution de la base actuelle est
optimale. Sinon, choisir la variable hors base dont le coefficient dans la dernire
ligne est positif et le plus grand possible. Soit xr la variable entrante.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
. 0
z z B c1 . . . cr . . . cn 0 0 ... 0
tape 3 :
Choisir comme variable sortante la premire variable de base sannuler. Pour cela,
on calcule le minimum du rapport du second membre bi sur le coefficient air de la
variable entrante dans la mme ligne lorsque air > 0. Soit la ligne o le minimum
se produit :
b bi
= min : air > 0
a r air
La variable sortante est celle qui correspond la ligne o le minimum se produit.
Soit xs la variable sortante. On colore la ligne correspondante qui est appele ligne
pivot. Il en rsulte le tableau suivant :
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 44
z z B c1 . . . cr . . . cn 0 0 ... 0
tape 4 :
b a
asr c
Remarquons que toute ligne possdant un zro dans la colonne du pivot reste
inchange ; de mme, toute colonne possdant un zro dans la ligne du pivot reste
inchange.
4. Application
Tableau initial :
x1 = x2 = x3 = x4 = 0, x5 = 42, x6 = 17, x7 = 24
B b x1 x2 x3 x4 x5 x6 x7
x5 42 2 4 5 7 1 0 0
x6 17 1 1 2 2 0 1 0
x7 24 1 2 3 3 0 0 1
z 0 7 9 18 17 0 0 0
Comme, dans la dernire ligne, il y a des coefficients des variables hors base qui sont
positifs (valeurs 7, 9, 17 et 18), cette solution de base ralisable nest pas optimale.
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 46
Deuxime tableau :
x3 hors base entre en base. Car elle possde le plus grand coefficient positif,
dans la dernire ligne, qui est 18.
x7 en base sort de base, puisque cest elle qui correspond la ligne pour laquelle
le rapport de bi sur air est le plus petit avec air > 0, i = 1, 2, 3; r = 3. En
effet, a13 , a23 , a23 sont positifs et
b1 42 b2 17 b3 24
= = 8.4, = = 8.5, = = 8,
a13 5 a23 2 a33 3
24
le plus faible ration est correspond la ligne dindice 3.
3
ce que nous indiquons dans le tableau initial en colorant la colonne pivot et la ligne
pivot ; nous y entourons aussi le pivot, qui est gal 3.
Construisons le nouveau tableau simplexe en appliquant les rgles du pivotage :
B b x1 x2 x3 x4 x5 x6 x7
1 2 5
x5 2 3 3 0 2 1 0 3
1 1 2
x6 1 3 3 0 0 0 1 3
1 2 1
x3 8 3 3 1 1 0 0 3
z 144 1 3 0 1 0 0 6
Puisquil y a encore, dans la dernire ligne, un coefficient positif (valant 1), nous
ne sommes pas la solution optimale et nous devons donc rechercher une nouvelle
meilleure solution de base ralisable.
Troisime tableau :
www.livecours.com
4 Algorithme du simplexe : Mthode des tableaux 47
B b x1 x2 x3 x4 x5 x6 x7
x5 1 0 1 0 2 1 1 1
x1 3 1 1 0 0 0 3 2
x3 7 0 1 1 1 0 1 1
z 147 0 2 0 1 0 3 4
Puisque tous les coefficients de la dernire ligne sont ngatifs, le tableau trouv
correspond une solution optimale. Celle-ci est dfinie par :
x1 = 3, x3 = 7, x5 = 1, x2 = x4 = x6 = x7 = 0.
www.livecours.com
Dualit en programmation
5 linaire
Avant de donner la definition formelle dun problme dual, nous allons expliquer
comment il sexplique en terme de problme de production.
1.1. Exemple 1
2 u1 + 1 u2 + 1 u3 > 7 (Produit 1)
Une dmarche simillaire propos des autres produits lamne crire que
4 u1 + 1 u 2 + 2 u3 > 9 (Produit 2)
5 u1 + 2 u2 + 3 u3 > 18 (Produit 3)
7 u1 + 1 u2 + 3 u3 > 17 (Produit 4)
u1 , u 2 , u 3 > 0
Finalement, pour dterminer les prix unitaires minimaux quil proposera Ahmed,
Brahim devrait rsoudre le programme linaire suivant :
Min w = 42u1 + 17u2 + 24u3
2u1 + u2 + u3 > 7
4u1 + u2 + 2u3 > 9
(D)
5u1 + 2u2 + 3u3 > 18
7u1 + 2u2 + 3u3 > 17
u1 , u 2 , u 3 > 0
www.livecours.com
5 Dualit en programmation linaire 50
Les problmes (P) et (D) utilisent en fait exactement les mmes donnes
numriques. On peut les lire directement partir du tableau ci-dessous ; (P)
correspond une lecture ligne par ligne, (D) une lecture colonne par colonne.
Primal (Max)
Coeff. des xi S.M
x1 x2 x3 x4 b
u1 2 4 5 7 6 42
Coeff. dans w
Coeff. des uj
u2 1 1 2 2 6 17
Dual (Min)
u3 1 2 3 3 6 24
6
6
S.M.
18
17
c
Coeff. dans z
1.2. Exemple 2
Le laboratoire doit fixer les prix offerts pour les vitamines de faon ce que :
u1 , u 2 > 0
Finalement, pour dterminer les prix unitaires maximaux quil ne doit pas dpasser
pour rester comptitif, le laboratoire devrait rsoudre le programme linaire
suivant :
Max w = 20u1 + 60u2 + 15u3
20u1 + 30u2 + 5u3 6 60
(D)
5u1 + 20u2 + 10u3 6 90
u1 , u 2 , u 3 > 0
La dualit associe tout problme linaire un autre problme linaire qui est appel
problme dual du problme initial ; par opposition le problme initial est appel
problme primal. Considrons un problme de maximisation sous canonique :
X n
Max z = cj xj
j=1
n
X
(D) aij xj 6 bi i = 1, . . . , m
j=1
xj > 0 j = 1, . . . , n
www.livecours.com
5 Dualit en programmation linaire 52
Les variables xj sont appeles variables primales et les variables ui sont appeles
variables duales.
Cette dfinition est caractrise par les rgles suivantes :
Comme le problme dual du dual est le problme primal initial, il convient donc de
parler dune paire de problmes de programmation linaire lis par la dualit.
Souvent le problme primal est considre soit sous sa forme canonique ou sous sa
forme standard. Dans ces deux, le problme dual devient, en notation vectorielle,
la forme canonique :
Max z = cx Min w = ub
le primal : Ax 6 b le dual : uA > c
x>0 u>0
la forme standard :
Max z = cx
(
Min w = ub
le primal : Ax = b le dual :
uA > c
x>0
Nous pouvons vrifier cette dernire relation, en mettant la forme standard sous
une forme canonique quivalente.
5 Dualit en programmation linaire 53
Exemple
Max z Min w
variable xj > 0 contrainte j est une ingalit ">"
variable xj 6 0 contrainte j est une ingalit "6"
variable xj sans signe contrainte j est une galit "="
contrainte i est une ingalit "6" variable ui > 0
contrainte i est une ingalit ">" variable ui 6 0
contrainte i est une galit "=" variable ui sans signe
2. Proprits de la dualit
Nous allons montrer que la relation entre deux problmes va beaucoup plus loin que
lesthtique mathmatique de cette symtrie. En fait nous allons tudier certaines
rsultats concernant les relations entre le problme primal et son dual.
Considrons un problme linaire de maximisation (le primal) sous sa forme
www.livecours.com
5 Dualit en programmation linaire 54
z = Max z = cx w = Min w = ub
Ax 6 b uA > c
x>0 u>0
Proprit 1
cx 6 ub
En effet,
) )
Ax 6 b et u>0 uAx 6 ub
= = cx 6 uAx 6 ub
uA > c et x>0 uAx > cx
Corollaire 1
Une solution ralisable du dual (resp. primal) fournit une borne suprieur
(resp. infrieur) de z (resp. w) :
z 6 ub u ralisable du dual
w > cx u ralisable du primal
Corollaire 2
En effet, supposons, par exemple, que x nest pas une solution optimale. Alors, il
existe une solution ralisable x tel que
c x > c x
Corollaire 3
Si un problme possde une valeur optimale infinie, son dual est impossible.
Proprit 2
Si le problme primal (resp. dual) possde une solution optimale finie, alors
il en est de mme pour le problme dual (resp. primal) et de plus z = w.
En effet, sil existe une solution de base optimale finie x du problme primal mis
sous forme standard, cette solution est de la forme
xB = B1 b > 0, xH = 0
uB A 6 c
et de plus vrifie
uB b = z
Cette solution est donc une solution optimale finie du problme dual.
Corollaire 4
Lgalit des fonctions objectifs du primal et du dual est donc une condition
ncessaire et suffisante doptimalit pour des solutions ralisables des deux
problmes.
Parmi les neuf situations potentielles pour une paire de problmes lis par la dualit,
il nexiste que quatre situations possibles
www.livecours.com
5 Dualit en programmation linaire 56
2. a) Le problme primal a une valeur optimale infinie, et son dual est impossible ;
b) Le problme primal est impossible, et son dual a une valeur optimale infinie ;
3. Les deux problmes sont impossibles.
Illustrations
4 4
0 0
0 4 0 4
le premier cas du thorme fondamentale de la dualit
5 Dualit en programmation linaire 57
4 4
0 0
0 4 0 4
le deuxime cas du thorme fondamentale de la dualit
4 4
0 0
0 4 0 4
le troisime cas du thorme fondamentale de la dualit
www.livecours.com
5 Dualit en programmation linaire 58
==0
Appelons
(Li x 6 bi , ui > 0) i = 1, . . . , m
ou
(xj > 0, uCj > cj , ) j = 1, . . . , n
des couples de contraintes duales.
Convenons quune contrainte dingalit (6 ou >) est dite serre pour une solution,
si elle est vrifie avec le signe dgalit (=) et non serre dans le cas o elle est
vrifie avec le signe dingalit stricte (< ou >).
Le thorme des carts complmentaires peut alors snoncer :
Ax + y = b
uA v = c
5 Dualit en programmation linaire 59
xi v i = 0 i = 1, . . . , n
yj uj = 0 j = 1, . . . , m
Exemple :
Appliquons le TEC au problme linaire suivant :
max 15x1 + 25x2
x1 + 3x2 6 96
(P) x1 + x2 6 40
7x1 + 4x2 6 238
x1 , x2 0
x1 = 12, x2 = 28
www.livecours.com
5 Dualit en programmation linaire 60
u1 + u2 = 15
3u1 + u2 = 25
2u1 = 10 = u1 = 5 = u2 = 10
www.livecours.com