Selon le souhait de l'OP, voici la réponse math.SE à laquelle je renvoie dans mon commentaire ci-dessus.
Peut-être que cela vaut la peine de parler d'où vient le dual sur un exemple de problème. Cela prendra un certain temps, mais j'espère que le double ne semblera pas si mystérieux lorsque nous aurons terminé.
Supposons que vous ayez un problème primaire comme suit.
Primal=⎧⎩⎨⎪⎪⎪⎪⎪⎪max 5x1−6x2 s.t. 2x1−x2=1 x1+3x2≤9 x1≥0⎫⎭⎬⎪⎪⎪⎪⎪⎪
Supposons maintenant que nous voulions utiliser les contraintes du primal comme moyen de trouver une limite supérieure sur la valeur optimale du primal. Si nous multiplions la première contrainte par
, la deuxième contrainte par
1 et les additionnons ensemble, nous obtenons
9 ( 2 x 1 - x 2 ) + 1 ( x 1 + 3 x 2 ) pour le côté gauche et
9 ( 1 ) + 1 ( 9 ) pour le côté droit. Comme la première contrainte est une égalité et la seconde une inégalité, cela implique
919(2x1−x2)+1(x1+3x2)9(1)+1(9)
Mais puisque
x 1 ≥ 0 , il est également vrai que
5 x 1 ≤ 19 x 1 , et donc
5 x 1 - 6 x 2 ≤ 19 x 1 - 6 x 2 ≤ 18.
Par conséquent, ,
18 est une limite supérieure de la valeur optimale du problème primal.
19x1−6x2≤18.
x1≥05x1≤19x15x1−6x2≤19x1−6x2≤18.
18
91y1y2
5x1−6x2≤y1(2x1−x2)+y2(x1+3x2)≤y1(1)+y2(9).
y1y2
5x1−6x2≤y1(2x1−x2)+y2(x1+3x2)
x1x2x155x1≥05x12y1+y2≥5
x2x2−6x2−6x2−6x2x2 .−y1+3y2=−6
La seconde inégalité :
y1(2x1−x2)+y2(x1+3x2)≤y1(1)+y2(9)
y1y2y1y1y1y2y2y2≥0
y1+9y2
y1y2
Minimize y1+9y2subject to 2y1+y2−y1+3y2y2≥5=−6≥0.
Et c'est le double.
Il vaut probablement la peine de résumer les implications de cet argument pour toutes les formes possibles du primal et du dual. Le tableau suivant est extrait de p. 214 de
Introduction à la recherche opérationnelle , 8e édition, par Hillier et Lieberman. Ils appellent cela la méthode SOB, où SOB signifie Sensible, Odd ou Bizarre, selon la probabilité que l'on trouve cette contrainte particulière ou restriction variable dans un problème de maximisation ou de minimisation.
Primal Problem Dual Problem
(or Dual Problem) (or Primal Problem)
Maximization Minimization
Sensible <= constraint paired with nonnegative variable
Odd = constraint paired with unconstrained variable
Bizarre >= constraint paired with nonpositive variable
Sensible nonnegative variable paired with >= constraint
Odd unconstrained variable paired with = constraint
Bizarre nonpositive variable paired with <= constraint