Complément : Dualité
m
Si yi est libre alors aij xi c j
i1
Théorème de la dualité
Max Z CT X
En écritures matricielles, le primal et le dual Min W BT X X
correspondant auront les formes suivantes : 0
Y0
sujet à : sujet à :
AX B . ATY C
Exemple :
Cette propriété peut être énoncée pour n’importe quelle paire de problèmes
duals. Elle est très importante car elle permet d’obtenir la solution optimale d’un
des programmes à partir du tableau final de l’autre programme.
Une fois écrit sous forme standard cette paire de programmes duals possède
le même nombre de variables dans le primal et dans le dual. À chaque contrainte
du primal sont associées une variable d’écart primale et une variable de décision
duale. De même, à chaque contrainte du dual sont associées une variable d’écart
duale et une variable de décision primale. Il existe donc une correspondance
biunivoque entre les variables de décisions primales et les variables d’écart
duales d’une part, et entre les variables de décisions duales et les variables
d’écart primales d’autre part.
Dans cet exemple on a les correspondances suivantes :
𝒙𝟏 ↔ 𝒆𝟏 𝒙𝟐 ↔ 𝒆𝟐
𝒚𝟏 ↔ 𝒔𝟑 𝒚𝟐 ↔ 𝒔𝟐 𝒚𝟑 ↔ 𝒔𝟑
Nous avons dit que nous pouvons obtenir la solution optimale de l’un des
programmes à partir du tableau final de l’autre programme. Examinons ceci pour
la paire de programmes duals suivante :
y1 y2 y3 𝑠1 𝑠2 b
Y1 1 0 -1/2 1/2 -1/2 1/2 Solution optimale
Y2 0 1 5/2 -3/2 1/2 3/2
-W 0 0 3 3 5 -21
𝒙𝟏 ↔ 𝒔𝟏 𝒙𝟐 ↔ 𝒔𝟐
𝒚𝟏 ↔ 𝒆𝟏 𝒚𝟐 ↔ 𝒆𝟐 𝒚𝟑 ↔ 𝒆𝟑
Le premier tableau
x1 x2 x3 𝑠1 𝑠2 𝑠3 b
𝑠1 -1/4 -1/2 -1/4 1 0 0 -3
𝑠2 -2/5 -3/10 -3/10 0 1 0 -2 négatifs
𝑠3 -2/5 -2/5 -1/5 0 0 1 -2,5
-Z 15 20 12 0 0 0 0
non négatifs
Dans ce tableau les coûts réduits de départ sont non négatifs et le coté droit
est négatif, ce qui implique que la solution de base duale correspondante est
réalisable et que la solution primale n’est pas réalisable. Par conséquent il
continuer la résolution jusqu’à ce que le coté droit devient non négatif, c'est-à-dire
jusqu’à ce que la solution primale devienne réalisable, ce qui revient à résoudre le
problème dual.
2ème étape :(choix de la variable sortante)
Identifier la variable de base qui est la plus négative et la choisir comme
variable sortante de la base.
3ème étape :(recherche de limitation)
Si la ligne s est celle de la variable sortante, choisir comme nouvelle variable
de base celle qui correspond à :
𝑐𝑗
𝑥𝑟 = min( |𝑎 ) < 0
𝑎𝑠𝑗 𝑠𝑗
Si tous les asj ne sont pas négatifs, alors le programme dual est sans borne.
Dans cet exemple la variable la plus négative est 𝑠1 (variable sortante). La
variable rentrante, qui correspond à la plus petite valeur de la limitation
20
( 40 ), est x2.
(1 2)
4ème étape : (transformation du tableau)
Changer de base, résoudre pour trouver la valeur des nouvelles variables de
base en transformant le tableau comme dans la méthode primale du simplexe.
Retourner à la deuxième étape.
Ce qui donne le tableau suivant :
x1 x2 x3 𝑠1 𝑠2 𝑠3 b
x2 1/2 1 1/2 -2 0 0 6
𝑠2 -1/4 0 -3/20 -3/5 1 0 -1/5
𝑠3 -1/5 0 0 -4/5 0 1 -1/10
-Z 5 0 2 40 0 0 -120
Limitation 20 - 40/3 200/3 - -
x1 x2 x3 𝑠1 𝑠2
𝑠2 𝑠3𝑠2
𝑠3 b
𝑠3𝑠2 𝑠3