You are on page 1of 25

TEORIA DE LA DUALIDAD

Asociado a un problema de programación lineal, denominado también primal, se tiene un segundo problema al que se denomina dual. El primal y el dual poseen propiedades relacionadas de tal forma que la solución óptima a un problema proporciona información completa sobre la solución óptima del otro.

FORMA CANONICA DE DUALIDAD

Problema Primal max Z = CX Sa: AX < b X>0

Problema Dual min W = btU Sa: AtU > C U>0

c) Los coeficientes del lado derecho de las restricciones.CARACTERÍSTICAS a) A cada restricción del primal le corresponde una variable dual. . b) Un problema es de maximización y el otro de minimización. son los coeficientes de la función objetivo del otro problema.

X2 > 0 U2 3U1 + U2 > 5 U1. U2 > 0 X2 El dual del dual es el primal. .Sea el siguiente problema: PRIMAL max Z = 4X1 + 5X2 Sa: X1 + 3X2 < 8 Variable Dual U1 DUAL min W = 8U1 + 10U2 Sa: Variable Dual X1 U1 + 2U2 > 4 2X1 + X2 < 10 X1.

FORMA ESTANDAR DE DUALIDAD La definición de esta forma es: PRIMAL max Z = CX DUAL min W = btU Sa: AX = b X>0 Sa: AtU < C U>0 W no restringida .

TABLA PARA OBTENER EL DUAL DE CUALQUIER PROGRAMA LINEAL MINIMIZACIÓN MAXIMIZACIÓN VARIABLES > < < > RESTRICCIONES no restringido RESTRICCIONES > < = = VARIABLES < > no restringido .

X2 < 0 U2 Aplicando los resultados.2X2 < 6 Variable Dual U1 4X1 + 3X2 = 34 X1> 0. U2 no restringida . de la tabla se obtiene el dual: min 6U1 + 34U2 Sa: U1 + 4U2 > 3 -2U1 + 3U2 < -8 U1< 0.8X2 Sa: X1 .Ejemplo: max Z = 3X1 .

Sea el primal: Sea el dual: max Z = CX Sa: AX < b ..(2) U>0 Ut(1) UtAX < Utb UtAX < btU Por consiguiente: Z < UtAX < W Xt(2) X tA tU > X t C t UtAX > CX De este teorema se concluye que: El valor de Z.RELACIONES ENTRE EL PRIMAL Y EL DUAL Teorema Si X es una solución básica factible (SBF) al primal y U una SBF al dual entonces CX > btU.(1) X>0 min W = btU Sa: AtU > Ct . .... en la maximización para alguna SBF es la cota inferior al mínimo de su dual.

Uno de los problemas tiene valor objetivo no acotado. primario y dual. exactamente una de las proposiciones es cierta. Con respecto a los problemas de programación lineal. 3. .Teorema de la Dualidad Este teorema esta basado en las condiciones de optimalidad de KUHN-TUCKER y su desarrollo requiere del uso del teorema de FARKAS-MINKOWSKI. 2. Ambos problemas tiene soluciones óptimas X y U con CX = btU. Ambos problemas son no factibles. 1. en cuyo caso el otro debe ser no factible.

HOLGURA COMPLEMENTARIA De: CX < UtAX < btU Sea X y Y soluciones para los problemas primal y dual respectivamente. entonces X y Y son óptimas si: (YA – C)X + Y (b – AX) = 0 Sea la siguiente forma: PRIMAL max Z = CX Sa: AX < b DUAL min W = btU Sa: AtU > Ct .

.Si las holguras para el primal y dual son respectivamente Xh y Uh. se tiene: PRIMAL AX + Xh = b .Uh = Ct …(2) Ut(1): Ut AX + Ut Xh = Utb Ut AX + Ut Xh = bt U ...(1) DUAL At U ..(3) Xt(2): X tA t U – X t U h = X tC t Ut AX – Xt Uh = CX …(4) .

por consiguiente: U t(b – AX ) = Y t (At U .Para la solución del problema se tiene de (3) y (4): bt U = CX U tAX + U t Xh = U tAX – X t Uh U t Xh + X t Uh = O U t(b – AX ) + Y t (At U – Ct) = 0 ó Donde U y X son > 0.Ct) = 0 .

. X2 > 0 2U1 + 4U2 > 10 2U1 + 2U2 > 8 U1. se pide la solución dual. U2 > 0 Si X1 = 4 y X2 = 6.Ejemplo: PRIMAL max Z = 10X1 + 8X2 DUAL min W = 20U1 + 28U2 Sa: Variable Dual U1 U2 Sa: Variable Dual X1 X2 2X1 + 2X2 < 20 4X1 + 2X2 < 28 X1.

Aplicando el teorema de holgura complementaria a los programas en su forma estándar se tiene: Forma Estandar del Primal 2X1 + 2X2 + X3 = 20 4X1 + 2X2 + X4 = 28 Calculo de X3 y X4 : 2X1 + 2X2 + X3 = 20. 4X1 + 2X2 + X4 = 28. X3 = 0 X4 = 0   X 3U1 = 0 X 4U2 = 0 .

Forma Estandar del Dual 2U1 + 4U2 + U3 = 10 2U1 + 2U2 + U4 = 8 Calculo de U3 y U4 : 2U1 + 4U2 + U3 = 10. U3X1= 0 U4X2= 0   U3 = 0 U4 = 0 Reemplazando se tiene: 2U1 + 4U2 = 10 2U1 + 2U2 = 8  U1 = 3. U2 = 1 . 2U1 + 2U2 + U4 = 8.

INTERPRETACIÓN ECONOMICA DEL DUAL De los siguientes problemas: PRIMAL DUAL min Z = CX Sa: AX > b max W = Ub Sa: UA < C X>0 En la solución (Z = W ) se tiene que: Z = CB B-1b = U b W=Ub de lo cual se sigue que: Z  C B B1  U b U>0 U representa el incremento del valor objetivo óptimo por unidad de incremento de b. .

Los recursos disponibles mensualmente son 200 pies2 de cuero y 18 horas máquina. los requerimientos de recursos por cada unidad de los dos tipos de pelotas.Si por ejemplo la i-ésima restricción representa el número de horas máquina disponible en bi unidades y Cx representa la utilidad. entonces la variable dual asociada Ui representa el incremento de la utilidad por cada hora de incremento de bi siempre que sea posible aumentar el número de horas de bi. Ejemplo: Una fábrica pequeña de juguetes produce 2 tipos de pelotas. así como la ganancia unitaria se muestra en el siguiente cuadro: .

PELOTA TIPO 1 2 Disponibilidad HORAS MAQUINA (por tipo) 0.2 18 CUERO (pie2/tipo) GANANCIA (S/.3 0./unid. Solución: .) 2 1 200 200 150 Plantear el problema primal y discutir el significado económico del programa dual.

2) Entonces el programa primal es: max Z = 200X1 + 150X2 Sa: H-Máquina Cuero 0.3X1 + 0. X1 = 0. X2 > 0 (1) (2) La solución del problema es: Z = 13500. X2 = 90 .2X2 < 18 2X1 + X2 < 200 X1.Solución: Xi = número de pelotas de tipo i (i = 1.

.2 (90) < 18 2 (0) + 1 (90) < 200 Y1 Y2 Observe que se ha utilizado todas las horas máquina (restricción limitante) y que hay un excedente de 110 pies2 de cuero (restricción no limitante).Reemplazando los valores de X1 y X2 en las restricciones se tiene: Precio Dual H-Máquina Cuero 0.3 (0) + 0. Esto implica que para aumentar la ganancia e necesario aumentar la disponibilidad del recurso 1.

Ahora procederemos a hallar el dual para realizar algunas discusiones: El programa dual esta dado por: min W = 18Y1 + 200Y2 Sa: 0.2Y1 + Y2 > 150 Y1.3Y1 + 2Y2 > 200 0. Y2 > 0 (1) (2) .

X2 = 100 La solución del problema es: Con la solución de los dos problemas. X2 < 200 X1 = 0. se puede determinar la variación de Z por unidad de recurso: Δ Z 15000  13500   750  Y1 Δb 20  18 Este valor representa el precio dual del primer recurso. en 2 unidades las horas máquina (recurso limitante) del programa primal. se tiene: max Z = 200X1 + 150X2 Sa: 0. por ejemplo. .Si se aumenta.2X2 < 20 2X1 + Z = 15000.3X1 + 0. es decir que Z aumentará en 750 unidades si las horas máquina aumentan en 1 hora .

Si ahora aumentamos. se tiene: max Z = 200X1 + 150X2 Sa: 0. en 2 unidades el recurso cuero.13500   0  Y2 Δb 202  200 Como se sabe el recurso cuero esta en exceso y por consiguiente incrementar este recurso no aporta en nada a la función objetivo. X2 = 90 La solución del problema es: La variación de Z por unidad del recurso es: Δ Z 13500 .2X2 < 18 2X1 + Z = 13500. por ejemplo. X2 < 202 X1 = 0. .3X1 + 0.

5 75 X4 0 0 1 LD 1350 9 191 Como se observa (Z3 .2X2 + X3 2X1 + Z Z X2 X4 1 0 0 X2 = 18 + X4 = 200 X1 25 1.La formulación estandar y el último tablero del primal es como sigue: Formulación Estandar: max Z = 200X1 + 150X2 + 0X3 + 0X4 Sa: 0.C4) = 0 [debajo de X3 y X4] son los valores de las variables U1 y U2 respectivamente. esto se explica por lo siguiente: .C3) =75 y (Z4 .3X1 + 0.5 25 X2 0 1 0 X3 75 0.

..El tablero puede ser escrito de la siguiente forma: Z Z XB 1 0 XB 0 I XN1 CBB-1N1 – CN1 B-1N1 XH CBB-1I – 0 B-1 LD CBB-1b B-1b Donde: XN = (XN1 XH) XN1 = (Xm+1 Xm+2 . .. Xn) XH = (Xn+1 Xn+2 . Xn+m) Como se sabe los coeficientes de XH en la función objetivo son iguales a 0 y CBB-1 son los valores de las variables duales..