Análisis de sensibilidad y casos de logística
1. La pregunta
El plan óptimo se calculó con unos precios y unas disponibilidades. Mañana el proveedor sube el acero un 8 %, el cliente pide 200 unidades más y una máquina se avería.
¿Hay que rehacer todo el modelo cada vez? Sería inviable: en una empresa real los datos cambian a diario. El análisis de sensibilidad responde cuánto pueden moverse los datos antes de que la solución deje de ser óptima, y qué hacer cuando se pasan de ese punto.
Es, con diferencia, la parte de la programación lineal que más se usa en la práctica: el plan óptimo se calcula una vez; la sensibilidad se consulta todos los días.
2. Intuición
Vuelve a la imagen del tema 15: una región poligonal y una recta de nivel de la función objetivo que se desplaza hasta apoyarse en un vértice.
Si cambia un margen (), la recta de nivel gira. Mientras el giro no sea suficiente para que el punto de apoyo salte a otro vértice, la solución no cambia: se siguen fabricando las mismas cantidades. Lo único que cambia es el beneficio total. El rango de giro admisible es el rango de .
Si cambia una disponibilidad (), la restricción se desplaza paralelamente. El vértice óptimo se mueve con ella, así que las cantidades sí cambian; pero mientras siga siendo el corte de las mismas dos restricciones, el precio sombra sigue valiendo lo mismo y el beneficio cambia de forma lineal. El rango en que eso ocurre es el rango de .
Si aparece un producto nuevo, basta comprobar con los precios sombra si merece la pena —como ya se hizo en el tema 18— antes de tocar nada.
La regla mental que resume todo: los cambios en afectan a la optimalidad; los cambios en afectan a la factibilidad. De ahí salen los dos procedimientos de reparación cuando el cambio se sale de rango.
3. Formalización
Notación de la tabla óptima
Sea la matriz de las columnas básicas en el óptimo. De la tabla final se lee:
- en las columnas de las holguras.
- en la columna de términos independientes.
- , los precios sombra.
- , los costes reducidos.
Toda la sensibilidad consiste en preguntar qué condiciones deben seguir cumpliéndose para que la tabla siga siendo válida:
| Condición | Garantiza |
|---|---|
| factibilidad de la base | |
| para todas las no básicas | optimalidad de la base |
Cambio en un coeficiente objetivo
Caso 1: es no básica. Solo cambia su propio coste reducido. La base sigue siendo óptima mientras
Es decir, el margen de un producto que no se fabrica puede subir hasta su coste reducido antes de que empiece a interesar. Si sube más, ese producto entra en el plan.
Caso 2: es básica. Cambia , y con ella todos los costes reducidos. La condición es que sigan siendo no negativos:
donde es el elemento de la tabla en la fila de y la columna de . Despejando en cada desigualdad se obtiene un intervalo:
Dentro de ese rango el plan de producción no cambia; solo cambia en .
Cambio en un término independiente
Cambia . La base sigue siendo factible mientras todas las básicas permanezcan no negativas:
donde es el vector con un 1 en la posición . Llamando a la columna de , la condición para cada básica es
de donde
Dentro de ese rango el precio sombra no cambia, y el objetivo varía linealmente:
Fuera del rango, alguna básica se haría negativa: la base deja de ser factible pero sigue siendo óptima en el sentido de los costes reducidos. Es el caso para el que sirve el símplex dual: repara la factibilidad en pocas iteraciones sin empezar de cero.
Nuevo producto
Con columna y margen , se calcula su coste reducido con los precios sombra ya conocidos:
Si es , no interesa y el plan actual sigue siendo óptimo. Si es negativo, interesa: se añade la columna a la tabla y se sigue iterando.
Nueva restricción
Se comprueba si la solución actual la cumple:
- Si la cumple, la restricción es redundante y el óptimo no cambia.
- Si no, se añade la fila a la tabla óptima (expresándola en términos de las no básicas) y se repara con el símplex dual.
Casos de logística del anexo
El anexo de 21.411 aplica esto a tres familias de problemas, todas con la misma estructura pero con nombres distintos:
Problema de transporte. orígenes con oferta , destinos con demanda , coste unitario de llevar de a :
Es equilibrado si ; si no, se añade un origen o destino ficticio con coste cero. Tiene algoritmos específicos más rápidos que el símplex general, pero la sensibilidad se interpreta igual: los precios sombra de los orígenes y destinos dicen cuánto vale ampliar capacidad en cada punto de la red.
Problema de asignación. Caso particular del transporte con : asignar tareas a recursos, uno a uno.
Gestión de compras y almacenamiento. Decidir cuánto y cuándo comprar, con costes de pedido, de almacenamiento y descuentos por volumen. Con horizonte de varios periodos y stock que se arrastra, se modela con una variable por periodo y una restricción de balance de inventario:
donde es el stock al final del periodo , lo comprado y la demanda. El precio sombra de esa restricción es el coste de oportunidad de una unidad de stock en ese momento.
4. Ejemplo económico resuelto
Problema. Retomamos la carpintería de los temas 16 y 18:
con tabla óptima
Pregunta 1: ¿hasta cuánto puede subir el precio de las mesas sin cambiar el plan?
es básica, así que hay que revisar todos los costes reducidos. La fila de tiene, en las columnas no básicas y :
Las condiciones son:
Mientras el margen de la mesa esté entre 66,67 y 100 €, el plan óptimo sigue siendo 30 mesas y 40 estanterías. Solo cambia el beneficio: con sería .
Comprobación en el extremo superior. Con , el coste reducido de se anula: aparecen soluciones múltiples, y por encima de 100 la base cambia y conviene fabricar solo mesas.
Pregunta 2: ¿en qué rango vale el precio sombra de la carpintería?
La columna de en la tabla es aplicada al primer recurso: , .
Entre 200 y 300 horas de carpintería, cada hora adicional sigue valiendo 15 €.
Comprobación en el extremo: con ,
llega a cero: el plan pasa a ser solo estanterías, y ahí la base cambia. El beneficio sería , y en efecto .
Más allá de 300 horas el precio sombra cae, porque la carpintería deja de ser el cuello de botella.
Pregunta 3: la empresa puede comprar 40 horas de carpintería a 12 €/hora. ¿Interesa?
, dentro del rango: el precio sombra de 15 € sigue siendo válido para todas ellas.
Interesa, con un beneficio adicional de 120 €.
Comprobación completa: con ,
Descontando el coste de las horas, , frente a los 4100 iniciales: 120 € más, como anunciaba el cálculo marginal.
Pregunta 4: un cliente propone un producto nuevo, taburetes, que consumen 2 horas de carpintería y 1 de acabado, con un margen de 40 €. ¿Interesa?
Negativo: interesa. Los recursos que consume valen 35 € y su margen es 40: cada taburete aporta 5 € más de lo que desplaza. Habría que añadir la columna a la tabla y reoptimizar.
Pregunta 5: se avería una máquina y las horas de acabado bajan de 100 a 60. ¿Qué ocurre?
Rango de : la columna de es , .
El cambio a 60 está FUERA del rango (). La base deja de ser factible: aplicando la fórmula saldría , imposible.
Qué hacer. No sirve multiplicar por el precio sombra. Hay que reoptimizar, y el símplex dual lo hace en pocas iteraciones partiendo de esta tabla. Resolviendo directamente el sistema con :
De la segunda, ; sustituyendo: . Negativo, luego ese vértice no es factible y la carpintería deja de estar saturada. Con : la restricción de acabado da y la de carpintería ; manda 60.
La avería cuesta 1100 € de beneficio, no los que habría predicho el precio sombra. Extrapolar fuera del rango habría subestimado el daño en un factor de cinco.
5. Errores típicos
Aplicar el precio sombra fuera de su rango. Es el error más caro del tema, y el ejemplo anterior lo cuantifica. El precio sombra es una derivada: válida en el margen y dentro de un intervalo que hay que calcular.
Confundir los dos tipos de rango. El de dice cuánto puede cambiar un margen sin que cambie el plan; el de , cuánto puede cambiar una disponibilidad sin que cambie el precio sombra. Son preguntas distintas con fórmulas distintas.
Usar el criterio de no básica para una variable básica. Si la variable está en la base, cambiar su coeficiente altera todos los costes reducidos, no solo el suyo.
Olvidar que cambiar sí cambia las cantidades. Dentro del rango se mantienen la base y el precio sombra, pero se recalcula: las cantidades producidas sí varían.
Sumar los efectos de varios cambios simultáneos. Los rangos se calculan cambiando un dato cada vez. Si cambian dos a la vez, hay que usar la regla del 100 % o, más seguro, reoptimizar.
Interpretar un precio sombra cero como «recurso inútil». Significa que ahora sobra. Si la demanda crece, puede pasar a ser el cuello de botella.
Olvidar el signo al despejar los rangos. Al dividir por un o un negativo, la desigualdad se invierte. Es el error de aritmética del tema 1 reapareciendo en el último tema del bloque.
6. Ejercicios
Ejercicio 1 · Rango de un margen no básico
básicoEn una tabla óptima, el producto es no básico con y su margen actual es €. ¿Hasta cuánto puede subir el margen sin que interese fabricarlo?
Ver solución
Para una variable no básica, la base sigue siendo óptima mientras su coste reducido siga siendo no negativo. Al subir en , el coste reducido baja en :
Hasta 32 € el plan no cambia. A partir de ahí, entra en la base y conviene empezar a fabricar ese producto.
Lectura de gestión. El coste reducido de un producto que no se fabrica dice exactamente cuánto hay que mejorar su margen para que valga la pena: 7 € en este caso. Es información directamente accionable en una negociación de precios.
Ejercicio 2 · Efecto de ampliar un recurso
básicoUn problema tiene €/unidad con rango de validez , y actualmente .
- ¿Cuánto sube el beneficio si pasa a 100?
- ¿Y si pasa a 130?
Ver solución
1. , y : dentro del rango.
2. , pero : fuera del rango.
Solo se puede afirmar el efecto de las primeras 30 unidades (hasta ):
De las 20 restantes no se sabe nada sin reoptimizar. Lo único seguro es que su aportación será menor o igual que 4 € cada una: al salirse del rango, alguna variable básica llega a cero, otra restricción pasa a ser el cuello de botella y el precio sombra solo puede bajar.
Por tanto, , y la respuesta prudente es 120 € más lo que dé la reoptimización.
Ejercicio 3 · Calcular ambos rangos
medioPara la tabla óptima
con y , calcula el rango de y el de .
Ver solución
Rango de ( es básica). Su fila tiene, en las columnas no básicas:
Condiciones de optimalidad:
Con el margen del producto 1 entre 3 y 27 €, se siguen fabricando 15 y 25 unidades.
Rango de . La columna de da y :
Nivel actual de . Se recupera de :
De la primera, ; sustituyendo: , .
En ese intervalo, cada unidad adicional del recurso 1 aporta 3 € de beneficio.
Comprobación en el extremo superior. Con : , . La variable llega justo a cero: es el límite de la base, como debía ser.
Comprobación de coherencia global. Los precios sombra deben cumplir :
Y la dualidad fuerte: y .
Ejercicio 4 · Un caso de transporte y su sensibilidad
avanzadoUna empresa tiene dos almacenes, A (oferta 80 unidades) y B (oferta 70), y tres tiendas con demandas de 50, 60 y 40. Los costes unitarios de transporte son:
| T1 | T2 | T3 | |
|---|---|---|---|
| A | 4 | 6 | 9 |
| B | 5 | 3 | 7 |
- Formula el problema y comprueba si está equilibrado.
- Encuentra un plan de coste mínimo razonando sobre los costes.
- Interpreta qué diría el precio sombra de la oferta del almacén B.
Ver solución
1. Formulación. Con las unidades enviadas del almacén a la tienda :
Equilibrio: oferta total ; demanda total . Está equilibrado, así que no hacen falta orígenes ni destinos ficticios.
(Nota: en un problema equilibrado, una de las cinco restricciones es redundante —la suma de las ofertas iguala la de las demandas—, lo que produce degeneración. Es la razón de que el transporte tenga algoritmos propios.)
2. Buscar un plan barato. Comparamos costes por tienda:
- T1: A cuesta 4, B cuesta 5. Ventaja de A: 1.
- T2: A cuesta 6, B cuesta 3. Ventaja de B: 3.
- T3: A cuesta 9, B cuesta 7. Ventaja de B: 2.
La mayor ventaja relativa es la de B en T2, así que se asigna primero ahí: . A B le quedan 10 unidades.
Siguiente mayor ventaja: B en T3, con 2. Se asigna lo que queda de B: . B queda agotado.
El resto lo cubre A: , .
Plan:
| T1 | T2 | T3 | Total | |
|---|---|---|---|---|
| A | 50 | 0 | 30 | 80 |
| B | 0 | 60 | 10 | 70 |
| Total | 50 | 60 | 40 | 150 |
Comprobar que es óptimo. Cualquier reasignación implica un ciclo de cuatro movimientos. Por ejemplo, mover una unidad de A3 a A1 obliga a mover una de B1 a B3, pero y no hay de dónde. Probemos el ciclo , compensando :
Encarece. Y el ciclo con :
También encarece. Ningún movimiento mejora: el plan es óptimo, con 720 €.
3. Precio sombra de la oferta de B. Sería el ahorro de disponer de una unidad más en el almacén B.
Con una unidad más en B, se enviaría por su ruta más ventajosa aún disponible —T3, donde cuesta 7 frente a los 9 de A— y esa unidad dejaría de enviarse desde A:
El precio sombra de la oferta de B es € (en un problema de mínimo, una unidad más de oferta reduce el coste en 2 €).
Decisión asociada. Trasladar stock del almacén A al B, o ampliar la capacidad de B, compensa mientras cueste menos de 2 € por unidad. Y el rango de validez importa igual que antes: solo hasta que se agote, es decir, 30 unidades. A partir de ahí, A dejaría de servir a T3 y el ahorro marginal cambiaría.
Lo que ilustra el caso. Un problema de transporte es programación lineal con otro vocabulario: ofertas y demandas son términos independientes, las rutas son variables, y los precios sombra dicen dónde conviene invertir en capacidad. Toda la maquinaria de los temas 16 a 19 se aplica sin cambios.
7. Qué desbloquea
Necesitas antes:
Te abre la puerta a:
Cierra el bloque 4 y con él la parte de matemáticas y optimización del plan. A partir del tema 20 el objeto de estudio cambia: ya no son relaciones exactas conocidas, sino datos con incertidumbre.
8. Recursos externos
- OCW UPV/EHU — Investigación Operativa. Programación Lineal. Análisis de sensibilidad partiendo de la tabla óptima, además de programación entera, transporte y asignación. Es el recurso que mejor encaja con el anexo de 21.411.
- OCW Unizar — Modelos de Investigación Operativa. Programación entera y análisis de sensibilidad con colección de ejercicios y pruebas de evaluación resueltas.
- OCW Unizar — vídeos de programación lineal. Incluye análisis de sensibilidad resuelto paso a paso.
- OCW UC3M — Investigación Operativa. Flujo en redes, que generaliza el problema de transporte del anexo.
- LINDO. Su informe incluye directamente los rangos de sensibilidad de coeficientes y de términos independientes: es la forma más rápida de verificar los cálculos a mano.