Recherche Opérationnelle 1A Programmation

Recherche Op´erationnelle 1A
Programmation Lin´eaire
Dualit´e
Interpr´etation ´economique, Perturbation des donn´ees
Zolt´
an Szigeti
Ensimag
April 30, 2015
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
1 / 13
EXO 10.2.
´
Enonc´
e
1
Montrer que
est une solution optimale du programme lin´eaire suivant
1
3x1 + 1x2 ≥ 4
1x1 + 4x2 ≥ 5
x1 ,
x2 ≥ 0
1x1 + 1x2 = w (min)
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
1 / 13
EXO 10.2.
Solution
3x1 + 1x2
1x1 + 4x2
Primal
x1 ,
x2
1x1 + 1x2
≥4
≥5
≥0
= w (min)
Dual
3y1 + 1y2
1y1 + 4y2
y1 ,
y2
4y1 + 5y2
≤1
≤1
≥0
= z(max)
y1
1
sont des solutions optimales du primal et du dual ⇐⇒
et
y2
1
1
y1
1
et
sont des solutions r´ealisables du primal et du dual et
1
y2
2 les conditions des ´
ecarts compl´ementaires sont satisfaites.
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
2 / 13
EXO 10.2.
1
1
1
et
1
1
y1
y2
sont des solutions r´ealisables du primal et du dual :
est une solution r´ealisable du primal :
3·1+1·1 = 4
1 ·
1+4·1 = 5
1
≥ 0.
1
2
Les conditions des ´ecarts compl´ementaires sont satisfaites :
si y i > 0 alors ai · x = bi , on vient de v´erifier.
si x j > 0 alors y T · aj = cj ,
x 1 = 1 > 0 donc 3y 1 + 1y 2 = 1
x 2 = 1 > 0 donc 1y 1 + 4y 2 = 1.
dont la solution est
3
y1
est
y2
3
1
et 112
1
11
Z. Szigeti (Ensimag)
y1
y2
=
3 11
2
11
≥ 0, donc
une solution r´ealisable du dual.
sont des solutions optimales du primal et du dual.
RO 1A
April 30, 2015
3 / 13
Perturbation des donn´ees (EXO 7.1.)
1x1 + 1x2
x2
(P) 2x1 + 3x2
x1 ,
x2
7x1 + 9x2
≤ 8
≤ 4
≤ 19
≥0
= z(max)
1y1
+ 2y3
1y1 + 1y2 + 3y3
(D)
y1 ,
y2 ,
y3
8y1 + 4y2 + 19y3
≥7
≥9
≥0
= w (min)
Qu’est-ce qui se passe si l’on perturbe un peu le vecteur b ?
Peut-on dire quelque chose sur le changement de la fonction objectif ?
1x1 + 1x2
x2
(Pε ) 2x1 + 3x2
x1 ,
x2
7x1 + 9x2
≤ 8 + ε1
1y1
+
2y3
≤ 4 + ε2
1y1 +
1y2 +
3y3
≤ 19 + ε3 (Dε )
y1 ,
y2 ,
y3
≥0
(8 + ε1 )y1 + (4 + ε2 )y2 + (19 + ε3 )y3
= zε (max)
≥7
≥9
≥0
= wε (min)
Le poly`edre a chang´e, on ne voit pas comment calculer zε (max).
Utilisons la dualit´e ! Le poly`edre du dual n’a pas chang´e.
La solution optimale y du (D) ne change pas pour ε1 , ε2 , ε3 petits.
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
4 / 13
Perturbation des donn´ees (EXO 7.1.)
1x1 + 1x2
x2
(P ) 2x1 + 3x2
x1 ,
x2
7x1 + 9x2
≤ 8
≤ 4
≤ 19
(D )
≥0
= z(max)
1x1 + 1x2
x2
(Pε ) 2x1 + 3x2
x1 ,
x2
7x1 + 9x2
≤ 8 + ε1
1y1
+
2y3
≤ 4 + ε2
1y1 +
1y2 +
3y3
≤ 19 + ε3 (Dε )
y1 ,
y2 ,
y3
≥0
(8 + ε1 )y1 + (4 + ε2 )y2 + (19 + ε3 )y3
= zε (max)
zε (max)
Z. Szigeti (Ensimag)
1y1
1y1 +
y1 ,
8y1 +
+
1y2 +
y2 ,
4y2 +
2y3
3y3
y3
19y3
≥7
≥9
≥0
= w (min)
≥7
≥9
≥0
= wε (min)
=
wε (min)
=
(8 + ε1 )y 1 + (4 + ε2 )y 2 + (19 + ε3 )y 3
=
(8y 1 + 4y 2 + 19y 3 ) + (ε1 y 1 + ε2 y 2 + ε3 y 3 )
=
w (min) + ε1 y 1 + ε2 y 2 + ε3 y 3
=
z(max) + ε1 y 1 + ε2 y 2 + ε3 y 3 .
RO 1A
April 30, 2015
5 / 13
EXO 7.1. Continuation
´
Enonc´
e
Le vendeur constate que la solution optimale (x 1 , x 2 ) = (5, 3) pr´evoit
l’utilisation totale des appareils (et des cartes). Le probl`eme est de savoir `a
quel prix unitaire a-t-on int´erˆet `
a acheter des appareils suppl´ementaires. Il
est ´evident qu’un prix trop ´elev´e risque d’an´eantir le profit suppl´ementaire.
Solution
ε2 = ε3 = 0.
Profit suppl´ementaire = Gain suppl. - D´epense suppl.
= (zε1 (max) − z(max)) −ε1 prix = ε1 y 1 − ε1 prix = ε1 (y 1 − prix).
On a int´erˆet `a acheter des appareils suppl´ementaires si prix < y 1 = 3.
En ´economie : les variables du dual s’appellent coˆ
ut marginal.
On peut calculer une solution optimale du (D) :
(y 1 , y 2 , y 3 ) = (3, 0, 2).
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
6 / 13
EXO. 10.5.
1
2
3
4
5
Un artisan confiturier doit prendre une d´ecision importante, lui permettant
de maximiser son futur profit net dans la situation suivante: il dispose d’une
r´eserve
de 8 tonnes de sucre et
d’un capital de 40000e.
Il peut acheter des fraises,
cela lui coˆutera imm´ediatement 2e par kg de fraises trait´e et
lui rapportera plus tard 4e50 par kg de confiture vendu.
Une autre solution consiste `a acheter des roses.
Il devra alors d´ebourser 15e par kg de roses trait´e,
mais aura un revenu ult´erieur de 12e60 par kg de confiture vendu.
Ici on admet que la production
de confitures de fraises consiste `a m´elanger
50% de fruits et de 50% de sucre et
pour obtenir la confiture de roses on m´elange
40% de fruits et de 60% de sucre.
Comment doit-il faire pour maximiser son b´en´efice net?
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
7 / 13
10.5.
Solution
1
Tableau de donn´ees :
Sucre
2
3
Fruit
Conf.
D´epense
Gain
Profit
Fraise
x1
x1
2x1
2 · x1
4.5 · 2x1
9x1 − 2x1 = 7x1
Rose
x2
2
x
3 2
5
x
3 2
15 · 32 x2
12.6 · 35 x2
21x2 − 10x2 = 11x2
Dispo.
8000
(P)
1x1 + 1x2
2x1 + 10x2
x1 ,
x2
7x1 + 11x2
40000
≤ 8000
≤ 40000
≥0
= z(max)
Forme standard du primal
Z. Szigeti (Ensimag)
(D)
1y1 +
2y2
1y1 +
10y2
y1 ,
y2
8000y1 + 40000y2
1x1 + 1x2 + 1x3
2x1 + 10x2
+ 1x4
x1 ,
x2 , x3 ,
x4
7x1 + 11x2
RO 1A
7x1 + 11x2
≥ 7
≥ 11
≥0
= w (min)
= 8000
= 40000
≥0
= z(max)
April 30, 2015
8 / 13
10.5.
Solution
On trouve une solution optimale du primal avec l’algorithme du simplexe
1
2
7
1
10
11
1
0
0
0
1
0
8000
40000
0
0.8
0.2
4.8
0
1
0
1
0
0
-0.1
0.1
-1.1
4000
4000
-44000
1
0
0
0
1
0
-0.125
0.125
-0.5
5000
3000
-68000
1.25
-0.25
-6
On s’arrˆete avec c4 = −0.5 < 0, la solution optimale du primal est
(x 1 , x 2 ) = (5000, 3000).
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
9 / 13
10.5.
Solution
1
Peut-on trouver une solution optimale du dual apr`es l’ex´ecution du
simplexe sur le primal ?
2
On a vu dans la d´emonstration du th´eor`eme fort de la dualit´e que si J
est une base optimale du primal alors π T = cJT · (AJ )−1 est une
solution optimale du dual.
3
Peut-on trouver π dans le dernier tableau ?
4
On sait que cˆT = c T − π T · A, donc
cˆJT1 = cJT1 − π T · AJ1 = 0 − π T · I = −π T .
AJ 1
I
cJ 1
0
Z. Szigeti (Ensimag)
b
−π T
RO 1A
April 30, 2015
10 / 13
10.5.
Solution
Le dernier tableau ´etait :
1
0
0
0
1
0
1.25
-0.25
-6
-0.125
0.125
-0.5
5000
3000
-68000
Une solution optimale du dual est (π1 , π2 ) = (6, 0.5).
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
11 / 13
10.5.
Peut-on faire mieux ?
1. On pourrait acheter du sucre :
1x1 + 1x2
2x1 + 10x2
(Pε )
x1 ,
x2
7x1 + 11x2
≤ 8000 + ε
1y1 +
2y2
≤ 40000
1y1 +
10y2
(Dε )
≥0
y1 ,
y2
= zε (max) + εprix
(8000 + ε)y1 + 40000y2
≥ 7
≥ 11
≥0
= wε (min)
Si ε est petit tel que la solution optimale du dual ne change pas alors
Profit suppl´ementaire : zε (max) − z(max) = ε(π1 − prix) = ε(6 − prix).
Profit suppl´ementaire > 0 :
1
Si prix < 6 on ach`ete du sucre (12000 kg),
2
Si prix > 6 on vende du sucre (4000 kg).
On peut aussi calculer il faut acheter ou vendre combien de kg de sucre.
Il faut que la solution optimale du dual ne change pas :
1
1
≥ − 8000+ε
a-d. −4000 ≤ ε ≤ 12000.
− 10
40000 ≥ − 2 , c-`
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
12 / 13
10.5.
Peut-on faire mieux ?
2. On pourrait emprunter de l’argent :
1x1 + 1x2
2x1 + 10x2
(Pε′ )
x1 ,
x2
7x1 + 11x2
1y1
+
2y2
≤ 8000
1y1
+
10y2
≤ 40000 + ε′
(Dε′ )
y1 ,
y2
≥0
8000y1 + (40000 + ε′ )y2
= zε′ (max) + ε′ prix ′
≥ 7
≥ 11
≥0
= wε′ (min)
Si ε est petit tel que la solution optimale du dual ne change pas alors
Profit suppl´ementaire : zε′ (max) − z(max) = ε′ (π2 − prix ′ )
= ε′ (0.5− taux d’int´erˆet) > 0
1
Si taux d’int´erˆet < 50% on emprunte de l’argent (40000 e),
2
Si taux d’int´erˆet > 50% on prˆete de l’argent (24000 e).
On peut aussi calculer il faut emprunter ou prˆeter combien de l’argent.
Il faut que la solution optimale du dual ne change pas :
′
≥ −10, c-`
a-d. −24000 ≤ ε′ ≤ 40000.
−2 ≥ − 40000+ε
8000
Z. Szigeti (Ensimag)
RO 1A
April 30, 2015
13 / 13