2. Análisis de Sensibilidad
En todos los modelos de programación lineal los coeficientes de la función
objetivo y las restricciones se dan como datos de entrada o como parámetros
fijos del modelo. En los problemas reales los valores de estos coeficientes no
están, en general, perfectamente fijados, debido a que la mayoria de ellos
dependen de parámetros no controlables, por ejemplo, futuras demandas,
coste de materias primas, costo de energía, etc. y no pueden ser predichas con
exactitud antes de que el problema sea resuelto. También puede suceder que
aunque conozcamos los parámetros exactamente estemos interesados en
estudiar como varia la solución optima si cambiamos algún parámetro
intencionadamente, a efectos de tratamiento, ambas situaciones se resuelven
de forma análoga. Cada variación en los valores de los datos del problema
generara un nuevo problema de programacion lineal. El análisis de sensibilidad
nos proporcionaran herramientas para el calculo de las soluciones optimas de
los problemas obtenidos por la modificación de los parámetros originales del
problema.
4. Análisis de Sensibilidad
1. Los coeficientes de la función objetivo o coeficientes objetivo.
2. Los coeficientes tecnológicos: aquellos coeficientes que afectan a las variables de
las restricciones, situados a la izquierda de la desigualdad. Se llaman así porque
habitualmente describen capacidades tecnológicas en problemas de optimización
lineal de costes de producción.
3. Los recursos disponibles o Right-Hand-Side: los términos independientes de cada
restricción, situados a la derecha de la desigualdad.
5. Análisis de Sensibilidad
Dado un problema de programación lineal tal que:
Cuya tabla simplex final es:
V.BAS. X1 X2 X3 S1 S2 SOL.
Z -1/2 0 0 -1/2 -3/2 -20
X2 1/2 1 0 1/2 0 5
X3 1 0 1 -1 1 0
6. 1)Aplicando análisis de sensibilidad para los coeficientes de la función objetivo:
Las variables estructurales son aquellas con las que se planteo originalmente el
problema de programación lineal, como lo seria: X1, X2 y X3; pero, dentro de las
variables estructurales podemos distinguir variables básicas (X1 y X3) (aparecen
en la primera columna de la tabla simplex final (antes descrita) y definen la
solución óptima) y variables no básicas ; entonces se concluye que el análisis de
sensibilidad para los coeficientes de la función objetivo depende de si las
variables son básicas o no
1.1 Análisis de sensibilidad para los coeficientes de variables no básicas
Este es el análisis más sencillo debido a que si la variable es no básica, entonces
tiene un coeficiente distinto de cero en la última fila de la tabla simplex final
(antes descrita), este coeficiente es el máximo valor que el coeficiente de la
función objetivo de dicha variable puede aumentar manteniendo la solución
óptima
7. Procedimiento para el Análisis de sensibilidad de los
coeficientes de variables no básicas
En la base optima del problema la única variable de
decisión no basal es x llamaremos cj al coeficiente en la
función objetivo de la variable j. Como x1 no está en la
base, será interesante determinar el valor de c1
necesario para que la variable x1 se incorporada a la
base optima.
Debido a que la modificación es en una variable no
basal, solo se ve alterado el precio sombra de la
variable no basal modificada, es decir, c1–z1. Para que
la base no se altere, el precio sombra de x1 debe seguir
siendo no negativo (caso maximización):
9. d) El valor del coeficiente de la variable X1 en el problema es: 3 por tanto
Se sustituye
Por lo tanto queda:
e) Entonces el intervalo es el siguiente
10. Análisis de sensibilidad para los
coeficientes de variables básicas
• El estudio de variaciones en coeficientes en la función
objetivo de variables básicas sigue la misma lógica de la
variación de coeficientes en la función objetivo de variables
no básicas. La idea es determinar como varían los cj-zj de
todas variables y obtener a partir de dichas modificaciones un
rango en el cual la base se ve inalterada. Evidentemente, una
modificación de este tipo no afectada la región factible y solo
puede cambiar la optimalidad de la solución actual si la
variación es lo suficientemente importante.
• Para ilustrar el análisis consideremos una variación β sobre el
coeficiente c2, es decir, modifiquemos el valor del coeficiente
en la función objetivo de la variable x2. La incorporación del
parámetro β.
11. Análisis para la variable básica X2:
a)
b) Para optimizar la tabla de nuevo se efectuará la siguiente operación:
V.BAS. X1 X2 X3 S1 S2 SOL.
Z -1/2 0 0 -1/2 -3/2 -20
X2 1/2 1 0 1/2 0 5
X3 1 0 1 -1 1 0
V.BAS. X1 X2 X3 S1 S2 SOL.
Z -1/2 0 0 -1/2 -3/2 -20
X2 1/2 1 0 1/2 0 5
X3 1 0 1 -1 1 0
Cj-Zj -1/2-1/2β 0 0 -1/2-1/2β -3/2+0β
12. Como la tabla final siempre es una forma canónica de las variables
básicas, la modificación solo afecta los Cj-Zj de variables no básicas.
En otras palabras, para determinar el rango de variación que
mantiene la base debemos imponer ( caso de maximización):
(ck-zk)-aik xβ <=0
Donde el índice k se refiere a la variable no básica k y aik es el
coeficiente en la restricción i de la variable no básica k.
-1/2-1/2β<=0 -1/2-1/2β<=0 -3/2+0β<=0
β>=-1 β>=-1 0
13.
14. Ejercicio de clase
Max Z= 3X1 + 2X2+ 5X3
s.a
X1+2X2+X3 <=430
3X1 +2X3<=460
X1 +4X2 <=420
X1, X2, X3>=0
¿Encuentre los intervalos de costos de x2 y x3?
16. 2) Análisis de Sensibilidad para términos independientes de las restricciones:
Las restricciones de un problema de programación lineal representan las
limitantes de recursos que tiene una empresa. La primera pregunta que se puede
hacer antes de averiguar ¿cuántos recursos más puedo contratar para seguir con
mi óptimo? (análisis de sensibilidad de los términos independientes) es ¿cuánto es
lo más que estoy dispuesto a pagar por una unidad de recurso extra?
La respuesta a esta pregunta es el Precio Sombra, este es el máximo incremento
en el precio normal de un recurso que estamos dispuestos a pagar sin que
nuestras ganancias disminuyan. Este es un dato que se puede leer directamente
de la tabla simplex final en la última fila de la columna de la variable de holgura
asociada a la restricción o recurso que se quiere investigar.
17. Ejemplo:
Recordando problema PL
El precio sombra para la restricción uno se lee en la última fila de la columna de la variable
de holgura de dicha restricción (S1) y su valor es: ½, lo cual significa que si actualmente
pago $3 por cada unidad del recurso de la restricción uno, el mayor precio que estoy
dispuesto a pagar (sin que mis ganancias disminuyan) es $3 + ½ =$3.5 por unidad de
recurso.
18. De igual manera, el precio sombra para la restricción dos se lee en la última fila de
la columna de la variable de holgura de dicha restricción (S2) y su valor es: 3/2 lo
cual significa que si actualmente pago $3 por cada unidad del recurso de la
restricción dos, el mayor precio que esta dispuesto a pagar (sin que mis ganancias
disminuyan) es $3 + 3/2 =$4.5 por unidad de recurso.
Ahora que ya sabemos ¿cuánto pagar? Concentrémonos en decidir ¿cuánto
comprar?
Cambio del Coeficiente del Lado Derecho de una Restricción
La variación del coeficiente del lado derecho de una restricción modifica la
región factible del problema, por lo tanto puede afectar la optimalidad de la
solución optima y la condición de las restricciones (activas o no activas).
19. El efecto de la variación del coeficiente bᵢ asociado a la restricción ᵢ deber ser
analizado considerando la condición de la restricción afectada. Desde este
punto de vista existen dos posibilidades:
Caso 1 La variación afecta a una restricción no activa, es decir, una restricción
de tipo <= con su variable de holgura en la base, o bien una restricción de tipo
>=¸ con su variable de exceso en la base.
Caso 2 La variación afecta una restricción activa, es decir, una restricción de
tipo >=con su variable de holgura igual a cero, o bien una restricción de
tipo>= ¸ con su variables de exceso igual a cero.
21. Caso 1
En este caso, las restricciones tienen un costo de oportunidad nulo, es decir,
no existe un costo asociado al hecho de no contar con una unidad adicional
para esa restricción (caso <=). Como existe una variable de holgura o de
exceso con valor no nulo (en la base), se puede disminuir (caso <=)o
aumentar (caso >0) el coeficiente bᵢ hasta llevar la restricción a su limite sin
alterar la solución optima.
Para ilustrar la situación, en el problema en estudio podemos disminuir el
coeficiente b1 hasta en 24 sin modificar la solución optima, ya que se están
quitando recursos que no se están empleando. Si disminuimos b1 en
exactamente 24 la tabla se degenera, con las consecuencias estudiadas
previamente. Una disminución mayor a 24 cambiaria el optimo. En dicha
situación, debemos buscar una nueva tabla en el que podamos hacer la
modificación sin degenerarlo (en el peor de los casos el inicial) y volver a
iterar hasta encontrar el nuevo optimo.
22. Caso 2
En este caso es necesario estudiar dos aspectos: la variación del valor de la
función objetivo y el rango en el que puede variar bᵢ para mantener la condición
de no negatividad de las variables.
Cuando la variable de holgura o de exceso asociada a la restricción no ésta en la
base, el costo de oportunidad sería no nulo (negativo en el caso de maximización).
Si se trata de una restricción de tipo ·, el valor de cj -zj representa lo que se deja
de ganar por no disponer una unidad adicional a la derecha de esa restricción. Por
ejemplo, de acuerdo a la tabla final para la segunda restricción se tiene: c2-z2 =
¡10, es decir el aumento en 1 unidad de b2 generaría un aumento en la función
objetivo en 10, similarmente una disminución en 1 unidad provocaría una
disminución de la función objetivo en 10. Las conclusiones anteriores son validas
siempre y cuando la variación respecte el rango de factibilidad.
Como rango de factibilidad entenderemos el intervalo de variación del coeficiente
del lado derecho bᵢ asociado a la restricción activa ᵢ de forma de mantener una
cierta combinación de variables en la base (el valor de la función objetivo puede
cambiar).
23. Para calcular el intervalo de factibilidad si el sentido de la
restricción es <=, se utiliza la siguiente formula:
= +Δbᵢ
= +Δb2
Para que la solución nueva sea factible, cada
componente debe ser positiva:
Sol. Nueva
24
8
2
2
2
-0.5
24 + 2Δb2
8 + 2Δb2
2- 0.5Δb2
Sol. Nueva
Sol.
Actual
Columna de la
variable de holgura ᵢ
24. • 24 + 2Δb2 >= 0 Δ b2 >= - 12
• 8 + 2Δb2 >= 0 Δb2 >= -4
• 2 - 0.5Δb2 >= 0 Δb2 <= 4
Es decir, el rango de factibilidad queda:
-4 <= Δb2 <= 4
¿Calcular el intervalo de factibilidad b3?
25. Por ejemplo, si la variación fuera Δ b2 = 2,
sabemos que el nuevo valor de la función
objetivo seria:
Z nueva = z actual + Δ b2 £ (cj -zj) de s2 = 280 +
2 *10 = 300
Podemos obtener el mismo resultado
calculando explícitamente el valor de la nueva
solución optima:
= +2 =Sol.
Nueva
24
8
2
2
2
-0.5
28
12
1
26. y luego evaluando en la función objetivo:
• z = 60 * 1 + 30 *0 + 20 *12 = 300
27. Restricción >=:
= -Δbᵢ
Restricción =:
= +Δbᵢ
Sol. Nueva Sol. Actual
Columna de la variable
de exceso ᵢ
Sol. Nueva Sol. Actual
Columna de la
variable artificial ᵢ
28. 3) Análisis de Sensibilidad para los coeficientes tecnológicos de variables no básicas
Dado el problema de programación lineal
Lo cual tiene como solución optima:
Max z = 60x1 + 30x2 + 20x3
S.a
8x1 + 6x2 + x3 + s1 = 48 (a)
4x1 + 2x2 + 1.5x3 + s2 = 20 (b)
2x1 + 1.5x2 + 0.5x3 + s3 = 8 (c)
X1,x2,x3>=0
29. Aplicando Análisis de Sensibilidad para los coeficientes tecnológicos de variables no
básicas
Cambiando la segunda columna (tabla simplex inicial) de la matriz de coeficientes
tecnológicos, y ésta pasa a ser (5, 2, 2), con c2 = 43, la tabla inicial quedaría:
Esto sólo originaría un cambio en la columna 2 de la tabla final, que quedaría como
Sigue:
Tabla final
VAR.BASIC
A
X1 X2 X3 S1 S2 S3 SOL.
Z 60 43 20 0 0 0 0
S1 8 5 1 1 0 0 48
S2 4 2 1.5 0 1 0 20
S3 2 2 0.5 0 0 1 8
30. y en el coste reducido de esta columna sería:
C2-Z2 = 43 - (0, 20, 60) * = 43 – 40 =3
Por lo tanto la tabla simplex nos queda:
VAR.BASICA X1 X2 X3 S1 S2 S3 SOL.
Z 0 3 0 0 -10 -10 280
S1 0 -7 0 1 2 -8 24
S2 0 -4 1 0 2 -4 8
S3 1 2 0 0 -0.5 1.5 2
31. En este caso cambia la base óptima, ya que hay un coste
reducido negativo. Se continua aplicando el método del Simplex,
hasta obtener todos los costes reducidos no negativos.
Si aplicamos el algoritmo del Simplex a la última tabla,
obtenemos la solución óptima del problema modificado, con los
cambios en la columna de la segunda variable. Dicha solución
óptima es:
X1=0, X2=0, X3= 16 con un valor en Z= 320
32. El planteamiento del problema queda:
4) Adición de una nueva variable de decisión. Método Simplex
Se Considera el siguiente problema de programacion lineal en el que se planifica la
producción de tres tipos de cerveza en cantidades x1, x2 y x3 a partir de 30 unidades de
malta y 45 de levadura, el beneficio de venta de cada unidad de cerveza elaborada así
como sus requerimientos de malta y levadura se muestran en la tabla siguiente:
33. y su tabla optima, con un valor de la función objetivo de 160, es:
donde S1 y S2, variables de holgura, formaron la primera base
Ahora supongamos que se quiere considerar la elaboración de un cuarto tipo de
cerveza, una cerveza sin alcohol, que requiere una unidad de malta y una unidad de
levadura por unidad de cerveza, y cuyo beneficio de venta es de 5 unidades
monetarias. Por lo cual se plantea la pregunta valdrá la pena su elaboración? en que
cantidad?
VAR.BASICA X1 X2 X3 S1 S2 SOL.
Z 0 0 -13/3 -1/3 -10/3 -160
X1 1 0 2/3 2/3 -1/3 5
X2 0 1 2/3 -1/3 2/3 20
34. Si se llama X4 a las unidades de este nuevo tipo de cerveza, su columna es A4=
y su beneficio c4 = 5. Calculamos la columna actualizada y el costo marginal:
Y4= =
C4-Z4= 5- *
C4-Z4= 5 – 11/3 = 4/3
Como el precio sombra es positivo conviene producir la nueva cerveza.
Por tanto la tabla original, ahora nos queda de la siguiente manera:
1/3 10/3
VAR.BASICA X1 X2 X3 X4 S1 S2 SOL.
Z 0 0 -13/3 4/3 -1/3 -10/3 -160
X1 1 0 2/3 1/3 2/3 -1/3 5
X2 0 1 2/3 1/3 -1/3 2/3 20
35. no es optima, entra la variable correspondiente al nuevo tipo de cerveza x4 y sale x1,
obteniéndose.
con un valor de la función objetivo de 180 unidades, se elaboran 15 unidades de la
nueva cerveza tipo 4 y 15 de la cerveza de tipo 2.
VAR.BASICA X1 X2 X3 X4 S1 S2 SOL.
Z -4 0 -7 0 -3 -2 -180
X4 3 0 2 1 2 -1 15
X2 0 1 0 0 -1 1 15
36. Adición de una nueva restricción
Una vez resuelto un modelo de Programación Lineal puede
resultar de interés si la actual solución óptima y valor óptimo se
conservaran si se decide incorporar una nueva restricción al
problema. Esta restricción generalmente representa una
condición que en primera instancia se omite de forma voluntaria
para dar una mayor flexibilidad a la resolución del modelo
original o alternativamente su no inclusión en el modelo original
puede también deberse a una simple omisión (involuntaria).
Consideremos el siguiente modelo de Programación Lineal
37. La tabla final óptima que considera las variables
s1, s2 y s3 como las respectivas holguras de las
restricciones del problema es:
VAR.BA
S
X Y S1 S2 S3 S4 SOL.
Z 0 0 -3/2 0 -2 0 -3100
X 1 0 1/2 0 -2 0 100
S2 0 0 -3 1 10 0 400
Y 0 1 0 0 1 0 350
S4 3 1 0 0 0 1 600
38. Por ejemplo consideremos que se desea incorporar una
nueva restricción definida por la siguiente expresión:
3X+Y<=600.
¿Cambia la actual solución óptima y valor óptimo?. Para
responder a lo anterior se recomienda evaluar la actual
solución óptima en la nueva restricción; si ésta se cumple
entonces el modelo conserva su solución óptima y valor
óptimo; en caso contrario la solución óptima actual será
infactible y se debe incorporar esta situación en el
modelo original para encontrar la nueva solución del
mismo. Notar que también puede suceder que al agregar
una nueva restricción que no satisface la solución actual
el problema podría resultar ser infactible al tener un
dominio de soluciones factibles vacío.
39. En nuestro ejemplo al evaluar obtenemos:
3(100)+(350)<=600, es decir la solución óptima
actual es infactible al incorporar esta nueva
restricción. Para incorporar esta modificación en
la tabla final del Método Simplex agregamos una
nueva fila y una nueva columna asociada a una
variable S4>=0 que será la holgura de la nueva
restricción. La tabla queda de la siguiente forma:
3X+Y+ S4<=600.
40. Las variables básicas del problema original son X, S2 e Y, respectivamente.
Al incorporar la nueva restricción (fila) tanto X como Y pierden la
estructura de la identidad característica de las variables básicas. Por ello
para formar la base podemos realizar operaciones fila multiplicando por -
3 la fila 1 y sumando ésta a la fila 4. Posteriormente multiplicar por -1 la
fila 3 y sumar a la fila 4:
41.
42. Ahora las variables básicas son X, S2, Y, y S4
(enumeradas en el orden en el cual aparecen en
la identidad), sin embargo, la variable s4 toma
un valor de -50 lo cual no corresponde a una
solución básica factible. ¿Cómo continuar con
las iteraciones?. Utilizando el Método Simplex
Dual se recomienda corroborar que la nueva
solución óptima corresponde a x=250/3 e
y=350.
43. Metódo Simplex Dual
Este método se aplica a problemas óptimos pero
infactibles. En este caso, las restricciones se expresan en
forma canónica (restricciones ). La función objetivo puede
estar en la forma de maximización o de minimización.
Después de agregar las variables de holgura y de poner el
problema en la tabla, si algún elemento de la parte
derecha es negativo y si la condición de optimidad está
satisfecha, el problema puede resolverse por el método
dual simplex. Note que un elemento negativo en el lado
derecho significa que el problema comienza óptimo pero
infactible como se requiere en el método dual simplex. En
la iteración donde la solución básica llega a ser factible
esta será la solución óptima del problema.
44. El método dual-simplex se aplica para resolver
problemas que empiezan con factibilidad dual, es
decir, óptimos pero infactibles.
Un problema se puede resolver por el método dual-
simplex, cuando, después de igualar acero la
función objetivo y convertir las restricciones en
ecuaciones, agregando las variables de holgura
necesarias, al menos uno, cualquiera de los
elementos del vector b (vector de disponibilidades)
es negativo y la condición de optimalidad se
satisface.
45. Ahora X4 y X5 son variables básicas y adoptan los valores de -1 y -3/2,
respectivamente, lo que claramente no satisface las condiciones de no
negatividad para las variables de decisión, es decir, no corresponde a una
solución básica factible. Sin embargo, en esta instancia podemos aplicar el
Método Simplex Dual como alternativa de resolución. Para ello seleccionaremos
una variable que deje la base y adoptaremos como criterio de selección aquella
variable básica asociada al lado derecho “más negativo” (con esto se busca
favorecer la rapidez de convergencia). En el ejemplo dicha variable es X5. Luego
para determinar que variable entra a la base realizamos un mínimo cociente
entre el negativo del costo reducido de las variables no básicas y las entradas
estrictamente menores a cero para las variables no básicas en la fila 2 (fila
asociada al lado derecho más negativo). Es decir: Min{-160/-2; -120/-2; -280/-
2}=60 ==> el cociente mínimo se alcanza en la segunda columna asociada a la
variable no básica X2, por tanto dicha variable entra a la base.
46. Cuando se considera la incorporación de una nueva restricción el primer paso es
comprobar si la solución optima del problema original la verifica, en este caso la
solución también será optima para el problema modificado. Nos situamos ahora en que
la solución optima del problema original no verifica la nueva restricción, veamos el
proceso a seguir.
Ahora se considera que existen problemas para el abastecimiento de un tercer
ingrediente, el lúpulo. Se pueden conseguir 30 unidades de lúpulo y se necesitan 3, 1 y
1 unidades de lúpulo para la cerveza de tipo 1, 2 y 3, respectivamente. Se trata pues de
incluir la restricción.
Restricción que no es verificada por la solución optima del problema original ya que
requerirá 35 unidades.
5) Adición de una nueva restricción. Método Simplex
47. El planteamiento del problema queda:
Max. Z = 4x1 + 7x2 + 3x3
s. a:
2x1 + x2 + 2x3 <= 30
x1 + 2x2 + 2x3 <= 45
x1; x2; x3 0
48. En primer lugar nos fijamos en las variables que aparecen en la restricción y
son básicas en la tabla optima del problema original. Después despejamos de
la tabla optima dichas variables y las sustituimos en la restricción. Sobre
nuestro ejemplo, en la restricción aparecen x1 y x2, las despejamos de la
tabla.
49. En primer lugar nos fijamos en las variables que aparecen en la restricción y son básicas
en la tabla optima del problema original. Después despejamos de la tabla optima dichas
variables y las sustituimos en la restricción. Sobre nuestro ejemplo, en la restricción
aparecen x1 y x2, las despejamos de la tabla
tabla optima del problema original
Sustituimos en la nueva restricción
50. y operando obtenemos
La restricción anterior ya esta actualizada, basta con incluir una variable de holgura y
la restricción esta lista.
Si la restricción se deja en la forma con lo que la holgura entra sumando podremos
aplicar a la tabla resultante el simplex dual. Si cambiamos el sentido de la restricción
para que el coeficiente sea positivo entonces la holgura entrara con coeficiente -1 y
posteriormente necesitaríamos una variable artificial para la construcción de la tabla.
Tal y como hemos dejado la restricción se incluye directamente en la tabla, tomando
como variable básica la variable de holgura x6, obsérvese que los costos marginales no
han cambiado como consecuencia de haber entrado en la base una variable de holgura.
51. A partir de aquí se aplica el simplex dual, sale x6 entra x4 obteniéndose
52. que ya contiene una solución optima del problema con la nueva restricción.
La otra posibilidad es dejar la restricción con termino independiente positivo
Con lo que al construir la tabla