Presentacionanalisisdesensibilidad completa

52
ING. MILDRED RIVAS ANALISIS DE SENSIBILIDAD

Transcript of Presentacionanalisisdesensibilidad completa

ING. MILDRED RIVAS

ANALISIS DE SENSIBILIDAD

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.

Análisis de Sensibilidad

Los tipos de cambios de Análisis de Sensibilidad son:

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.

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

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

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):

C1-z1 = -1/2 +β <=0 β<= 1/2

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

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 β.

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β

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

Ejercicio de claseMax Z= 3X1 + 2X2+ 5X3s.a X1+2X2+X3 <=4303X1 +2X3<=460X1 +4X2 <=420X1, X2, X3>=0¿Encuentre los intervalos de costos de x2 y x3?

SOLUCION -∞<= X1<= 70 <= X2<=105/7<=X3<=+∞

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.

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.

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).

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.

Max z = 60x1 + 30x2 + 20x3S.a8x1 + 6x2 + x3 + s1 = 48 (a)4x1 + 2x2 + 1.5x3 + s2 = 20 (b)2x1 + 1.5x2 + 0.5x3 + s3 = 8 (c) X1,x2,x3>=0• TABLA OPTIMA

X1 X2 X3 S1 S2 S3 SOL.

cj - zj 0 -5 0 0 -10 -10 -280

S1 0 -2 0 1 2 -8 24

X3 0 -2 1 0 2 -4 8

X1 1 1.25 0 0 -0.5 1.5 2

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.

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).

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. Nueva2482

22

-0.5

24 + 2Δb28 + 2Δb2

2- 0.5Δb2

Sol. Nueva Sol. Actual

Columna de la variable de holgura ᵢ

• 24 + 2Δb2 >= 0 Δ b2 >= - 12• 8 + 2Δb2 >= 0 Δb2 >= -4• 2 - 0.5Δb2 >= 0 Δb2 <= 4Es decir, el rango de factibilidad queda:-4 <= Δb2 <= 4¿Calcular el intervalo de factibilidad b3?

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

2482

22

-0.5

28121

y luego evaluando en la función objetivo:• z = 60 * 1 + 30 *0 + 20 *12 = 300

Restricción >=:

= -Δbᵢ

Restricción =:

= +Δbᵢ

Sol. Nueva Sol. Actual Columna de la variable de exceso ᵢ

Sol. Nueva Sol. ActualColumna de la

variable artificial ᵢ

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 + 20x3S.a8x1 + 6x2 + x3 + s1 = 48 (a)4x1 + 2x2 + 1.5x3 + s2 = 20 (b)2x1 + 1.5x2 + 0.5x3 + s3 = 8 (c) X1,x2,x3>=0

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 comoSigue:

Tabla final

VAR.BASICA

X1 X2 X3 S1 S2 S3 SOL.

Z 60 43 20 0 0 0 0S1 8 5 1 1 0 0 48S2 4 2 1.5 0 1 0 20S3 2 2 0.5 0 0 1 8

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 280S1 0 -7 0 1 2 -8 24S2 0 -4 1 0 2 -4 8S3 1 2 0 0 -0.5 1.5 2

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

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:

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 -160X1 1 0 2/3 2/3 -1/3 5X2 0 1 2/3 -1/3 2/3 20

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/3Como 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 -160X1 1 0 2/3 1/3 2/3 -1/3 5X2 0 1 2/3 1/3 -1/3 2/3 20

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 lanueva 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 -180X4 3 0 2 1 2 -1 15X2 0 1 0 0 -1 1 15

Adición de una nueva restricciónUna 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

La tabla final óptima que considera las variables s1, s2 y s3 como las respectivas holguras de las restricciones del problema es:

VAR.BAS

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

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.

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.

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:

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.

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.

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.

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.

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 querequerirá 35 unidades.

5) Adición de una nueva restricción. Método Simplex

El planteamiento del problema queda:Max. Z = 4x1 + 7x2 + 3x3s. a:2x1 + x2 + 2x3 <= 30x1 + 2x2 + 2x3 <= 45x1; x2; x3 0

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.

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 dichasvariables 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

y operando obtenemos

La restricción anterior ya esta actualizada, basta con incluir una variable de holgura yla restricción esta lista.

Si la restricción se deja en la forma con lo que la holgura entra sumando podremosaplicar 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 yposteriormente 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, tomandocomo variable básica la variable de holgura x6, obsérvese que los costos marginales nohan cambiado como consecuencia de haber entrado en la base una variable de holgura.

A partir de aquí se aplica el simplex dual, sale x6 entra x4 obteniéndose

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