Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Parte de Problemas (Alvaro Ruiz)

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 33

3.

1 DUALIDAD: UN ENFOQUE CONCEPTUAL

Cuando se asocia un Problema Lineal (PL) con otro Problema Lineal se llama Dualidad. Conocer esta
relación existente es muy importante para el entendimiento de temas de programación lineal y no lineal,
así como las interpretaciones económicas y por supuesto las perspectivas del análisis de sensibilidad.
Cuando hallamos el dual de un PL, nos referimos al PL dado como el primal; así, si el problema dado es
un problema de maximización, el dual será uno de minimización o viceversa.

 Forma canónica de dualidad

Supóngase que el programa lineal primal está dado en la forma:

P: Minimizar cx

Sujeto a:
Ax b
x0

Entonces el programa lineal dual está definido por:

D: Maximizar wb

Sujeto a:
ATw  c
w0

Nótese que existe exactamente una variable dual por cada restricción primal, y exactamente una
restricción dual por cada variable primal. Después se dirá más sobre esto.
Considérese el siguiente programa lineal y su dual:
P: Minimizar 6x1 + 8x2

Sujeto a:
3x1 + x2  4
5x1 + 2x2  7
x1, x2  0

Su dual será:

D: Maximizar 4w1 + 7w2

Sujeto a:
3w1 + 5w2  6
w1 + 2w2  8
w1, w2  0

En teoría para aplicar la definición canónica de dualidad primero se debe convertir 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 dualidad


.
Otra definición equivalente se aplica cuando las restricciones son igualdades. Supóngase que el
programa lineal primal está dado en la forma:
P: Minimizar Cx

Sujeto a:
Ax = b
x=0

Entonces el programa lineal dual está definido por:

D: Maximizar Wb

Sujeto a:
ATw= c
w no restringida

Considérese el siguiente programa lineal y su dual:


P: Minimizar 6x1 + 8x2

Sujeto a:
3x1 + x2 - x3 = 4
5x1 + 2x2 - x4 = 7
x1, x2, x3, x4= 0

D: Maximizar 4w1 + 7w2

Sujeto a:
3w1 + 5w2= 6
w1 + 2w2= 8
-w1 =0
-w2= 0
w1, w2 no restringidas

Observación 1: “El dual del dual es el primal”


Este lema indica que las definiciones se pueden aplicar al revés. Los términos “primal “y “dual” son
relativos al marco de referencia que se seleccione.

 Formas mixtas de dualidad

En la práctica, muchos programas lineales contienen algunas restricciones del tipo “menor o igual que”,
algunas del tipo “mayor o igual que”, y algunas del tipo “igual a”. Asimismo, las variables que pueden ser
“= 0” ó “no restringida”. En teoría, esto no presenta problema alguno porque se pueden aplicar las
técnicas de transformación para convertir cualquier problema mixto a una de las formas primal o dual.
Considere el siguiente programa lineal.

PASO 1: Max z = 2x1 + x2

Sujeto a:
x1 + x2≥ 2
2x1 - x2≥ 3
x1 - x2= 1
=> x1 - x2≤ 1
=> x1 - x2≥ 1
x1 ≥ 0, x2 nrs => x2 =( x’2 - x’’2)

PASO 2 : Max z = 2x1 + x’2 - x’’2

Sujeto a :
x1 + x’2 - x’’2≥ 2=>-x1 - x’2 + x’’2≤ -2
2x1 – x’2 + x’’2≥ 3=>- 2x1 + x’2 - x’’2≤ -3
x1 – x’2 + x’’2≤ 1 =>x1 – x’2 + x’’2≤ 1
x1 – x’2 + x’’2≥ 1=> -x1 + x’2 - x’’2≤ -1
x1, x’2, x’’2≥ 0

PASO 3 : Min w = -2y1-3y2 + y3-y4

Sujeto a:
-y1 - 2y2 + y3- y4≥ 2
-y1+ y2 - y3 + y4≥ 1
y1- y2+ y3– y4≥ -1
y1, y2, y3, y4≥ 0

De este ejemplo se ve que las restricciones de la forma “mayor o igual que “en el problema de
minimización dan origen a variables “= 0” en el problema de maximización dan origen a variables “no
restringidas”.

Tabla: Relaciones entre problemas primario y dual.

MINIMIZACION MAXIMIZACION
DE PROBLEMA DE PROBLEMA
Variable
=0 = Variables
s
=0 =
No restringido =0

=0
Restric- = Restriccion
=0
ciones = es
No restringido
=
Considérese el siguiente programa lineal:

Maximizar 8x1 + 3x2

Sujeto a:
x1 - 6x2= 2
5x1 + 7x2 = -4
x1, x2 = 0

Aplicando los resultados de la tabla, se puede obtener el dual de inmediato:

Minimizar 2w1 - 4w2

Sujeto a:
w1 + 5w2= 8
-6w1 + 7w2= 3
w1, w2 no restringidas

3.2 RELACIONES PRIMAL - DUAL

 Relaciones entre los valores objetivos

Considérese la forma canónica de dualidad y sean xo y wo soluciones factibles de los programas primal
y dual respectivamente. Entonces Axo= b, xo= 0, ATwo= c (o también woTA=c), y wo= 0. Multiplicando
Axo= b por woT a la izquierda, y woTA= c por xo=0 a la derecha se obtiene:

cxo= woTAxo= woTb

El resultado es el siguiente.

Observación 2:

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. En particular, el valor objetivo de cualquier solución factible del problema de minimización
da una cota superior del objetivo óptimo del problema de maximización, Análogamente, el valor objetivo
de cualquier solución factible de problema de maximización es una cota inferior del objetivo óptimo del
problema de minimización.

Corolario 1

Si xo y wo son soluciones factibles de los problemas primal y dual y son tales que cxo = woTb, entonces
xo y wo son soluciones óptimas de sus respectivos problemas.

Corolario 2

Si uno de los dos problemas tiene un valor objetivo no acotado, entonces el otro problema no tiene
ninguna solución factible.
El corolario indica que el no acotamiento en uno de los problemas implica no factibilidad en el otro
problema. ¿Es simétrica esta propiedad? ¿No factibilidad en uno de los problemas implica no
acotamiento en el otro? La respuesta es “no necesariamente”. Esto se ilustra mejor con el siguiente
ejemplo.

Considérese los siguientes problemas primal y dual:


P: Minimizar = -x1 - x2
Sujeto a:
x1 - x2= 1
-x1 + x2= 1
x1, x2= 0

D: Maximizar w1 + w2
Sujeta a:
w1 - w2= -1
-w1 + w2= -1
w1, w2no restringidas

Graficando ambos se observa que ninguno tiene solución factible.

x2 w2
 Dualidad y condiciones de optimalidad de Kuhn-Tucker

Recordemos que las condiciones de optimalidad para un programa lineal establecen que una condición
necesaria y suficiente para que x* sea un punto óptimo del programa lineal Minimizar cx sujeta a Ax=
b, x = 0, es que exista un vector w* tal que:

1. Ax* = b, x* = 0

2. w*TA = c, w* = 0
3. w*T(Ax* - b) = 0
(c - w*TA) *x = 0

La condición 1 anterior simplemente requiere que el punto óptimo x* debe ser factible para el problema
primario. La condición 2 esta condición indica que el vector w* debe ser un punto factible para el
problema dual. De la condición 3 anterior, se sigue que cx*=w*Tb. Por lo tanto, w* debe ser una solución
óptima del problema dual. Las condiciones de optimalidad de Kuhn - Tucker para el problema dual
implican la existencia de una solución factible primal cuyo objetivo es igual al del dual óptimo. La razón
nos conduce al siguiente lema.

Observación 3:
Si uno de los problemas tiene una solución óptima, entonces ambos problemas tienen soluciones
óptimas y los dos valores objetivos óptimos son iguales.
En lugar de resolver directamente para el óptimo x*, sería razonable buscar entre los valores de w que
satisfacen la condición 2 anterior. Sabiendo que (condición 2) cualquier wo factible satisface wob= cx* y
que el w* óptimo satisface w*b=cx*, surge de manera natural la maximización de la forma lineal wb
sobre todos los valores factibles de w que satisfacen la condición 2.

 El teorema fundamental de dualidad


Teorema 1 (Teorema fundamental de dualidad)
Con respecto de a los problemas de programación lineal primario y dual, exactamente una de las
siguientes proposiciones es cierta.

1. Ambos problemas tienen soluciones óptimas x* y w*, con cx*=w*b.


2. Uno de los problemas tiene valor objetivo no acotado, en cuyo caso el otro problema debe ser
no factible.
3. Ambos problemas son no factibles.

De este teorema se ve que la dualidad no es completamente simétrica. Lo más que se puede decir es
que (aquí, óptimo significa óptimo finito, y no acotado significa tener objetivo óptimo no acotado).

Podemos decir:

P óptimo  D óptimo
P no acotado  D no factible
D no acotado  P no factible
P no factible  D no acotado o no factible
D no factible  P no acotado o no factible

3.3 HOLGURA COMPLEMENTARIA


Sean x* y w* cualquier par de soluciones óptimas de los problemas primal y dual, respectivamente, en
forma canónica. Entonces:
cx* = w* Ax* = w*b

Pero cx* = w*b (¿por qué?). Luego


cx* = w*Ax* = w*b
Esto da w* (Ax*-b) = 0 y (c-w*A) x* = 0. Puesto que w*=0 y Ax* - b =0, entonces w* (Ax* - b) = 0 implica
que wi* (aix*-bi) =0 para i=1,....,m. De igual manera (c- w*A)x*= 0 implica que (cj - w*a)x*j = 0 para j
=1,....,n. Por lo tanto, se tiene el siguiente teorema.

Teorema 2 (teorema débil de holgura complementaria)


Si x* y w* son puntos óptimos cualesquiera de los problemas primario y dual en la forma canónica,
entonces
(cj - w*a)x*j = 0 j=1,…,n
w*i (aijx*-bi) = 0 I = 1,…,m

Este es un teorema muy importante que relaciona los problemas primal y dual. obviamente indica que al
menos uno de los factores en cada una de las expresiones anteriores debe ser cero. E n particular,
x*j > 0  w*aj = cj
w*aj<cj x*i = 0
w*i> 0 aix* = bi

El teorema débil de holgura complementaria también se puede enunciar como sigue: en caso de
optimalidad, "si una variable en uno de los problemas es positiva, entonces la restricción
correspondiente en el otro problema es sin holgura", y "si una restricción en uno de los problemas es
con holgura, entonces la variable correspondiente en el otro problema debe ser cero"

 Uso del dual para resolver el primal


Ahora se dispone de poderosas herramientas de análisis, en la forma de los teoremas de esta sección,
para utilizar el problema dual en la solución del problema primal.
Considere los siguientes problemas primal y dual:
P: Minimizar: 2x1 + 5x2 + 3x3
Sujeto a:
x1 + 2x2 + 3x3 4
2x1+3x2 + x3 3
x1, x2, x3 0

D: Maximizar:4w1 + 3w2
Sujeto a:
w1 + 2w2 2
2w1 + 3w2 5
3w1 + w2 3
w1, w2 0

Puesto que el dual tiene solo dos variables, se puede resolver gráficamente como se muestra en la
figura. La solución óptima del dual es w1* =4/5, w2* = 3/5 con objetivo 5. De inmediato se sabe que z* =
5. Utilizando el teorema débil de holgura complementaria, se sabe además que x* =0, pues las
correspondientes restricciones duales complementarias tienen holgura.
 Solución grafica del problema dual.

Interpretación económica del Dual


Hablaremos de esta interpretación a partir de un problema primal como sigue:

Interpretación económica del problema primal

Variabl
Significado
e

Nivel de actividad j (j = 1, 2,…,n)


xj
Utilidad unitaria de la actividad j
cj
Utilidad total
z
Cantidad de recurso i disponible
bi
por cada unidad de actividad j
aij

En el problema dual las variables se interpretan como: y es la contribución en la utilidad, por unidad de
recurso i (i=1,2,...,m), al usar un conjunto determinado de variables básicas para obtener la solución
primal; es decir, y* (la solución óptima) representa el precio sombra del recurso i -valor marginal de este
recurso.

Como cada unidad de actividad j en el problema primal consume unidades del recurso i

m Se interpreta como la contribución en la actualidad de la mezcla de recursos que serían


a y
i 1
ij i
consumidos si una unidad de actividad j fuese usada (j=1,2,...,n).
m establece que la contribución en la utilidad de la mezcla de recursos debe ser por lo
a y  c
i 1
ij i i
menos tanto como si fuese usados por una unidad de actividad j, de otra manera no se
estaría haciendo el mejor uso posible de estos recursos.

La contribución en la utilidad del recurso i(i=1,2,...,n) debe ser no negativa, de lo contrario


y 0 i
sería mejor no usar el recurso.

Minimizar y = m
es la minimización de valor total implícita de los recursos consumidos por las
b y
i 1
i I

actividades.

Ambos problemas de programación lineal, en notación matricial son:

Primal
Maximizar z = cx
Sujeto a Ax= b
x=0
Dual
Minimizar yo = yb
Sujeto a Ay= c
y= 0

3.4 EL MÉTODO DUAL SIMPLEX

En esta sección se describirá el método dual simplex, el cual resuelve el problema dual directamente
sobre el tablero simplex (primal). En cada iteración el método se mueve de una solución básica factible
del problema dual a una solución básica factible mejorada, hasta alcanzar la optimalidad del dual (y
también del primal), o bien hasta concluir que el dual es no acotado y que el primal es no factible.

 Resumen del método dual simplex (problema de minimización)

PASO INICIAL:

Encuéntrese una base B del primal tal que zj - cj = cBB-1aj - cj= 0 para todo j.

PASO PRINCIPAL:
1. Si b = B-1 b  0, el proceso termina; la solución presente es óptima. En caso contrario,

selecciónese el renglón pivote r con b r< 0, digamos b r = Mínimo { b i}.

2. Si yrj 0 para todo j, el proceso termina; el dual es no acotado y el primal es no factible. En


caso contrario, selecciónese la columna pivote k mediante la siguiente prueba de la razón
mínima:

 z k  ck   
zj cj
 Minimo  : y rj  0
y rk
 y rj 

3. Pivotéese en y rk
y regrese al paso 1.

Considérese el siguiente problema:

Minimizar 2x1 + 3x2 + 4x3

Sujeto a:
x1 + 2x2 + x3 3
2x1 - x2 + 3x3 4
x1, x2, x3 0

Una solución básica inicial que sea dual factible se puede obtener utilizando las variables de holgura x4
y x5. Esto resulta del hecho de que el vector de costos es no negativo. Aplicando el método dual
simplex, se obtiene la siguiente serie de tableros.

Z x1 x2 x3 x4 x5 L
D
Z 1 -2 -3 -4 0 0 0
x4 0 -1 -2 -1 1 0 -3
x5 0 -2 1 -3 0 1 -4

z x1 x2 x3 x4 x5 LD
Z 1 0 -4 -1 0 -1 4
x4 0 0 -5/2 1/2 1 -1/2 -1
x1 0 1 -1/2 3/2 0 -1/2 2
z x1 x2 x3 x4 x5 LD
Z 1 0 0 -9/5 -8/5 -1/5 28/5
x2 0 0 1 -1/5 -2/5 1/5 2/5
x1 0 1 0 7/5 -1/5 -2/5 11/5

Puesto que b  0 y zj - cj= 0 para todo j, se tienen a la mano las soluciones óptimas primal y dual. En
particular.

(X*1, X*2, X*3, X*4, X*5) = (11/5, 2/5, 0, 0, 0)

(w*1, w*2) = (8/5, 1/5)


Nótese que w*1 y w*2 son, respectivamente, los negativos de las cantidades zj - cj que se encuentran
abajo de las variables de holgura x4 y x5. También nótese que en cada tablero sucesivo el valor de la
función objetivo es creciente, como debe ser, para el problema (de maximización) dual.

3.5 EL MÉTODO PRIMAL – DUAL

Recuérdese que en el método dual simplex se empieza con una solución básica (no necesariamente
factible) para el problema primal y una solución básica factible complementaria para el problema dual. El
método dual simplex procede, mediante pivoteos, a través de una serie de soluciones básicas factibles
duales hasta que la solución básica primal complementaria asociada es factible, satisfaciendo así todas
las condiciones para optimalidad de Kuhn - Tucker.

En esta sección se describirá un método, llamado el algoritmo primal - dual similar al método dual
simplex, el cual empieza con factibilidad dual y proceda a obtener factibilidad primaria, manteniendo
durante el proceso holgura complementaria. Una diferencia importante entre el método dual simplex y el
método primal - dual es que este último no requiere que una solución factible dual sea básica. Dada una
solución factible dual, se determina las variables primales que corresponden a restricciones duales
ligantes o activas (de tal manera que la holgura complementaria se satisface). Usando la fase I del
método simplex, se trata de alcanzar la factibilidad primal, se cambia la solución factible dual en tal
forma que se admita al menos una nueva variable en el problema de la fase I. Esto se continúa hasta
que, o bien la solución primal se hace factible, o bien, la solución dual se hace no acotada.

 Resumen del algoritmo primal - dual (problema de minimización)


PASO INICIAL:

Selecciónese un vector w tal que waj - cj= 0 para todo j.

PASO PRINCIPAL:

1. Sea Q = {j: waj - cj = 0} y resuelvase el siguiente problema restringido:

Minimizar  0 x j  1 x o
j Q

Sujeta a a x  x
j Q
j j a
b

xj 0 para j  Q
xa 0

Denótese el objetivo óptimo por xo, si xo = 0, deténgase; se ha obtenido una solución óptima. En caso
contrario, denótese por v* la solución dual óptima del problema primal restringido anterior.
Si v*aj= 0 para todo j, entonces deténgase: el dual es no acotado y el primal es no factible. En caso
contrario, defínase


  (w a j  c j) 

  Minimo : v * a j  0  0

 v *a j 

y reemplácese w por w + v*. Repítase el paso 1.

Considérese el siguiente problema:

Minimizar 3x1 + 4x2 + 6x3 + 7x4 + x5

Sujeto a:
2x1 - x2 + x3 + 6x4 - 5x5 - x6 = 6
x1 + x2 + 2x3 + x4 + 2x5 - x7 = 3
x1, x2, x3, x4, x5, x6, x7 0

El problema dual es el siguiente:

Maximizar 6w1 + 3w2


Sujeto a:
2w1 + w2=3
-w1 + w2 =4
1w1 + 2w2= 6
6w1 + w2= 7
-5w1 + 2w2= 1
-w1= 0
-w2= 0
w1, w2 no restringida

Una solución factible dual inicial está dada por w = (w1 , w2 ) = (0,0). Sustituyendo w en cada restricción
dual, se encuentra que las dos últimas restricciones duales son estrictas de manera que Q = {6,7}.
Denotando las variables artificiales por X8 y X9, el problema primal restringido resulta ser el siguiente:

Minimizar x8 + x9
Sujeto a:
- x6 + x8 = 6
-x7 + x9 = 3
x6, x7, x8, x9 0

Es claro que la solución óptima primal restringido es (x6, x7, x8, x9) = (0,0,6,3) y el objeto óptimo es xo =
9. El dual de este problema primal restringido es el siguiente:

Maximizar 6v1 + 3v2


Sujeto a:
-v1= 0
-v2 = 0
v1= 1
v2= 1
v1, v2 no restringida

Utilizando holgura complementaria, se ve que, puesto que x8 y x9 son básicas, las dos últimas restricciones duales
deben ser holgura y v* = (v*1 , v*2) = (1,1). Calculando v*aj para cada columna j, se obtiene v*a1 = 3, v*a2 = 0, v*a3
= 0, v*a4 = 7, y v*a5 = -3. Por lo tanto,  se determina como sigue:

  3  6   7  
  Minimo    ,   ,     1
  3  3   7  
y w1 = (0,0) +1(1,1) = (1,1).
Con la nueva solución dual w1, se calcula de nuevo Q y se obtiene Q = {1,4} esto da el siguiente problema primal
restringido:
Minimizar x8 + x9
Sujeto a:
2x1 + 6x4 + x8 = 6
x1 + x4 +x9 = 3
x1, x4, x8, x9 0

Esta vez una solución al problema restringido está dada por:


(x1, x4, x8, x9) = (3, 0, 0, 0)

Con Xo =0. Así pues, se tiene una solución óptima del problema original con soluciones óptimas primal y dual
dadas por:

(x*1, x*2, x*3, x*4, x*5, x*6, x*7) = (3, 0, 0, 0, 0, 0, 0) y,

(w*1, w*2) = (1,1)


Problemas resueltos:
Añadido por: Alvaro Ruiz
Problema 1

F.O.
Min. Z = 4X1 + 12X2 + 18X3
S.A.
X1 + 3X3 ≥ 3
2X2 + 2X3 ≥ 5
X1, X2, X3 ≥ 0
SOLUCIÓN1

PASO 1: Convertir el problema de minimización en uno de maximización. La función


objetivo se multiplica por -1

F.O.
Max. Z = - 4X1 - 12X2 - 18X3

Las restricciones se multiplican por -1

S.A.
- X1 - 3X3 ≤ -3
- 2X2 - 2X3 ≤ -5
X1, X2, X3 ≥ 0

PASO 2: Se convierten las inecuaciones en ecuaciones.

F.O.
Z + 4X1 + 12X2 + 18X3 = 0
S.A.
- X1 - 3X3 + S1 = -3
– 2X2 - 2X3 + S2 = -5
PASO 3: Se determinan las variables básicas y no básicas.

· Básicas: S1 y S2
· No Básicas: X1, X2 y X3

PASO 4: Elaborar la tabla inicial del simplex

Variable Variables
X1 X2 X3 S1 S2 Solución
Básica
S1 -1 0 -3 1 0 -3
S2 0 -2 -2 0 1 -5
Z 4 12 18 0 0 0

PASO 5: Determinar la variable que sale (fila pivote)

Es el número más negativo de la solución de las restricciones = fila de S2

PASO 6: Determinar la variable que entra (columna pivote)

Razón = Coeficiente de Z / coeficiente fila pivote.

Razón Mayor = Columna X2 (-12 / 2)

Variable Variables
Solución
Básica X1 X2 X3 S1 S2
S1 -1 0 -3 1 0 -3
S2 0 -2 -2 0 1 -5
Z 4 12 18 0 0 0
Razón - -6 -9 - 0

PASO 7: Elaborar la nueva tabla del simplex

a) Nueva fila pivote = Fila pivote / elemento pivote

Fila Pivote
0 -2 -2 0 1 -5
-2 -2 -2 -2 -2 -2 Elemento Pivote
0 1 1 0 -0,5 2,5 Nueva Fila Pivote
b) Nuevas filas = fila anterior - coeficiente de la columna pivote x nueva fila pivote.

Nueva Fila (S1)

-1 0 -3 1 0 -3 Fila Anterior
0 0 0 0 0 0 Coeficiente
X
0 1 1 0 -0,5 2,5 Nueva Fila Pivote
-1 0 -3 1 0 -3 Nueva Fila

Nueva Fila (Z)

4 12 18 0 0 0
12 12 12 12 12 12
0 1 1 0 -0,5 2,5
4 0 6 0 6 -30
Nueva Tabla del Simplex

Variable Variables
Solución
Básica X1 X2 X3 S1 S2
S1 -1 0 -3 1 0 -3
X2 0 1 1 0 -1 2,5
Z 4 0 6 0 6 -30
Razón -4 - -2 0 -

Se realizan nuevamente los pasos del 5 al 7 obteniendo como solución final:

Variable Variables
Solución
Básica X1 X2 X3 S1 S2
X3 0,33 0 1 -0,33 0 1
X2 -0,33 1 0 0,33 -0,5 1,5
Z 2 0 0 2 6 -36

NOTA: No hay más iteraciones cuando no existan soluciones con coeficientes negativos.

R\ El valor mínimo se alcanza para un X2 = 3/2 y X3 = 1, para un Z = 36


Problema 2(Revisado)
Una fábrica pequeña de juguetes produce 2 tipos de pelotas. 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, así como la ganancia unitaria se muestran en el siguiente
cuadro:

HORAS MAQUINA CUERO GANANCIA


PELOTATIPO
(por tipo) (pie2/tipo) (S/./unid.)
1 0.3 2 200
2 0.2 1 150

Disponibilidad 18 200

Plantear el problema primal y discutir el significado económico del programa dual.

Solución:
Xi = número de pelotas de tipo i (i = 1,2)
Entonces el programa primal es:
max Z = 200X1 + 150X2
Sujeto a:
H-Máquina 0.3X1 + 0.2X2< 18 (1)
Cuero 2X1 + X2< 200 (2)
X1, X2> 0

La solución del problema es:

Z = 13500; X1 = 0; X2 = 90

Reemplazando los valores de X1 y X2 en las restricciones se tiene:

Precio Dual
H-Máquina 0.3 (0) + 0.2 (90) < 18 Y1
Cuero 2 (0) + 1 (90) < 200 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).

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


Sujeto a:
0.3Y1 + 2Y2> 200 (1)
0.2Y1 + Y2> 150 (2)
Y1, Y2> 0
Si se aumenta, por ejemplo, en 2 unidades las horas máquina (recurso limitante) del programa primal,
se tiene:

Max Z = 200X1 + 150X2


Sujeto a:
0.3X1 + 0.2X2< 20
2X1 + X2< 200

La solución del problema es:


Z = 15000; X1 = 0; X2 = 100

Con la solución de los dos problemas, 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, es decir que Z aumentará en 750 unidades si las
horas máquina aumentan en 1 hora.

Si ahora aumentamos, por ejemplo, en 2 unidades el recurso cuero, se tiene:


Max Z = 200X1 + 150X2
Sujeto a:
0.3X1 + 0.2X2< 18
2X1 + X2< 202

La solución del problema es:


Z = 13500; X1 = 0; X2 = 90
La variación de Z por unidad del recurso es:

Δ Z 13500 - 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.
La formulación estándar y el último tablero del primal es como sigue:

Max Z = 200X1 + 150X2 + 0X3 + 0X4

Sujeto a:
0.3X1 + 0.2X2+ X3 = 18
2X1 + X2+ X4 = 200

Z X1 X2 X3 X4 LD
Z 1 25 0 75 0 1350
X2 0 1.5 1 0.5 0 9
X4 0 25 0 75 1 191

Como se observa (Z3 – C3) = 75 y (Z4 – C4) = 0 [debajo de X3 y X4] son los valores de las variables U1 y
U2 respectivamente, esto se explica por lo siguiente:

El tablero puede ser escrito de la siguiente forma:

Z XB XN1 XH LD
Z 1 0 CBB N1 – CN1
-1
CBB I – 0
-1
CBB-1b
XB 0 I B-1N1 B-1 B-1b

Donde:
XN = (XN1 X H)
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.
Problema adicional – Coronel
2. Una compañía elabora 2 productos P1 Y P2, cada uno requiere de componentes c1 y c2. La
disponibilidad de componentes y precio de venta se muestra en el siguiente cuadro:

Producto Componentes Precio de Venta


(S/./unid)
C1 C2
P1 1 2 4
P2 3 1 3
Disponibilidad 15000 10000
(unid)

Se pide presentar el modelo que optimiza el ingreso por ventas, la solución óptima, plantear el
modelo primal y discutir el significado económico del programa dual.
Solución:
Xi = Unidades del Producto i a producir (i=1,2)
La función objetivo es:
Max Z = 4X1 + 3X2
Sujeto a:
Componente 1 X1 + 3X2 < 15000 (1)
Componente 2 2X1 + X2 < 10000 (2)
X1, X2 > 0
La solución del problema es:
Z = 24000; X1 = 3000; X2 = 4000
Reemplazando los valores de X1 y X2 en las restricciones se tiene:
PRECIO DUAL
Componente 1 1(3000) + 3(4000) < 15000…………..Y1
Componente 2 2(3000) + 1(4000) < 10000…………...Y2

Observe que se ha utilizado todas las unidades del componente 1(restricción limitante) y también
todas las unidades del componente 2 (restricción limitante).
Ahora procederemos a hallar el dual para realizar algunas discusiones:
El programa dual esta dado por.
Min W = 15000Y1 + 10000Y2
Sujeto a:
1Y1 + 2Y2 > 3 (1)
3Y1 + Y2 > 4 (2)
Y1, Y2> 0
Si se aumenta, por ejemplo, en 2000 unidades el componente 1 (recurso limitante) del
programa primal, se tiene:
Max Z = 4X1 + 3X2
Sujeto a:
1X1 + 3X2< 17000
2X1 + X2< 10000
La solución del problema es:
Z = 24800; X1 = 2600; X2 = 4800
Con la solución de los dos problemas, se puede determinar la variación de Z por unidad
de recurso:
∆𝐙 24800 − 24000
= = 0.4 = 𝑌1
∆𝐛 17000 − 15000

Este valor representa el precio dual del primer recurso, es decir que Z aumentará en 0.4
unidades si la cantidad del componente 1 aumenta en 1 unidad.
La formulación estándar y el último tablero del primal es como sigue:
Max Z = 4X1 + 3X2 + 0X3 + 0X4
Sujeto a:
X1 + 3X2+ X3 = 15000
2X1 + X2+ X4 = 10000
Z X1 X2 X3 X4 LD Com
Z 1 0 0 75 25 24000 o se
obser
X2 0 0 1 0.5 1.5 4000 va (Z3
– C3)
X1 0 1 0 75 25 3000 = 75
y (Z4
– C4) = 0 [debajo de X3 y X4] son los valores de las variables U1 y U2 respectivamente, esto se
explica por lo siguiente:
El tablero puede ser escrito de la siguiente forma:

Z XB XN1 XH LD
Z 1 0 CBB-1N1 – CN1 CBB-1I – 0 CBB-1b

XB 0 I B-1N1 B-1 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.
EL DESARROLLO EN LINGO ES:
SETS:
PROD/1..2/:PV,X;
COM/1..2/:DISP;
MATRIZ(PROD,COM):CANT;
ENDSETS

DATA:
PV=4 3;
DISP=15000 10000;
CANT=1 2 3 1;
ENDDATA

MAX=@SUM(PROD:PV*X);
@FOR(COM(J):@SUM(PROD(I):CANT(I,J)*X(I))<=DISP(J));
Con la respectiva solución:
Objective value: 24000.00
Infeasibilities: 0.000000
Total solver iterations: 2
Elapsed runtime seconds: 0.49

Model Class: LP

Total variables: 2
Nonlinear variables: 0
Integer variables: 0

Total constraints: 3
Nonlinear constraints: 0

Total nonzeros: 6
Nonlinear nonzeros: 0

Variable Value Reduced Cost


PV( 1) 4.000000 0.000000
PV( 2) 3.000000 0.000000
X( 1) 3000.000 0.000000
X( 2) 4000.000 0.000000
DISP( 1) 15000.00 0.000000
DISP( 2) 10000.00 0.000000
CANT( 1, 1) 1.000000 0.000000
CANT( 1, 2) 2.000000 0.000000
CANT( 2, 1) 3.000000 0.000000
CANT( 2, 2) 1.000000 0.000000

Row Slack or Surplus Dual Price


1 24000.00 1.000000
2 0.000000 0.4000000
3 0.000000 1.800000

La interpretación de la solución es que los valores de X1=3000 Y X2=4000 son los valores
óptimos del ingreso por ventas, donde Zmax=24000
3. Cierta dietista necesita preparar una comida que contenga determinados nutrientes, al
menos en las cantidades que se indican en la siguiente tabla. Dispone de tres
ingredientes cuyos costos y contenidos de cada nutriente (unidades por gramo de
ingrediente) se dan en la misma tabla

Ingredientes Requerimientos
Corrección
Nutriente 1 2 3 u./comida. de errores
A 4 3 2 20 gramaticale
s y de
B 5 6 3 30 sintaxis -
C 1 2 1 10 Coronel

D 2 1 2 5
E 2 3 1 10
Costo $/g 200 300 250

El problema a resolver consiste en definir la combinación de ingredientes que permite obtener,


al mínimo costo, el alimento con el contenido nutricional deseado. La solución puede obtenerse
resolviendo el siguiente modelo, en el cual las variables Xi indican la cantidad (g.) del
ingrediente i a utilizar.
Minimizar Costo: Utilidad= 200X1+ 300X2+ 250X3
Sujeto a:
4X1 + 3X2 + 2X3≥ 20 Nutriente A
5X1 + 6X2 + 3X3≥ 30 Nutriente B
1X1 + 2X2 + 1X3≥ 10 Nutriente C
2X1 + 1X2 + 2X3≥ 5 Nutriente D
2X1 + 3X2 + 1X3 ≥ 10 Nutriente E

Con Xi ≥ 0, i =1, 2,3.

Antes de conocer la solución óptima de este modelo, consideremos una situación hipotética
que puede presentársele a la dietista. Un laboratorio farmacéutico ofrece pastillas de cada uno
de los nutrientes, con los cuales ella puede sustituir la comida que piensa preparar.
Para resolver este nuevo problema reflexionemos en el hecho de que el director del laboratorio
desea obtener la máxima utilidad en la venta de las pastillas. Por ello, al evaluar la cotización
del laboratorio, en comparación con el costo de preparar la comida, la dietista necesita conocer
el máximo precio que puede pagar por una pastilla que contenga una unidad de cada nutriente.
La dietista también sabe que los precios que puede pagar tienen limitaciones provenientes de
los costos y contenido vitamínico de los ingredientes así, por ejemplo:
Un gramo del alimento 1 cuesta $200 y aporta cuatro unidades del nutriente A, cinco del
nutriente B, uno del C, dos del D y dos del E. Por lo tanto, por esas cantidades de los nutrientes
puede pagarse en total un máximo de $200.
Similarmente, como un gramo del alimento 2 cuesta $300 y aporta tres unidades del nutriente
A, seis del B, dos del C, uno del D y tres del E, lo máximo que podemos pagar conjuntamente
por esas cantidades de los nutrientes es $300.

Si denotamos respectivamente con las variables YA, YB, YC, YD, YE, los precios máximos que se
pueden pagar por la pastilla con una unidad de cada uno de los nutrientes, y efectuamos un
análisis para todos los ingredientes, obtenemos el siguiente modelo de programación lineal.
Maximizar Ventas Z = 20YA + 30YB + 10YC + 5YD + 10YE
Sujeto a:

4YA + 5YB + 1YC + 2YD + 2YE ≤ 200 ingrediente 1


3YA + 6YB + 2YC + 1YD + 3YE ≤ 300 ingrediente 2
2YA + 3YB + 1YC + 2YD + 1YE ≤ 250 ingrediente 3
Con YA, YB, YC, YD, YE ≥ 0
Este segundo modelo representa el enfoque dual del primero y de nuevo podemos verificar que
se presentan ciertas relaciones estructurales, a saber

1. El vector de coeficientes objetivo de uno es la transpuesta del vector de coeficientes recurso


del otro.
2. El vector de coeficientes recurso del uno es la transpuesta del vector de coeficientes objetivo
del otro.
3. La matriz de coeficientes tecnológicos de uno es la transpuesta de la matriz de coeficientes
tecnológicos del otro.
4. Ambos problemas están en formato canónico, o sea que tienen las siguientes
características
4.1 El objetivo del primal es minimizar, mientras que el del dual es maximizar.
4.2 Las restricciones del primo son del tipo ≥, y las del dual del tipo ≤.
4.3 Las variables de ambos problemas solo pueden tomar valores mayores o iguales que
cero.

Pero las relaciones de forma no son las más importantes para nuestro estudio de la dualidad
en Programación lineal, como si lo son las relaciones lógicas existentes entre sus soluciones
óptimas y el significado económico de las variables del modelo dual.
Resolviendo ambos modelos obtenemos, para el PRIMAL:
X1* = 2; X2* = 4; EB* = 4; ED* = 3; EE* = 6; Z = $1600
Interpretando los valores de las variables de decisión, ha encontrado que mezclando 2 gramos
del ingrediente 1 y cuatro gramos del ingrediente 2 obtendría el menor costo posible que es de
$1600. De la misma manera interpretando las variables de holgura, también observa que la
comida resultante contiene exactamente las 20 unidades requeridas del nutriente A( pues EA
= 0) y las 10 unidades requeridas del nutriente C ( pues EC = 0), mientras que del nutriente B
tendrá 4 unidades por encima de las 30 requeridas ( pues EB = 4), del nutriente D tendrá 3
unidades más que las 5 requeridas ( pues ED = 3) y del nutriente E tendrá 6 unidades
adicionales a las 10 requeridas ( pues EE = 6). Dicho más exactamente, la mezcla (comida)
que se prepare con los gramos de cada ingrediente prescritos por esta solución óptima, tendrá
la siguiente composición:

cantidad cantidad
Nutriente exceso
contenida requerida
Podemos A 20 20 0 decir que,
si nos B 34 30 4
C 10 10 0
D 8 5 3
E 16 10 6

aumentaran, por ejemplo, en una unidad, las exigencias de alguno de los nutrientes B, D o E, el
costo (y la mezcla actual de ingredientes) no cambiaría ya que las unidades de esos nutrientes
con que efectivamente queda la comida, son superiores a las exigencias, así estas suban en
una unidad.

Solución aumentando en uno las exigencias del nutriente B


Solución aumentando en uno las exigencias del nutriente D

En cambio, sí, por ejemplo, nos piden que la comida debe contener una unidad más del
nutriente A, (la exigencia será de 21 unidades y no de 20) la solución actual (X 1=2 y X2= 4,), no
cumpliría esta nueva condición y por ello no sería más la solución óptima. Será necesario
encontrar una mezcla diferente de los ingredientes, de tal forma que el contenido del nutriente
A sea de 21 unidades y esta mayor exigencia elevará el costo de la comida.

Escribamos el modelo modificado al incluir esta nueva exigencia para el contenido del nutriente
A y resolvámoslo.

Minimizar Costo: Utilidad= 200X1+ 300X2+ 250X3

Sujeto a: 4X1 + 3X2 + 2X3≥ 21 Nutriente A


5X1 + 6X2 + 3X3≥ 30 Nutriente B
1X1 + 2X2 + 1X3≥ 10 Nutriente C
2X1 + 1X2 + 2X3≥ 5 Nutriente D
2X1 + 3X2 + 1X3 ≥ 10 Nutriente E

Con Xi ≥ 0, i =1, 2,3.

Solución aumentando en uno las exigencias del nutriente A

X1 = 2.4 X2 = 3.8 EB = 4.8


ED = 3.6 EE = 6.2 costo $
1 620
En el Dual:
YA = 20; YC = 120; H3* = 90; ZD = $1 600

La conclusión de la dietista será entonces mezclar dos gramos del ingrediente 1 y cuatro
gramos del ingrediente 2, para obtener la comida a un costo mínimo de $1600. Pero también
puede adquirir las pastillas de una unidad de los nutrientes, pagando un máximo de $20 por
cada pastilla del nutriente A y de $120 por cada pastilla del nutriente C.

De esta manera, si las unidades de vitamina A se consiguen a un precio inferior de $20, o las
de vitamina B a un precio inferior de $120, es más favorable para la dietista comprar las
unidades, ya que obtiene una disminución de los costos en comparación con el costo de
preparar la comida.

Acá se ha planteado esta situación hipotética del dual, no con el ánimo de llevarla a cabo sino
como medio para determinar el costo implícito de las unidades asociadas a cada restricción del
modelo primal.

Hablamos de las unidades de vitamina A y B cuyos precios sombra o costos implícitos fueron
dados por el valor de las variables del modelo dual.
Es decir, las variables del modelo dual pueden significar ya sea la utilidad marginal o el costo
implícito (precio sombra) de un recurso, dependiendo del contexto lógico del problema primal al
que se refiera.

También podría gustarte