Académique Documents
Professionnel Documents
Culture Documents
PL PDF
PL PDF
Recherche operationnelle
Tentative de definition
Programmation lineaire et recherche
Ensemble de methodes (algorithmiques, mathematiques,
operationnelle modelisation) afin de prendre des decisions optimales ou proches
de loptimum dans des problemes complexes, qui traitent de la
maximisation dun profit ou la minimisation dun cout.
Ioan Todinca
Ioan.Todinca@univ-orleans.fr Comment aller le plus vite dOrleans a Berlin, en voiture?
tel. 02 38 41 72 93
bureau : en bas a gauche Comment ordonnancer les taches dun projet en fonction de la
main duvre, tout en minimisant sa duree?
Comment investir ses 1000 euros deconomie de sorte a
maximiser le profit obtenu apres deux ans?
1/56 2/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
3/56 4/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
5/56 6/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
7/56 8/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Un autre exemple
Programme lineaire : definition
Variables reelles : Vous disposez de 10000 euros que vous souhaitez investir. Votre
x1 , x2 , . . . , xn banque vous propose trois types dinvestissements. Pour
Fonction objectif lineaire, a optimiser (min ou max) :
linvestissement A le rendement est de 9% et la somme maximum
que lon peut investir est de 4000 euros. Pour linvestissement B
z = c1 x1 + c2 x2 + + cn xn
on peut investir jusqua 5000 euros, avec un rendement de 4%.
Contraintes lineaires (egalites ou inegalites) :
Enfin le produit C a un rendement de 8% pour un montant
a11 x1 + a12 x2 + + a1n xn b1 maximum de 5000 euros.
a21 x1 + a22 x2 + + a2n xn b2
1. Exprimer ce probleme comme un PL. Donner la solution
am1 x1 + am2 x2 + + amn xn = bm optimale.
2. La banque change davis. Si vous souhaitez faire un
Solution : toute affectation des variables qui respecte les investissement (A, B ou C) il faut y mettre la somme exacte
contraintes (respectivement 4000, 5000, et 5000 euros). Mettre a jour
Solution optimale : solution qui optimise (maximise ou minimise) votre modele ; est-ce toujours un PL?
la fonction objectif.
9/56 10/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
11/56 12/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Variables : x1 , . . . , xn
Donner un exemple de programme lineaire qui na pas de
Lensemble de points qui satisfont une equation (egalite) solution.
lineaire forme un hyperplan.
Proposer un PL qui a des solutions, mais pas de solution
Les points qui satisfont une inegalite lineaire forment un optimale.
demi-espace.
Proposer un PL qui a plusieurs solutions optimales.
Lensemble des solutions dun ensemble de contraintes :
Essayer de resoudre par la methode graphique le systeme
polyedre convexe.
suivant :
Solution optimale (si elle existe) : sommet du polyedre.
objectif : max 2x + y
Limites : precision ; maximum 3 variables. contraintes : x2 + y2 1
Si vous arrivez a visualiser un PL avec 4 variables ou plus... pensez x 0, y 0
a consulter un bon psy.
13/56 14/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
n
X
[G. Dantzig, 1947] max cj xj
j=1
Algorithme de resolution de programmes lineaires
Facile a comprendre et a implanter n
X
Efficace en pratique, meme pour un nombre important de contraintes : aij xj bi i = 1, 2, . . . , m
j=1
variables et de contraintes
xj 0 j = 1, 2, . . . , n
Efficacite au pire cas : on en reparlera, voir aussi cours
dalgorithmique. Question : comment mettre un probleme quelconque sous forme
standard?
15/56 16/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
PL equivalent :
x4 = 5 2x1 3x2 x3
max 5x1 + 4x2 + 3x3 x5 = 11 4x1 x2 2x3
contraintes 2x1 + 3x2 + x3 5 x6 = 8 3x1 4x2 2x3
4x1 + x2 + 2x3 11 z = 5x1 + 4x2 + 3x3
3x1 + 4x2 + 2x3 8
x1 , x2 , x3 0 max z, sous contraintes : x1 , x2 , x3 , x4 , x5 , x6 0
Solution initiale : x1 = x2 = x3 = 0, x4 = 5, x5 = 11, x6 = 8 ;
z = 0.
Si on augmente x1 , ca augmente z!
17/56 18/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
5 3 1 1
1. De combien ? x1 = 2 2 x2 2 x3 2 x4
x1 52 car x4 = 5 2x1 3x2 x3 0. x5 = 1 + 5x2 + 2x4
1 1 1 3
2. Nouvelle solution ? x6 = 2 + 2 x2 2 x3 + 2 x4
x1 = 12 , x2 = x3 = x4 = 0, x5 = 1, x6 = 1
2 ;z= 25
2 . 25 7 1 5
z = 2 x2 + 2 x3 4 x4
3. Reformuler le systeme afin dexprimer les variables x1 , x5 , x6 en 2
fonction de x2 , x3 , x4 .
x1 = 52 23 x2 12 x3 21 x4 Augmenter qui? De combien? Quobtient-on?
x3 x3 = 1 (x6 = . . . ) a droite : x2 , x3 , x6
19/56 20/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
min x1 + 2x2
contraintes x1 + x2 = 10
x1 x2 10
max 5x1 + 5x2 + 3x3 x1 0
contraintes x1 + 3x2 + x3 3
x1 + 3x3 2 min z
2x1 x2 + 2x3 4 max z
P
2x1 + 3x2 x3 2 ai xP
i =b P
x1 , x2 , x3 0 ai xi b et ai xi b
P
ai xP
i b
ai xi b
pas de contrainte x 0
on remplace x par x + x , avec x + , x 0
27/56 28/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
29/56 30/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Lemme
Si deux dictionnaires ont les memes variables de base, ils sont
identiques.
Une ou plusieurs variables de base ont une valeur nulle.
On ne peut augmenter aucune variable hors base. Theoreme
Lalgorithme du simplexe termine sur une solution optimale, ou
On fait neanmoins un changement de base. alors il boucle.
La valeur de lobjectif naugmente pas
... mais ca devrait aller mieux dans quelques etapes. Les cas de bouclage sont tres rares.
Le bouclage est facile a detecter.
Il existe des solutions simples pour eviter le bouclage, par
exemple en choisissant a chaque iteration comme variables
sortante et entrante celles dindice minimum.
31/56 32/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Dans la pratique :
Le nombre diterations est proportionnel au nombre de Trouver un autre dictionnaire faisable.
contraintes initiales (typiquement entre 3m/2 et 3m).
Ou prouver que le probleme na pas de solution!
Croit tres peu avec le nombre n de variables initiales.
33/56 34/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
n
X
contraintes : aij xj bi i = 1, 2, . . . , m max x1 x2 + x3
j=1 contraintes 2x1 x2 + 2x3 4
xj 0 j = 1, 2, . . . , n 2x1 3x2 + x3 5
devient : x1 + x2 2x3 1
x1 , x2 , x3 0
min x0
n
X
contraintes : aij xj x0 bi i = 1, 2, . . . , m
j=1
xj 0 j = 0, 1, . . . , n
35/56 36/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
37/56 38/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
1 1 0 0 0 0
5
2 0 1 12 0 10
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Primal :
Theoreme (Dualite faible)
n
X
max cj xj Pour toute solution du primal et toute solution du dual, z,
j=1 lobjectif du primal, est inferieur ou egal a w , lobjectif du dual.
n
X Preuve:
contraintes : aij xj bi i = 1, 2, . . . , m n
X m
X
j=1 z = cj xj contraintes dual :cj aij yi
xj 0 j = 1, 2, . . . , n j=1 i=1
Xn Xm
Dual : ( aij yi )xj commutativite, associativite
m j=1 i=1
X Xm X n n
X
min bi y i = ( aij xj )yi contraintes primal : aij xj bi
i=1
i=1 j=1 j=1
Xm
m
X bi yi objectif dual
contraintes : aij yi cj j = 1, 2, . . . , n
i=1
i=1 = w
yi 0 i = 1, 2, . . . , m
43/56 44/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
z= dernier dico
n m m
X n
X m
X n
X
X X
= z + c j xj + c n+i xn+i yi = c n+i (z bi yi ) + (c j + aij yi )xj = cj xj
j=1 i=1 i=1 j=1 i=1 j=1
n
X m
X n
X En mettant xj := 0, j = 1, . . . , n on obtient
= z + c j xj yi xn+i xn+i = bi aij xj
j=1 i=1 j=1 m
X
Xn Xm n
X bi yi = z ,
= z + c j xj yi (bi aij xj ) comm., assoc.
i=1
j=1 i=1 j=1
Xm Xn m
X donc
= (z bi yi ) + (c j + aij yi )xj premier dico
w = z
i=1 j=1 i=1
n
X (objectif primal = objectif dual).
= cj xj
j=1
49/56 50/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Pour prouver que les yi forment une solution du dual, remarquer Soient x1 , . . . , xn une solution du primal et y1 , . . . , ym
une solution
Rappel :
Theoreme (Ecarts complementaires version II)
n
X m
X
z = cj xj contraintes dual :cj aij yi Une solution x1 , . . . , xn du primal est optimale si et seulement si il
j=1 i=1 existe des nombres y1 , . . . , ym
tels que :
Xn Xm
y1 , . . . , ym
forment une solution du dual ;
( aij yi )xj commutativite, associativite
j=1 i=1
si xj > 0 alors la jeme contrainte du dual est atteinte
m X n n Xm
X X
= ( aij xj )yi contraintes primal : aij xj bi ( aij yi = cj ) ;
i=1 j=1 j=1 i=1
m
X si la ieme contrainte du primal nest pas atteinte
bi yi objectif dual Xm
i=1 ( aij xj < bi ) alors yi = 0.
= w j=1
On a z = w ssi les deux inegalites deviennent des egalites : Application : si lon nous propose une solution du primal, pour
la jeme contrainte du dual est atteinte ou xj = 0 ; verifier son optimalite il suffit de resoudre le systeme dequations
la ieme contrainte du primal est atteinte ou yi = 0 ; (de variables yi ) qui en decoule.
53/56 54/56
Introduction Methode graphique Simplexe Dualite Introduction Methode graphique Simplexe Dualite
Interpretation economique de la dualite yi : profit obtenu par une unite supplementaire de ressource i.
Theoreme
Primal Dual
X n
Xm Pour des valeurs ti suffisament faibles, le programme lineaire
max cj xj min bi yi Pn
j=1 i=1
max j=1 cj xj
n
X m
X
contr : aij xj bi contr : aij yi cj Pn
contr. : j=1 aij xj bi + ti i = 1, 2, . . . , m
j=1 i=1
xj 0 j = 1, 2, . . . , n
xj 0 yi 0
pour tout i = 1, . . . , m et tout j = 1, . . . , n. a une solution optimale de valeur
cj : euros/unite du produit j. ou z
est la valeur optimale du PL initial et y1 , . . . , ym
est une
aij : unites de ressource i / unite de produit j. solution optimale de son dual.
yi : euros/unite de ressource i.
55/56 56/56