La notion de dualité Dual d`un PL sous forme standard Un

Transcription

La notion de dualité Dual d`un PL sous forme standard Un
Outils d'aide à la décision
La notion de dualité
Dual d’un PL sous forme standard
Un programme linéaire est caractérisé par le
tableau simplexe
"
A b
c
#
.
Par définition, le problème dual est obtenu
en transposant ce tableau.
"
AT
bT
cT
#
.
Soit v ∈ <n le vecteur-colonne des variables
du problème dual ou u ∈ <n le vecteur-ligne
des variables du problème dual.
38
Master SIS 2009-2010
Outils d'aide à la décision
Le problème primal s’écrit:



Min xz = cx
(P )
sous Ax = b


et x
≥ 0
Le problème dual s’écrit:


 Max v
w = bT v
T v ≤ cT
(D)
sous
A


et v
≥ 0 ou < 0
ou encore, avec u = v T ,


 Max u w = ub
(D)


sous uA
et u
≤ c
≥ 0 ou < 0
39
Master SIS 2009-2010
Outils d'aide à la décision
Dual d’un PL sous forme générale
Primal
Minimiser cx
Second membre b
A matrice des contraintes
Contrainte j ≥
Variable xi ≥ 0
contrainte j =
Variable xi ≥ 0 ou ≤ 0
Dual
Second membre cT
Maximiser bT v
AT matrice des contraintes
Variable vj ≥ 0
Contrainte i ≤
Variable vj ≥ 0 ou ≤ 0
Contrainte i =
40
Master SIS 2009-2010
Outils d'aide à la décision
Théorèmes de la dualité
1. Le dual du dual est le primal.
En effet, la transposée d’une matrice est
la matrice elle-même.
2. Si x̄ et ū sont respectivement des solutions du primal et du dual, alors:
z̄ = cx̄ ≥ w̄ = ūb .
Démonstration :
Dans (P), multiplions les 2 termes de la contrainte Ax̄ = b à gauche par ū
ūAx̄ = ūb
Dans (D), multiplions les 2 termes de l’inégalité
ūA ≤ c à droite par x̄: (x̄ ≥ 0):
ūAx̄ ≤ cx̄. D’où ūb ≤ cx̄.
Interprétation :
Une solution primale admissible sous-optimale est
meilleure qu’optimale, mais non admissible pour
le problème dual.
Une solution duale admissible sous-optimale est
meilleure qu’optimale, mais non admissible pour
le problème primal.
41
Master SIS 2009-2010
Outils d'aide à la décision
3. Si (P) et (D) ont des solutions, alors chacun
d’entre eux a une solution optimale et:
z ∗ = min cx = w∗ = max ub
Réciproquement, si x est admissible pour (P) et
u est admissible pour (D) et que cx = ub, alors x
est optimal pour (P) et u est optimal pour (D).
Si l’un d’eux a un optimum non borné, l’autre n’a
pas de solution.
4. Complémentarité:
Une CNS pour que (x∗ , u∗ ) soit optimal est:
(u∗Aj − cj )x∗j = 0 ∀j = 1, .., n,
Aj représentant la jème colonne de A.
Eléments de démonstration :
ūAx̄ = ūb
donc
ūAx̄ − cx̄ = ūb − cx̄
L’égalité est obtenue si et seulement si (x∗ , u∗ )
est optimal.
Interprétation Les variables xj ≥ 0 sont associées aux contraintes inégalité uAj ≤ cj :
Une variable duale associée à une contrainte inégalité
non saturée (uAj < cj ) est nécessairement nulle.
Une variable duale associée à une contrainte saturée
(uAj = cj ) est nécessairement positive.
Master SIS 2009-2010
Outils d'aide à la décision
Interprétation économique de la dualité:
La variable duale associée à une contrainte
correspond au coût de cette contrainte dans
la solution courante. Si cette contrainte est
saturée, ce coût est positif. Il est nul si cette
contrainte n’est pas saturée.
Utilisation algorithmique de la dualité
Résolution du dual
La première utilisation, évidente, du problème
dual, est de le résoudre s’il est plus simple que
le problème primal. Ce sera le cas, en particulier, lorsque le problème primal n’a pas
de solution admissible évidente mais qu’il est
facile d’en construire une pour le problème
primal.
42
Master SIS 2009-2010
Outils d'aide à la décision
Propriétés du dual
On remarque que la condition d’admissibilité
d’une solution de base pour le problème dual
est c̄ ≥ 0, qui est la condition d’optimalité du
problème primal. De façon analogue (duale),
la condition d’admissibilité d’une solution de
base pour le problème primal est b̄ ≥ 0, qui
est la condition d’optimalité du problème dual.
On résoudra donc plutôt le problème dual
au lieu du problème primal s’il est plus simple ou (et) si l’on parvient plus facilement à
construire une solution avec c̄ ≥ 0 qu’avec
b̄ ≥ 0
43
Master SIS 2009-2010
Outils d'aide à la décision
Exemple


Min x1,x2 z = 4x1 + 6x2 + 18x3


 sous x + 3x
1
3 ≥ 3

sous x2 + 2x3 ≥ 5



et x1, x2, x3 ≥ 0
L’introduction de variables d’écart x4 et x5
conduit au tableau simplexe suivant:
(1)
(2)
(c)
x4
1
0
0
x5
0
1
0
x1
-1
0
4
x2
0
-1
6
x3
-3
-2
18
z
0
0
-1
-3
-5
0
La solution de base construite avec comme
variables de base les variables d’écart n’est
pas admissible car les termes de b̄ sont négatifs.
Mais on peut remarquer que tous les coûts
réduits associés aux variables d’écart sont positifs. La valeur ”de base” du critère est donc
un minorant de la valeur optimale du critère.
44
Master SIS 2009-2010
Outils d'aide à la décision
Problème dual
Cette propriété sur les coûts réduits indique
que la solution de base associée est admissible pour le problème dual.
Le problème dual s’écrit:















Max u1,u2 w
sous u1
u2
3u1 + 2u2
et u1, u2
=
≤
≤
≤
≥
3u1 + 5u2
4
6
18
0
45
Master SIS 2009-2010
Outils d'aide à la décision
Appliquons la méthode du simplexe au
problème dual.
• Etape 1:
u3
1
0
0
0
(1)
(2)
(3)
(c)
u4
0
1
0
0
u5
0
0
1
0
u1
1
0
3
3
u2
0
1
2
5
w
0
0
0
-1
4
6
18
0
• Etape 2: variable entrante u2, variable
sortante u4, puis variable entrante u1, variable sortante u5, ce qui donne
(1)
(2)
(3)
(c)
u3
1
0
0
0
La solution
36, u∗1 = 2,
u2
0
1
0
0
u1
0
0
1
0
u5
-1/3
0
1/3
-1
u4
2/3
1
-2/3
-3
w
0
0
0
-1
2
6
2
-36
duale optimale est donc: w∗ =
u∗2 = 6, u∗3 = 2, u∗4 = u∗5 = 0.
46
Master SIS 2009-2010
Outils d'aide à la décision
L’algorithme dual du simplexe
1. Base initiale en représentation primale,
non-réalisable pour le primal mais correspondant à une solution réalisable du
problème dual : B 0, k = 0.
Pour être duale-réalisable, on doit avoir,
pour une minimisation, c̄N ≥ 0, et pour
une maximisation, c̄N ≤ 0
2. Pour k, calculer b̄ = B −1b, π = cB B −1,
c̄N = cN − πN , Ā = B −1A,
3. Si b̄ ≥ 0, STOP, optimum réalisable atteint
Sinon, choisir s tel que b̄s ≤ 0. En pratique, on choisit la variable de base dont
la valeur est la plus négative. Cette variable sort de la base. Elle sera donc nulle
dans la base de l’itération k+1.
47
Master SIS 2009-2010
Outils d'aide à la décision
4. Pivot. Soit Ās la ligne s de Ā.
On fait entrer dans la base une variable
de base à coefficient négatif dans Ās. On
choisit comme variable entrante i celle
pour laquelle le rapport −c̄Āi est non-négatif
is
et minimal, de façon à faire croı̂tre le
critère le moins possible.
Construire la nouvelle base, B et aller en
2-
Master SIS 2009-2010
Outils d'aide à la décision
Exemple
(1)
(2)
(c)
x4
1
0
0
x5
0
1
0
x1
-1
0
4
x2
0
-1
6
x3
-3
-2
18
z
0
0
-1
-3
-5
0
On constate que la solution est duale-réalisable
car les coefficients c̄i sont non-négatifs.
• Etape 1
On choisit x5 comme variable de base
sortante. La variable entrante est x2, que
l’on élimine dans l’équation (c), ce qui
donne, après permutation des colonnes
de x5 et x2 :
(1)
(2)
(c)
x4
1
0
0
x2
0
1
0
x1
-1
0
4
x5
0
-1
6
x3
-3
2
6
z
0
0
-1
-3
5
-30
On constate que la solution est restée
duale-réalisable car les coefficients c̄i sont
non-négatifs.
48
Master SIS 2009-2010
Outils d'aide à la décision
• Etape 2
La nouvelle variable sortante est x4 et la
nouvelle variable entrant en base est x3,
ce qui donne:
(1)
(2)
(c)
x3
1
0
0
x2
0
1
0
x1
1/3
-2/3
2
x5
0
-1
6
x4
-1/3
2/3
2
z
0
0
-1
1
3
-36
La solution est devenue primale-réalisable
tout en restant duale-réalisable. Elle est
donc optimale. La solution primale optimale est donc : z ∗ = 36, x∗1 = 0, x∗2 = 3,
x∗3 = 1.
Master SIS 2009-2010
Outils d'aide à la décision
Utilisation de la complémentarité
La solution duale et la solution primale optimales ont été obtenues par deux techniques
différentes.
On vérifie que z ∗ = w∗ = 36, mais ce résultat
était connu théoriquement.
De même, la théorie permet directement de
trouver les valeurs optimales des variables duales.
On a donc en pratique un seul problème à
résoudre,
Théorème
La valeur optimale de la variable duale associée à une contrainte inégalité est égale
(au signe pres) au coût réduit de la variable
d’écart associée dans le tableau simplexe de
la solution primale optimale.
Exemple: Ici, à partir de la solution primale,
on déduit: u∗1 = 2, u∗2 = 6. En reportant ces
valeurs dans l’expression du dual, on obtient
les variables d’écart du dual: u∗3 = 2, u∗4 =
0 u∗5 = 0.
49
Master SIS 2009-2010
Outils d'aide à la décision
Algorithme primal-dual
Dans le cas où il est difficile de trouver une
solution primale-réalisable mais aussi une solution duale-réalisable, on peut partir d’une
initialisation quelconque des variables et procéder
alternativement par optimisation duale et primale. L’introduction de variables artificielle
est un autre moyen de résoudre le problème
de recherche d’une solution initiale admissible. Il s’agit alors de la méthode dite révisée
du simplexe.
50
Master SIS 2009-2010
Outils d'aide à la décision
Application Numérique
Voici des valeurs numériques relatives au problème
de transport:
QUANTITES DEMANDEES
QUANTITES DISPONIBLES
PARIS
1
5
MARSEILLE
550
3
6
1
400
TOULOUSE
3
2
5
300
LE HAVRE
350
2
4
BORDEAUX
3
200
Application Numérique
Minimiser
z = 5x11 + 6x12 + 3x13 + 3x21 + 5x22 + 4x23
sous les contraintes:
x11 + x12 + x13 ≤ 550
x21 + x22 + x23 ≤ 350
−x11 − x21 ≤ −400
−x12 − x22 ≤ −300
−x13 − x23 ≤ −200
xij ≥ 0 pour i = 1, 2, pour j = 1, .., 3.
51
Master SIS 2009-2010
Outils d'aide à la décision
Interprétation du problème dual
Le problème primal exprime le point de vue
du constructeur qui cherche à minimiser ses
coûts de production.
Le problème dual s’écrit ainsi :
Maximiser
z = −550u1 − 350u2 + 400v1 + 300v2 + 200v3
sous les contraintes:
v1 − u1 ≤ 5
v2 − u1 ≤ 6
v3 − u1 ≤ 3
v1 − u2 ≤ 3
v2 − u2 ≤ 5
v3 − u2 ≤ 5
ui ≥ 0 pour i = 1, 2, vj ≥ 0 pour j = 1, .., 3.
52
Master SIS 2009-2010
Outils d'aide à la décision
Interprétation du problème dual
Le problème dual exprime le point de vue du
transporteur qui veut maximiser son profit.
Ses variables sont les prix d’achat à Marseille (u1) et au Havre (u2) et ses prix de
vente à Paris (v1), Toulouse (v2) et Bordeaux
(v3). Les quantités qu’il doit acheter et vendre sont fixées. Les contraintes du problème
dual expriment que les prix sont compétitifs,
c’est à dire acceptables pour le constructeur.
53
Master SIS 2009-2010
Outils d'aide à la décision
Résolution
La valeur optimale du critère est 3700 $. Elle
correspond au graphe d’approvisionnement suivQUANTITES DEMANDEES
QUANTITES DISPONIBLES
PARIS
1
MARSEILLE
550
50
1
300
TOULOUSE
2
LE HAVRE
350
400
350
300
200
2
BORDEAUX
ant.
3
200
Solution optimale
54
Master SIS 2009-2010
Outils d'aide à la décision
Approche Lagrangienne en
Programmation Linéaire
Le lagrangien d’un problème permet de combiner la formulation duale et la formulation
primale.
Soit x le vecteur de variables de (P), appelées
variables primales.
Soit u le vecteur de variables de (D), appelées
variables duales.
Les variables duales sont associées aux contraintes Ax = b du problème primal.
Elles sont encore appelées multiplicateurs de
Lagrange, car elles sont associées multiplicativement aux contraintes à travers les relations de complémentarité à l’optimum :
u∗j (bj − Aj x∗) = 0.
55
Master SIS 2009-2010
Outils d'aide à la décision
Approche Lagrangienne en
Programmation Linéaire
Le lagrangien du problème est la fonction:
L(x, u) = cx + u(b − Ax)
Résoudre le problème (P) est équivalent à
résoudre son problème dual (D). Ces problèmes
sont équivalents au problème suivant :
Maxu Minx≥0L(x, u) = cx + u(b − Ax)
Le problème d’optimisation sous contraintes
revient à la recherche du point selle du lagrangien sans contraintes.
56
Master SIS 2009-2010
Outils d'aide à la décision
Lemme de Farkas-Minkowski
C’est un lemme tres utile dans de nombreuses
démonstration, et à la base des propriétés de
dualité.
Lemme
Un et un seul des systàmes linéaires suivants
a une solution :
(
Ax ≤ b
x ≥ 0


 uA ≥ 0
et
u

 ub
≥ 0
< 0
Il y a de nombreuses variantes de ce Lemme.
Corollaire du Lemme de Farkas
∃x ≥ 0; Ax = b si et seulement si
uA ≥ 0 =⇒ ub ≥ 0 (b, u ∈ <m).
Corollaire
∃x; Ax ≤ b si et seulement si
u ≥ 0 et uA = 0 =⇒ ub ≥ 0 (b, u ∈ <m).
Corollaire
∃x ≥ 0; Ax ≤ b si et seulement si
u ≥ 0 et uA ≥ 0 =⇒ ub ≥ 0 (b, u ∈ <m).
57
Master SIS 2009-2010