Vous êtes sur la page 1sur 7

Recherche Opérationnelle Dualité

Complément : Dualité

Correspondance Primal Dual


En analysant le problème de production et le problème de mélange, nous
pouvons très bien comprendre la dualité en programmation linéaire. Nous
pouvons conclure qu’à tout programme linéaire appelé primal (problème du
producteur ou du distillateur) lui correspond un deuxième problème appelé dual
(problème du racheteur ou du sous-traitant) qui lui est intimement lié. Lorsqu’on
cherche à maximiser en primal (problème du producteur), le dual correspondant
est une minimisation (problème du racheteur) et lorsqu’on cherche à minimiser
en primal (problème du distillateur), le dual correspondant est une maximisation
(problème du sous-traitant). Les deux problèmes primal et dual impliquent les
mêmes données et ont un lien étroit entre leurs solutions optimales.
Des fois la résolution du problème dual peut être plus simple que celle du
problème primal (par exemple on connaît une solution de base réalisable pour le
dual et on peut démarrer directement le simplexe)
Mais, à part l'intérêt mathématique ou numérique pour l'étude du problème
dual, un aspect très important est l'interprétation économique des variables
duales. Ces variables représentent des coûts marginaux et peuvent être
considérées comme l'augmentation maximale du bénéfice, par rapport à la
solution optimale, qui résulterait de l'utilisation d'une unité supplémentaire de
l'un des ressources.
Le tableau suivant résume la correspondance primal dual :

PRIMAL (dual) DUAL (primal)

Maximisation (Zmax) Minimisation (Wmin)


vecteur X Vecteur Y
n variables de décisions n contraintes
m contraintes m variables de décisions
Contraintes  Contraintes 
A AT
Coeff. fonction objectif : C Ressources : B
n

Si  aij x j  bi alors yi est libre


j 1

m
Si yi est libre alors  aij xi  c j
i1

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

Notes de cours 1 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

Y0
sujet à : sujet à :

AX  B . ATY  C

Si on multiplie les contraintes du primal par le vecteur Y T


par le vecteur X , on peut écrire :
Y T AX  Y T B et Y T AX  CT X
Ceci implique que : C T X  Y T AX  Y T B  C T X  Y T B .
À l’optimal : C T X  Y T B  Z max  W min
Ceci relève une propriété importante des couples de problèmes duals :
Si le primal ou le dual a une solution optimale finie, l’autre problème a aussi
une solution optimale finie et les valeurs optimales de leurs fonctions
économiques sont égales.

Exemple :

Programme Primal Programme Dual


𝑀𝑖𝑛 𝑍 = 2𝑥1 + 3𝑥2
2𝑥1 + 𝑥2 ≥ 3 𝑀𝑎𝑥 𝑊 = 3𝑦1 + 5𝑦2 + 4𝑦3
2𝑥 − 𝑥2 ≥ 5 2𝑦1 + 2𝑦2 + 𝑦3 ≤ 2
{ 1
𝑥1 + 4𝑥2 ≥ 4 { 𝑦1 − 𝑦2 + 4𝑦3 ≤ 3
{ 𝑥1 , 𝑥2 ≥ 0 𝑦1 , 𝑦2 , 𝑦3 ≥ 0
{

Si on les écrit sous la forme standard on obtient :

Programme Primal Programme Dual

Notes de cours 2 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

𝑀𝑖𝑛 𝑍 = 2𝑥1 + 3𝑥2


𝑀𝑎𝑥 𝑊 = 3𝑦1 + 5𝑦2 + 4𝑦3
2𝑥1 + 𝑥2 − 𝑠1 = 3
2𝑦1 + 2𝑦2 + 𝑦3 + 𝑒1 = 2
2𝑥 − 𝑥2 − 𝑠2 = 5
{ 1 { 𝑦1 − 𝑦2 + 4𝑦3 + 𝑒2 = 3
𝑥1 + 4𝑥2 − 𝑠3 = 4
𝑦1 , 𝑦2 , 𝑦3 , 𝑒1, 𝑒2 ≥ 0
{ 1 , 𝑥2 , 𝑠1, 𝑠2, 𝑠3 ≥ 0
𝑥 {

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 :

𝑀𝑎𝑥 𝑍 = 2𝑥1 + 3𝑥2


𝑥1 + 3𝑥2 ≤ 18
(𝑃𝐿) 𝑥 + 𝑥2 ≤ 8
{ 1
2𝑥1 + 4𝑥2 ≤ 14
𝑥1 , 𝑥2 ≥ 0
𝑀𝑖𝑛 𝑊 = 18𝑦1 + 8𝑦2 + 14𝑦3
𝑦1 + 𝑦2 + 2𝑦3 ≥ 2
(𝑃𝐿𝐷) {3𝑦1 + 𝑦2 + 4𝑦3 ≥ 3
𝑦1 , 𝑦2 , 𝑦3 ≥ 0

Dans la forme standard

Notes de cours 3 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

𝑀𝑎𝑥 𝑍 = 2𝑥1 + 3𝑥2 𝑀𝑖𝑛 𝑊 = 18𝑦1 + 8𝑦2 + 14𝑦3


𝑥1 + 3𝑥2 + 𝑒1 = 18 𝑦1 + 𝑦2 + 2𝑦3 − 𝑠1 = 2
𝑥1 + 𝑥2 + 𝑒2 = 8 et
3𝑦1 + 𝑦2 + 4𝑦3 − 𝑠2 = 3
2𝑥1 + 4𝑥2 + 𝑒3 = 14
{{ 𝑥1 , 𝑥2 , 𝑒1, 𝑒2, 𝑒3 ≥ 0 { 𝑦1 , 𝑦2 , 𝑦3 , 𝑠1, 𝑠2 ≥ 0

Le tableau final du primal est :


x1 x2 𝑒1 𝑒2 𝑒3 b
X2 0 1 1/2 -1/2 0 5 

x1 1 0 -1/2 3/2 0 3 
𝑒3 0 0 1/2 -5/2 1 3
Z 0 0 1/2 3/2 0 21

Le tableau final du dual est :

 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

Ces tableaux illustrent deux caractéristiques importantes :


 Si une variable est dans la base, sa variable correspondante est hors
base dans le dual, et vice versa.
 La valeur optimale des variables de base primales est égale aux coûts
réduits associé à leurs variables correspondantes dans le dual, et vice
versa.
Dans cet exemple on a les correspondances suivantes :

𝒙𝟏 ↔ 𝒔𝟏 𝒙𝟐 ↔ 𝒔𝟐
𝒚𝟏 ↔ 𝒆𝟏 𝒚𝟐 ↔ 𝒆𝟐 𝒚𝟑 ↔ 𝒆𝟑

Notes de cours 4 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

Algorithme Dual du Simplexe


Il existe des programmes linéaires sous forme canonique qui, initialement,
ont tous leurs coûts réduits non négatifs et qui ont quand même une solution de
base non réalisable parce que certains éléments du coté droit sont négatifs. Le
programme linéaire suivant fait partie de ce type de problème :

𝑀𝑖𝑛 𝑊 = 15𝑥1 + 20𝑥2 + 12𝑥3


1 1 1
𝑥1 + 𝑥2 + 𝑥3 ≥ 3
4 2 4
2 3 3
𝑥1 + 𝑥2 + 𝑥 ≥2
5 10 10 3
2 2 1
𝑥1 + 𝑥2 + 𝑥3 ≥ 2.5
5 5 5
{ { 𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Pour le résoudre par la méthode du simplexe il faut faire recours à des


variables artificielles supplémentaires.
Si on observe le programme dual on se rend compte qu’il est réalisable et
qu’il incorpore des coûts réduits négatifs. Par conséquent si on résout le
programme dual au lieu du primal, on peut obtenir une solution optimale à l’aide
de l’algorithme du simplexe sans avoir recours aux variables artificielles.
L’algorithme dual du simplexe sert à résoudre le programme dual à l’aide du
tableau primal, de sorte qu’on obtient la solution du primal directement en
résolvant le dual.
1ère étape :
Transformer toutes les contraintes de type ‘’’’ en relations de type ‘’’’ en les
multipliant par -1.

𝑀𝑖𝑛 𝑊 = 15𝑥1 + 20𝑥2 + 12𝑥3


1 1 1
− 𝑥1 − 𝑥 − 𝑥3 + 𝑠1 = −3
4 2 2 4
2 3 3
− 𝑥1 − 𝑥 − 𝑥3 + 𝑠2 = −2
5 10 2 10
2 2 1
− 𝑥1 − 𝑥 − 𝑥3 + 𝑠3 = −2.5
{{ 5 5 2 5

Notes de cours 5 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

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 - -

Notes de cours 6 Adel KHADHRAOUI


Recherche Opérationnelle Dualité

Continuons la résolution de la même façon, nous obtenons les tableaux


suivants :
x1 x2 x3 𝑠1 𝑠2 𝑠3 b
x2 -1/3 1 0 -4 10/3 0 16/3
x3 5/3 0 1 4 -20/3 0 4/3
𝑠3 -1/5 0 0 -4/5 0 1 -1/10
-Z 5/3 0 0 32 40/3 0 -122,66
Limitation 25/3 - - 40 - -

x1 x2 x3 𝑠1 𝑠2
𝑠2 𝑠3𝑠2
𝑠3 b
𝑠3𝑠2 𝑠3

x2 0 1 0 -8/3 10/3 -5/3 5,5 



x3 0 0 1 -8/3 -20/3 25/3 1/2 
 x1 1 0 0 4 0 -5 1/2


-Z 0 0 0 76/3 40/3 25/3 -123,5

Tous les bi sont non négatifs, la solution est donc optimale.

Notes de cours 7 Adel KHADHRAOUI

Vous aimerez peut-être aussi