Académique Documents
Professionnel Documents
Culture Documents
Recherche Op Erationnelle: Tentative de D Efinition
Recherche Op Erationnelle: Tentative de D Efinition
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Tentative de d enition
Ensemble de m ethodes (algorithmiques, math ematiques, mod elisation) an de prendre des d ecisions optimales ou proches de loptimum dans des probl` emes complexes, qui traitent de la maximisation dun prot ou la minimisation dun co ut.
Comment aller le plus vite dOrl eans ` a Berlin, en voiture? Comment ordonnancer les t aches dun projet en fonction de la
main duvre, tout en minimisant sa dur ee? maximiser le prot obtenu apr` es deux ans?
1/56
2/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Les probl` emes de programmation lin eaire (PL) sont des probl` emes doptimisation o` u la fonction objectif et les contraintes sont toutes lin eaires.
Mod elisation dun probl` eme r eel Si lon constate que ce probl` eme sexprime comme un PL, le
r esoudre
3/56
4/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Plan du cours
1. Introduction + une approche na ve : la m ethode graphique 2. Lalgorithme du simplexe 3. Simplexe : comment eviter les pi` eges 4. Dualit e 5. Programmation lin eaire en nombres entiers Bibliographe : [V. Chv atal, Linear Programming]
Les programmes lin eaires peuvent etre r esolus ecacement Ce sont dexcellents exemples de questions pratiques dont la
r esolution n ecessite une combinaison de m ethodes algorithmiques, de math ematiques el ementaires et de bon sens.
5/56
6/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
maximiser contraintes
Pb xb + Pm xm xb + xm H xb 0 xm 0 Eb xb + Em xm E Ib xb + Im xm I
7/56
8/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Un autre exemple
Vous disposez de 10000 euros que vous souhaitez investir. Votre banque vous propose trois types dinvestissements. Pour linvestissement A le rendement est de 9% et la somme maximum que lon peut investir est de 4000 euros. Pour linvestissement B on peut investir jusqu` a 5000 euros, avec un rendement de 4%. Enn le produit C a un rendement de 8% pour un montant maximum de 5000 euros. 1. Exprimer ce probl` eme comme un PL. Donner la solution optimale. 2. La banque change davis. Si vous souhaitez faire un investissement (A, B ou C) il faut y mettre la somme exacte (respectivement 4000, 5000, et 5000 euros). Mettre ` a jour votre mod` ele ; est-ce toujours un PL?
9/56 10/56
x1 , x2 , . . . , xn
z = c1 x1 + c2 x2 + + cn xn
Solution : toute aectation des variables qui respecte les contraintes Solution optimale : solution qui optimise (maximise ou minimise) la fonction objectif.
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
La m ethode graphique
Id ee : repr esenter graphiquement les contraintes et visualiser lensemble des solutions. Identier une solution optimale. Exemple : max contraintes : x1 2x1 x1 2x1 x1 + x2 + x2 14 2x2 8 x2 10 0 x2 0
La m ethode graphique
demi-plan.
polygone convexe.
11/56
12/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Questions
Donner un exemple de programme lin eaire qui na pas de
solution.
Les points qui satisfont une in egalit e lin eaire forment un Lensemble des solutions dun ensemble de contraintes :
optimale.
Proposer un PL qui a plusieurs solutions optimales. Essayer de r esoudre par la m ethode graphique le syst` eme
suivant :
Limites : pr ecision ; maximum 3 variables. Si vous arrivez ` a visualiser un PL avec 4 variables ou plus... pensez ` a consulter un bon psy.
13/56
objectif : contraintes :
max 2x + y x2 + y2 1 x 0, y 0
14/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Algorithme du simplexe
max
j =1 n
cj xj
contraintes :
j =1
aij xj bi xj 0
i = 1, 2, . . . , m j = 1, 2, . . . , n
15/56
16/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Simplexe : un exemple
PL equivalent : max 5x1 contraintes 2x1 4x1 3x1 x1 , + 4 x2 + 3 x2 + x2 + 4 x2 x2 , + 3x3 + x3 + 2x3 + 2x3 x3 x4 x5 x6 z
Variables d ecart
5 11 8 0
3x2 x2 4x2 + 4 x2
17/56
18/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Augmenter x1
Nouveau dictionnaire
x1 = x5 = x6 = ;z=
25 2 .
1 + 1 2 +
25 2
5 2
3 2 x2 5x2 1 2 x2 7 2 x2
1 2 x3 1 2 x3 1 2 x3
+ +
1 2 x4 2x4 3 2 x4 5 4 x4
z Augmenter qui? x3
De combien? x3 = 1 (x6 = . . . )
Quobtient-on? ` a droite : x2 , x3 , x6
19/56
20/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
cj xj
contraintes :
j =1
aij xj bi xj 0
i = 1, 2, . . . , m j = 1, 2, . . . , n
xn+i = bi
j =1
aij xj
(i = 1 . . . , m )
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Premier dictionnaire
n
xn+i z
= bi
n j =1
aij xj
(i = 1, . . . , m)
=
j =1
cj xj (k = 1, . . . n + m)
On suppose que notre premier dictionnaire est faisable Nous verrons plus tard comment faire pour que ce soit
Variables de gauche (sauf z ) : variables de base x4 , x5 , x6 Variables de droite : variables hors base x1 , x2 , x3
xk 0
(k = 1, . . . n + m)
23/56
24/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Algorithme du simplexe
Initialisation : introduire les variables d ecart et calculer un premier dictionnaire faisable ; mettre ` a 0 les variables hors base tantque il existe une variable hors base xk ayant un coe positif dans lexpression de z faire
soit xl = la contrainte la plus contraignante pour
1. Solution courante : variables hors base ` a0 2. Trouver une variable hors base xk dont le coecient dans lexpression de z soit strictement positif. 3. Sil nen existe pas, la solution courante est optimale! 4. Trouver la contrainte la plus forte pour laugmentation de xk ; soit xl = cette contrainte. 5. Augmenter xk jusqu` a ce que lon ait xl = 0. 6. Exprimer xk en fonction de xl et des autres variables hors base. 7. Mettre ` a jour le dictionnaire, en faisant rentrer xk dans la nouvelle base et en sortant xl .
augmenter xk
25/56
26/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
max contraintes
3 2 4 2 0
max z ai xi b
ai xi = b ai xi b et ai xi b ai xi b
pas de contrainte x 0
27/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
It eration
1. Dicult e` a trouver une solution initiale 2. It eration : peut-on toujours augmenter strictement lobjectif? 3. Terminaison, complexit e.
Peut-on toujours augmenter strictement lobjectif? Non. Il se peut que lon ait une variable hors base avec co ecient positif dans z , mais quelle ne puisse etre augment ee ` a cause dune contrainte.
29/56
30/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Dictionnaires d eg en er es
Lemme
Une ou plusieurs variables de base ont une valeur nulle. On ne peut augmenter aucune variable hors base.
Terminaison
Si deux dictionnaires ont les m emes variables de base, ils sont identiques.
Th eor` eme
Lalgorithme du simplexe termine sur une solution optimale, ou alors il boucle.
Les cas de bouclage sont tr` es rares. Le bouclage est facile ` a d etecter. Il existe des solutions simples pour eviter le bouclage, par
On fait n eanmoins un changement de base. La valeur de lobjectif naugmente pas ... mais c a devrait aller mieux dans quelques etapes.
exemple en choisissant ` a chaque it eration comme variables sortante et entrante celles dindice minimum.
32/56
31/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Trouver un autre dictionnaire faisable. Ou prouver que le probl` eme na pas de solution!
probl` eme initial ou bien nous saurons que notre probl` eme na pas de solution.
33/56
34/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Initialisation : exemple
max
j =1 n
cj xj
contraintes :
j =1
aij xj bi xj 0
i = 1, 2, . . . , m j = 1, 2, . . . , n
max contraintes
x0
n
x1 2x1 2x1 x1 x1 ,
x2 x2 3x2 + x2 x2 ,
+ x3 + 2x3 + x3 2x3 x3
4 5 1 0
aij xj x0 bi xj 0
i = 1, 2, . . . , m j = 0, 1, . . . , n
35/56 36/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
x1 2x1 x1 2x1 x1 ,
+ x2 + x2 + 2x2 x2 x2
14 8 10 0
max contraintes :
x1 2x1 x1 2x1 x1 ,
+ x2 + x2 + 2x2 x2 x2
14 8 10 0
37/56
38/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Diviser la ligne pivot par le coecient pivot (pivot := 1) Annuler les autres coecients de la colonne pivot :
Li := Li ri Lpivot
i Choix de la ligne pivot : celle qui minimise s ri parmi toutes les lignes avec ri positif (ri , resp. si sont les el ements de la i ` eme ligne se trouvant sur la colonne pivot, resp. la derni` ere colonne.)
2 1 1 1 2 2 1 1 1
5 2 1 2
39/56
1 0 0 0
0 0 14 1 4 2 0 0 1 10 0 0 0
0 1 2 1 1 1
5 2
1 1 2 0 10 1 0 4 2 0 0 0 1 10 0 0 0 0 0 10
40/56
0 1 1 2
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
... et on recommence
5 2 1 2 3 2 3 2
Dualit e
Id ee de base : associer au programme lin eaire initial, appel e primal, un deuxi` eme programme lin eaire appel e le programme dual tel que :
le dual a m variables (autant que de contraintes industrielles
0 1 0 0
1 1 2 1 0 2 1 0 2 0 1 2
2 1 5 5 1 0 2 1 0 2 0 1 2
0 10 0 4 1 14 0 4 0 4 4 0 1 14 0 4 0 4 0 6 1 14 0 4 0 4 0 6 1 8 0 4 0 4 0 6 1 8 0 10
41/56
1 0 1 2 1 3 2 0 3 2 0 1 0 0 1 3 2 0 3 2 0
il a n contraintes industrielles (autant que de variables dans le le dual est un probl` eme de minimisation pour toute solution du dual et toute solution du primal,
0 0
2 5 1 5
1 5
2 5 1 2 1 2
2 1 1 0 5 5 1 2 0 1 5 5 3 1 0 0 5 5 3 0 1 2 0 2
42/56
1 0 0 0
2 0 5 1 1 5 3 0 5 3 0 5
1 5 2 5 1 5 1 5
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Primal :
n
max
j =1 n
contraintes :
j =1
xj 0 Dual :
m
cj xj
m
aij yi
min
i =1 m
(
j =1 i =1 m n
commutativit e, associativit e
n
bi y i
= j = 1, 2, . . . , n i = 1, 2, . . . , m
43/56
(
i =1 j =1 m
contraintes primal :
j =1
contraintes :
i =1
aij yi cj yi 0
= w
i =1
bi yi
44/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Dualit e et applications
Th eor` eme (Dualit e)
, . . . , x alors le dual a une Si le primal a une solution optimale x1 n , . . . , y et, pour ces solutions, lobjectif du solution optimale y1 m primal est egal ` a lobjectif du dual : n j =1
cj xj =
m i =1
simultan ement une solution optimale pour le primal et pour le dual. v erie facilement leur optimalit e. son optimalit e!
bi yi .
Certication : si lon a les solutions du primal du dual, on Si lon a une solution du primal, on v eriera assez facilement
Observation simple : le dual du dual est le primal. Donc le primal a une solution optimale si et seulement si le dual a une solution optimale. Question : que peut-il se passer si le primal (ou le dual) na pas de solution, ou si le probl` eme est non born e?
45/56
dira sil est int eressant dinvestir plus pour augmenter certaines ressources.
46/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
c j xi +
j =1 i =1
z=
j =1
cj xj
lexpression de z dans le dernier dictionnaire obtenu par le simplexe. On montre que yi := c n+i 1. est une solution admissible du dual ; 2. satisfait
n i =1
c j xj +
j =1 i =1
c n+i xn+i
bi yi = z ,
Par construction des dictionnaires, ces expr essions sont egales pour toute aectation des variables xi (m eme les aectations qui ne sont pas des solutions admissibles)
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
z= = = z z +
c j xj +
j =1 n i =1 m
(z
m i =1
bi yi ) +
(c j +
j =1 i =1
aij yi )xj =
cj xj
j =1
+
j =1 n
c j xj
i =1 m
yi xn+i yi (bi (c j +
n
xn+i = bi
j =1
aij xj
En mettant xj := 0, j = 1, . . . , n on obtient
m i =1
= z +
c j xj
j =1 m i =1
aij xj )
j =1 m
bi yi = z ,
= (z
n
i =1 n
bi yi ) +
j =1
aij yi )xj
i =1
w = z
=
j =1
cj xj
49/56
50/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
(c j +
j =1 i =1
aij yi )xj
=
j =1
Pour prouver que les yi forment une solution du dual, remarquer que les coes de z dans le dernier dico sont 0 donc yi 0 ;
Un prenant xj := 1 et xk := 0 pour tout k = j , 1 k n on a
m i =1
1. pour tout j = 1, . . . , n,
m i =1
aij yi + c j = cj
2. et pour tout i = 1, . . . , m,
n j =1
51/56 52/56
aij yi cj .
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Rappel :
n m
=
j =1 n
cj xj
m
= = w
i =1
(
j =1 i =1 m n
commutativit e, associativit e
n
(
i =1 j =1 m
contraintes primal :
j =1
(
i =1 m
aij yi = cj ) ;
bi yi
(
j =1
Application : si lon nous propose une solution du primal, pour v erier son optimalit e il sut de r esoudre le syst` eme d equations (de variables yi ) qui en d ecoule.
54/56
Introduction
M ethode graphique
Simplexe
Dualit e
Introduction
M ethode graphique
Simplexe
Dualit e
Dual
m
Th eor` eme
Pour des valeurs ti susament faibles, le programme lin eaire max contr. :
n j =1 cj xj n j =1 aij xj
max
j =1 n
cj xj aij xj bi
j =1
min
i =1 m
bi yi aij yi cj
i =1
contr :
contr :
yi 0 xj 0 pour tout i = 1, . . . , m et tout j = 1, . . . , n. z : prot (en euros). xj : quantit e du produit j . bi : quantit e de la ressource i . cj : euros/unit e du produit j . aij : unit es de ressource i / unit e de produit j . yi : euros/unit e de ressource i .
xj 0
bi + ti
i = 1, 2, . . . , m j = 1, 2, . . . , n
yi ti