Professional Documents
Culture Documents
MODELACIÓN MATEMÁTICA
Y OPTIMIZACIÓN
1. TEORÍA DE DUALIDAD
El problema dual puede definirse en forma matemática. Sin embargo, es adecuado
comenzar por una interpretación económica.
Supóngase que en una empresa se producen dos artículos: 1 y 2. Las utilidades netas
unitarias son respectivamente, 35 y 80 u.p/unidad. Los requerimientos unitarios y la
disponibilidad de las máquinas son:
hr.máq.1 hr.máq.2
ARTICULO
unidad unidad
1 2 5
2 3 4
Disponibilidad 300 500
MAXIMIZAR Z = 35 X 1 + 80 X 2
Sujeto a :
2 X 1 + 3 X 2 ≤ 300 (Recurso 1) (Problema Primal)
5X 1 + 4X 2 ≤ 500 (Recurso 2)
(X1 , X 2 ) ≥ 0
Ahora, los recursos, en este caso las máquinas, pueden ser dedicados a otra actividad
diferente a la de producir los artículos 1 y 2. Para ello, sean:
y el producto:
unid .R2 u. p u. p
5W2 ⇒ × =
unid . prod .1 unid .R2 unid . prod .1
y, si se efectúa la suma:
y, análogamente:
3W1 + 4W2 ≥ 80 [u.p/unid. prod. 2]
Para hallar la función objetivo del problema que se está construyendo a partir del
problema primal, puede pensarse así: se desea minimizar el costo total de los recursos
involucrados en las otras actividades. Así, el problema dual es:
Por lo tanto, la solución del problema dual da una valiosa información: el precio
unitario adicional máximo que puede pagarse por cada unidad adicional de recurso escaso.
Esto se concluye de la propia definición de la función objetivo del problema dual, ya que,
como se verá posteriormente, el valor óptimo de la función objetivo del problema primal es
igual al valor óptimo de la función objetivo del problema dual ( o sea Zmáx = Z'mín).
Matricialmente estos dos problemas pueden definirse como:
42 Introducción a la Modelación Matemática y Optimización
CX ≤ W T b q.e.d
TEOREMA 4.2: Sean X̂ y Ŵ dos soluciones factibles para los problemas primal y
dual respectivamente. Si se cumple que:
CXˆ =Wˆ Tb
entonces X̂ y Ŵ son las soluciones óptimas de los problemas primal y dual
respectivamente.
Demostración:
ˆ , W) . Del Teorema 4.1 se concluye que:
a) Tómese la pareja de soluciones factibles ( X
CXˆ ≤ WT b
pero como CX ˆ =W ˆ T b , por hipótesis, entonces, W ˆ T b ≤ W T b , donde W T es
cualquier solución factible del problema dual. Por lo tanto, W ˆ T b será el mínimo y es entonces
la solución óptima del problema dual.
1
Más adelante se verá que cualquier problema de PL tiene su dual asociado. Sin embargo, para hallarlo debe
estar en la forma mostrada, o sea con función objetivo de maximización y restricciones menor ó igual (≤).
ˆ ) ; por el Teorema 4.1:
b) Tómese ahora la pareja ( X, W
CX ≤ W ˆ Tb
Pero:
CXˆ =W ˆ T b , por hipótesis.
Luego:
CX ≤ CX ˆ
ˆ será el máximo y
donde X es cualquier solución factible del problema primal. Así, CX
es entonces la solución óptima del primal (q.e.d).
1.1.1. Solución del Problema Dual
Var.
CB XB X1 X2 S1 S2 S3
Básicas
X2 700 450 0 1 15/14 -15/14 0
X1 400 350 1 0 -3/2 5/2 0
S3 0 100 0 0 3/7 -10/7 1
44 Introducción a la Modelación Matemática y Optimización
Z j − C j ≥ 0, ∀j
O, en forma compacta:
C B B −1 A ≥ C
−1
Si W = C B B , entonces W A ≥ C
T T
Con lo que se conseguiría cumplir con las restricciones del dual. Obsérvese que las
condiciones de optimalidad del problema primal son equivalentes a las condiciones de
factibilidad del problema dual.
Falta por demostrar que la solución del dual propuesta satisface las condiciones de no
negatividad y el valor óptimo de la función objetivo. En particular para las variables de
holgura, las cuales forman la matriz idéntica, se cumple que:
C B B −1I ≥ 0
−1
pues sus coeficientes en la función objetivo son iguales a cero. Luego, si W = C B B ,
T
se cumple que:
WT ≥ 0 ,
o sea que se trata de una solución factible del problema dual. Pero, será la óptima??
Z1 = W T b = C B B −1b = C B X B = Z
Luego, de acuerdo con el Teorema 4.2 dicha solución debe ser óptima. (q.e.d)
Conclusión: la solución óptima del problema dual aparece en el tablero final
SIMPLEX del problema primal en la fila de los Zj, debajo de las columnas que forman la
inversa de la base óptima., o sea que W T = C B B −1 .
MIN Z = 3X 1 + 5X 2
Sujeto a : X1 ≤ 4
2 X 2 = 12
3 X 1+2 X 2 ≥ 18
(X1, X 2 ) ≥ 0
Para obtener el problema dual, el modelo debe llevarse a la forma dada en el modelo
generalizado (4.1). La función objetivo se multiplica por (-1) y queda entonces convertida a
una función de Maximización. Las restricciones de ≥ basta con multiplicarlas por (-1) y las
restricciones de igualdad se reemplazan por dos restricciones de desigualdad: una de ≥ y otro
de ≤. Nótese que aquí no interesa que queden valores negativos en los términos del lado
derecho (Vector b)
Maximizar U = − 3 X 1 − 5 X 2
Sujeto a :
X1 ≤4
2 X 2 ≤ 12
− 2 X 2 ≤ −12
− 3 X 1 − 2 X 2 ≤ −18
(X1, X 2 ) ≥ 0
MAX Z = 4 X1 + 3X 2
Sujeto a : X1 ≤6
X2 ≤ 8
X1 + X2 ≤ 7
3 X 1 + X 2 ≤ 15
− X2 ≤1
( X1, X 2 ) ≥ 0
Obsérvese que el problema tiene dos variables de decisión y cinco restricciones. Así,
las bases serían de orden m = 5. Pero, si se plantea el problema dual asociado, tendría cinco
variables duales y dos restricciones, por lo tanto se trabajaría con bases de orden 2, lo cual es
más manejable manual y computacionalmente. Obviamente, esta aplicación adquiere mucho
más sentido en grandes problemas que se presentan en la vida real.
5 1 l
W1 = W2 = W5 = 0 W3 = W4 = Z mín = 25
2 2
X1 = 4 X 2 = 3 Zmáx = 25
Zj −Cj
θ= ; y kj < 0 y se escoge el valor MINIMO (para problemas de MINIMIZACION)
y kj
Zj −Cj
θ= ; y kj < 0 y se escoge el valor MINIMO (para problemas de MAXIMIZACION)
y kj
donde k es el subíndice asociado a la variable que va a salir de la base.
c) La reducción de Gauss-Jordan es semejante a la del algoritmo SIMPLEX normal.
Ejemplo 5.1: aplicar el algoritmo SIMPLEX dual para resolver el siguiente modelo de
programación lineal:
MIN Z = 16 X 1 + 11X 2 + 15 X 3
Sujeto a : 2X1 + X 2 + X 3 ≥ 3
X 1 + 2 X 2 + 3X 3 ≥ 5
( X1, X 2 , X 3 ) ≥ 0
Obsérvese que si se fuera a resolver mediante el algoritmo SIMPLEX normal, se
necesitarían dos variables artificiales para crear la base inicial. El procedimiento mediante el
método SIMPLEX dual es como sigue:
MIN Z = 16 X 1 + 11X 2 + 15 X 3
Sujeto a : 2 X 1 + X 2 + X 3 − S1 = 3
X 1 + 2 X 2 + 3X 3 - S2 = 5
( X 1 , X 2 , X 3 , S1 , S 2 ) ≥ 0
Cj
16 11 15 0 0
Variables
CB XB X1 X2 X3 S1 S2
Básicas
S1 0 -3 -2 -1 -1 1 0
S2 0 -5 -1 -2 -3 0 1
Zj 0 0 0 0 0 0 Se satisfacen
Zj −Cj -16 -11 -15 0 0 condiciones de
16 5.5 5
θ optimalidad
S1 0 -4/3 -5/3 -1/3 0 1 -1/3
X3 15 5/3 1/3 2/3 1 0 -1/3
Zj 25 5 10 15 0 -5
Z j −Cj -11 -1 0 0 -5 Se mantiene
6.6 3 15 optimalidad
θ
X2 11 4 5 1 0 -3 1
X3 15 -1 -3 0 1 2 -1
Zj 29 10 11 15 -3 -4
Zj −Cj -6 0 0 -3 -4 Se mantiene
2 NO 4
θ optimalidad
X2 11 7/3 0 1 5/3 1/3 -2/3
Se logro la
X1 16 1/3 1 0 -1/3 -2/3 1/3
factibilidad:
Zj 31 16 11 13 -7 -2 SOLUCIÓN
Z j −Cj 0 0 -2 -7 -2 ÓPTIMA
2. ANÁLISIS DE SENSIBILIDAD
Dado un problema de PL de la forma:
MAX Z = CX
Sujeto a : AX ≤ b
X≥0
Así, los cambios en el vector b pueden afectar la factibilidad y los cambios en los
coeficientes de la función objetivo y de algunas de las columnas de la matriz A pueden afectar
la optimalidad.
Todos estos cambios presuponen que la matriz base óptima B va a permanecer sin
cambios, ya que si se afecta la base puede dañarse la factibilidad y la optimalidad
simultáneamente, y puede ser preferible volver a resolver el problema desde un comienzo.
2.1. CAMBIOS EN EL VECTOR C (Coeficientes de la
función objetivo)
2.1.1. Cambios en los Coeficientes de la Función Objetivo de una Variable
No-Básica.
En este caso los Z j no cambian pues el CB permanece constante; sólo cambian los C j .
Si C j va a cambiar a C j , entonces debe cumplirse que Z j − C j ≥ 0 (Maximización)
* *
para que la solución siga siendo óptima. Si se rompe el criterio de optimalidad, entonces se
sigue iterando con el algoritmo SIMPLEX normal a partir de ese punto.
En este caso, dado que cambia el vector C B , cambian los C j . Por lo tanto, éstos deben
recalcularse para investigar las condiciones de optimalidad.
criterio de optimalidad se rompe, debe seguirse iterando con el algoritmo SIMPLEX normal.
(interpretación económica del problema dual), es válido en el rango para el cual la base
óptima sigue siendo la misma.
b * = b + ∆b
B −1 b * = B −1 b + B −1 ∆b
Y j = B −1a *
*
j
Y se recalcula:
Z j = CB Yj
* *
dicha condición, la solución actual sigue siendo óptima; si no se cumple, entonces se continúa
iterando con el algoritmo SIMPLEX normal, hasta obtener las condiciones de optimalidad.
Entonces se calcularía:
Yn +1 = B −1a
n +1
Z n +1 = C B Yn +1
Obsérvese que este caso puede tratarse como si la columna original an +1 hubiera sido
de ceros y estuviera cambiando a los valores dados.
MAX Z = 3 X 1 + 5 X 2
Sujeto a : X 1 ≤4
2 X 2 ≤ 24
3 X 1 + 2 X 2 ≤ 18
(X1, X 2 ) ≥ 0
MAX Z = 3 X 1 + 5 X 2
Sujeto a : X 1 + S1 =4
2X 2 + S2 = 24
3X 1 + 2 X 2 + S 3 = 18
( X 1 , X 2 , S1 , S 2 , S 3 ) ≥ 0
Cj 3 5 0 0 0
Variables
CB XB X1 X2 S1 S2 S3
Básicas
S1 0 4 1 0 1 0 0
X2 5 9 3/2 1 0 0 ½
S2 0 6 -3 0 0 1 -1
Zj 45 15/2 5 0 0 5/2
Zj −Cj 9/2 0 0 0 5/2
Cj 3 5 0 0 0 0
Variables CB XB X1 X2 S1 S2 S3 S4 Entra como
variable básica
Básicas
S1 0 4 1 0 1 0 0 0 Obsérvese que
X2 5 9 3/2 1 0 0 ½ 0 X2 es básica,
S2 0 6 -3 0 0 1 -1 0 pero su
columna es [0 1
S4 0 24 2 3 0 0 0 1 0 3], luego,
S1 0 4 1 0 1 0 0 0 debe corregirse
X2 5 9 3/2 1 0 0 ½ 0 mediante
Gauss-Jordan
S2 0 6 -3 0 0 1 -1 0
S4 0 -3 -5/2 0 0 0 -3/2 1
Zj 45 15/2 5 0 0 5/2 0
Zj −Cj 9/2 0 0 0 5/2 0
θ 1.8 1.66
Aquí se toma el θ
S1 0 4 1 0 1 0 0 0 en valor absoluto
X2 5 8 2/3 1 0 0 0 1/3 (Maximización)
S2 0 8 -4/3 0 0 1 0 -2/3 NUEVA
S3 0 2 5/3 0 0 0 1 -2/3 SOLUCIÓN
ÓPTIMA
Zj 40 10/3 5 0 0 0 5/3
Zj −Cj 1/3 0 0 0 0 5/3
Obsérvese que el nuevo valor óptimo de la función objetivo es Z*máx = 40 < 45 (Valor
anterior), como es de esperarse al añadir una nueva restricción que vuelva al problema no-
factible.
1. Incrementar la capacidad del taller T3, introduciendo una nueva máquina que
añade 6000 hr/año de capacidad con un costo de $1’020.000 anuales.
2. Una inversión en publicidad que vale $700.000 anuales y que podría cambiar las
demandas en 20, 14 y 10 respectivamente (o sea que las nuevas demandas serían
30, 22 y 20, respectivamente).
3. Una investigación que cuesta $1’200.000 al año y que permitiría disminuir el
tiempo requerido en el taller T3 para el producto A3, de 1000 a 500 hr/unidad.
4. Un esfuerzo técnico por reducir los costos, aumentando el beneficio unitario del
producto A3 en $60.000/unidad. El costo de amortización durante la vida
remanente de fabricación del producto sería de $400.000/año.
Nota: las alternativas NO son mutuamente excluyentes, o sea que podría estudiarse
combinación de ellas.
3
Se ha dividido la función objetivo Z entre 50.000 ( Z′ = Z / 50000 ) para trabajar más fácilmente.
Sujeto a : 100 X 1 + 500 X 2 + 400 X 3 + S1 = 12000
500 X 1 + 1000 X 2 + 800 X 3 + S2 = 18000
600 X 1 + 1000 X 3 + S3 = 6000
X1 + S4 = 10
X2 + S5 =8
X3 + S6 = 10
( X 1 , X 2 , X 3 ) ≥ 0; S j ≥ 0; j = 1,2,...,6
El lector debe comprobar que la solución óptima única viene expresada en el siguiente
tablero final óptimo:
Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 0 1 0 -0.4 140 -500 0
Solución S2 0 5000 0 0 0 0 1 -0.8 -20 -1000 0
óptima
degenerada X3 4.8 0 0 0 1 0 0 0.001 -0.6 0 0
(X3=0 X1 3 10 1 0 0 0 0 0 1 0 0
y básica) X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 0 0 0 -0.001 0.6 0 1
Zj 62 3 4 4.8 0 0 .0048 0.12 4 0
Z j −Cj 0 0 0 0 0 .0048 0.12 4 0
w1=0
w2=0
58 Introducción a la Modelación Matemática y Optimización
w3=(0.0048)(50000)=240 4
w4=(0.12)(50000)=6.000
w5=(4)(50000)=200.000
w6=0
Es importante notar que algunos solucionadotes como WinQSB pueden dar una
solución diferente a la anterior, ya que en el penúltimo tablero simplex se presenta un empate
en la regla de salida.
Obsérvese que la nueva solución sigue siendo factible y, por lo tanto, es también
óptima. Se mantienen los niveles de producción de A1 y A2 y ahora si debe producirse A3
(X3=6 unidades/año de A3).
4
Obsérvese que la solución del problema dual debe multiplicarse también por 50.000 , al igual que el valor real
óptimo de la función objetivo.
5
Tómese B−1 del tablero óptimo de la sección anterior y compruébese este resultado.
Z = [3(10) + 4(8) + 4.8(6)] × 50000 = $4'540.000 / Año
menos el valor de recurso adicional = $1'020.000 / Año
$3'520.000 / Año
Por lo tanto, esta alternativa por sí sola es adecuada (el valor óptimo anterior era de
$3’100.000/año).
Nota: Del análisis dual se concluyó que por cada hora adicional de T3 la función
objetivo se incrementaría en $240/hr·T3. En este caso esto se cumple ya que la base óptima no
cambia, y:
$240
× 600hr·· T 3 = 1'440.000 $ / Año
hr·· T 3
+ 3'100.000 $ / Año
4'540.000 $ / Año
que era lo que se había obtenido.
Este análisis del problema dual será válido si la composición básica de la solución
óptima NO cambia, o sea si la solución permanece factible. Además, obsérvese que se está
pagando:
1'020.000 $ / Año
= $170 / hr < $240 / hr
6000 hr / Año
que es el máximo adicional que estaba dispuesto a pagarse por cada hora adicional en
T3, lo cual confirma aún más lo dicho anteriormente.
Una pregunta que podría surgir es: cuánto es lo máximo que se pueden aumentar las
hr/Año disponibles en T3 para que se siga manteniendo la factibilidad y por lo tanto la función
objetivo crezca a razón de $240/hr·T3?
En este caso:
Luego se rompe la factibilidad y habría que seguir iterando con el algoritmo SIMPLEX
DUAL; el lector debe comprobar que la nueva solución óptima es:
X 1 = 10 X 2 = 13 X 3 = 0 S1 = 4500 S 2 = S 3 = 0 S 4 = 20 S 5 = 9 S 6 = 20
*
Z máx = (82)(50.000) = 4'100.000 $ / Año
− Costo Publicidad = 700.000 $ / Año
$3'400.000/Año
Obsérvese que aquí NO se cumple lo previsto por la solución del dual, ya que cambia
base óptima al romperse la factibilidad. De acuerdo al dual la función objetivo debía
incrementarse en:
(6.000)(20) + (200.000)(14) + (0)(10) = 2'920.000
Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 700/3 1 0 -1/6 0 -500 0
S2 0 5000 0 0 -100/3 0 1 -5/6 0 -1000 0
X1 3 10 1 0 5/3 0 0 1/600 0 0 0
S4 0 0 0 0 -5/3 0 0 -1/600 1 0 0
X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 1 0 0 0 0 0 1
Zj 62 3 4 5 0 0 1/200 0 4 0
Z j −Cj 0 0 0.2 0 0 1/200 0 4 0
Z *3 = (C B B −1 ) a3* = C B Y3*
O sea:
Y luego si se itera con la nueva columna. El lector debe comprobar que la nueva
solución óptima es:
X 1 = 1 23 X 2 = 8 X 3 = 10 S1 = 3833 13 S 2 = 1166 23 S 3 = 0 S 4 = 8 13 S5 = S6 = 0
*
Z máx = (85)(50.000) = 4'250.000 $ / Año
− Costo alternativa = 1'200.000 $ / Año
$3'050.000/Año
X1 = 0 X 2 = 8 X 3 = 6 S1 = 5600 S 2 = 5200 S 3 = 0 S 4 = 10 S 5 = 0 S 6 = 4
*
Z máx = (68)(50.000) = 3'400.000 $ / Año
− Costo alternativa = 400.000 $ / Año
$3'000.000/Año
Luego, por sí sola esta alternativa no sería adecuada. Trate el lector de verificar
combinaciones de alternativas(primero parejas, luego ternas y luego las cuatro) por
computador y llegar a la conclusión de que la mejor alternativa combinada que puede hacerse
es:
X 1 = 3 13 X2 = 8 X 3 = 10
*
Z máx = 5'100.000 $ / Año
− Costo alternativa = 1'420.000 $ / Año
$3'680.000/Año