introducciÓn a la - campusvirtual.univalle.edu.co · introducción a la modelación matemática y...
TRANSCRIPT
INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA
Y OPTIMIZACIÓN
Carlos Julio Vidal Holguín
UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA
INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA
Y OPTIMIZACIÓN
UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA
INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y OPTIMIZACIÓN
Programación Lineal, Programación No Lineal y Teoría de Redes: Formulación y solución de modelos, teoría de dualidad, análisis de
sensibilidad, problema del transporte y problemas seleccionados de redes. (Versión 1.5 Agosto de 2005)
Escrito y recopilado por Carlos Julio Vidal Holguín
Cali, Agosto de 2005
Introducción a la Modelación Matemática y Optimización 40
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:
ARTICULO
1 2 5 2 3 4
Disponibilidad 300 500
El modelo de PL correspondiente para este enunciado sería:
0)X,(X
2) (Recurso 5004X5X
1) (Recurso 30032
:a Sujeto
8035
21
21
21
21
≥≤+≤+
+=
XX
XXZMAXIMIZAR
(Problema Primal)
Donde: X1= Número de artículos tipo 1 a producir, X2 = Número de artículos tipo 2 a
producir. A este problema anterior se le denomina problema primal. 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:
Los W1, W2 se denominan precios sombra o costos de oportunidad y representan el valor de un recurso cuando se dedica a la mejor alternativa posible. Los coeficientes 2, 5, 3 y 4 son unidades de recurso Ri necesarias para la producción de una unidad de artículo i (i = 1,2). Si se efectúa el producto:
y el producto:
unidad
máqhr 1..
unidad
máqhr 2..
2../.2 recurso de u.p/unidad
1../.1 recurso de u.p/unidad
2
1
máqhrpuW
máqhrpuW
→→→→
1..
.
.
.
1..
.2
1
11 produnid
pu
Runid
pu
produnid
RunidW =×⇒
1..
.
.
.
1..
.5
2
22 produnid
pu
Runid
pu
produnid
RunidW =×⇒
y, si se efectúa la suma:
⇒+ 21 52 WW Ganancia obtenida si los recursos se dedican a
otra actividad [u.p/unid. prod. 1]
Por lo tanto, debe esperarse que:
3552 21 ≥+ WW [u.p/unid. prod. 1]
y, análogamente: 8043 21 ≥+ WW [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:
0)W,(W
804W3W
3552
:a Sujeto
500300
21
21
21
21'
≥≥+≥+
+=
WW
WWZMINIMIZAR
(Problema Dual)
La solución del problema dual da la información acerca de los “costos de
oportunidad” de los recursos o “precios sombra”, es decir, la tasa a la cual podría incrementarse (o decrecer) la función objetivo del problema primal, incrementando (o disminuyendo) ligeramente la cantidad de recurso. Esto será aclarado más adelante.
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:
Introducción a la Modelación Matemática y Optimización 42
Primal Problema
0X
bAX :a Sujeto
CX
≥≥≥≥
≤≤≤≤
====ZMAX
(4.1) 1
Dual Problema
0W
CAW :a Sujeto
bW
T
'
≥≥≥≥
≥≥≥≥
==== TZMIN
(4.2)
1.1. RELACIONES ENTRE LOS PROBLEMAS PRIMAL Y DUAL
TEOREMA 4.1: Sean X y W dos soluciones factibles del problema primal y dual,
respectivamente; entonces se cumple que: bWCX T≤
Demostración: Del problema primal:
Premultiplicando por WT:
(4.3) Ahora, del problema dual:
Postmultiplicando por X:
(4.4) Si se combinan las desigualdades (4.3) y (4.4), se obtiene:
q.e.d
TEOREMA 4.2: Sean X y W dos soluciones factibles para los problemas primal y dual respectivamente. Si se cumple que:
entonces X y W son las soluciones óptimas de los problemas primal y dual
respectivamente. Demostración: a) Tómese la pareja de soluciones factibles ),ˆ( WX . Del Teorema 4.1 se concluye que:
bWXC T≤ˆ pero como bWXC Tˆˆ = , por hipótesis, entonces, bWbW TT ≤ˆ , donde TW es
cualquier solución factible del problema dual. Por lo tanto, bW Tˆ 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 (≤).
bAX ≤
bWAXW T≤T
CAW ≥T
CXAXW ≥T
bWCX T≤
bWXC Tˆˆ =
b) Tómese ahora la pareja )ˆ,( WX ; por el Teorema 4.1:
Pero:
bWXC Tˆˆ = , por hipótesis. Luego:
XCCX ˆ≤ donde X es cualquier solución factible del problema primal. Así, XC ˆ será el máximo y
es entonces la solución óptima del primal (q.e.d). 1.1.1. Solución del Problema Dual
El problema dual asociado a un problema primal está íntimamente ligado a éste. Se va
a demostrar que si se resuelve el problema primal mediante el algoritmo SIMPLEX, el problema dual aparece resuelto automáticamente en el tablero final. Por lo tanto, basta sólo con resolver uno de los dos problemas!
Supóngase que se ha resuelto el problema de los transformadores mediante el método
SIMPLEX. El modelo original, problema primal, es el siguiente:
[ ] ( )[ ] ( )[ ] ( )
( ) 0,
..900
..9804.1
hom.14003
7
:
700400
21
3221
221
121
21
≥≤+
≤+
≤+
+=
XX
RmaqhrXX
RmaqhrXX
RbrehrXX
aSujeto
XXZMaximizar
q
El problema dual asociado será, por lo tanto:
El tablero final del método SIMPLEX aplicado al problema primal es el siguiente
(Compruébelo!!):
Var. Básicas X1 X2 S1 S2 S3
X2 X1 S3
700 400 0
450 350 100
0 1 0
1 0 0
15/14 -3/2 3/7
-15/14 5/2
-10/7
0 0 1
bWCX Tˆ ≤
0)W,W,(W
0071.4WW3
7
400 W
:a Sujeto
9009801400 MINIMIZAR
321
321
321
321'
≥
≥++
≥++
++=
W
WW
WWWZ
BC BX
Introducción a la Modelación Matemática y Optimización 44
455000
400 0
700 0
150 150
250 250
0 0
Se va a plantear la hipótesis de que la solución óptima del problema dual aparece debajo de la inversa de la base óptima, en la fila de los Zj (o sea que la solución óptima del
dual es ). Las condiciones de optimalidad del primal son:
Esto es equivalente a decir:
O, en forma compacta:
Si , entonces 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:
pues sus coeficientes en la función objetivo son iguales a cero. Luego, si , se cumple que:
, o sea que se trata de una solución factible del problema dual. Pero, será la óptima?? Si se evalúa el valor de la función objetivo para esta solución, se obtiene:
Luego, de acuerdo con el Teorema 4.2 dicha solución debe ser óptima. (q.e.d)
jZ
jj CZ −
1−BCB
jCZ jj ∀≥− ,0
jB jCBC ≥− a1
CABC ≥−1B
1−= BCW BT
CAW ≥T
01 ≥− IBCB
1−= BCW BT
0≥TW
ZXCbBCbWZ ==== −BBB
1T1
Solución óptima del problema dual asociado
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 1−−−−==== BCW B
T . Para el problema de los transformadores, la solución óptima del problema dual
asociado es:
O sea que si se incrementa en 1 unidad el recurso hora-hombre, la función objetivo se
incrementaría en 150. Si se incrementa en una unidad el recurso hora-máquina1, la función objetivo se incrementaría en 250, pero si se incrementa el recurso hora-máquina2, la función objetivo permanecería constante ya que se trata de un recurso sobrante. Lo anterior es válido solo dentro de cierto rango, lo que se verá más adelante. En otras palabras, lo máximo que estaría dispuesto a pagarse adicionalmente por casa unidad extra de hora-hombre y de hora-máquina1 (recursos escasos) sería $150 y $250 respectivamente.
1.1.2. El problema Dual Adaptado a Otros Modelos de Programación Lineal
Se va a desarrollar la forma de obtener el problema dual de cualquier modelo de programación lineal.
Considérese, por ejemplo:
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)
Así, el modelo del ejemplo anterior quedaría:
455000mín Z0 250 150 l321 ==== WWW
0 ) ,(
1823
122
4 :a Sujeto
53 Z
21
21
2
1
21
≥≥+
=≤
+=
XX
XX
X
X
XXMIN
Introducción a la Modelación Matemática y Optimización 46
( ) 0,
1823
122
122
4
:
53
21
21
2
2
1
21
≥−≤−−−≤−
≤≤
−−=
XX
XX
X
X
X
aSujeto
XXUMaximizar
Por lo tanto, el problema dual asociado sería:
( )
( )( ) 0,,,
522
33
:
18124'
4321
432
41
4321
≥−≥−−
−≥−
−−+=
WWWW
WWW
WW
aSujeto
WWWWZMinimizar
Obsérvese que las variables duales W2 y W3 aparecen siempre en la forma (W2 − W3) y
por lo tanto podrían ser reemplazadas por una sola variable W= W2 − W3 no restringida en signo.
Conclusión: La variable dual asociada a una restricción de igualdad del problema
primal, aparece en el problema dual asociado como una variable no restringida en signo.
1.1.3. Otras Propiedades del Problema Dual
Propiedad de simetría: El problema dual del dual es el problema primal original. Principio de holgura complementaria: a) Si una variable de holgura Si (añadida a la i-ésima restricción) del problema primal
aparece como básica en la solución óptima del problema primal, entonces la correspondiente variable dual Wi tomará valor cero en la solución óptima del dual.
b) Si la variable de decisión Xj (no de holgura) aparece como básica en la solución
óptima del primal, entonces en la correspondiente solución óptima del dual la j-ésima restricción dual es una igualdad estricta, o, equivalentemente, su variable dual de holgura asociada es igual a cero.
1.2. APLICACIONES DE LA TEORÍA DE DUALIDAD
Las aplicaciones más importantes de la teoría de dualidad son: a) Interpretación económica del problema primal (ya ilustrada). b) Ahorro en cálculos en la solución de modelos de PL. c) Algoritmo SIMPLEX dual. d) Utilidad en análisis de sensibilidad. Se ilustrará a continuación las aplicaciones (b) y (c) y, posteriormente en una sección
independiente, la (d).
1.2.1. Ahorro en Cálculos
Supóngase que se tiene que resolver el problema:
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.
Ejercicio: Plantee el correspondiente problema dual asociado y resuélvalo. Muestre
que la solución óptima del dual es:
Y que la solución óptima del primal es:
Ilustre con este ejemplo el principio de holgura complementaria.
0 ) ,(
1
15 3
7
8
6 :a Sujeto
34 Z
21
2
21
21
2
1
21
≥≤−≤+≤+≤≤
+=
XX
X
XX
XX
X
X
XXMAX
52mín Z2
1
2
5 0 l
43521 ====== WWWWW
52 Zmáx3 4 21 === XX
Introducción a la Modelación Matemática y Optimización 48
1.2.2. El Algoritmo SIMPLEX Dual
El algoritmo SIMPLEX normal mantiene la factibilidad y busca la optimalidad. El algoritmo SIMPLEX dual mantiene el criterio de optimalidad y trata de buscar la factibilidad. Este algoritmo puede aplicarse si al comienzo del proceso se cumplen las condiciones de OPTIMALIDAD, bajo una solución NO-FACTIBLE.
Las reglas para el algoritmo SIMPLEX dual son: a) Se busca primero la variable candidata a salir de la base: sale de la base aquella
variable cuyo valor sea “el más negativo” (la “menos factible”). b) Para saber cual variable entra a la base se calcula:
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:
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:
Y ahora, multiplicando por (-1) a ambas igualdades, se obtiene:
ON)MINIMIZACI de problemas (para MINIMO valor el escoge sey 0 ; <<<<−−−−
==== kjkj
jj yy
CZθ
ON)MAXIMIZACI de problemas (para MINIMO valor el escoge sey 0 ; <<<<−−−−
==== kjkj
jj yy
CZθ
0 ), ,(
532
32 :a Sujeto
151116 Z
321
321
321
321
≥≥≥≥≥≥≥≥++++++++
≥≥≥≥++++++++++++++++====
XXX
XXX
XXX
XXXMIN
0 ),,, ,(
5- 32
32 :a Sujeto
151116 Z
21321
2321
1321
321
≥≥≥≥====++++++++
====−−−−++++++++++++++++====
SSXXX
SXXX
SXXX
XXXMIN
En este caso, los tableros correspondientes serían los siguientes:
16 11 15 0 0 Variables Básicas X1 X2 X3 S1 S2
S1 S2
0 0
-3 -5
-2 -1
-1 -2
-1 -3
1 0
0 1
θ
0
0 -16 16
0 -11 5.5
0 -15 5
0 0
0 0
S1 X3
0 15
-4/3 5/3
-5/3 1/3
-1/3 2/3
0 1
1 0
-1/3 -1/3
θ
25
5 -11 6.6
10 -1 3
15 0
0 0
-5 -5 15
X2 X3
11 15
4 -1
5 -3
1 0
0 1
-3 2
1 -1
θ
29
10 -6 2
11 0
15 0
-3 -3
NO
-4 -4 4
X2 X1
11 16
7/3 1/3
0 1
1 0
5/3 -1/3
1/3 -2/3
-2/3 1/3
31
16 0
11 0
13 -2
-7 -7
-2 -2
Luego la solución óptima del problema es:
X1=1/3, X2=7/3, X3=0, S1=0, S2=0, Zmín = 31.
Nota al algoritmo SIMPLEX DUAL: el algoritmo SIMPLEX DUAL reconoce la no factibilidad en el problema primal cuando la regla del cociente θ falla para identificar la variable que debe entrar, o sea que el SIMPLEX DUAL asegura que el problema primal no tiene solución factible alguna, si todos los coeficientes de la fila correspondiente a la variable que va a salir son mayores o iguales a cero.
0),,,,(
-5 3-2--
-3 --2- :a Sujeto
151116
21321
2321
1321
321
≥≥≥≥====++++====++++
++++++++====
SSXXX
SXXX
SXXX
XXXZMIN
jC
BC BX
jZ
jj CZ −
jZ
jj CZ −
jZ
jj CZ −
jZ
jj CZ −
Se satisfacen condiciones de
optimalidad
Se mantiene optimalidad
Se mantiene optimalidad
Se logro la factibilidad: SOLUCIÓN
ÓPTIMA
Introducción a la Modelación Matemática y Optimización 50
2. ANÁLISIS DE SENSIBILIDAD
Dado un problema de PL de la forma:
pueden ocurrir variaciones en los valores de sus parámetros C, A y b. En el análisis de sensibilidad se estudia básicamente: a) Cambios en los coeficientes de la función objetivo (Vector C) b) Cambios en los valores del lado derecho (Vector b) c) Cambios en las columnas de la matriz A. d) Adición de una nueva variable. e) Adición de una nueva restricción. Cuando se produce un cambio en algún valor de un parámetro de un modelo de
programación lineal puede ocurrir una de dos cosas (ó ambas, ó ninguna):
- Se afecta la factibilidad, dada por: - Se afecta la optimalidad, dada por: 0BC ión);(Maximizac 0 1 ≥≥≥≥≥≥≥≥−−−− −−−−−−−−
jBjj jCZ Ca
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.
0
:a Sujeto
≥≥≥≥≤≤≤≤
====
X
bAX
CXMAX Z
0 ;1 ≥≥≥≥==== −−−−BB XbBX
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 jZ no cambian pues el CB permanece constante; sólo cambian los jC .
Si jC va a cambiar a *jC , entonces debe cumplirse que ión)(Maximizac 0* ≥≥≥≥−−−− jj CZ
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.
2.1.2. Cambios en los Coeficientes de la Función Objetivo de una Variable Básica.
En este caso, dado que cambia el vector BC , cambian los jC . Por lo tanto, éstos deben
recalcularse para investigar las condiciones de optimalidad.
Si jZ cambia a *jZ , debe chequearse que ión)(Maximizac 0* ≥≥≥≥−−−− jj CZ .2 Si el
criterio de optimalidad se rompe, debe seguirse iterando con el algoritmo SIMPLEX normal.
2.2. CAMBIOS EN EL VECTOR b (Vector de recursos)
En este caso no se afecta la optimalidad, pero puede afectarse la factibilidad. Si se verifica que la nueva solución:
es mayor o igual que cero, o sea factible, entonces la composición de la solución
óptima sigue siendo la misma, aunque cambian algunos valores (ó todos). En otras palabras, las variables básicas actuales siguen siendo básicas.
Si se da que algún componente de *BX es ≤ 0, entonces se rompe la factibilidad y debe
seguirse iterando con el algoritmo SIMPLEX DUAL hasta restablecer la factibilidad, y así cambiaría la base óptima.
Lo enunciado anteriormente en la teoría de dualidad acerca del incremento (o decrecimiento) de la función objetivo por cada unidad adicional (o de menos) de recurso 2 Obsérvese que los jj CZ −−−−*
de las variables básicas se mantienen iguales a cero.
*1* bBX −−−−====B
Introducción a la Modelación Matemática y Optimización 52
(interpretación económica del problema dual), es válido en el rango para el cual la base óptima sigue siendo la misma.
Ahora, el nuevo vector b* puede escribirse así:
bbb ∆∆∆∆++++====* bBbBbB ∆∆∆∆11*1 −−−−−−−−−−−− ++++====
[Nueva solución] = [Solución actual] + [Cambio en solución]
Esta forma de obtención de la nueva solución facilita los cálculos.
2.3. CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A
Se va a estudiar el cambio de una sola columna a la vez: j
a cambia por *j
a .
2.3.1. Cambios en una Columna No-Básica de A
Si
ja es la columna correspondiente a una variable no básica, entonces no se afecta la
factibilidad, pero puede afectarse la optimalidad. Simplemente se calcula la nueva columna:
Y se recalcula:
y se chequea si ) ( *jj CZ −−−− sigue cumpliendo la condición de optimalidad. Si se cumple
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.
2.3.2. Cambios en una Columna Básica de A.
Si j
a es la columna correspondiente a una variable básica, entonces “se daña” la base
B y su inversa B-1. En este caso, generalmente es preferible volver a empezar el problema.
2.4. INTRODUCCIÓN DE UNA NUEVA VARIABLE
*1*
jj a−−−−==== BY
**jBj YCZ ====
Al introducir una nueva variable de decisión, se tendría:
Nueva variable: Xn+1 Coeficiente en la función objetivo: Cn+1
Nueva columna de A: an+1 Entonces se calcularía:
1n1 ++++++++ ==== YCBnZ
y se chequearía si )( 11 ++++++++ −−−− nn CZ cumple con la condición de optimalidad. Si cumple, la
solución actual sigue siendo óptima; de lo contrario, esta nueva variable debe entrar a la base, y así, debe continuarse con el algoritmo SIMPLEX normal hasta obtener de nuevo las condiciones de optimalidad.
Obsérvese que este caso puede tratarse como si la columna original
1++++na hubiera sido
de ceros y estuviera cambiando a los valores dados.
2.5. INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN
En este caso se pasa de (m) a (m+1) restricciones. Entonces puede ocurrir una de dos cosas:
a) Si la solución óptima actual satisface la nueva restricción, entonces ésta sigue
siendo la solución óptima, ya que una nueva restricción sólo lograría eliminar algunas soluciones básicas factibles anteriores, pero nunca adicionaría nuevas.
b) Si no se satisface la nueva restricción, entonces la presente solución NO es factible. Por lo tanto, debería determinarse la nueva base )1()1( ++++××××++++ mmB y hallar su inversa
mediante Gauss–Jordan. Posteriormente se hallaría )1()1(1ˆ
++++++++−−−−==== mmB bBX y, lógicamente, se
rompería la factibilidad. Por lo tanto, se seguiría iterando mediante el algoritmo SIMPLEX DUAL, hasta restablecer la factibilidad.
NOTA : Si la nueva restricción es de desigualdad, entonces se añade también una
variable de holgura, la cual pasa a ser básica y se encuentra la nueva inversa de la base mediante las operaciones de Gauss - Jordan. Si la nueva restricción es de igualdad, entonces se hace necesaria la introducción de una variable artificial, la cual necesariamente pasaría a ser básica. Además, se le asignaría el coeficiente “M” (con su signo respectivo) y se hace necesario también verificar la optimalidad.
Ejemplo 5.1: Considérese el problema:
11
1 ++++==== −−−−++++ nn aBY
Introducción a la Modelación Matemática y Optimización 54
Cuya forma estándar es:
El tablero óptimo de este problema es el siguiente (Verifíquelo): jC
3 5 0 0 0
Variables Básicas X1 X2 S1 S2 S3
S1 X2 S2
0 5 0
4 9 6
1 3/2 -3
0 1 0
1 0 0
0 0 1
0 ½ -1
jZ
jj CZ −−−−
45
15/2 9/2
5 0
0 0
0 0
5/2 5/2
Supóngase que se va a introducir la nueva restricción: 2432 21 ≤≤≤≤++++ XX , la cual no
cumple con la solución óptima actual ya que: 2(0) + (3) (9) = 27 > 24. Entonces, la forma estándar de esta nueva restricción sería: 2432 421 ====++++++++ SXX .
Luego, el nuevo tablero, adicionando la nueva restricción y recalculando la inversa
para seguir con el SIMPLEX DUAL, es el siguiente: Cj 3 5 0 0 0 0
Variables X1 X2 S1 S2 S3 S4
0),(
1823
422
4 :a Sujeto
53
21
21
2
1
21
≥≥≥≥≤≤≤≤++++≤≤≤≤≤≤≤≤
++++====
XX
XX
X
X
XXZMAX
0)S,S,S,,(
18 23
42 2
4 S :a Sujeto
53
32121
321
22
11
21
≥≥≥≥====++++++++====++++====++++
++++====
XX
SXX
SX
X
XXZMAX
BC BX
BC BX Entra como variable básica
Básicas S1 X2 S2 S4
0 5 0 0
4 9 6 24
1 3/2 -3 2
0 1 0 3
1 0 0 0
0 0 1 0
0 ½ -1 0
0 0 0 1
S1 X2 S2 S4
0 5 0 0
4 9 6 -3
1 3/2 -3
-5/2
0 1 0 0
1 0 0 0
0 0 1 0
0 ½ -1
-3/2
0 0 0 1
jZ
jj CZ −−−−
θ
45
15/2 9/2 1.8
5 0
0 0
0 0
5/2 5/2 1.66
0 0
S1 X2 S2 S3
0 5 0 0
4 8 8 2
1 2/3 -4/3 5/3
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
0 1/3 -2/3 -2/3
jZ
jj CZ −−−−
40
10/3 1/3
5 0
0 0
0 0
0 0
5/3 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.
2.6. EJEMPLO DE APLICACIÓN DE ANÁLISIS DE SENSIBILIDAD
Una industria fabrica tres tipos de productos: A1, A2 y A3. El proceso de fabricación
exige su paso por tres talleres sucesivamente: T1, T2 y T3, los cuales tienen cierta capacidad de trabajo. Existen limitaciones en el mercado que determinan la demanda máxima de cada uno de los productos. La información disponible es la siguiente (los requerimientos están en HR/UNID):
a) ¿Qué programa de producción es el óptimo? b) Analizar las siguientes alternativas para mejorar la producción:
Capacidad TallerA1 A2 A3 [ HR/AÑO ]
T1 100 500 400 12,000 T2 500 1,000 800 18,000 T3 600 - 1,000 6,000
Demanda máxima Anual 10 8 10
Beneficio [ $/Unidad ] 150,000 200,000 240,000
REQUERIMIENTOSTALLER
Obsérvese que X2 es básica, pero su columna es [0 1 0 3], luego, debe corregirse mediante Gauss-Jordan
Aquí se toma el θ en valor absoluto (Maximización)
NUEVA SOLUCIÓN
ÓPTIMA
Introducción a la Modelación Matemática y Optimización 56
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.
2.6.1. Planteamiento y Solución del Modelo
Sean Xi = Unidades del producto i a fabricar; i = 1, 2, 3. El modelo de PL entonces sería:
0),,(
A3) de (demanda 10
A2) de demanda( 8
A1) de (demanda 10 X
3 ]/[ 60001000 600
T2 ]/[ 180008001000500
T1 ]/[ 12000400500100 :a Sujeto
]/[$ 240000200000150000 MAX
321
3
2
1
31
321
321
321
≥
≤
≤
≤
≤+
≤++
≤++
++=
XXX
X
X
TAñoHrXX
AñoHrXXX
AñoHrXXX
AñoXXXZ
La forma estándar correspondiente es:
Z50000con Z 8.443 MAX 321| ′=++= XXXZ 3
3 Se ha dividido la función objetivo Z entre 50.000 ( 50000/Z Z=′ ) para trabajar más fácilmente.
6,...,2,1 ;0 0;),,(
10S
8 S
10 S X
6000 S 1000 600
18000 S 8001000500
12000 400500100 :a Sujeto
321
63
52
41
331
2321
1321
====≥≥≥≥≥≥≥≥====++++====++++====++++====++++++++====++++++++++++====++++++++++++
jSXXX
X
X
XX
XXX
SXXX
j
El lector debe comprobar que la solución óptima única viene expresada en el siguiente
tablero final óptimo: jC
3 4 4.8 0 0 0 0 0 0
Var. Básicas X1 X2 X3 S1 S2 S3 S4 S5 S6
S1 S2 X3 X1 X2 S6
0 0
4.8 3 4 0
7000 5000
0 10 8 10
0 0 0 1 0 0
0 0 0 0 1 0
0 0 1 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0
-0.4 -0.8
0.001 0 0
-0.001
140 -20 -0.6 1 0
0.6
-500 -1000
0 0 1 0
0 0 0 0 0 1
jZ
jj CZ −−−−
62
3 0
4 0
4.8 0
0 0
0 0
.0048
.0048 0.12 0.12
4 4
0 0
Solución óptima del problema dual Inversa de la base óptima ( 1−−−−B )
Luego, la solución óptima única es: X1=10 (producir 10 unidades/año de A1) X2=8 (producir 8 unidades/año de A2) X3=0 (no producir A3) S1=7000 (sobran 7000 hr/año en T1) S2=5000 (sobran 5000 hr/año en T2) S3=0 (se agota la capacidad en T3) S4=S5=0 (se produce la demanda máxima de A1 y A2) S6=10 (dejan de producirse 10 unidades/año de A3) añopor 10$3.1(50000)6262 6
máxmáx| ××××====××××====⇒⇒⇒⇒==== ZZ
La solución óptima del dual es la siguiente: w1=0 w2=0
BC BX
Solución óptima
degenerada (X3=0
y básica)
Introducción a la Modelación Matemática y Optimización 58
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.
Conclusiones de la solución del dual: - El tiempo en los talleres T1 y T2 sobra; por lo tanto el costo de oportunidad de
estos recursos es cero. - Lo máximo adicional que se puede pagar en el mercado por cada hora adicional
del taller T3 es $240/hr. - Por cada unidad potencial que se aumente la demanda de A1 y A2, se obtendrían
beneficios adicionales de $6.000 y $200.000, respectivamente. - Aumentando la demanda potencial de A3 no se logra ningún provecho, ya que de
hecho se han dejado de producir 10 unidades de este producto.
2.6.2. Análisis de las Alternativas
1. Incrementar la capacidad T3 en 6000 hr/año con un costo de $1’020.000/año. Este caso corresponde a un cambio en el vector b.
T]1081060001800012000[====b T]000600000[====b∆
]600648002400[ TB −−−−−−−−−−−−======== −−−− bBX 1∆∆ 5
Luego la nueva solución sería:
T
BBB SXXXSS ][ˆ621321====++++==== XXX ∆
)
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).
El nuevo valor de la función objetivo es:
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
1B−−−−del tablero óptimo de la sección anterior y compruébese este resultado.
TB ]481062004600[ˆ ====X
)
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:
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:
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?
Para determinar esto se realiza un análisis paramétrico. Sea:
TB
T KKKKK ]001.000001.08.04.0[ ]00000[ −−−−−−−−−−−−========⇒⇒⇒⇒==== −−−− bBXb 1∆∆∆
Luego la nueva solución sería:
Año
Año
AñoZ
/000.520'3$
/000.020'1$adicional recurso de valor el menos
/000.540'4$ 50000)]6(8.4)8(4)10(3[
========××××++++++++====
Año
Año
AñoThrThr
/$ 000.540'4
/$ 000.100'3
/$ 000.440'13··6003··
240$
++++
====××××
hrhrAñohr
Año/240$/170$
/ 6000/$ 000.020'1 <<<<====
−−−−
−−−−−−−−
====++++====
K
K
K
K
BBB
001.010
8
10
001.0
8.05000
4.07000
ˆ XXX ∆)
Introducción a la Modelación Matemática y Optimización 60
Pero, como para que se conserve la factibilidad se requiere que 0≥≥≥≥BX , entonces:
Luego 6250≤≤≤≤K , o sea que para mantener la factibilidad actual y la composición
básica óptima actual se requiere que el incremento positivo en hr/Año de T3 sea máximo 6250 hr.
Este análisis paramétrico lo realiza automáticamente el computador y da los límites
inferior y superior, a través de programas especializados, tales como el WinQSB, AMPL./CPLEX, etc.
2. Inversión en publicidad: $700.000/Año. Cambio de las demandas máximas en 20,
14 y 10 unidades/año de A1, A2 y A3, respectivamente. En este caso:
TB
T ]22142012144004200[ ]101420000[ −−−−−−−−−−−−========⇒⇒⇒⇒==== −−−− bBXb 1∆∆∆ Y la nueva solución sería:
TBBB ]3222301294002800[ˆ −−−−−−−−====++++==== XXX ∆
)
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:
209200450001310 654321321 ==================================== SSSSSSXXX
/Año$3'400.000
/$ 000.700 Publicidad Costo
/$ 000.100'4)000.50)(82(*máx
Año
AñoZ
====−−−−========
Luego esta alternativa por sí sola es rentable. 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:
10000 0001.010
cumple) (Se 08
cumple) (Se 010
cumple) (Se 0 0001.0
625008.05000
17500 04.07000
≤≤≤≤⇒⇒⇒⇒≥≥≥≥−−−−≥≥≥≥≥≥≥≥
≥≥≥≥⇒⇒⇒⇒≥≥≥≥≤≤≤≤⇒⇒⇒⇒≥≥≥≥−−−−≤≤≤≤⇒⇒⇒⇒≥≥≥≥−−−−
KK
KK
KK
KK
000.920'2)10)(0()14)(000.200()20)(000.6( ====++++++++ pero sólo se incrementó en 4’100.000-3’100.000 = 1’000.000. 3. Investigación por $1’200.000/Año para reducir los requerimientos de A3 en T3 de
1000 a 500 hr/unidad. Este cambio corresponde a cambios en las columnas de A. Como X3 es una variable
básica óptima, esto correspondería al cambio de una columna de A correspondiente a una variable básica, lo cual indicaría que sería mejor resolver de nuevo el modelo. Sin embargo, como X3 es básica, pero a nivel cero (solución óptima degenerada), es posible que en el penúltimo tablero se saque a X3 de la base (en vez de a S4). Así, un tablero óptimo alternativo sería:
jC 3 4 4.8 0 0 0 0 0 0
Var. Básicas X1 X2 X3 S1 S2 S3 S4 S5 S6
S1 S2 X1 S4 X2 S6
0 0 3 0 4 0
7000 5000 10 0 8 10
0 0 1 0 0 0
0 0 0 0 1 0
700/3 -100/3
5/3 -5/3
0 1
1 0 0 0 0 0
0 1 0 0 0 0
-1/6 -5/6
1/600 -1/600
0 0
0 0 0 1 0 0
-500 -1000
0 0 1 0
0 0 0 0 0 1
jZ
jj CZ −−−−
62
3 0
4 0
5 0.2
0 0
0 0
1/200 1/200
0 0
4 4
0 0
Obsérvese que es la “misma” solución óptima obtenida al comienzo, con la diferencia
de que X3 no aparece en la base óptima (ahora aparece S4 a nivel cero). Obviamente, la inversa de la base cambia.
Ahora sí, como X3 no es básica, el cambio planteado puede hacerse así:
*3
*3
*3 )( YCBCZ B
1B ======== −−−− a
O sea:
2/5]100500800400]·[040200/100[ *3 ======== TZ
y así, el nuevo 03.28.42/53
*3 <<<<−−−−====−−−−====−−−− CZ , luego se rompe la optimalidad. Por lo
tanto, debe continuarse con el algoritmo SIMPLEX normal. Para ello es necesario recalcular a *3Y , así:
Ta ]106
5
6
5
3
1383
3
2316[*
3*3 −−−−======== −−−−1BY
BC BX
Introducción a la Modelación Matemática y Optimización 62
Y luego si se itera con la nueva columna. El lector debe comprobar que la nueva solución óptima es:
080 116638331081 653
1433
223
11323
21 ==================================== SSSSSSXXX
/Año$3'050.000
/$ 000.001'2 aalternativ Costo
/$ 000.250'4)000.50)(85(*máx
Año
AñoZ
====−−−−========
Luego la alternativa por sí sola no es rentable económicamente. Ejercicio: verificar que la nueva solución para la cuarta alternativa es:
40100 52005600680 654321321 ==================================== SSSSSSXXX
/Año$3'000.000
/$ 000.004 aalternativ Costo
/$ 000.400'3)000.50)(68(*máx
Año
AñoZ
====−−−−========
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:
Combinar las alternativas 1 + 4, cuya solución óptima es:
1083 3231
1 ============ XXX
/Año$3'680.000
/$ 000.01'42 aalternativ Costo
/$ 000.100'5 *máx
Año
AñoZ
====−−−−====
Todos los análisis de dualidad y de sensibilidad son normalmente determinados por
software comercial de una forma automática, de tal forma que el usuario pueda analizarlos directamente. Por ejemplo, en el caso del problema de los transformadores, el software WinQSB produce el siguiente resultado, el cual coincide obviamente con lo presentado en las secciones anteriores:
El Anexo 1 presenta la formulación y solución de un caso completo de optimización en el área de cadenas de abastecimiento, ilustrando los resultados presentados por el software WinQSB y también por software más avanzado útil en casos reales, como es AMPL/CPLEX.
El Anexo 2 contiene fotocopias de capítulos seleccionados sobre el problema del
transporte y una introducción a la teoría de redes. El tema siguiente, el método simplex revisado puede obviarse inicialmente y retomarse
si se desea profundizar en algunos aspectos de la programación lineal.
Combined Report for transformadores análisis de sen sibilidad Decision Solution Unit Cost Total Reduced Basis Allowable Allowable Variable Value Profit c(j) Contribution Cost Sta tus Min. c(j) Max.c(j) 1 TR40VA 350.0 400.0 140,000.0 0 basic 385.7143 500.0000 2 TR75VA 450.0 700.0 315,000.0 0 basic 684.4445 933.3333 3 TR3 0 900.0 0 -12.5 at bound -M 912.5000 Objective Function (Max.) = 455,000.0 Left Hand Right Hand Slack Shadow Allowable Allowable
Constraint Side Dir. Side (Surplus) Pric e Min. RHS Max. RHS 1 HR_HOMBRE 1,400.0 <= 1,400.0 0 150.0 1,166.667 1,633.333 2 HR_MAQ1 980.0 <= 980.0 0 250.0 840.0 1,050.000 3 HR_MAQ2 800.0 <= 900.0 100.0 0 800.0 M