Per desiderio di OP, ecco la risposta math.SE a cui rimando nel mio commento sopra.
Forse vale la pena parlare da dove viene il doppio su un problema di esempio. Ci vorrà un po ', ma speriamo che il doppio non sembrerà così misterioso quando avremo finito.
Supponiamo che abbia un problema primario come segue.
Pr i m a l = ⎧⎩⎨⎪⎪⎪⎪⎪⎪max 5 x 1- 6 x2 s . t . 2 x 1- x2= 1 X1+ 3 x2≤ 9 X1≥ 0⎫⎭⎬⎪⎪⎪⎪⎪⎪
Supponiamo ora di voler usare i vincoli del primitivo come un modo per trovare un limite superiore sul valore ottimale del primale. Se moltiplichiamo il primo vincolo per , il secondo vincolo per e li sommiamo, otteniamo per il lato sinistro e per il lato destro. Poiché il primo vincolo è un'uguaglianza e il secondo è una disuguaglianza, ciò implica
Ma dal , è anche vero che , e quindi
Pertanto, è un limite superiore sul valore ottimale del problema primario.
919 ( 2 x1- x2) + 1 ( x1+ 3 x2)9 ( 1 ) + 1 ( 9 )19 x1- 6 x2≤ 18.
X1≥ 05 x1≤ 19 x15 x1- 6 x2≤ 19 x1- 6 x2≤ 18.
18
Sicuramente possiamo fare di meglio, però. Invece di indovinare solo e come moltiplicatori, facciamo in modo che siano variabili. Quindi stiamo cercando moltiplicatori e per forzare91y1y2
5 x1- 6 x2≤ y1( 2 x1- x2) + y2( x1+3 x2) ≤ y1( 1 ) + y2( 9 ) .
Ora, affinché questa coppia di disuguaglianze sia valida, cosa deve essere vero su e ? Prendiamo le due disuguaglianze una alla volta.y1y2
La prima disuguaglianza :5x1- 6x2≤y1( 2x1-x2) +y2(x1+ 3x2)
Dobbiamo tenere traccia dei coefficienti delle variabili e separatamente. Innanzitutto, è necessario che il coefficiente totale sul lato destro sia almeno . Ottenere esattamente sarebbe fantastico, ma dato che , qualsiasi cosa più grande di soddisferebbe anche la disuguaglianza per . In termini matematici, ciò significa che abbiamo bisogno di .X1X2X155X1≥ 05X12 anni1+ y2≥ 5
D'altra parte, per garantire la disuguaglianza per la variabile abbiamo bisogno che il coefficiente totale sul lato destro sia esattamente . Poiché potrebbe essere positivo, non possiamo andare al di sotto di e poiché potrebbe essere negativo, non possiamo andare al di sopra di (poiché il valore negativo per capovolgerebbe la direzione della disuguaglianza). Quindi, affinché la prima disuguaglianza funzioni per la variabile , dobbiamo avere .X2X2−6x2−6x2−6x2x2−y1+3y2=−6
La seconda disuguaglianza :
y1(2x1−x2)+y2(x1+3x2)≤y1(1)+y2(9)
Qui dobbiamo tenere traccia delle variabili e separatamente. Le variabili provengono dal primo vincolo, che è un vincolo di uguaglianza. Non importa se è positivo o negativo, il vincolo di uguaglianza rimane valido. Pertanto non ha restrizioni nel segno. Tuttavia, la variabile deriva dal secondo vincolo, che è un vincolo minore o uguale a. Se dovessimo moltiplicare il secondo vincolo per un numero negativo che cambierebbe la sua direzione e lo cambierebbe in un vincolo maggiore o uguale. Per mantenere il nostro obiettivo di limitare l'obiettivo primario, non possiamo permettere che ciò accada. Quindiy1y2y1y1y1y2y2la variabile non può essere negativa. Quindi dobbiamo avere .y2≥0
Infine, vogliamo rendere il lato destro della seconda disuguaglianza il più piccolo possibile, poiché vogliamo il limite superiore più stretto possibile sull'obiettivo primario. Quindi vogliamo ridurre al minimo .y1+9y2
Mettendo insieme tutte queste restrizioni su e troviamo che il problema di usare i vincoli del primal per trovare il miglior limite superiore sull'obiettivo primario ottimale comporta la risoluzione del seguente programma lineare:y1y2
Minimize y1+9y2subject to 2y1+y2−y1+3y2y2≥5=−6≥0.
E questo è il doppio.
Vale probabilmente la pena di riassumere le implicazioni di questo argomento per tutte le possibili forme del primordiale e del doppio. La seguente tabella è tratta da p. 214 di
Introduzione alla ricerca operativa , ottava edizione, di Hillier e Lieberman. Si riferiscono a questo come al metodo SOB, dove SOB sta per Sensible, Odd o Bizarre, a seconda della probabilità che si possa trovare quel particolare vincolo o restrizione variabile in un problema di massimizzazione o minimizzazione.
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