El Análisis de Sensibilidad en Programación Lineal permite analizar el impacto en los resultados del modelo (solución óptima y valor óptimo) en aquellos casos donde uno o varios parámetros sufren modificaciones en relación a sus valores originales, sin la necesidad de resolver nuevamente el problema (sin reoptimizar). En dicho contexto en el siguiente artículo presentamos un ejemplo de dicho análisis para un problema de optimización lineal que considera 2 variables de decisión.
Ejemplo Análisis de Sensibilidad (Método Gráfico)
Un productor tabaquero posee 85 hectáreas (ha) de terreno para plantar dos variedades de tabacos Virginia y Procesado. La variedad Virginia tiene un ingreso de 9.600 USD/ha y necesita 3 horas/ha de uso de maquinaria y 80 horas/ha de mano de obra. Además, el Estado limita su explotación a 30 ha como máximo. La variedad Procesado tiene un ingreso de 7.500 USD/ha y utiliza 2 horas/ha de uso de maquinaria y 60 horas/ha de mano de obra. La cooperativa local le ha asignado un máximo de 190 horas de uso de maquinaria y solo se dispone de 5.420 horas de mano de obra a 12 USD/hora.
Formule y resuelva gráficamente un modelo de Programación Lineal que permita determinar cuánto se debe plantar de cada variedad de tabaco de manera de maximizar la utilidad total.
En primer lugar definimos el modelo de optimización para este problema. Esto consiste en identificar las variables de decisión, función objetivo y restricciones. Detalle de este procedimiento aplicado a problemas de 2 variables puede ser consultado en el artículo Programación Lineal (Método Gráfico).
Variables de Decisión:
- X1 = Número de Ha a plantar de la variedad Virginia
- X2 = Número de Ha a plantar de la variedad Procesado
Función Objetivo:
Maximizar (9.600 – 960)X1 + (7.500 – 720)X2 = 8.640X1 + 6.780X2
Restricciones:
- X1 ≤ 30
- X1 + X2 ≤ 85
- 3X1 + 2X2 ≤ 190
- 80X1 + 60X2 ≤ 5.420
- X1, X2 ≥ 0
Una representación gráfica del problema para el productor de tabaco se puede realizar a través del software Geogebra:
Sabemos según el Teorema Fundamental de la Programación Lineal que en caso de existir solución óptima ésta se encontrará en un vértice o en un tramo en la frontera del dominio de soluciones factibles (en el ejemplo área achurada en color verde). Adicionalmente podemos apreciar que no es tan evidente que el vértice C reporte una mayor utilidad en la función objetivo que el vértice D, por lo cual, inspeccionaremos ambos puntos.
En el caso del vértice C éste se encuentra en la intersección de las restricciones 2 y 4. La coordenada respectiva se obtiene al resolver el siguiente sistema de ecuaciones:
X1 + X2 = 85
80X1 + 60X2 = 5.420
De donde X1=16 y X2=69, lo cual reporta un valor en la función objetivo de V(P)=8.640*(16)+6.780(69)=606.060.
Análogamente en el caso del vértice D las restricciones activas son 3 y 4:
3X1 + 2X2 = 190
80X1 + 60X2 = 5.420
Luego de resolver el sistema lineal anterior se obtiene X1=28 y X2=53, lo cual reporta un valor en la función objetivo de V(P)=8.640*(28)+6.780(53)=601.260.
En consecuencia la solución óptima del problema es X1=16 y X2=69, con valor óptimo V(P)=8.640*(16)+6.780(69)=606.060.
Una vez resuelto el escenario original a continuación se presentan algunos análisis adicionales que representan por separado modificaciones en los coeficientes de la función objetivo y restricciones del problema.
Intervalo Variación Coeficiente Función Objetivo
Determine cuánto podría variar la utilidad por hectárea del tabaco Virginia, manteniendo constante la utilidad por hectárea del tabaco procesado, de forma que la actual solución óptima no cambie. Para este caso determine el intervalo de variación de la utilidad total.
Sea en términos generales la función objetivo Z=C1X1+C2X2, donde inicialmente en el ejemplo C1=8.640 y C2=6.780. La pendiente de las curvas de nivel de la función objetivo es -C1/C2. De este modo se conserva la actual solución óptima (vértice C) en la medida que:
En este caso la utilidad por hectárea del tabaco Virginia puede variar entre 6.780 USD y 9.040 USD, de tal forma que el actual nivel de producción (solución óptima) sería el mismo. Lo anterior permite concluir que el intervalo de variación para la utilidad total será .
Precio Sombra (Método Gráfico)
Si se pudiese contratar más mano de obra disponible en el mercado, ¿Cuántas horas de mano de obra en total estaría dispuesto a utilizar? ¿Cuál sería el aporte adicional de esas horas extras que utilizaría en términos monetarios? Responda lo anterior utilizando el concepto de Precio Sombra.
Para calcular gráficamente el precio sombra necesitamos identificar la máxima y mínima variación para el lado derecho de la restricción de mano de obra que permita garantizar que se conserva la actual base óptima (restricciones activas originales). En este sentido en el caso de aumentar el lado derecho de dicha restricción la solución óptima podrá ser encontrada manteniendo las restricciones activas (e incorporando una adicional) hasta la coordenada (20,65) que es donde se interceptan la segunda y tercera restricción. En el caso de disminuir la disponibilidad de horas en mano de obra se mantiene la base óptima hasta el vértice B cuya coordenada es (0,85). De esta forma se obtiene el precio sombra de la siguiente forma:
En consecuencia el lado derecho de la restricción 4 (disponibilidad de mano de obra) puede variar entre [5.100, 5.500] y se conservan las actuales restricciones activas. Adicionalmente dado que en el óptimo actual se utilizan 5.420 horas de mano de obra se deben contratar 80 horas adicionales (de modo de alcanzar las 5.500 horas). Luego, la variación de 80 horas adicionales implicaría un aumento en la utilidad total de 80*USD93=7.440USD.
Luego de resolver el sistema lineal anterior se obtiene X1=16 y X2=69, lo cual reporta un valor en la función objetivo de V(P)=8.640*(28)+6.780(53)=601.260. creo es x1=28 y x2=53.
@Silvia. Gracias por tu observación. Hemos actualizado el artículo corrigiendo el error.
Igual tengo una duda.
Pase este problema al Excel, y analice con solver, cambiando manualmente la utilidad C1, así comprobé si hay variación del optimo. La sorpresa es que es correcto solo para el intervalo superior.
Para el inferior he puesto un valor de C1=0, por ejemplo e igual me da la misma solución optima (16,69); pero si cambio el valor de C1 a 9.041, el optimo cambia a (28,53).
@Sebastian. En caso se que C1=0 la variación propuesta no permite conservar la solución óptima original, siendo ahora la nueva solución óptima es X1=0 y X2=85. Si por otro lado C1=9.041 la solución óptima cambia nuevamente y estaría en el vértice D donde X1=28 y X2=53. Recordar que el intervalo para C1: 6.780<=C1<=9.040 conserva la solución óptima original y no el valor óptimo.
¿de dónde sale 576.300<= Z<=612.460?
Gracias
@Lorena. En caso que C1 tome el valor de 6.780 el nuevo valor óptimo será $576.300. Por otro lado si C1 toma el valor de 9.040 el nuevo valor óptimo ahora es $612.400. Notar que ambos casos se conserva la solución óptima (Vértice C).