Está en la página 1de 10

OPTIMIZACIÓN

DUALIDAD

Formulación del Problema Dual:


Asociado con cada problema de programación lineal existe otro problema de programación lineal
llamado el dual. Este problema posee muchas propiedades importantes relativas al programa lineal
original, el cual llamaremos primal.
Existen dos formulaciones (definiciones) importantes de dualidad: la forma canónica de dualidad y
la forma estándar de dualidad. Ambas son completamente equivalentes.
Forma Canónica de Dualidad:
Supongamos que tenemos el siguiente programa lineal:
Min 𝒄𝑇 𝒙
(P) s.a. 𝐴𝒙 ≥ 𝒃,
𝒙≥𝟎
El programa lineal dual se define por:
Max 𝒘𝑇 𝒃
(D) s.a. 𝒘𝐴 ≤ 𝒄,
𝒘≥𝟎
Existe exactamente una variable dual para cada restricción primal y exactamente una restricción
dual para cada variable primal.
Ejemplo 1:
Hallar el dual del siguiente problema primal:
Min 6𝑥1 + 8𝑥2
s.a. 3𝑥1 + 𝑥2 ≥ 4
(P) 5𝑥1 + 2𝑥2 ≥ 7
𝑥1 ≥ 0, 𝑥2 ≥ 0
Solución:
Utilizando la forma canónica de dualidad, obtenemos:
Max 4𝑤1 + 7𝑤2
s.a. 3𝑤1 + 5𝑤2 ≤ 6
(D) 𝑤1 + 2𝑤2 ≤ 8
𝑤1 ≥ 0, 𝑤2 ≥ 0
Nota:
En la definición canónica de dualidad es importante que el problema (P) sea de minimización con
restricciones mayor o igual que y las variables no negativas. En teoría, para aplicar la definición
canónica de dualidad se debe convertir primero el programa lineal primal al formato anterior. Sin
embargo, en la práctica es posible escribir inmediatamente el dual de cualquier programa lineal.

Forma Estándar de la Dualidad:


Otra definición equivalente de la dualidad se aplica cuando las restricciones son igualdades.
Supongamos que tenemos el programa lineal primal siguiente:
Min 𝒄𝑇 𝒙
(P) s.a. 𝐴𝒙 = 𝒃,
𝒙≥𝟎
El programa lineal dual se define por:
Max 𝒘𝑇 𝒃
(D) s.a. 𝒘𝐴 ≤ 𝒄,
𝒘 no restringida
Ejemplo 2:
Hallar el dual del siguiente programa lineal:
Min 6𝑥1 + 8𝑥2
s.a. 3𝑥1 + 𝑥2 − 𝑥3 =4
(P) 5𝑥1 + 2𝑥2 − 𝑥4 = 7
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0, 𝑥4 ≥ 0
Solución:
Utilizando la forma estándar de la dualidad, tenemos:
Max 4𝑤1 + 7𝑤2
s.a. 3𝑤1 + 5𝑤2 ≤ 6
𝑤1 + 2𝑤2 ≤ 8
(D) −𝑤1 ≤0
−𝑤2 ≤ 0
𝑤1 , 𝑤2 no restringidas
Observación:
Dada una de las definiciones, canónica o estándar, es sencillo demostrar que la otra definición es
válida. Por ejemplo, supongamos que aceptamos la forma estándar como definición y deseamos
demostrar que la forma canónica es correcta. Agregando variables de exceso la forma canónica de
un programa lineal, podemos aplicar la forma estándar de la dualidad para obtener el problema dual.
Es decir, si tenemos,
Min 𝒄𝑇 𝒙
(P) s.a. 𝐴𝒙 ≥ 𝒃,
𝒙≥𝟎
Agregando variables de exceso, tenemos:
Min 𝒄𝑇 𝒙
(P) s.a. 𝐴𝒙 − 𝑰𝒙𝒔 = 𝒃,
𝒙, 𝒙𝒔 ≥ 𝟎
Entonces, usando la definición de la forma estándar de la dualidad, tenemos que el dual de este
problema es:
Max 𝒘𝑇 𝒃
(D) s.a 𝑤𝐴 ≤ 𝑐
−𝑤𝐼 ≤ 0
𝑤 no restringida

Pero como −𝑤𝐼 ≤ 0 es lo mismo que 𝑤 ≥ 0, con lo cual, obtenemos la forma canónica del
problema dual.

Dual del Dual:


Como el programa lineal dual es, en sí mismo, un programa lineal, cabe preguntar cómo será su
dual. Considere el problema dual en la forma canónica:
Max 𝒘𝑇 𝒃
s.a 𝒘𝐴 ≤ 𝒄

𝒘≥𝟎

Aplicando las técnicas de transformación, re-escribimos este problema como sigue:

Min (−𝒃𝑇 )𝒘

(D) s.a. (−𝐴)𝑇 𝒘𝑇 ≥ (−𝒄)

𝒘𝑇 ≥ 0

Aplicando la forma canónica de dualidad para este problema, tenemos:

Max 𝒙𝑇 (−𝒄)

(D)(D) s.a. 𝒙𝑇 (−𝐴)𝑇 ≤ (−𝒃)𝑇

𝒙𝑇 ≥ 0

Pero esto es lo mismo que:


Min 𝒄𝑇 𝒙

s.a 𝐴𝒙 ≥ 𝒃

𝒙≥𝟎

El cual es, precisamente, el problema primal original.

Lema 1:

El dual del dual es el primal.

Diversas Formas de Dualidad:

En la práctica muchos programas lineales contienen restricciones de tipo “<”, “>”, “≤”, “≥” o no
restringidas. En teoría, podemos aplicar algunas técnicas para convertir un problema variado a la
forma primal o dual discutidos anteriormente.

En la práctica, estas transformaciones pueden ser tediosas o complejas. Afortunadamente, no es


necesario realizar estas conversiones y es posible dar inmediatamente el dual de cualquier programa
lineal.

Consideremos el siguiente programa lineal:


Min 𝒄𝑇 𝒙
s.a. 𝐴1 𝒙 ≥ 𝒃1
𝐴2 𝒙 = 𝒃2
𝐴3 𝒙 ≤ 𝒃3
𝒙≥0

Convirtiendo este problema a la forma estándar, obtenemos:

Min 𝒄𝑇 𝒙
s.a. 𝐴1 𝒙 − 𝐼𝒙𝑠 = 𝒃1
𝐴2 𝒙 = 𝒃2
𝐴3 𝒙 + 𝐼𝒙𝑡 = 𝒃3
𝒙 ≥ 0, 𝒙𝑠 ≥ 0, 𝒙𝑡 ≥ 0
El dual de este problema es:

Max 𝒘1 𝒃1 + 𝒘2 𝒃2 + 𝒘3 𝒃3
s.a. 𝒘1 𝐴1 + 𝒘2 𝐴2 + 𝒘3 𝐴3 ≤ 𝒄
−𝒘𝟏 𝐼 ≤0
𝒘3 𝐼 ≤ 0
𝒘1 , 𝒘2 , 𝒘3 no restringidas
Podemos observar lo siguiente:
 Una desigualdad del tipo “≥” da lugar a variables mayores o igual que cero (no negativas) en el
problema de maximización.
 Una restricción del tipo “=” da lugar al surgimiento de variables no restringidas.
 Una desigualdad del tipo “≤” da lugar a variables menores o igual que cero (no positivas) en el
problema de maximización.
La siguiente tabla resume las situaciones que se presentan al momento de obtener el dual de un
programa lineal:

Problema de Problema de
Minimización Maximización

Restricciones
≥0 ≤
Variables

≤0 ≥
No restringidas =
Restricciones

≥ ≥0
≤ ≤0

Variables
= No restringidas

Ejemplo 3:
Hallar el dual del siguiente problema lineal:

Max 8𝑥1 + 3𝑥2


s.a. 𝑥1 − 6𝑥2 ≥ 2
5𝑥1 + 7𝑥2 = −4
𝑥1 ≤ 0, 𝑥2 ≥ 0.
Solución:
Usando la tabla anterior, tenemos el siguiente problema dual:

Min 2𝑤1 − 4𝑤2


s.a. 𝑤1 + 5𝑤2 ≤ 8
−6𝑤1 + 7𝑤2 ≥ 3
𝑤1 ≤ 0, 𝑤2 no restringida.

Ejercicio:
Hallar el dual del siguiente programa lineal:

Min 2𝑥1 + 3𝑥2 − 4𝑥3


s.a. 𝑥1 − 5𝑥2 + 3𝑥3 ≥ 2
3𝑥1 + 𝑥2 − 𝑥3 = 4
−𝑥1 + 4𝑥2 ≤ −1
7𝑥2 + 6𝑥3 ≤ 8
𝑥1 , 𝑥2 ≤ 0, 𝑥3 no restringida.
Relaciones Primal-Dual

Relación Entre los Valores Objetivos:


Considere la forma canónica de la dualidad y sean 𝒙0 y 𝒘0 soluciones factibles a los problemas
primal y dual, respectivamente. Entonces,

𝐴𝒙0 ≥ 𝒃, 𝒙0 ≥ 𝟎, 𝒘0 𝐴 ≤ 𝒄, 𝒘0 ≥ 𝟎

Multiplicando 𝐴𝒙0 ≥ 𝒃 por la izquierda por 𝒘0 ≥ 𝟎 y a 𝒘0 𝐴 ≤ 𝒄 por la derecha, por 𝒙0 ≥ 𝟎,


obtenemos:

𝒄𝒙0 ≥ 𝒘0 𝐴𝒙0 ≥ 𝒘0 𝒃

Lema 2:
El valor de la función objetivo para cualquier solución factible al problema de minimización es
siempre mayor o igual al valor de la función objetivo de cualquier solución factible del problema
de maximización.

En particular, el valor objetivo de cualquier solución factible al problema de minimización otorga


una cota superior al valor objetivo del problema de maximización.

De manera similar, el valor objetivo de cualquier solución factible al problema de maximización


es una cota inferior del objetivo óptimo del problema de minimización.

Como ilustración de aplicación de este Lema, supongamos que en el ejemplo 2, seleccionamos las
soluciones factibles primal y dual las siguientes:
𝑇
7
𝒙0 = ( , 0) , 𝒘0 = (2,0)
5
Entonces,
42
𝒄𝒙0 = = 8.4, 𝒘0 𝒃 = 8
5

Así, la solución óptima para alguno de estos problemas (P) y (D) toma valor objetivo entre 8 y 8.4.

Corolario 1:
Si 𝒙0 y 𝒘0 son soluciones factibles para los problemas primal y dual tales que 𝒄𝒙0 = 𝒘0 𝒃, entonces
𝒙0 y 𝒘0 son soluciones óptimas para sus respectivos problemas.

Corolario 2:
Si alguno de los problemas (P), (D) tiene un valor objetivo no acotado, entonces el otro problema
no posee solución factible.

Este corolario indica que el no acotamiento de un problema implica la no factibilidad del otro. Esta
propiedad es simétrica. ¿La no factibilidad en un problema implica no acotamiento del otro?
Rpta. No necesariamente.

Ejemplo 4:
Consideremos el siguiente problema lineal:

Min −𝑥1 − 𝑥2
(P) s.a. 𝑥1 − 𝑥2 ≥ 1
−𝑥1 + 𝑥2 ≥ 1
𝑥1 , 𝑥2 ≥ 0
El dual del problema dado es el siguiente:

Max 𝑤1 + 𝑤2
(D) s.a. 𝑤1 − 𝑤2 ≤ −1
−𝑤1 + 𝑤2 ≤ −1
𝑤1 , 𝑤2 ≥ 0
Graficando ambos problemas:
𝑥2 𝑤2

(P) −𝑥1 + 𝑥2 = 1 (D) 𝑤1 − 𝑤2 = −1


𝑥1 − 𝑥2 = 1 −𝑤1 + 𝑤2 = −1
𝑥1 𝑤1

Podemos observar que ningún problema tiene solución factible.

Dualidad y las Condiciones de Optimalidad de Kuhn-Tucker:

Recordemos lo siguiente:

“Una condición necesaria y suficiente para que 𝒙∗ sea un punto óptimo para el problema lineal

Min 𝒄𝑇 𝒙
s.a. 𝐴𝒙 ≥ 𝒃
𝒙≥𝟎
es que exista un vector 𝒘∗ tal que:

1) 𝐴𝒙∗ ≥ 𝒃, 𝒙∗ ≥ 𝟎
2) 𝒘∗ 𝐴 ≤ 𝒄, 𝒘∗ ≥ 𝟎
3) 𝒘∗ (𝐴𝒙∗ − 𝒃) = 𝟎, (𝒄𝑇 − 𝒘∗ 𝐴)𝒙∗ = 𝟎”

Estas tres condiciones indican lo siguiente:

Condición 1: 𝒙∗ es factible para el problema primal.


Condición 2: 𝒘∗ es factible para el problema dual
Condición 3: 𝒄𝑇 𝒙∗ = 𝒘∗ 𝒃

De este modo, 𝒘∗ debe ser una solución óptima para el problema dual.

Las condiciones de optimalidad de Kuhn-Tucker para el problema dual implican la existencia de


una solución primal factible cuyo objetivo es igual al del dual óptimo.

Lema 3:
Si un problema posee una solución óptima, entonces ambos problemas, primal y dual, poseen
soluciones óptimas y ambos valores objetivos son iguales.

El Teorema Fundamental de la Dualidad


Combinando los lemas, corolarios y ejemplos anteriores, tenemos el siguiente Teorema:
Teorema 1: (Teorema Fundamental de la Dualidad)
Con respecto a los problemas de programación lineal primal y dual, exactamente uno de los
siguientes resultados es verdadero.

1) Ambos poseen soluciones óptimas 𝒙∗ y 𝒘∗ , tal que 𝒄𝑇 𝒙∗ = 𝒘∗ 𝒃.


2) Si problema tiene valor objetivo no acotado, el otro problema es no factible.
3) Ambos problemas son no factibles.

A partir de este Teorema, vemos que la dualidad no es completamente simétrica. Lo mejor que
podemos decir es lo siguiente:

(P) óptimo ⇔ (D) óptimo


(P) no acotado ⇒ (D) no factible
(D) no acotado ⇒ (P) no factible
(P) no factible ⇒ (𝐷) no acotado o no factible
(D) no factible ⇒ (P) no acotado o no factible

Holgura Complementaria:
Sean 𝒙∗ y 𝒘∗ soluciones óptimas para los problemas (P) y (D) en forma canónica, respectivamente.
Entonces,
𝒄𝑇 𝒙∗ ≥ 𝒘∗ 𝐴𝒙∗ ≥ 𝒘∗ 𝒃
𝑇 ∗ ∗
Pero 𝒄 𝒙 = 𝒘 𝒃.
De este modo, tenemos:

𝒄𝑇 𝒙∗ = 𝒘∗ 𝐴𝒙∗ = 𝒘∗ 𝒃
Esto no da lo siguiente:

𝒘∗ (𝐴𝒙∗ − 𝒃) = 𝟎 y (𝒄𝑇 − 𝒘∗ 𝐴)𝒙∗ = 𝟎

Como 𝒘∗ ≥ 0 y 𝐴𝒙∗ − 𝒃 ≥ 𝟎, entonces 𝒘∗ (𝐴𝒙∗ − 𝒃) = 𝟎 implica:

𝑤𝑖∗ (𝑎𝑖 𝑥 ∗ − 𝑏𝑖 ) = 0, ∀ 𝑖 = 1, … , 𝑚

De igual manera, (𝒄𝑇 − 𝒘∗ 𝐴)𝒙∗ = 𝟎 implica

(𝑐𝑗 − 𝑤 ∗ 𝑎 𝑗 )𝑥𝑗∗ = 0, ∀ 𝑗 = 1, … , 𝑛

Luego, tenemos el siguiente Teorema:

Teorema 2: (Teorema Débil de Holgura Complementaria)


Si 𝒙∗ y 𝒘∗ soluciones óptimas para los problemas (P) y (D) en forma canónica, respectivamente,
entonces,
(𝑐𝑗 − 𝑤 ∗ 𝑎 𝑗 )𝑥𝑗∗ = 0, ∀ 𝑗 = 1, … , 𝑛
𝑤𝑖∗ (𝑎𝑖 𝑥 ∗ − 𝑏𝑖 ) = 0, ∀ 𝑖 = 1, … , 𝑚

Este Teorema nos indica que al menos uno de los dos términos en cada expresión debe ser cero. En
particular,

𝑥𝑗∗ > 0 ⇒ 𝑤 ∗ 𝑎 𝑗 = 𝑐𝑗
𝑤 ∗ 𝑎 𝑗 < 𝑐𝑗 ⇒ 𝑥𝑗∗ = 0
𝑤𝑖∗ > 0 ⇒ 𝑎𝑖 𝑥 ∗ = 𝑏𝑖
𝑎𝑖 𝑥 ∗ > 𝑏𝑖 ⇒ 𝑤𝑖∗ = 0

Supongamos que 𝑥𝑛+𝑖 = 𝑎𝑖 𝑥 − 𝑏𝑖 ≥ 0, 𝑖 = 1, … , 𝑚 son las m variables de holgura en el problema


primal y 𝑤𝑚+𝑗 = 𝑐𝑗 − 𝑤𝑎 𝑗 ≥ 0, 𝑗 = 1, … , 𝑛 son las variables de holgura en el problema dual.
Entonces reescribimos las condiciones de holgura complementaria como sigue:

𝑥𝑗∗ 𝑤𝑚+𝑗

= 0, 𝑗 = 1, … , 𝑛
∗ ∗
𝑤𝑖 𝑥𝑛+𝑖 = 0, 𝑖 = 1, … , 𝑚

Esto relaciona las variables de un problema con las variables de holgura en el otro.

Usando el Dual para Resolver el Primal:


Tenemos a disposición una herramienta poderosa, en forma de 2 teoremas para utilizar el dual en la
solución del problema primal.

Ejemplo 5:
Resolver:
Min 2𝑥1 + 3𝑥2 + 5𝑥3 + 2𝑥4 + 3𝑥5
s.a. 𝑥1 + 𝑥2 + 2𝑥3 + 𝑥4 + 3𝑥5 ≥ 4
(P) 2𝑥1 − 2𝑥2 + 3𝑥3 + 𝑥4 + 𝑥5 ≥ 3
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0
Solución:
Hallando el dual del problema primal (P)

Max 4𝑤1 + 3𝑤2


s.a. 𝑤1 + 2𝑤2 ≤ 2
𝑤1 − 2𝑤2 ≤ 3
(D) 2𝑤1 + 3𝑤2 ≤ 5
𝑤1 + 𝑤2 ≤ 2
3𝑤1 + 𝑤2 ≤ 3
𝑤1 ≥ 0, 𝑤2 ≥ 0

Como el dual sólo tiene dos variables, podemos resolverlo gráficamente como sigue:

𝑤2

óptimo
1

1 2 3 𝑤1

4 3
La solución óptima es 𝑤1∗ = , 𝑤2∗ = , con valor objetivo 5.
5 5

Por tanto también se tiene que 𝑧 ∗ = 5.


Utilizando el Teorema débil de holgura complementaria:
4 3 1
𝑤 ∗ 𝑎1 = ( , ) ( ) = 2
5 5 2
(𝑐1 − 𝑤 ∗ 𝑎1 )𝑥1∗ = 0 ⇔ (2 − 2)𝑥1∗ = 0 ⇒ 𝑥1∗ > 0
1
(𝑐2 − 𝑤 ∗ 𝑎2 )𝑥2∗ = 0 ⇔ (3 − ) 𝑥2∗ = 0 ⇒ 𝑥2 = 0
5
17 ∗
(𝑐3 − 𝑤 ∗ 𝑎∗3 )𝑥3∗ = 0 ⇔ (5 − ) 𝑥3 = 0 ⇒ 𝑥3 = 0
5
8
(𝑐4 − 𝑤 ∗ 𝑎4 )𝑥4∗ = 0 ⇔ (2 − ) 𝑥4∗ = 0 ⇒ 𝑥4 = 0
5
(𝑐5 − 𝑤 ∗ 𝑎5 )𝑥5∗ = 0 ⇔ (3 − 3)𝑥5∗ = 0 ⇒ 𝑥5 > 0

Además, 𝑤1∗ , 𝑤2∗ > 0


𝑥1∗ + 3𝑥5∗ = 4
2𝑥1∗ + 𝑥5∗ = 3
Con lo cual, tenemos que
𝑥1∗ = 1, 𝑥5∗ = 1
Así, la solución óptima primal, obtenida a partir de los Teorema de dualidad y del punto dual óptimo
es
𝒙∗ = (1,0,0,0,1)

También podría gustarte