Telechargé par Ser Be

Dual

publicité
La dualité en programmation linéaire
• Motivation : recherche de bornes
• Dual d’un problème canonique
• Règles de dualisation
• Théorèmes de dualité faible et forte
• Théorèmes des écarts complémentaires
• Interprétation économique des variables duales à l’optimum
• Lemme de Farkas
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
97
Rappels sur les inéquations
• Toute combinaison conique (c.-à-d. à coefficients non négatifs)
d’inéquations du même type fournit une inéquation valide.
2x1 + x2 ≤ 3
5x1 − 3x2 ≤ 5
11x1
≤ 14
× 3
× 1
• Toute combinaison linéaire d’équations fournit une équation valide.
• On peut combiner des inéquations et des équations pour obtenir une
inéquation valide.
x1
3x1
x1
−x1
J.-F. Hêche, ROSO-EPFL
+ 2x2
− x2
+ x2
+ 7x2
≤
=
≥
≤
3
5
2
3
Recherche opérationnelle SC & PH
×
4
× −1
× −2
98
Comment borner la valeur optimale d’un PL ?
Soit le PL canonique
x2
Max z =
s.c.
x1 + 4x2
x1 − x2
2x1 + x2
x2
x2
x1 ,
≤
≤
≤
≥
2
5
3
0
(x1 = 1, x2 = 3)
z = 13
x1
de solution optimale x∗1 = 1, x∗2 = 3 et z ∗ = 13.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
99
Considérons l’inéquation valide obtenue en multipliant par 4 la deuxième
contrainte.
8x1 + 4x2 ≤ 20
Pour tout couple de valeurs (x1, x2) non négatives on a
x1 + 4x2 ≤ 8x1 + 4x2
et pour toute solution admissible du PL on a donc
z = x1 + 4x2 ≤ 8x1 + 4x2 ≤ 20.
En particulier, pour la solution optimale du PL, on a
z ∗ ≤ 20.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
100
Peut-on faire mieux ?
L’inéquation valide obtenue en additionnant la première contrainte et 5 fois
la troisième est
× 1
x1 − x2 ≤ 2
x2 ≤ 3
× 5
x1 + 4x2 ≤ 17
Ainsi, pour toute solution admissible du PL, on a
z = x1 + 4x2 ≤ 17
et, en particulier,
z ∗ ≤ 17.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
101
Peut-on faire encore mieux ?
En additionnant 1/2 fois la deuxième contrainte et 7/2 fois la troisième, on
obtient
× 1/2
2x1 + x2 ≤ 5
x2 ≤ 3
× 7/2
x1 + 4x2 ≤ 13
et, pour toute solution admissible du PL, on a
z = x1 + 4x2 ≤ 13.
La solution admissible x1 = 1, x2 = 3 ayant valeur 13, l’inéquation valide
précédente fournit un certificat d’optimalité de cette solution.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
102
Généralisation
Toute combinaison conique des contraintes d’un PL canonique est valide,
c.-à-d. vérifiée par toute solution du système de contraintes :
a11x1
...
am1x1
!m
i=1(yi ai1)x1
+ ... +
...
+ ... +
+ ... +
a1nxn
...
amnxn
!m
i=1(yi ain)xn
≤
≤
≤
de plus, pour tout x1 ≥ 0, . . . , xn ≥ 0, on a
z = c1x1 + . . . + cnxn ≤
si c1 ≤
!m
i=1 yi ai1 ,
J.-F. Hêche, ROSO-EPFL
m
"
(yiai1)x1 + . . . +
i=1
. . ., cn ≤
!m
m
"
i=1
!m
b1
...
bm
× y1 ≥ 0
× ym ≥ 0
i=1 yi bi
(yiain)xn ≤
m
"
yibi
i=1
i=1 yi ain.
Recherche opérationnelle SC & PH
103
Pour trouver la meilleure borne supérieure, c.-à-d. la plus petite, il faut
donc résoudre le programme linéaire
Min w =
s.c.
m
"
yibi
i=1
m
"
yiai1
m
"
yiain
i=1
≥ c1
...
i=1
y1, . . . , ym
≥ cn
≥ 0
Ce problème est appelé programme linéaire dual du PL canonique de
départ.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
104
Programme dual d’un PL canonique
À tout PL canonique
Max z = cx
s.c.
Ax ≤ b
x ≥ 0
Problème primal (PLP)
on associe un programme dual
Min w = yb
s.c.
yA ≥ c
y ≥ 0
J.-F. Hêche, ROSO-EPFL
Problème dual (PLD)
Recherche opérationnelle SC & PH
105
Exemple
Le problème dual du programme
Max z =
s.c.
est
J.-F. Hêche, ROSO-EPFL
Min w =
s.c.
x1 + 4x2
x1 − x2
2x1 + x2
x2
x2
x1 ,
≤
≤
≤
≥
2
5
3
0
2y1 + 5y2 + 3y3
y1 + 2y2
≥ 1
−y1 + y2 + y3 ≥ 4
y2 ,
y3 ≥ 0
y1 ,
Recherche opérationnelle SC & PH
106
Théorème de dualité faible
Théorème 3. Soit x une solution admissible d’un PL canonique et y une
solution admissible de son dual, alors
cx ≤ yb.
Preuve. On a d’une part
cx ≤ (yA)x
car x ≥ 0 et c ≤ yA
y(Ax) ≤ yb
car y ≥ 0 et Ax ≤ b.
et d’autre part
Corollaire 4. Soit x une solution admissible de (PLP) de valeur z et y une
solution admissible de (PLD) de valeur w. Si z = w alors les solutions x et
y sont optimales pour leur problème respectif.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
107
Dual d’un PL général (maximisation)
Comme dans le cas canonique, on cherche une combinaison légale des
contraintes du problème afin d’obtenir une nouvelle contrainte valide
majorant terme à terme la fonction objectif du programme.
Multiplicateurs légaux :
ai1x1 + . . . + ainxn ≤ bi
ak1x1 + . . . + aknxn = bk
ar1x1 + . . . + arnxn ≥ br
× yi
× yk
× yr
(yi ≥ 0)
(yk ∈ R)
(yr ≤ 0)
Majoration terme à terme :
!m
!m
• si xj ≥ 0, cj xj ≤ ( i=1 yiaij ) xj pour i=1 yiaij ≥ cj
!m
!m
• si xj ∈ R, cj xj = ( i=1 yiaij ) xj pour i=1 yiaij = cj
!m
!m
• si xj ≤ 0, cj xj ≤ ( i=1 yiaij ) xj pour i=1 yiaij ≤ cj
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
108
Règles de dualisation
Problème de maximisation
Variable xj ≥ 0
←→
Problème de minimisation
←→
j e contrainte de type ≥
j e contrainte de type =
Variable xj ≤ 0
←→
←→
j e contrainte de type ≤
ie contrainte de type ≤
←→
Variable yi ≥ 0
←→
Variable yi ∈ R
Variable xj ∈ R
ie contrainte de type =
ie contrainte de type ≥
J.-F. Hêche, ROSO-EPFL
←→
Variable yi ≤ 0
Recherche opérationnelle SC & PH
109
Exemple
Max z =
s.c.
x1 + 3x2
x1 − x2
2x1 + x2
x2
x1
x2
Min w =
s.c.
2y1 + 5y2 + 3y3
y1 + 2y2
−y1 + y2 + y3
,
y3
y1
y2
(PLP)
(PLD)
J.-F. Hêche, ROSO-EPFL
≤ 2
= 5
≤ 3
∈ R
≥ 0
⇒
⇒
⇒
⇒
⇒
⇒
Minimisation
y1 ≥ 0
y2 ∈ R
y3 ≥ 0
1re contrainte du type =
2e contrainte du type ≥
= 1
≥ 3
≥ 0
∈ R
Recherche opérationnelle SC & PH
110
Récapitulatif
• Le sens d’optimisation est toujours inversé entre un PL et son dual.
• Si un PL a n variables et m contraintes, son dual a m variables et n
contraintes.
• Chaque variable du dual correspond à une contrainte du problème de
départ, et réciproquement, chaque contrainte du dual est associée à une
variable du problème de départ.
• La dualisation est une opération involutive (le dual du dual est le
problème de départ) (exercice).
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
111
Solutions basiques primale et duale
À toute base B de la matrice (A | I) du système de contraintes d’un PL
standard on a associé une solution particulière appelée solution basique.
Chacune de ces bases définit également, et de manière univoque, une base
du système de contraintes du problème dual (sous forme standard). De
plus, la solution basique associée à cette base duale se lit dans la dernière
ligne du tableau TB .
TB =
J.-F. Hêche, ROSO-EPFL
xD
xE
z
B −1A
B −1
0
β
−γD
yE
−γE
yD
1
ζ
Recherche opérationnelle SC & PH
112
Afin de montrer que le vecteur y = (yD | yE ) = (−γE | −γD ) est une
solution du système de contraintes du problème dual rappelons que
−γD = cB B −1A − cD
et
− γE = cB B −1.
D’autre part, les contraintes duales étant yD A ≥ cD , sous forme standard,
elles s’écrivent
−yD A + yE I = −cD .
Remplaçant yD et yE par les expressions de −γE et −γD , il vient
−yD A + yE I = γE A − γD = −cB B −1A + cB B −1A − cD = −cD
ce qui prouve que y = (yD | yE ) = (−γE | −γD ) est une solution du
problème dual standard.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
113
Il reste encore à montrer qu’il#s’agit bien
d’une solution basique. Notons
$
premièrement que la matrice −AT | I du système de contraintes du
problème dual standard est de taille n × (m + n) et de rang n. Ainsi toute
base duale possède n variables basiques et m variables hors base.
De plus, les m variables basiques primales ayant des coûts marginaux nuls,
le vecteur y a au moins m composantes nulles. Ces m composantes nulles
identifient les m variables hors base de la solution duale.
Les n variables basiques duales sont celles associées aux n variables hors
base primales et, réciproquement, les m variables hors base duales sont
celles associées aux m variables basiques primales.
Remarquons finalement que la valeur de la solution basique duale y est
w = yD b = cB B −1b = ζ, soit la même que celle de la solution primale.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
114
Théorème de dualité forte
Théorème 5. Si
un programme
linéaire standard possède une solution
#
$
∗
∗
z
=
c
x
optimale x∗ = x∗D | x∗E de valeur
D
D alors son dual possède
#
$
∗
∗
| yE
. De plus la valeur de cette
aussi une solution optimale y ∗ = yD
∗
b = z ∗.
solution est w ∗ = yD
Preuve. Considérons le tableau optimal fournit par l’algorithme du
simplexe à deux phases.
TB =
J.-F. Hêche, ROSO-EPFL
xD
xE
z
B −1A
B −1
0
β
−γD
yE
−γE
yD
1
ζ
Recherche opérationnelle SC & PH
115
Ce tableau étant optimal, on a
−γD ≥ 0
et
− γE ≥ 0
et la solution basique duale y = (yD | yE ) = (−γE | −γD ) est admissible.
Cette solution ayant même valeur que la solution basique primale, il suffit
d’invoquer le corollaire du théorème de dualité faible pour prouver son
optimalité.
!
Ainsi si un PL possède une solution optimale finie, il en est toujours de
même pour son dual.
En revanche, s’il ne possède pas d’optimum fini, son dual ne peut possèder
de solutions admissibles sans contredire le théorème de dualité faible.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
116
Relations possibles entre les solutions d’une paire de
programmes linéaires duaux
Problème dual
Problème primal
Optimum
fini
Optimum
fini
Optimum
non borné
Dualité forte
Optimum
non borné
Sans solution
admissible
J.-F. Hêche, ROSO-EPFL
Sans solution
admissible
Dualité faible
Dualité faible
Recherche opérationnelle SC & PH
Exemples
117
Théorème des écarts complémentaires
Théorème 6. Soit x = (xD | xE ) une solution admissible d’un PL standard et y = (yD | yE ) une solution admissible de son dual. Ces solutions
sont optimales pour leur problème respectif si et seulement si
yE xD = 0
et
yD xE = 0.
Preuve. Par définition, on a
xE = b − AxD
et
yE = yD A − cD .
De plus, x et y étant admissibles, on a
z = cD xD ≤ (yD A)xD = yD (AxD ) ≤ yD b = w.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
118
Si x et y sont optimales, on doit avoir z = w et les inégalités précédentes
sont toutes des égalités. En particulier
cD xD = (yD A)xD
ou encore (yD A − cD )xD = 0
et yE xD = 0. De même
yD (AxD ) = yD b
ou encore yD (AxD − b) = 0
et yD xE = 0.
Réciproquement, si les conditions d’orthogonalité yE xD = 0 et yD xE = 0
sont vérifiées, on a
yE xD = (yD A − cD )xD = 0
J.-F. Hêche, ROSO-EPFL
⇐⇒
Recherche opérationnelle SC & PH
(yD A)xD = cD xD
119
et
yD xE = yD (AxD − b) = 0
⇐⇒
yD (AxD ) = yD b.
Ainsi
z = cD xD = (yD A)xD = yD (AxD ) = yD b = w
!
et les solutions x et y sont optimales.
Remarque. Les solutions x et y étant admissibles, elles sont non négatives
et
⇐⇒
ym+j xj = 0 ∀ j = 1, . . . , n
yE xD = 0
et
yD xE = 0
J.-F. Hêche, ROSO-EPFL
⇐⇒
yixn+i = 0
Recherche opérationnelle SC & PH
∀ i = 1, . . . , m.
120
Récapitulatif
• À tout tableau est associé non seulement une base primale et sa solution
basique mais également une base duale et sa solution basique.
• Les valeurs de la solution basique duale se lisent dans la dernière ligne
du tableau. Les valeurs des variables basiques primales se lisent dans la
dernière colonne du tableau.
• La paire de solutions basiques (primale et duale) associées à un tableau
ont même valeur et vérifient les conditions d’orthogonalité des écarts
complémentaires.
• Dans l’algorithme du simplexe à deux phases, la solution basique primale
est toujours admissible. Dès qu’une solution basique duale admissible
est rencontrée, l’optimum est atteint.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
121
Interprétation des variables duales à l’optimum
Si un PL (standard) admet un optimum fini, il en est de même de son dual
et on a
n
m
"
"
cj x∗j =
yi∗bi = w∗.
z∗ =
j=1
i=1
Si la solution optimale primale est non dégénérée, l’expression de w ∗ est
unique et
∂ ∗
z = yi∗.
∂bi
La valeur optimale de la variable duale yi (associée à la variable d’écart
xn+i et à la ie contrainte) représente donc le prix marginal de la ressource i
à l’optimum. Exprimé autrement, yi∗ repésente l’augmentation potentielle
de la valeur optimale du problème si la ressource i, actuellement limitée à
bi, se voit augmentée d’une unité.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
122
Le lemme de Farkas
Lemme 3. De deux choses l’une
• soit le système Ax = b possède des solutions non négatives,
• soit ∃ y tel que yA ≤ 0 et yb > 0.
Preuve. Considérons la paire de programmes linéaires duaux
Max z = yb
(PLP) s.c.
yA ≤ 0
y ∈ Rm
Min w = 0x
(PLD) s.c
Ax = b
x ≥ 0
Le système Ax = b possède des solutions non négatives ⇐⇒ (PLD)
admet des solutions admissibles ⇐⇒ (PLD) possède un optimum de
valeur nulle ⇐⇒ (PLP) possède un optimum de valeur nulle ⇐⇒ ∗
! y t.q. yA ≤ 0 et yb > 0.
!
∗ (PLP) admet toujours des solutions admissibles, par exemple y = 0.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
123
Objectifs
• Être capable de formuler le dual de n’importe quel programme linéaire.
• Connaı̂tre les théorèmes de dualité et pouvoir les utiliser pour justifier les
relations possibles entre les solutions admissibles ou optimales d’une paire
de programmes duaux.
• Savoir lire la solution duale associée à un tableau.
• Connaı̂tre les hypothèses et les conditions du théorème des écarts
complémentaires.
• Savoir interpréter les valeurs optimales des variables duales.
• Connaı̂tre le lemme de Farkas et pouvoir l’utiliser pour justifier de la
compatibilité ou non d’un système d’équations ou d’inéquations linéaires.
J.-F. Hêche, ROSO-EPFL
Recherche opérationnelle SC & PH
124
Téléchargement