Académique Documents
Professionnel Documents
Culture Documents
Théorie de la dualité
Théorie de la dualité
Problème Primal Problème dual
avril 13 S.Hammami 3
interprétation
Supposons qu’un entrepreneur veut acheter toutes les ressources
disponibles des 3 ateliers. Il veut certainement que le prix total des
ressources soient minimal. On définit alors :
y1: prix d’une heure de l’atelier 1
y2 : prix d’une heure de l’atelier 2
y3 : prix d’une heure de l’atelier 3
L’entrepreneur doit payer W= 4y1+12y2+18y3
Mais il doit payer suffisamment pour convaincre l’entreprise de vendre ses
ressources. Par exemple, il doit payer au moins :
y1+3y3 3
2y2+2y3 5
Avec y1 0 et y2 0
avril 13 S.Hammami 4
Origine de la Dualité
• Primal : lecture horizontale, Dual : à
l’envers
• Primal :
• chaque colonne (except RHS) donne
les coeff d’une seule variable dans les
différentes contraintes et dans la fct
objectif
• Chaque ligne (sauf dernière) donne
les paramètres d’une seule contrainte
• Dual :
• chaque ligne (except RHS) donne les
coeff d’une seule var dans les
différents contraintes et dans la fct
objectif
• Chaque colonne (sauf dernière)
donne les paramètres d’une seule
contrainte
• RHS colonne = RHS Primal = objectif dual
• Dernière ligne = objectif primal = RHS
avril 13
dual
Origine de la dualité
Le dual est basé sur l’aperçu fondamental et plus particulièrement
l’équation (0) de l’aperçu fondamental (P.7)
(t*=t+y*T=[y*A-c, y*, y*b])
On adopte la même notation de l’aperçu fondamental sauf qu’on
Remplace Z par W
On omet (*) pour indiquer qu’on est dans n’importe quelle itération
l’itération i VB éq Z x1 … xn xn+1 …xn+m RHS
Z (0) 1 z1-c1 zn-cn y1 ym W
z=(z1..zn) : vecteur que la méthode simplexe a ajouté aux coefficients initiaux
(-c) des variables de décision
y=(y1…ym) : vecteur que la méthode simplexe a ajouté aux coefficients initiaux
(0) des variables d’écart
L’aperçu fondamental permet de déduire la relation entre z, y et W
W=yb
z=yA
avril 13 S.Hammami 6
Aperçu fondamental
Tableau initial
Tableau final
avril 13 S.Hammami 7
Origine de la dualité
avril 13 S.Hammami 8
Origine de la dualité
W bi yi
yi 0, i
avril 13 S.Hammami 9
Origine du dual : conséquences
1. Le problème dual est une formulation en un PL de l’objectif de la
méthode simplexe (atteindre une solution du problème primal qui
satisfait la condition d’optimalité)
2. Avant que l’objectif soit atteint (tous les coefficients de l’éq (0) 0 :
condition d’optimalité), le vecteur y de l’éq (0) (coeff des var
d’écart) du tableau courant représente une solution infaisable du
dual
3. Une fois que l’objectif soit attient, le vecteur y est optimal (y*) pour
le dual. y* représente une solution faisable qui atteint la valeur
minimal faisable de W. y* : shadowprice du primal
4. W*=Z*. Donc x solution faisable du primal , y solution faisable
du dual on a : c x yb
avril 13 S.Hammami 10
Relations entre primal et dual
Théorème de la faible dualité
Si x solution faisable du primal, y solution faisable du dual, alors cx yb
Implication :
W*Z(x), x du domaine réalisable du primal DRp
Z*W(y), y du domaine réalisable du dual DRD
Par conséquent, si on a une solution réalisable quelconque de l’un des
problèmes (Primal P ou Dual D), la faible dualité peut être utilisée pour
obtenir une borne (inf ou sup) sur la valeur de la fonction objectif de l’autre
Si yb – cx est petit : on peut choisir la solution x sans fournir un effort
supplémentaire pour la recherche de x* (x n’est pas très loin de x*)
Exemple du cours
(2,1,1) solution faisable du dual. W(y) = 38, ainsi, Z* 38
(1,6) solution faisable du primal. Z(x)= 33, ainsi W* 33
Donc la valeur de la fct obj de la solution optimale du P (ainsi que du D) est comprise entre 33
et 38
avril 13 S.Hammami 11
Relations entre primal et dual
Théorème de la forte dualité
Si x* solution optimale du primal, y* solution optimale du
dual alors cx*=y*b
Résultat important :
Si x* est optimal pour P, alors 𝑐𝐵 𝐵−1 est optimal pour D
Corollaires
P infini D non réalisable
D infini P non réalisable
P non réalisable et D réalisable D infini
D non réalisable et P réalisable P infini
avril 13 S.Hammami 12
Relation Primal-Dual
La faible dualité présente la relation entre une paire
quelconque des solutions du primal et du dual (x,y)
où les deux solutions sont faisables de leurs
problèmes correspondants (x pour le primal, y pour
le dual)
À chaque itération, la méthode simplexe donne une
paire spécifique de solutions des deux problèmes où
la solution du primal est faisable alors que la solution
du dual est non faisable (à l’exception de la dernière
itération). Les deux théorèmes suivants décrivent la
relation de cette paire spécifique.
avril 13 S.Hammami 13
Relation Primal-Dual
Th1 : solutions complémentaires
À chaque itération, la méthode simplexe identifie
simultanément un point extrême faisable PEF x du primal et
une solution complémentaire y du dual (on peut les trouver
de l’équation (0), coefficients des variables d’écart) où
cx=yb
Si x est non optimal du Primal alors y est non faisable du
dual
Exemple itération 1 de l’exemple du cous
x1=0, x2=6, y1=0, y1=5/2, y3=0 avec cx=yb =30
x est faisable du Primal (mais non optimal) alors y est non faisable du
dual (y1+3y3 3)
avril 13 S.Hammami 14
Relation Primal-Dual
Th1 : solutions optimales complémentaires
A l’itération finale, la méthode simplexe identifie
simultanément la solution optimale x* du primal et la
solution optimale complémentaire y* du dual (on peut la
déterminer à partir de l’éq (0), coefficients des var d’écart)
où cx*=y*b
yi* : shadow price du primal
avril 13 S.Hammami 15
Applications
Le dual peut être résolu avec la méthode simplexe
afin d’identifier la solution optimale du Primal
Or le nombre de contraintes fonctionnelles (m) affecte le
temps de résolution avec la méthode simplexe plus que le
nombre de variables de décisions (n)
Si m>n, donc le dual a moins de contraintes fonctionnelles
que le primal. Ainsi, en appliquant la méthode simplexe
directement au dual permet d’atteindre la solution optimale
du Primale plus rapidement
avril 13 S.Hammami 16
Relations Primal-Dual
Le dual est un PL. Il admet donc des points extrêmes
En recourant à la forme augmentée, ces points extrêmes
correspondent à des solutions basiques
Étant donné que les contraintes sont sous la forme (yA c) la
forme augmentée est obtenue en introduisant des variables
surplus (vecteur S)
yA –S = c donc S= yA-c
Or dans l’éq (0) du tableau simplexe Primal, les coefficients des
variables de décisions dans n’importe quelle itération : yA-c =z-c
Ainsi, zj-cj joue le rôle d’une variable surplus de la contrainte j
Ainsi, la solution basique de chaque point extrême du dual (y1,..,ym)
est (y1,..,ym,z1-c1, …,zn-cn )
La solution basique de dual admet (n+m) variables dont m variables
non basiques et n variables basiques
avril 13 S.Hammami 17
Relations Primal-Dual
Une relation importante entre primal et dual est la
correspondance directe de leurs solutions basiques
grâce à l’éq (0) du tableau simplexe
L’éq (0) de n’importe quelle solution basique primal peut
être obtenue
avril 13 S.Hammami 18
Relations Primal-Dual
avril 13 S.Hammami 19
Relations Primal-Dual
La solution du dual déduite de l’éq(0) du tableau
simplexe Primal est basique.
Preuve :
la solution basique de P admet m variables basiques dont les
coefficients est 0 dans l’éq (0)
Donc la solution de dual déduite de l’éq(0) a m variables non basiques
Les valeurs des n variables basiques sont déduites de la résolution du
système d’équation z-c=yA-c
avril 13 S.Hammami 20
Relations Primal-Dual
Théorème 1 : solutions basiques complémentaires
Chaque solution basique de P admet une solution basique
complémentaire en D ayant la même valeur de la fct objectif
(W=Z).
L’éq (0) du tableau simplexe du Primal permet de déduire la
solution basique complémentaire du dual (y,z-c)
Théorème 2 : complementary slackness
Les variables de la solution basique de P et la solution basique
complémentaire de D satisfont la relation de « slackness
complentary ». En prenant une paire de variables
complémentaires, si une variable admet une variable de surplus
dans la contrainte de non-négativité (variable basique >0), alors la
variable correspondante dans l’autre forme n’admet pas de variable
surplus (variable non basique =0)
avril 13 S.Hammami 21
Relations Primal-Dual
• L’exemple du cours admet 8 SB :
5 SBF et 3 SB non faisables.
• La méthode simplexe appliquée
à cet exemple propose la
séquence suivante de SBF :
SBF1, SBF5 et SBF6
• Les 3 SB complémentaires du dual
peuvent être obtenues à partir de
l’équation (0) de chaque itération
• Les 5 autres SB
complémentaires peuvent être
obtenues ainsi :
• On construit l’équation (0) de chaque
SB primale en utilisant les formules
du tableau
avril 13 S.Hammami 22
Relations Primal-Dual
Le théorème 2 Ce système d’équation est
« complementary slackness » réduit à
peut être utilisée afin d’identifier y1+0-0=3
pour chaque SB primale, les 2y2+0-0=5
variables basiques et non Donc y1=3,y2=5/2, y3=0, z1-
basiques de la SB c1=z2-c2=0
correspondante du dual D’où la SB du dual est
Exemple SB7 (4,6,0,0,-6) (3,5/2,0,0,0)
Les variables basiques sont x1,x2 et Cette SB du dual est faisable :
x5
toutes les variables 0
D’après le théorème 2 les variables
correspondantes au dual (z1-c1,z2-
c2 et y3) sont non basiques
Or, la forme augmentée des
contraintes fonctionnelles du dual
y1+3y3-(z1-c1)=3
2y2+2y3-(z2-c2)=5
avril 13 S.Hammami 23
Relation entre les SB
complémentaires
Faisabilité des SB (dual et primal)
Dans la majorité des cas (except un cas), quand une SB est
faisable, son complémentaire est non faisable (tableau p.19)
La SB6 du primal est optimale (Z=36)
Étant donné que la SB complémentaire (du dual) est optimale
(W=36), les cinq premières SB du dual sont non faisables
(W<36) (rappelons que l’objectif du dual est Min W)
Pour la même raison, les deux dernières SB du primal sont non
faisables (Z>36)
Rappelons que la forte dualité : les solutions optimales
du primal et de dual ont la même valeur de leurs fct
objectif (W*=Z*)
Constatations sur les formes
du primal et du dual
La relation de dualité est involutive puisque le dual du dual est
identique au primal
La matrice des coefficients des contraintes de D (P) est la
transposée de celle de P (D).
Les composants du second membre de D (P) sont les
coefficients de la fonction objectif de P (D).
Chaque colonne (ou variable) de P (D) résulte en une contrainte
dans D (P).
Lorsque P est un problème de maximisation avec des
contraintes de type , D est un problème de minimisation avec
des contraintes de type , et vice versa.
avril 13 S.Hammami 25
Le dual d’autres formes du
Primal
avril 13 S.Hammami 26
Exemples
max z = 2x1 + x2 min w = 2y1 + 3 y2 + y3
(P) s.c. x1 + x2 = 2 (D) s.c. y1 + 2 y2 + y 3 2
2 x1 - x2 3 y1 - y2 - y3 = 1
x1 - x2 1 y1<> 0, y2 0, y3 0
x1 0, x2 <>0
max w = -7 y1 + 14 y2 -3 y3
min z = 5x1 - 6 x2 + 7 x3 + x4 (D) s.c.
(P) s.c. y1 + 6 y2 -2 y3 5
x1 + 2 x2 - x3 - x4 = -7 2y1 - 3 y2 - 17 y3 -6
6 x1 - 3x2 + x3 + 7 x4 14 -y1 + y2 + 4 y3 = 7
-2 x1 -17 x2 + 4 x3 + 2 x4 -3 -y1 + 7y2 + 2 y3 = 1
x1 0 , x2 0; x3<>0, x4<>0 y1<> 0, y2 0, y3 0
avril 13 S.Hammami 27
Rôle de la dualité dans
l’analyse de sensibilité
Changement des coefficients d’une variable non
basique
Quel est l’effet sur la solution optimale courante x* ?
Est-elle encore faisable
Étant donné que le changement est effectué sur les paramètres (cj, aij)
d’une variable non basique (sa valeur 0), ça ne peut pas affecter la
faisabilité de la solution x*.
Est-elle encore optimale ?
Une question équivalente, la solution basique complémentaire du dual
y* est-elle encore faisable ? On peut vérifier si les contraintes du dual
sont satisfaites ?
Si y* est encore faisable, donc x* est optimale.
Sinon, x* est non optimale, on présentera après comment trouver le
nouvelle solution optimale
avril 13 S.Hammami 28
Rôle de la dualité dans
l’analyse de sensibilité
Introduction de nouvelle variable
Dans certains cas, les activités (exemple P1 et P2) sont
choisis parmi un nombre important d’activités. Les autres
activités n’ont pas été prises en compte dans le modèle en
supposant qu’elles ne sont pas si attractives.
toutefois, ces activités peuvent être intéressantes,
autrement si on introduit une des ces activités, est ce que ça
peut changer la solution optimale du problème initial ?
L’introduction d’une nouvelle activité signifie
la proposition d’une nouvelle variable et la définition des paramètres
associés dans la fonction objectif et dans les contraintes fonctionnelles.
La seule modification dans le dual est l’introduction d’une nouvelle
contrainte.
avril 13 S.Hammami 29
Introduction de nouvelle
variable
Après avoir introduit cette nouvelle variable dans le
Primal, la solution optimale du problème original
demeure t-elle optimale (en supposant que la
nouvelle variable est non basique (=0) ?
Une question équivalente, la solution basique
complémentaire (y*,z*-c) pour le problème dual est-
elle encore faisable ?
Pour répondre à cette question, on vérifie si la nouvelle
contrainte du dual est satisfaite ?
avril 13 S.Hammami 30
Dualité dans l’analyse de
sensibilité : exemple du cours
La solution optimale de ce problème sans
xnew : (2,6,2,0,0)
Est-ce que cette solution est encore
optimale avec xnew=0 ?
On doit vérifier si la solution basique
complémentaire du dual est faisable. Cette
solution est donnée par l’éq(0) du tableau
optimal de simplexe primal : (0,1.5,1,0,0).
Est-ce que cette solution basique duale
satisfait la nouvelle contrainte du dual ?
2y1+3y2+y3 4 : c’est le cas
Donc la solution basique primale est
encore optimale
avril 13 S.Hammami 31