Técnicas de Optimización Dpto.
Estadística e Investigación Operativa
Universidad Pública de Navarra
DUALIDAD
INTRODUCCIÓN
9 Asociado a todo problema de programación lineal existe otro problema
también de programación lineal llamado problema dual.
9 Los coeficientes asociados a ambos problemas son los mismos aunque
representan distintas cosas y están colocados en lugares distintos.
Doble interés:
1. Por la interpretación económica de las variables duales.
2. Porque proporciona métodos alternativos de resolución.
Ejemplo.- Considere que cierta empresa, dedicada a la fabricación de dos
productos distintos P1 y P2, dispone para su procesamiento de dos
máquinas distintas M1 y M2, con los siguientes requerimientos y
disponibilidades (diarias):
P1 P2 Disponibilidad
Horas de M1 2 1.5 1200
Horas de M2 1 0.25 375
Beneficio unitario 600 300
¿Cuántas unidades de producto P1 y P2 deben fabricarse para
maximizar la ganancia?
[P] maximizar 600 X 1 + 300 X 2
⎧2 X 1 + 1.5 X 2 ≤ 1200
⎪
s. a. ⎨ X 1 + 0.25 X 2 ≤ 375
⎪ X1, X 2 ≥ 0
⎩
1
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Supongamos ahora que la empresa recibe una oferta por los tiempos
de ocupación de las máquinas: es decir, la empresa deja de fabricar P1 y P2
y alquila las máquinas M1 y M2, siempre y cuando le sea rentable. Desde el
punto de vista del que desea alquilar las máquinas, ¿cuánto deberá ofrecer
(diariamente) por cada hora de máquina para minimizar su costo a la vez
que la empresa acepte su oferta porque le es rentable?
Nuevas variables de decisión:
λi = unidades monetarias que se ofrecen a la empresa
por cada hora de trabajo de la máquina M i
El objetivo de quien alquila es:
Minimizar 1200λ1 + 375λ 2
Los precios pagados deben cumplir la restricción de que la empresa no
pierda con respecto a lo que obtendría si dedicase sus máquinas a la
producción de P1 y P2.
⎧ 2λ1 + λ 2 ≥ 600
⎪
⎨1.5λ1 + 0.25λ 2 ≥ 300
⎪ λ1 , λ 2 ≥ 0
⎩
Es decir,
[D] Minimizar 1200λ1 + 375λ 2
⎧ 2λ1 + λ 2 ≥ 600
⎪
s. a ⎨1.5λ1 + 0.25λ 2 ≥ 300
⎪ λ1 , λ 2 ≥ 0
⎩
[P] maximizar 600 X 1 + 300 X 2
⎧2 X 1 + 1.5 X 2 ≤ 1200
El primal era ⎪
s. a. ⎨ X 1 + 0.25 X 2 ≤ 375
⎪ X1, X 2 ≥ 0
⎩
2
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Definición del problema dual
Supongamos que tenemos expresado un problema de P.L. como:
n
Maximizar f ( X) = c X t
Maximizar f ( X) = ∑c j X j
j =1
[P ] ⎧ n
⎧AX ≤ b
s. a ⎨ ⇔
∑
⎪⎪ aij X j ≤ bi i = 1, L , m
s. a ⎨ j =1
⎩X ≥ 0 ⎪
⎪⎩ X j ≥ 0 j = 1,L , n
Se define su problema dual como:
m
Minimizar g (λ ) = b t λ Minimizar g (λ ) = ∑ bi λi
i =1
[D ] ⎧m
⎧⎪A λ ≥ c
s. a ⎨
t
⇔ ∑
⎪⎪ a ji λi ≥ c j j = 1, L , n
s. a ⎨
⎪⎩λ ≥ 0 i =1
⎪
⎩⎪λi ≥ 0 i = 1, L, m
3
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Problema Primal [P] Problema Dual [D]
Función Objetivo: Maximizar Función Objetivo: Minimizar
Vector de costos c Vector de recursos
Vector de recursos b Vector de costos
Matriz coef. Tecnológ. A Matriz de coef. Tecnológ. traspuesta
⎧≤ ⎧≥ 0
⎪ ⎪
restricción ⎨= var iable ⎨ ≤≥ 0
⎪≥ ⎪≤ 0
⎩ ⎩
⎧≥ 0 ⎧≥
⎪ ⎪
var iable ⎨ ≤≥ 0 restricción ⎨=
⎪≤ 0 ⎪≤
⎩ ⎩
Problema Primal [P] Problema Dual [D]
Función Objetivo: Minimizar Función Objetivo: Maximizar
c, b, A b, c, A t
⎧≤ ⎧≤ 0
⎪ ⎪
restricción ⎨= var iable ⎨ ≤≥ 0
⎪≥ ⎪≥ 0
⎩ ⎩
⎧≥ 0 ⎧≤
⎪ ⎪
var iable ⎨ ≤≥ 0 restricción ⎨=
⎪≤ 0 ⎪≥
⎩ ⎩
4
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Resultados fundamentales de dualidad
9 El problema dual del dual coincide con el problema primal
9 El problema dual es único
Vamos a suponer el problema primal expresado en su forma estándar:
max c t X
s. a AX ≤ b
X≥0
min λt b
y su dual correspondiente: s. a λt A ≥ c t
λ≥0
Lema.- Si x y λ son factibles para los problemas primal y dual,
respectivamente, entonces c t x ≤ λt b .
Demostración. λt b = λt Ax ≥ c t x
Función
Valores primales Valores duales Objetivo
Corolario.- Si x y λ son factibles para los problemas primal y dual,
respectivamente, y si c t x = λt b , entonces x y λ son soluciones óptimas para
sus respectivos problemas.
Teorema fundamental de la dualidad.- Si uno de los problemas, el primal
o el dual, tiene una solución óptima finita, también la tiene el otro, y los
valores correspondientes de las funciones objetivo son iguales. Si un
problema tiene un objetivo no acotado, el otro no tiene una solución
factible (o sea, es inconsistente).
5
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Cálculo de la solución del problema dual
Consideramos el problema primal en su forma estándar con solución
factible básica óptima correspondiente a la base B. Entonces el vector λ
que satisfaga λt = c tB B −1 es una solución óptima para el problema dual. Los
valores de las funciones objetivo en el óptimo son iguales.
Lectura de la solución dual en la tabla óptima primal
Recuérdese que la matriz B −1 aparece en la tabla final en donde estaba la
submatriz identidad en la primera tabla. Además los costos reducidos en la
tabla final, asociados a las variables que proporcionaban la matriz
identidad en la original, verifican c tI − c tB B −1 , donde c I es el vector de
costos de las variables asociadas a la matriz identidad original. Por tanto
los valores de las variables duales se obtienen restando a estos costos sus
costos reducidos asociados.
Ejemplo.-
minimizar − X 1 − 4 X 2 − 3 X 3
⎧2 X 1 + 2 X 2 + X 3 ≤ 4
⎪
s. a ⎨ X 1 + 2 X 2 + 2 X 3 ≤ 6
⎪ X ,X ,X ≥0
⎩ 1 2 3
Resolver el problema
Escribir el problema dual
6
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Teorema de la holgura complementaria
Consideremos x y λ soluciones factibles para los problemas primal,
en su forma estándar, y dual, respectivamente. Entonces una condición
necesaria y suficiente para que las dos sean soluciones óptimas de sus
respectivos problemas es que se cumpla:
1. − xi > 0 ⇒ λt ai = ci ⎫⎪
⎬ ∀ i = 1, K, n
2. − xi = 0 ⇐ λt ai < ci ⎪⎭
Es decir,
x y λ son soluciones óptimas
c
λ (b − Ax ) = 0 y (A λ − c)x = 0
t
Ejercicio.- Considerar el problema
[P] minimizar 2 X1 + 3X 2 + 5 X 3 + 2 X 4 + 3X 5
⎧ X1 + X 2 + 2 X 3 + X 4 + 3X 5 ≥ 4
⎪
s. a ⎨2 X 1 − 2 X 2 + 3 X 3 + X 4 + X 5 ≥ 3
⎪ X1, X 2 , X 3 , X 4 , X 5 ≥ 0
⎩
Escribir su dual.
Resolver ambos problemas.
Comprobar las condiciones del teorema de la holgura complementaria.
7
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Interpretación económica de las variables duales
Recordemos que si el problema primal tiene una solución factible básica
óptima asociada a la base B, entonces la solución del problema dual
correspondiente es λt = c tB B −1 .
Si consideramos el valor de la función objetivo de ambos problemas para la
solución óptima sabemos que coinciden, por tanto
z ∗ = c t x = λt b = λ1b1 + K + λi bi + K + λ m bm
Supongamos ahora que la cantidad de recurso i, bi , disponible se puede
modificar y deseamos calcular en cómo afectaría dicha modificación al
valor óptimo de la función objetivo. Para ello, se debe calcular la derivada
parcial de la función z respecto a la variable bi , es decir,
∂z*
= λi
∂ bi
Por tanto, la variable óptima dual asociada a la restricción i-ésima
del problema primal representa en qué medida se modifica el valor de la
función objetivo del problema primal en el óptimo por cada unidad
adicional de recurso bi que se disponga.
Ejercicio.- Interpretar las variables duales del ejemplo anterior, que eran
igual a λ1 = −1 y λ 2 = −1
8
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Interpretación económica del problema dual
Cualquier iteración o tabla del simplex no sólo proporciona una solución
factible básica primal, sino también la solución correspondiente del
problema dual λ1 ,K, λ j ,K, λm que, salvo en la tabla óptima, es no factible.
Además, puesto que
z ∗ = ct x = bt λ = b1λ1 + K + b j λ j + K + bmλm
es el valor de la función objetivo primal para la solución actual, cada
sumando
bj λ j
puede interpretarse como la contribución al beneficio actual (valor de la
función objetivo para la solución actual), cuando se disponen de bj
unidades del recurso j en el problema primal. En consecuencia, el valor
λj
puede interpretarse como la contribución al beneficio por unidad de recurso
j disponible (j=1,...,m) para la solución primal actual.
Esta interpretación de las variables duales permite una interpretación del
problema dual global: puesto que cada unidad producida de actividad i
(xi) en el problema primal, consume aji unidades de recurso j, el producto
a ji λ j
representa la contribución al beneficio actual por las aji unidades de recurso
j que se emplearían por cada unidad de actividad i; por tanto,
a1i λ1 + K + a ji λ j + K + a mi λ m
puede interpretarse como la contribución al beneficio actual de la mezcla
de recursos que se emplearían para producir una unidad de actividad i.
En consecuencia, puesto que ci representa el beneficio neto unitario de la
actividad i, cada restricción en el problema dual.
a1i λ1 + K + a ji λ j + K + a mi λ m ≥ ci
9
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
significa que la contribución al beneficio actual de la mezcla anterior de
recursos debe ser al menos tanta como si se produjera una unidad de la
actividad i; en otro caso, no se estaría haciendo el mejor uso posible de
estos recursos.
Análogamente, la interpretación de las restricciones de no negatividad es la
siguiente:
λj ≥ 0
significa que la contribución al beneficio por unidad de recurso j debe ser
no negativa; de lo contrario, convendría no utilizar dicho recurso.
Por último, el objetivo del problema
Minimizar g(λ)= b t λ = b1λ1 + K + b j λ j + K + bm λm
puede interpretarse como minimizar el valor o cantidad implícita total de
los recursos utilizados en la producción de las actividades.
10
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
RESUMEN DUALIDAD
9 Definición del problema dual.
[P] Max cTx [D] Min bTλ
s.a. Ax ≤ b s.a. ATλ ≥ c
x ≥0 λ ≥0
con x n-vector; c n-vector, A matriz mxn, b m-vector; λ m-vector
9 Correspondencia entre problema primal y dual:
Problema a maximizar Problema a minimizar
Restricción Variable
≤ ≥ 0
≥ ≤ 0
= libre
Variable Restricción
≥ 0 ≥
≤ 0 ≤
libre =
9 Propiedades:
→ El dual del problema dual es el primal.
→ El problema dual es único.
→ El valor de la función objetivo para cualquier solución factible del
problema de minimización es siempre mayor o igual que el valor de la
función objetivo para cualquier solución factible del problema de
maximización: cTx ≤ bTλ.
→ Si x* y λ* son soluciones factibles de [P] y [D] respectivamente, tales
que cTx* = bTλ*, entonces x* y λ* son soluciones óptimas de [P] y
[D].
11
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
→ Teorema fundamental de la Dualidad: dado un PL y su dual,
se verifica uno de los tres casos siguientes:
i. Ambos problemas tienen soluciones óptimas x* y λ*,
verificándose cTx* = bTλ*.
ii. Uno de los problemas tiene solución óptima no acotada,
entonces el otro es infactible.
iii. Ambos problemas son infactibles.
→ Teorema de la holgura complementaria: sean x y λ dos
soluciones factibles de [P] y [D], respectivamente:
x y λ son soluciones óptimas si y sólo si: λT [b−Ax] = 0
x T [ATλ−c] = 0
Interpretación:
m
λT u = 0 ⇒ ∑ λ j u j = 0
j =1 λ j u j = 0 ∀j = 1,..., m
entonces
n
xi vi = 0 ∀i = 1,..., n
x T v = 0 ⇒ ∑ xi v i = 0
j =1
9 Algoritmo del simplex dual.
9 Solución dual: λ = cBB-1
9 Lectura de la solución dual en la tabla del simplex.
9 Interpretación económica de las variables duales:
λ*i = ∂z ∂b
*
∀i = 1,..., m
i
12
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Ejemplo dualidad con WinQSB
problema primal
13
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Función objetivo f(x) = 292.5
(262.5 , 450)
(0 , 0)
(375 , 0)
problema dual
14
Técnicas de Optimización Dpto. Estadística e Investigación Operativa
Universidad Pública de Navarra
Función objetivo f(λ) = 292.5
λ=(150,300)
λ=(300,0)
15