5_dualite.pdf
-
Upload
mariawahiba -
Category
Documents
-
view
1 -
download
0
Transcript of 5_dualite.pdf
-
5.Dualiten
programmation linaire
-
Illustration de la notion
Considrons une entreprise produisant r produits finis: fk = demande du produit k =1, 2, , rutilisant s matires premires: hl = disponibilit de la matire premire
l = 1, 2, , s
Lentreprise dispose de n procds de production (activits):xj = niveau dutilisation du procd j = 1, 2, , ncj = cot unitaire dutilisation du proccd j = 1, 2, , n
Le procd jproduit ekj units de produit k =1, 2, , rutilise glj units de matire l = 1, 2, , s
pour chaque unit de son utilisation.
-
Illustration de la notion
Considrons une entreprise produisant r produits finis:
fk = demande du produit k =1, 2, , rutilisant s matires premires:
hl = disponibilit de la matire l = 1, 2, , s
Lentreprise dispose de n procds de production (activits):
xj = niveau dutilisation du procdj = 1, 2, , n
cj = cot unitaire dutilisation du procdj = 1, 2, , n
Le procd jproduit ekj units de produit k =1, 2, , rutilise glj units de matire l = 1, 2, , s
pour chaque unit de son utilisation.
Problme de lentreprise: dterminer le niveau dutilisation de chaque procd de production pour satisfaire les demandes en produits sans excder les disponibilits des matires premires tout en minimisant le cot total de production.
Modle
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
-
Illustration de la notion
Un entrepreneur propose lentreprise dacheter les quantits de ses matires premires et de lui vendre les quantits de produits pour satisfaire les demandes.
Il doit noncer (dterminer) des prix unitaires vk pour les produits k = 1, 2, , rwl pour les matires l = 1, 2, , s.
vk
wl
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
-
Illustration de la notion
Lentrepreneur doit dterminer des prix qui soient intressants pour lentreprise.
Pour vrifier lintrt de faire affaire avec lentrepreneur, lentreprise doit vrifier que pour chacun de ses procds de production j, le cot dacheter les units de produits fabriques par une unit dutilisation du procd j en tenant compte de ce quelle reoit de lentrepreneur pour les units de matires quelle vite alors dutiliser, que ce cot nexcde pas le cot unitaire dutilisation cj du procd j
js
l lljr
k kkjcwgve
premiresmatires
desventeladerevenu
1
produitsdesachatd'cot
1==
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
vk
wl
-
Illustration de la notion
Le problme de lentrepreneur est de maximiser son profit en sassurant que ses prix restent intressants pour lentreprise
1 1cot d'achat des revenu de la vente desproduits matires premires
r s
kj k lj l jk l
e v g w c= =
slwrkv
njcwgve
whvfp
l
k
js
lllj
r
kkkj
r
k
s
lllkk
,...,2,10,...,2,10
,...,2,1Sujet
max
11
1 1
==
=
=
==
= =
-
Illustration de la notion
Problme de lentreprise: multiplions les contraintes de disponibilits par -1
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
1
-
slwrkv
njcwgve
whvfp
l
k
js
lllj
r
kkkj
r
k
s
lllkk
,...,2,10,...,2,10
,...,2,1Sujet
max
11
1 1
==
=
=
==
= =
Problme de lentreprise
Problme de lentrepreneur
sj
j
rj
j
g
g
e
e
1
1
knkjkk eeee 21
1 2 lnl l ljg g g g
GE
njxslhxg
rkfxexcz
j
n
j ljlj
k
n
j jkj
n
j jj
,...,2,10)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujetmin
1
1
1
==
=
=
=
=
=
T TE G
1 1j rj j sjkj lje e e g g g
-
njx
slhxg
rkfxe
xcz
j
n
jljlj
k
n
jjkj
n
jjj
,...,2,10
)itsdisponibil(,...,2,1
)demandes(,...,2,1Sujet
min
1
1
1
=
=
=
=
=
=
=
slwrkv
njcwgve
whvfp
l
k
js
lllj
r
kkkj
r
k
s
lllkk
,...,2,10,...,2,10
,...,2,1Sujet
max
11
1 1
==
=
=
==
= =
Primal
Dual
T T
T T
max
Sujet
, 0
vp f hw
vE Gw
v w
xc
=
TminSujet
0
z c x
ExG h
x
w
f
=
Tmin
Sujet 0
c x
Ax bx
T
Tmax
Sujet 0
b yA y c
y
x
y
-
min 8 6Sujet 5 3 30
2 3 243 18
, 0
z x yx yx yx yx y
=
+ + +
1
2
3
v
v
v
x
y
5 3 302 3 241 3 18
x
y
1
2
3
5 2 1 83 3 3 6
v
v
v
TminSujet
0
c x
Ax bx
T
Tmax
Sujet 0
b yA y c
y
min 8 6Sujet 5 3 30
2 3 243 18
, 0
z x yx yx yx y
x y
=
1 2 3
1 2 3
1 2 3
1 2 3
max 30 24 18Sujet 5 2 8
3 3 3 6, , 0
v v v
v v v
v v v
v v v
-
Problme primal et problme dual
Problme de programmation linaire avec ingalits
Problme de programmation linaire sous forme standard
TminSujet
0
c x
Ax bx
TminSujet
0
c x
Ax bx
=
Problme primal Problme dual
Problme primal Problme dual
y x
y x
T
Tmax
Sujet b yA y c
T
Tmax
Sujet 0
b yA y c
y
-
min 8 6Sujet 5 3 30
2 3 243 18
, 0
z x yx yx yx yx y
=
+ + +
1 2 3
1 2 3
1 2 3
1
2
3
max 30 24 18Sujet 5 + 2 + 8
3 3 3 6000
w w w
w w w
w w w
w
w
w
+ +
+ +
min 8 6Sujet 5 3 30
2 3 243 18
, , , , 0
z x yx y ux y px y hx y u p h
=
+ + =
+ + =
+ + =
1
2
3
w
w
w
x
yu
ph
1
2
3
5 2 1 85 3 1 0 0 30 3 3 3 62 3 0 1 0 24 1 0 0 01 3 0 0 1 18 0 1 0 0
0 0 1 0
x
wyu w
p wh
=
TminSujet
0
c x
Ax bx
=
T
Tmax
Sujet b yA y c
-
min 4 6Sujet 6 3 10
2 2 206
, 0
z x yx yx yx yx y
=
+ + =
+
1
2
3
u
u
u
x
y
6 3 102 2 201 1 6
x
y
1
2
3
6 2 1 43 2 1 6
u
u
u
1 2 3
1 2 3
1 2 3
1 3
max 10 20 6Sujet 6 2 4
3 2 60, 0
u u u
u u u
u u u
u u
+
+ +
min 4 6Sujet 6 3 10
2 2 206
, 0
z x yx yx y
x yx y
=
+ + =
-
Problme primal et problme dual
Problme de programmation linaire avec ingalits
Problme de programmation linaire sous forme standard
TminSujet
0
c x
Ax bx
TminSujet
0
c x
Ax bx
=
Problme primal Problme dual
Problme primal Problme dual
y x
y x
T
Tmax
Sujet b yA y c
T
Tmax
Sujet 0
b yA y c
y
-
Tmin Sujet
0
c x
Ax bx
T Tmin 0Sujet
0, 0
c x s
Ax Is bx s
=
T
T
T
max
Sujet 0
b ycA y
I
T
Tmax
Sujet 0
b yA y c
Iy
T
Tmax
Sujet 0
b yA y cy
-
Thormes de dualit
Il est facile de dmontrer que nous pouvons passer dune paire de problmes primal-dual lautre.
Il est galement facile de dmontrer que le problme dual du problme dual est le problme primal.
Nous allons donc dmontrer les thormes de dualit en se rfrant la paire o le problme primal est sous forme standard:
TminSujet
0
c x
Ax bx
=
primal Dual
T
Tmax
Sujet b yA y c
-
Thormes de dualit
Thorme de dualit faibleSi (i.e., x est ralisable pour le problme primal) et si (i.e., y est ralisable pour le problme dual),
Preuve En effet, .
{ }0,: = xbAxxx { }T:y y A y c T Talors b y c x
T T T T Tpuisque et que 0b y x A y x c A y c x=
*
T T *
T
Si est une solution ralisable du dual et est une solution optimale du primalalors
valeur optimale du primalet ainsi,
est une borne infrieure sur
NOTE:
la
y x
b y c x
b y
=
valeur optimale du primal
-
Thormes de dualit
Corollaire Si et , et si,alors x* et y* sont des solutions optimales respectivement
pour le problme primal et pour le problme dual.
Preuve Du thorme de dualit faible, il dcoule que pour toute solution ralisable x du problme primal
Par consquent x* est solution optimale du problme primal.Une preuve similaire est utilise pour dmontrer que y* est solution optimale du problme dual.
{ }0,:* = xbAxxx { }* T:y y A y c T * T *b y c x=
T T * T * T * T T * T *et par hypothse . Donc .c x b y b y c x c x b y c x = =
-
Thormes de dualit
Thorme de dualit forte Si un des deux problmes primal ou dual possde une solution optimale avec valeur finie, alors la mme chose est vraie pour lautre problme, et les valeurs optimales des deux problmes sont gales. Si un des deux problmes nest pas born, alors le domaine ralisable de lautre problme est vide.
Preuve La seconde partie de lnonc dcoule directement du thorme de dualit faible. En effet, supposons que le problme primal nest pas borne infrieurement; ainsi cTx . Or si le problme dual tait ralisable, alors il existerait un et par le thorme de dualit faible, nous aurions que ;i.e., bTy serait une borne infrieure sur la valeur de la fonction conomique du primal cTx, une contradiction.
{ }T:y y A y c T Tb y c x
-
Thormes de dualit
Pour dmontrer la premire partie, supposons que le problme primal possde une solution de base optimale x* pour laquelle la valeur de la fonction conomique est gale z*. Soit les variables de base correspondantes. Dnotons , et le vecteur des multiplicateurs associs la base optimale. Rappelons que les cots relatifs des variables sont dfinis comme suit
o dnote la je colonne de la matrice A.Supposons que cette solution de base optimale est telle que
Par consquent
mjjj xxx ,...,, 21
T 1, 2,...,j j jc c a j npi = =ja
T 0 1, 2,...,j j jc c a j npi = =
T 1,2,...,j ja c j npi =
T1 2
[ , ,..., ]B j j jmc c c c=
-
Thormes de dualit
Supposons que cette solution de base optimale est telle que
Par consquent
ce qui scrit sous la forme matricielle.
cest--dire que est une solution ralisable pour le problme dual.
T 0 1,2,...,j j jc c a j npi = =T 1,2,...,j ja c j npi =
T1
TT2
Tn
a
a A c
a
pi pi
=
{ }T:y A y cpi
Tou 1, 2,...,j ja c j npi =
-
Thormes de dualit
valuons maintenant la valeur de la solution ralisable pour le problme dual. Rappelons dabord la dfinition de
.
Il sensuit que
.
Par consquent, il dcoule du Corollaire du thorme de dualit faible que est une solution optimale du problme dual, et que
.
T1BB cpi
=
T *b zpi =
T TT T 1 1 T * *( )B B B Bb b B c B b c x c zpi = = = =
-
Thorie des carts complmentaires
Les prochains rsultats introduisent de nouvelles conditions ncessaires et suffisantes pour que des solutions ralisables respectivement pour les problmes primal et dual soient optimales pour ceux-ci.
Considrons dabord la paire suivante de problmes primal-dual
TminSujet
0
c x
Ax bx
=
primal Dual
T
Tmax
Sujet b yA y c xy
-
Thorie des carts complmentaires
Thorme des carts complmentaires 1Soit x et y des solutions ralisables respectivement pour les problmes primal et dual prcdents. Alors x et y sont des solutions optimales pour ces problmes si et seulement si pour tout j = 1,2,,n
Preuve Dmontrons dabord que les conditions sont suffisantes. Supposons que les conditions (i) et (ii) sont satisfaites pour tout j=1,2,,n. Alors
( )( )
T
T
00
j j j
j j j
i x a y cii a y c x
> =
< =
T[ ] 0 1, 2 , . .. ,j j jx a y c j n = =
T
1
Donc 0n
j j jj
x a y c
=
=
TminSujet
0
c x
Ax bx
=
T
Tmax
Sujet b yA y c x
-
Thorie des carts complmentaires
Par consquent
et le corollaire du thorme de dualit faible implique que x et y sont des solutions optimales respectivement pour les problmes primal et dual.
T T T T T T T
1 1 1
Orn n n
j j j j j j jj j j
x a y c x a y x c x A y c x b y c x
= = =
= = =
T[ ] 0 1, 2 , . . . ,j j jx a y c j n = =
T
1
Donc 0n
j j jj
x a y c
=
=
T Tb y c x=
[ ]
T T T T1 1 2 2
1T1
T2
1 2
T
T
, , ,
n
j j n nj
n
n
T
x a y x a x a x a y
a
ax x x y
a
x A y
=
= + + +
=
=
-
Thorie des carts complmentaires
Inversement, dmontrons que les conditions sont ncessaires. Supposons que les solutions x et y sont optimales respectivement pour le primal et le dual. Par consquent, se rfrant la premire partie de la preuve
et la preuve est complte.
T
T
Puisque 0 et 1,2,..., ,il sensuit que 0 1,2,...,
j j j
j j j
x a y c j nx a y c j n
=
= =
T T T
1
0n
j j jj
x a y c b y c x
=
= =
-
Thorie des carts complmentaires
Considrons maintenant lautre paire de problmes primal-dual
Thorme des carts complmentaires 2Soit x et y des solutions ralisables respectivement pour les problmes primal et dual prcdents. Alors x et y sont des solutions optimales pour ces problmes si et seulement si pour tout j = 1,2,,n pour tout i=1,2,,m
TminSujet
0
c x
Ax bx
( )( )
T
T0
0j j j
j j j
i x a y cii a y c x
> =
< =
( )( ) iii
iii
bxayivybxaiii
=>
=>
00
Tmax
Sujet 0T
b yA y c
y
y x
-
Thorie des carts complmentaires
Preuve Ce thorme peut tre dmontr comme un corollaire du thorme des carts complmentaires 1. Transformons le problme primal sous une forme standard en introduisant des variables dcarts si , i=1,2,,m. Le problme devient alors
Le dual de ce problme scrit
TminSujet
, 0
c x
Ax Is bx s
=
T T
T Tmax max
Sujet Sujet 0 0
b y b yA y c A y c
I y I y
TminSujet
0
c x
Ax bx
-
Thorie des carts complmentaires
Appliquons le thorme prcdent pour la paire de problmes suivants
Pour j=1,2,,n
et pour i=1,2,,m
TminSujet
, 0
c x
Ax Is bx s
=
( )( )
T
T
00
j j j
j j j
i x a y cii a y c x
> =
< =
( )( ) 00
00=
ii
ii
syivysiii
T
Tmax
Sujet 0
b yA y c
I y
x
s
y
-
Thorie des carts complmentaires
Pour j=1,2,,n
et pour i=1,2,,m
et alors les conditions deviennent
( )( )
T
T
00
j j j
j j j
i x a y cii a y c x
> =
< =
( )( ) 00
00=
ii
ii
syivysiii
iii bxas = Or
( )( ) iii
iii
bxayivybxaiii
=>
=>
00
TminSujet
, 0
c x
Ax Is bx s
=
-
Algorithme dual du simplexe
Lalgorithme dual du simplexe est une mthode itrative pour rsoudre un problme de programmation linaire sous sa forme standard
njxbxaxaxa
bxaxaxabxaxaxa
Sujetxcxcxcz
j
mnmnmm
nn
nn
nn
,...,2,10...
....
....
...
...
min
2211
22222121
11212111
2211
==+++
=+++
=+++
++=
-
Algorithme dual du simplexe
chaque itration nous avons une solution de base du problme qui nest pas ralisable, sauf la dernire itration de lalgorithme, et pour laquelle les cots relatifs de toutes les variables sont non ngatifs.
Par exemple, considrons le problmemin 3/ 2 1/ 2 27
Sujet 1/ 4 1/ 4 6 / 41/ 4 3/ 4 15 / 21/12 5 /12 13/ 2
, , , , 0
z u hx u h
u p hy u h
x y u p h
= +
+ =
+ =
+ =
-
Algorithme dual du simplexe
Analysons une itration typique de lalgorithme o le tableau du simplexe associ la solution de base actuelle est le suivant:
mic
njcij
j
,...,2,10
,...,2,10
===
-
Critre de sortie
mic
njcij
j
,...,2,10
,...,2,10
===
termine.se algorithmeL'optimale.etralisableestsolutionlaalors,,...,2,10S mibi i =
-
Critre de sortie
mic
njcij
j
,...,2,10
,...,2,10
=== { }
1
1
1
Sinon soit min 0 . S 0 1, 2,..., , alors
le problme n'est pas ralisable. En effet puisque
0 et 0
il est impossible que .
r rjii m
n
rj rjjn
rj rjj
b b i a j n
a x b
a x b
=
=
= < =
-
Critre de sortie
mic
njcij
j
,...,2,10
,...,2,10
===
{ }.tableauduligneladansferasepivotLe
sortie.devariablelaest.0minsoitSinon1
r
xbbrjimi
r
-
Critre dentre
mic
njcij
j
,...,2,10
,...,2,10
===
Nous allons choisir la variable dentre xs de telle sorte quei) la valeur de la variable de sortie xr augmente lorsque
la valeur de xs augmenteii) les cots relatifs des variables demeurent non
ngatifs lorsque le pivot sur est complt pour effectuer le changement de base
rsa
< 0rsa1 1s s
r rs s
m ms s
b a x
b a x
b a x
-
Critre dentre
mic
njcij
j
,...,2,10
,...,2,10
===
0rsa
-
Parallle entrealgo. du simplexe et algo. dual du simplexe
Algo. du simplexe
Recherche dans le domaine ralisable
Choisit la variable dentre pour rduirela valeur de la fonction conomique
Choisit la variable de sortie pourprserver la ralisabilit
Stop quand une solution optimale esttrouve ou que le problme nest pasborn infrieurement
Algo. dual du simplexe
Recherche lextrieur du domaineralisableChoisit le variable de sortie pour liminerune variable de base ngative
Choisit la variable dentre pourprserver la condition doptimalit
Stop quand la solution est ralisable ou quand le problme nest pas ralisable
jc j 0