Tema 5: Análisis de Sensibilidad y Paramétrico 5.1 Introducción 5.2 Cambios en los coeficientes de la función objetivo 5.3 Cambios en el rhs 5.4 Análisis de Sensibilidad y Dualidad 5.4.1 Cambios en el coeficiente en la función objetivo de una variable no básica 5.4.2 Cambios en la columna de una variable no básica 5.4.3 Añadir una nueva variable 5.5 Análisis Paramétrico con WinQSB 1
5.1 Introducción Hipótesis en PL: parámetros deterministas (conocidos y fijos). Realidad: los parámetros son estimaciones de los valores reales. Análisis de Sensibilidad: cómo afecta a la solución óptima los cambios en los parámetros del modelo? Obtener de forma eficiente la nueva solución óptima (si existe) sin resolver de nuevo el modelo. Min c t x Supongamos resuelto el ppl en forma estándar: s.a: Ax = b x 0 n En la tabla óptima del Simplex tenemos: z j c j 0 j = 1,..., n bi 0 i = 1,..., m 2
Cómo afectan los cambios en: los coeficientes de la función objetivo (c j )? Posible pérdida de la posibilidad dual Reoptimizar con el algoritmo Simplex los términos de la derecha de las restricciones (b i )? Posible pérdida de la posibilidad primal Reoptimizar con el Dual del Simplex una fila y/o columna de A (a ij )? Posible pérdida de la posibilidad primal Posible pérdida de la posibilidad dual Posible pérdida de ambas Reoptimizar con dos Fases 3
5.2 Cambios en los coeficientes de la función objetivo Pueden provocar la pérdida de la optimalidad primal Para qué rango de valores de c k sigue siendo óptima la solución actual? Coeficiente de una variable no básica: sólo afecta al coste reducido de la variable cuyo coeficiente se ha cambiado. z k c k = (z k c k ) + (c k c k) Si z k c k 0 La solución sigue siendo óptima. Si z k c k > 0 Reoptimizamos con el algoritmo del Simplex, haciendo básica x k. 4
Ejemplo 1 Min 2x 1 + x 2 x 3 s.a.: x 1 + x 2 + x 3 6 x 1 + 2x 2 4 x 1, x 2, x 3 0 x = 6 0 0 z = 12 Tabla óptima: x 1 x 2 x 3 x 4 x 5 rhs z 0-3 -1-2 0-12 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 5
Ejemplo: Cambio en el Coeficiente de una Variable no Básica c 2 c 2 {}}{{}}{ z = 2x 1 +1 x 2 x 3 z = 2x 1 3 x 2 x 3 z 2 c 2 = (z 2 c 2 ) + (c 2 c 2) = 3 + (1 ( 3)) = 1 > 0 x 1 x 2 x 3 x 4 x 5 rhs z 0 1-1 -2 0-12 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 Reoptimizamos con el Simplex, x 2 se hace básica y x 5 deja de serlo. x 1 x 2 x 3 x 4 x 5 rhs z 0 0 x 1 1 0 x 2 0 1 4 3 2 3 1 3 7 3 2 3 1 3 1 3 1 3 1 3 46 3 8 3 10 3 x = 8 3 10 3 0 z = 46 3 6
Para qué rango de valores del coeficiente de una variable no básica sigue siendo óptima la solución actual? La solución actual sigue siendo óptima sii: z k c k 0 sii (z k c k ) + (c k c k) 0 sii c k c k + (z k c k ) Ejemplo, continuación... c k [c k + (z k c k ), [ En el Ejemplo 1, c 2 = 1 y z 2 c 2 = 3, luego la solución actual seguirá siendo óptima sii: c 2 [1 + ( 3), [ = [ 2, [ x = 6 0 0 z = 12 7
Coeficiente de una variable básica: cambiará toda la fila asociada a la función objetivo (Fila 0), excepto los costes reducidos de las variables básicas, que seguirán siendo iguales a cero. Nueva Fila 0 = (Fila 0 actual) + (c k c k) (Fila actual de x k ) Si algún coste reducido se hace positivo reoptimizamos con el algoritmo del Simplex. Para determinar el rango de valores para los cuales sigue siendo óptima la solución actual se resuelve el sistema de inecuaciones dado por: z j c j 0 j N En dicho rango, la solución óptima será la misma y el valor óptimo: z = c B B 1 b + (c k c k )x k 8
Ejemplo: Cambio en el Coeficiente de una Variable Básica z = c 1 {}}{ 2 x 1 + x 2 x 3 z = c 1 {}}{ 0 x 1 + x 2 x 3 z = x 2 x 3 x 1 x 2 x 3 x 4 x 5 rhs z 0-3 -1-2 0-12 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 Nueva Fila 0 = (Fila 0 actual) + (c 1 c 1 ) (Fila actual de x 1 ) x 1 x 2 x 3 x 4 x 5 rhs z 0-1 1 0 0 0 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 9
x 1 x 2 x 3 x 4 x 5 rhs z 0-1 1 0 0 0 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 Reoptimizamos con el Simplex, x 3 se hace básica y x 1 deja de serlo. x 1 x 2 x 3 x 4 x 5 rhs z -1-2 0-1 0-6 x 3 1 1 1 1 0 6 x 5-1 2 0 0 1 4 x = 0 0 6 z = 6 10
Ejemplo, continuación... Para qué rango de valores del coeficiente de x 1 sigue siendo óptima la solución actual? x 1 x 2 x 3 x 4 x 5 rhs z 0-3 -1-2 0-12 x 1 1 1 1 1 0 6 x 5 0 3 1 1 1 10 x = Nueva Fila 0 = (Fila 0 actual) + (c 1 c 1) (Fila actual de x 1 ) 6 0 0 z = 12 z 2 c 2 = 3 + (c 1 c 1)1 0 (c 1 c 1) 3 z 3 c 3 = 1 + (c 1 c 1)1 0 (c 1 c 1) 1 z 4 c 4 = 2 + (c 1 c 1)1 0 (c 1 c 1) 2 c 1 1 + c 1 En el ejemplo, c 1 = 2, si c 1 ], 1] la solución óptima sigue siendo la misma pero el valor óptimo será: z = 12 + (c 1 c 1 )6 = 12 + 6c 1 + 12 = 6c 1 11
5.3 Cambios en el término de la derecha de una restricción Pueden provocar la pérdida de la optimalidad dual pérdida de la posibilidad primal Si x B = B 1 b = b tiene alguna componente negativa será necesario reoptimizar con el algoritmo Dual del Simplex. Para qué rango de valores de b i sigue siendo óptima la base actual? Aquél que se obtiene al resolver el sistema de inecuaciones: b = b + (columna i-ésima de B 1 ) (b i b i ) 0 }{{} i En dicho rango, la solución óptima será: El valor óptimo: x B = b + (columna i-ésima de B 1 )( i ), x N = 0 z = c t B b + ω i i 12
Ejemplo, cambio en el término de la derecha de una restricción (no hay pérdida de posibilidad primal) b = 6 4 Cambiamos b 1 b = 3 4 La nueva solución será: b = B 1 b = 1 0 1 1 3 4 = 3 7 0 0 La base B = {a 1, a 5 } sigue siendo óptima, la nueva solución es: 3 x = 0 z = c t B b = ( 2, 0) 3 = 6 7 0 13
Ejemplo, Continuación..., sí hay pérdida de posibilidad primal Cambiamos b 1 = 6 por b 1 = 2. La nueva solución y el nuevo coste serán: b = B 1 b = 1 0 2 = 2 1 1 4 2 z = c t B b = ( 2, 0) 2 2 = 4 x 1 x 2 x 3 x 4 x 5 rhs Nuevo z 0-3 -1-2 0-12 4 x 1 1 1 1 1 0 6-2 x 5 0 3 1 1 1 10 2 Perdemos la posibilidad primal, reoptimizamos con el Dual del Simpex: Dual no acotado Primal Imposible 14
Ejemplo En cuánto podemos incrementar b 1 sin que cambie la base óptima? Si cambiamos b = 6 por b = 6 + 4 4 x B = B 1 6 + = 1 0 6 + = 6 + 4 1 1 4 10 + proporcionará una solución óptima sii proporciona una solución posible: 6 + 0 10 + 0 6 b 1 [0, [ La solución óptima y el valor óptimo serán, respectivamente: x B = 6 + x N = 0 z = ( 2, 0) 6 + = 12 2 10 + 10 + 15
Para qué rango de valores de b 2 sigue siendo óptima la base actual? x B = B 1 6 = 1 0 6 = 6 b 2 1 1 b 2 6 + b 2 proporcionará una solución óptima sii proporciona una solución posible: 6 0 6 + b 2 0 b 2 6 b 2 [ 6, [ La solución óptima y el valor óptimo serán, respectivamente: x B = 6 x N = 0 z = ( 2, 0) 6 = 12 6 + b 2 6 + b 2 Notar que el precio sombra para esta restricción será 0. 16
5.4 Análisis de Sensibilidad y Dualidad Dada una solución posible básica del problema primal, (x B = B 1 b, x N = 0), dicha solución es óptima si y sólo si la solución obtenida a partir de B, ω = c t B B 1, es solución posible del dual. Cambios en la función objetivo del coeficiente de una variable no básica Cambios en la columna de A de una variable no básica Adición al problema de una nueva variable 17
La empresa Dakota Furniture Company fabrica escritorios, mesas y sillas. La fabricación de cada tipo de mueble requiere madera y dos tipos de procesos: carpintería y acabado. La cantidad de recursos que necesita cada tipo de mueble vienen dados en la siguiente tabla, en la que también se incluyen los precios de venta de los muebles: Recurso Escritorios Mesas Sillas Madera (en pies de tablero) 8 6 1 Carpintería (en horas) 2 1.5 0.5 Acabado (en horas) 4 2 1.5 Precio de Venta (en euros) 60 30 20 En la actualidad se dispone de 48 pies de tableros de madera, 20 horas de acabado y 8 de carpintería. Puesto que los recursos ya han sido adquiridos y se supone que la demanda de cualquiera de los productos es ilimitada, la empresa está interesada en planificar la producción de forma que se maximicen los beneficios obtenidos. 18
x 1 = escritorios x 2 = mesas x 3 = sillas Max 60x 1 + 30x 2 + 20x 3 s.a.: 8x 1 + 6x 2 + x 3 48 4x 1 + 2x 2 + 1,5x 3 20 2x 1 + 1,5x 2 + 0,5x 3 8 x 1, x 2, x 3 0 x 1 = 2, x 2 = 0, x 3 = 8 19
ω 1 = precio madera, ω 2 = precio acabado, ω 3 = precio carpint. Min 48ω 1 + 20ω 2 + 8ω 3 s.a.: 8ω 1 + 4ω 2 + 2ω 3 60 6ω 1 + 2ω 2 + 1,5ω 3 30 ω 1 + 1,5ω 2 + 0,5ω 3 20 ω 1, ω 2, ω 3 0 ω 1 = 0, ω 2 = 10, ω 3 = 10 z = 280 20
5.4.1 Cambios en la función objetivo del coeficiente de una variable no básica Para qué valores de c 2 seguirá siendo óptima la solución actual? Una mesa consume, 6 pies de madera, a ω 1 = 0 euros el pie 2 horas de acabado, a ω 2 = 10 euros la hora, y 1.5 horas de carpintería, a ω 3 = 10 euros la hora En total: 6 0 + 2 10 + 1,5 10 = 35 Mientras el precio de venta de las mesas c 2 35 euros seguirá sin interesar fabricar mesas, x 2 = 0. La solución actual seguirá siendo óptima. 21
Los cambios en el coeficiente no afectan a la factibilidad de la solución del primal. Min 48ω 1 + 20ω 2 + 8ω 3 s.a.: 8ω 1 + 4ω 2 + 2ω 3 60 6ω 1 + 2ω 2 + 1,5ω 3 c 2 ω 1 + 1,5ω 2 + 0,5ω 3 20 ω 1, ω 2, ω 3, 0 6ω 1 + 2ω 2 + 1,5ω 3 c 2 6 0 + 2 10 + 1,5 10 c 2 35 c 2 22
5.4.2 Cambios en la columna de una variable no básica Supongamos que cambia el vector de coeficientes de las mesas y también su precio de venta. 6 5 c 2 = 30 c 2 = 43 a 2 = 2 a 2 = 2 La nueva restricción del dual sería: 1,5 5ω 1 + 2ω 2 + 2ω 3 43 Que es violada por la solución del dual actual: 5 0 + 2 10 + 2 10 43 40 43 Fabricar una mesa consume 40 euros, si se vende por 43, interesará fabricar mesas. El coste reducido cambiaría de signo. 2 23
5.4.3 Añadir una nueva variable Dakota está considerando fabricar zapateros. Podrían venderse por 15 euros y consumirían 1 pie de madera, 1 hora de acabado y 1 hora de carpintería. Seguiría siendo óptima la solución actual?, Interesa fabricar zapateros? Introducir una nueva variable, x 4, con, c 4 = 15 a 4 = Equivale a añadir una restricción al dual: ω 1 + ω 2 + ω 3 15 Como la solución actual del dual, sí que cumple la restricción: No interesará fabricar zapateros. 1 0 + 1 10 + 1 10 15 z 4 c 4 = ω 1 + ω 2 + ω 3 c 4 = 20 15 = 5 1 1 1 24
5.5 Análisis Paramétrico El análisis paramétrico es una extensión del análisis de sensibilidad. Consiste en investigar cómo cambia la solución óptima y el valor óptimo de un PPL cuando se efectúan cambios continuos en uno o más parámetros, de la función objetivo: o del rhs: z(µ) = c + µc, c y c conocidos, µ escalar b(µ) = b + µb, b y b conocidos, µ escalar 25
Procedimiento 1. Calcular la solución óptima para µ = 0. 2. Determinar el rango de valores para µ, [0, µ 1 ], para los que la solución sigue siendo óptima. 3. Para µ = µ 1 se produce un cambio de base óptima. Realizar el cambio. Obtener la nueva solución óptima. 4. Determinar el nuevo rango de valores de µ para los que es óptima la solución actual. Sea [µ 1, µ 2 ]. 5. Repetir el proceso hasta que se detecta un µ r tal que: el problema es imposible µ µ r, o la solución óptima actual sigue siendo óptima µ µ r. 26
Min x 1 3x 2 s.a.: x 1 + x 2 6 x 1 + 2x 2 6 x 1, x 2 0 z(µ) = 1 3 + µ 2 1 x 1 x 2 z(µ) = ( 1 + 2µ)x 1 + ( 3 + 1µ)x 2 b(µ) = 6 6 + µ 1 1 = 6 µ 6 + µ 27
5.5.1 Análisis Paramétrico de la Función Objetivo µ = 0 µ [0, 1] Solución Óptima: x = 2 4 Valor Óptimo: z = 14 z [ 14, 6] con pendiente 8 z (µ) = 14 + 8µ Notar que la misma conclusión se obtiene para: µ [ 2, 0] pero aquí z [ 30, 14] 28
µ = 1 µ [1, 3] Cambio de base: x 1 deja de ser básica, h 1 se hace básica. x 2 + h 1 = 6 2x 2 = 6 x 2 = 3 h 1 = 3 Solución Óptima: x = 0 3 Valor Óptimo: z = 6 z [ 6, 0] con pendiente 3 z (µ) = 9 + 3µ 29
µ = 3 µ [3, [ Cambio de base: x 2 deja de ser básica, h 2 se hace básica. h 1 = 6 h 2 = 6 Solución Óptima: x = 0 0 Valor Óptimo: z = 0 z [0, 0] con pendiente 0 z (µ) = 0 30
µ = 2 µ ], 2] Cambio de base: x 2 deja de ser básica, h 2 se hace básica. x 1 = 6 x 1 + h 2 = 6 x 1 = 6 h 2 = 12 Solución Óptima: x = 6 0 Valor Óptimo: z = 30 z ], 30] con pendiente 12 z (µ) = 6 + 12µ 31
Resumiendo: µ ], 2] x = 6 0 z (µ) = 6 + 12µ µ [ 2, 1] x = 2 4 z (µ) = 14 + 8µ µ [1, 3] x = 0 3 z (µ) = 9 + 3µ µ [3, [ x = 0 0 z (µ) = 0 32
5.5.2 Análisis Paramétrico del rhs µ ], 2] Las variables básicas óptimas son x 1 y x 2. x 1 + x 2 = 6 µ x 1 + 2x 2 = 6 + µ x 1 = 2 µ x 2 = 4 Solución Óptima: x = 2 µ 4 Valor Óptimo: z = 14 + µ 33
µ = 2 µ [2, 6] Cambio de base: x 1 deja de ser básica, h 2 se hace básica. x 2 = 6 µ 2x 2 + h 2 = 6 + µ x 2 = 6 µ h 2 = 6 + 3µ Solución Óptima: x = 0 6 µ Valor Óptimo: z = 18 + 3µ 34
µ = 6 µ ]6, [ Cambio de base: x 2 deja de ser básica, No es posible determinar la variable que se hace básica: Dual no Acotado Primal Imposible Resumiendo: µ ], 2] x = µ [2, 6] x = 2 µ 4 0 6 µ z (µ) = 14 + µ z (µ) = 18 + 3µ µ [6, [ Problema Imposible 35