Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 22 Análisis de Sensibilidad de los Resultados ICS 02 Optimización Profesor : Claudio Seebach 20 de octubre de 2006 Apuntes de Clases Optimización Claudio Seebach Programación Lineal 05 Análisis de Sensibilidad de los Resultados El supuesto fundamental de los modelos de LP es que uno conoce en forma exacta los distintos parámetros del problema En general, al modelar no se conocen los valores que pueden adoptar los parámetros Muchas veces los paraḿetros no son determinísticos, sino que estocásticos Dado esto, es importante poder saber cuan robustas son nuestras soluciones frente a: Variaciones en los costos c i Variaciones en los niveles de los recursos b j Apuntes de Clases Optimización Claudio Seebach Programación Lineal 06
Sensibilidad a variaciones en los costos como varía la solución óptima de un problema de LP si varían los costos de la función objetivo?. Modificar la función objetivo no cambia el dominio del problema. 2. Una función objetivo diferente sólo puede modificar el vértice óptimo. Identifiquemos el rango de las perturbaciones en uno de los coeficientes de la función objetivo de modo de no alterar la solución óptima alcanzada: El vector de costos de la función objetivo se puede dividir entre: c B x B + c D x D c B : Costos asociados a las variables básicas c D : Costos asociados a las variables no básicas A medida que la base cambia en búsqueda de una base óptima, los costos reducidos r D también cambian. Apuntes de Clases Optimización Claudio Seebach Programación Lineal 07 Variaciones de los costos de variables No Básicas Para poder mantener la optimalidad de la solución óptima, los costos reducidos deben permanecer positivos o nulos. Es decir: Por lo tanto: r D = c D z 0 donde z = c B B D. r k = c k z k 0, k no básico. Si el costo c j asociado a la variable no básica x j varía en c j para que esta variable siga siendo no básica debe cumplirse que su respectivo costo reducido siga siendo no negativo: c j + c j z j 0 r j + c j 0 Por lo tanto, el rango de esta variación c j es: r j c j Apuntes de Clases Optimización Claudio Seebach Programación Lineal 08
Variaciones de los costos de Variables Básicas El análisis respecto a variaciones de los costos asociados a variables básicas es más complejo que en las no básicas: Una perturbación en algún elemento c j de c B, altera todos los componentes del vector z = c B B D. Si ante esta perturbación los costos reducidos no básicos siguen siendo no negativos la base óptima permanece inalterada. Los costos reducidos básicos seguirán siendo nulos por construcción! Basta que uno de los costos reducidos no básicos se torne negativo para que la base (y por tanto la solución) óptima cambie. Si definimos: z k = c i α ik i B donde α ik es el producto de la fila i de la matriz B, la inversa de la base, con la columna k de la matriz D, es decir: α ik = B fila i D columna k Apuntes de Clases Optimización Claudio Seebach Programación Lineal 09 Variaciones de los costos de Variables Básicas Si modificamos el costo c j en c j, los costos reducidos ˆr k de todas la variables no básicas serán: ˆr k = c k z k = (c k c i α ik ) c j α jk i B = r k c j α jk 0, k D (i.e. no básico) En la medida que r k c j α jk para todos los costos reducidos, la base óptima no cambia. Dado que los α jk pueden ser positivos, negativos o nulos, deberá cumplirse que: Si α jk Si α jk Si α jk > 0 c j r k α jk < 0 c j r k α jk = 0 c j puede tomar cualquier valor Apuntes de Clases Optimización Claudio Seebach Programación Lineal 0
Variaciones de los costos de variables Básicas El análisis anterior es para un k dado, pero para que no cambie la base óptima se debe cumplir r k 0 k Por lo tanto el rango de la variación c j que mantiene la base óptima inalterada será: rk rk max c j min. k:α jk <0 α jk k:α jk >0 α jk En este caso el valor óptimo cambia en c j x j. Apuntes de Clases Optimización Claudio Seebach Programación Lineal Variaciones de los costos de la función objetivo Qué ocurre si c j llega a un límite? Cuál es la nueva base? En ambos casos de perturbaciones en el coeficiente c j de la función objetivo de una variable x j ya sea básica o no básica, si c j llega a uno de los bordes de los intervalos, el costo reducido de (al menos) una variable no básica se vuelve nulo. En ese caso la solución óptima no sería única pues de incorporar la variable de costo reducido nulo a la base se obtendría una nueva solución básica con idéntico valor en la función objetivo. i) si c j está asociada a una variable no-básica, entonces en la solución óptima alternativa esta variable pasará a ser básica. ii) si c j está asociada a una variable básica, entonces en la solución óptima alternativa la variable de índice k que establece el límite entrará a la base, y dejará la base la variable de índice i tal que: xi min. i tal que α ik >0 α ik Apuntes de Clases Optimización Claudio Seebach Programación Lineal 2
Variaciones de los costos de variables Básicas En ambos casos la solución óptima alternativa corresponderá a un vértice adyacente al vértice asociado a la solución óptima original: x 2 x B ={x,x 2 } x D ={x,x 4 } x B ={x,x 2 } x D ={x,x 4 } 4 2 x Apuntes de Clases Optimización Claudio Seebach Programación Lineal Ejemplo Variación Costos En el ejemplo de las planchas de aluminio: cuánto podría variar el beneficio c de las planchas tipo sin que cambie la política de producción? El tableau inicial era: x x 2 x x 4 x 5 v.b. 5 5 0 0 600 x 7 4 0 0 60 x 4 0, 0, 0 0 5 x 5 800 600 0 0 0 0 Y el tableau final era: x x 2 x x 4 x 5 v.b. 5 0 0 0 5 x 7 0 0 0 75 75 x 4 0 0 0 5 5 x 2 0 0 20 0 5000 7000 Apuntes de Clases Optimización Claudio Seebach Programación Lineal 4
Ejemplo Variación Costos Como podemos ver: 5 0 5 B = 7 4, B 0 0 5 0 = 7 0 75 y D = 0 0 0, 0 0, 0 0 5 0 Como c está asociado a una variable básica, entonces su rango de variación está determinado por: rk rk max c j min. k:α jk <0 α jk k:α jk >0 α jk Aquí tenemos k = y k = 5, son las variables no-básicas. Tenemos que calcular los α k, es decir, α y α 5. α = [ 0 0 ] 5 0 = 0 > 0, 0 α 5 = [ 0 0 ] 0 5 0 = 5 < 0. Apuntes de Clases Optimización Claudio Seebach Programación Lineal 5 Ejemplo Variación Costos Además sabemos que r = 20 y r 5 = 5000 }. Así, { max α k <0 { 5000 5 c min α k >0 por lo tanto, 000 c 200 para que no cambie la base óptima. 20 0 }, Apuntes de Clases Optimización Claudio Seebach Programación Lineal 6
Interpretación Gráfica Variación Costos Si c = 000 f = ( 800, 600), y si c = 200 f = ( 600, 600), que son colineales a los gradientes de las restricciones activas en el punto óptimo, respectivamente. Tipo 2 x 2 = 5 ( 0,) ( ) 5 5-800 (-600) c = - 000 c = 200-800 (-600) (-600) x = 5 Tipo Apuntes de Clases Optimización Claudio Seebach Programación Lineal 7 Variaciones en los niveles de los recursos Al cambiar el vector de nivel de recursos b, se mantiene inalterada la función objetivo, pero se modifica el dominio de las soluciones. Si se modifica el nivel de recursos de una restricción activa, la solución óptima, a menos que sea degenerada, cambia inmediatamente. Si la solución óptima continúa siendo definida por la misma base entonces los costos reducidos permanecen inalterados, ya que no dependen de b. Apuntes de Clases Optimización Claudio Seebach Programación Lineal 8
Variaciones en los niveles de los recursos Perturbaciones pequeñas en uno de los recursos disponibles no cambia el conjunto de variables básicas, pero si el valor que ellas toman en la solución óptima. x 2 x B ={x,x 2 } x D ={x,x 4 } 4 2 x Apuntes de Clases Optimización Claudio Seebach Programación Lineal 9 Variaciones en los niveles de los recursos Perturbaciones mayores a un determinado umbral pueden convertir la base en una base infactible: el valor que toma una de las variables básicas se hace negativo. x 2 x B ={x,x 2 } x D ={x,x 4 } 4 2 x Apuntes de Clases Optimización Claudio Seebach Programación Lineal 20
Variaciones en los niveles de los recursos cuál es el rango de variación de un recurso, que mantiene la base óptima actual dentro del dominio? La factibilidad de una base queda definida por x B = B b, que debe ser no negativo. La solución óptima puede expresarse como: β β 2 β m b x = B b =....... = β m β m2 β mm b m Si el nivel del recurso j varía en b j, debe cumplirse que b β + b 2 β 2 + + b m β m + b j β j ˆx =. 0 b β m + b 2 β m2 + + b m β mm + b j β mj b β + b 2 β 2 + + b m β m. b β m + b 2 β m2 + + b m β mm Apuntes de Clases Optimización Claudio Seebach Programación Lineal 2 Variaciones en los niveles de los recursos Es decir, x i + β ij b j 0, i =,..., m. Para que la base óptima no cambie, debe cumplirse: x max i x b j min i i:β ij >0 i:β ij <0 β ij Al hacer cambios en los b j, dentro de este rango, la nueva solución óptima será x i + β ij b j para todo i. El cambio en la función objetivo será: λ j b j. Dentro de este rango de variación, los costos reducidos no se alterarán. β ij Apuntes de Clases Optimización Claudio Seebach Programación Lineal 22