Análisis de Sensibilidad en Programación Lineal utilizando la Tabla Final del Método Simplex

Un supuesto básico asociado a la Programación Lineal es que los parámetros o constantes son valores conocidos con exactitud al momento de resolver el modelo de optimización. Este supuesto de asumir que no existe incertidumbre claramente implica una simplificación en el modelamiento de problemas de naturaleza real y es conocido como el supuesto de modelo determinista.

La optimización también permite incorporar explícitamente la incertidumbre en los parámetros en el modelamiento, asumiendo que la totalidad o un conjunto de éstos se distribuyen aleatoriamente, lo cual se puede representar a través de una función de probabilidad conocida o una distribución empírica que modela distintos escenarios para los parámetros, asociando una probabilidad de ocurrencia en cada caso. Esta categoría de modelos de optimización (por cierto más complejos en comparación al caso determinista) se llaman modelos estocásticos, los cuales en rara oportunidad se analizan en cursos introductorios de Investigación de Operaciones, de modo que forman parte del programa de estudios en cursos de Magíster y Doctorado asociado al área de optimización matemática.

En relación a lo anterior, si bien un modelo determinista considera valores fijos para los parámetros, aún podemos analizar los cambios en los resultados del modelo (solución óptima y valor óptimo principalmente) en comparación a lo obtenido en una instancia de resolución original o escenario base. Esto se conoce como análisis de sensibilidad o análisis postoptimal.

Recordemos que la estructura de la tabla final del Método Simplex se puede representar de la siguiente forma:

estructura-tabla-metodo-sim

Donde:

  • I: Matriz Identidad (Diagonal de «1»)
  • 0: Vector de costos reducidos asociados a las variables básicas
  • B: Matriz de variables básicas
  • D: Matriz de variables no básicas
  • b: Vector de «lado derecho»
  • Cb: Coeficientes en la función objetivo asociados a las variables básicas
  • Cd: Coeficientes en la función objetivo asociados a las variables no básicas

A continuación presentamos los Análisis de Sensibilidad más recurrentes asociados a los modelos de Programación Lineal y utilizando como fuente de información la tabla final del Método Simplex. El siguiente es un listado de los artículos que hemos desarrollado para cada uno de estos temas los cuales te recomendamos visitar:

Por qué no aparece el Informe de Confidencialidad (o Informe de Sensibilidad) en Solver de Excel

Cuando resolvemos un modelo de Programación Lineal en Solver de Excel tenemos la posibilidad de generar una serie de informes de respuesta entre los cuales destaca el denominado «Confidencialidad» (o «Sensibilidad» en versiones de Excel anteriores) que resume los principales resultados relativos al análisis de sensibilidad. Lo anterior es fácilmente accesible en el módulo de Resultados de Solver en una interfaz similar como la que se presenta a continuación:

resultados-de-solver-confid

Sin embargo la opción de obtener el Informe de Confidencialidad no siempre está disponible. Para ello consideremos que nos interesa resolver el siguiente modelo de Programación Entera:

modelo-de-programacion-ente

A continuación desarrollamos la implementación computacional según se muestra en la imagen a continuación:

carga-modelo-entero-en-solv

Se puede apreciar que la celda E3 es la fórmula de la función objetivo que representa la ponderación de los parámetros de la misma (10 y 16) por los valores que adquirirán las celdas que definiremos como variables de decisión (B3 y C3). Adicionalmente las celdas D6 y D7 también son fórmulas que considera la ponderación de los parámetros del lado izquierdo de las restricciones por las variables de decisión. Luego, se carga el modelo en Solver de Excel en la interfaz «Parámetros de Solver»:

parametros-de-solver-modelo

Para obtener los resultados sólo es necesario presionar «Resolver» donde se actualizará en la planilla los resultados con la solución óptima X=2 e Y=2 y valor óptimo V(PE)=52. Notar sin embargo que el informe de Confidencialidad ya no se encuentra disponible.

resultados-de-solver-sin-co

¿Por qué sucede ésto?. Básicamente por qué los informes de sensibilidad en Solver se pueden obtener si el problema que se implementa es de naturaleza continua (como lo que sucedería en este mismo problema si se omiten las condiciones de integralidad para las variables de decisión lo que daría lugar a un modelo de Programación Lineal). Por el contrario un modelo de Programación Entera como el que hemos utilizado en este artículo tiene un dominio de factibilidad discreto. Lo anterior queda en evidencia en la siguiente representación gráfica del problema realizada con Geogebra:

contraste-dominio-discreto-

El dominio de factibilidad continuo del modelo de Programación Lineal (omitiendo las condiciones de enteros para las variables de decisión) corresponde al área achurada denotada por el polígono que tiene por los vértices A, B, C y D. En cuanto al modelo de Programación Entera el dominio de factibilidad es discreto y se puede enumerar, lo cual corresponde a las coordenadas que representan los puntos A, E, F, B, I, H, G, J, K, C, M, L y D. En este contexto se debe recordar que uno de los supuestos básicos de la Programación Lineal es la proporcionalidad el cual ya no es admisible cuando nos enfrentamos a un problema de Programación Entera.

En consecuencia, si en la utilización de Solver de Excel queremos analizar el impacto que tiene la modificación de los parámetros del modelo en la resolución de un modelo de Programación Entera (principalmente en lo que se refiere a la solución óptima y valor óptimo) se propone reoptimizar modificando la(s) celda(s) que sean necesarias y ejecutar el programa nuevamente.

Aprueba tu Examen con el Libro de Apuntes de Programación Lineal

¿Te gustaría disponer de un Apunte con ejercicios resueltos explicados de modo sencillo que te permita aprobar tu Examen de Programación Lineal?

El Libro de Apuntes de Programación Lineal que necesitas esta aquí y ha sido diseñado especialmente para aquellos alumnos que se encuentran cursando una cátedra inicial de Investigación de Operaciones (o Investigación Operativa) que buscan resolver de forma sencilla aquellas preguntas frecuentes relacionadas a los modelos de optimización lineales.

ecover pl formulario

El material contenido en este Apunte es original, es decir, no ha sido tomado de libros o apuntes de terceros. Para ello hemos desarrollado una labor creativa en el diseño de los ejercicios que estamos seguros sabrás apreciar.

El Libro de Apuntes contiene los siguientes capítulos:

Beneficios

beneficios-ebook

Eso no es todo!

Por la compra del Apunte recibirás GRATIS un archivo Excel con Ejercicios de Programación Lineal resueltos con Solver de Excel.

¿Quieres tener el archivo PDF con el Libro de Apuntes de Programación Lineal?

[sociallocker]MUCHAS GRACIAS!. DESCARGA AQUÍ EL APUNTE DE PROGRAMACIÓN LINEAL[/sociallocker]

Nuestros Usuarios nos Respaldan

Desde Febrero de 2012 el Libro de Apuntes de Programación Lineal ha sido descargado por más de 57.000 100.000 usuarios de distintos países los cuales se han mostrados muy satisfechos por el material recibido. Esto ha permitido consolidar nuestro sitio web como una de las principales referencias sobre la Gestión de Operaciones e Investigación de Operaciones para estudiantes.

Incorporar Nueva Restricción (Análisis Postoptimal Programación Lineal)

Una 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 que hemos resuelto en un artículo previo a través del Método Simplex:

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:

Tabla Optima Metodo Simplex

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:

tabla-simplex-nueva-restric

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:

simplex-nueva-restriccion

Ahora las variables básicas son x, s2, 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.

Adicionalmente podemos utilizar un enfoque de Resolución Gráfica para el problema anterior. El siguiente gráfico representa la resolución del escenario inicial donde la solución básica factible óptima se alcanza en el vértice C con x=100 e y=350.

solucion-grafica-nueva-rest

Al incorporar la nueva restricción (recta color rojo) el dominio de soluciones factibles se ve reducido, donde ahora ya no son factibles los puntos en el polígono con área achurada color verde (donde se puede verificar que el vértice C es infactible).

Si se resuelve gráficamente sobre el nuevo dominio (área achurada color naranjo) las curvas de nivel de la función objetivo (recta punteada color azul) pasa por última vez en el vértice F donde x=250/3 e y=350 como solución óptima del nuevo problema.

dominio-nueva-restriccion

Incorporar nueva variable en un Modelo (Análisis de Sensibilidad en Programación Lineal)

Una vez resuelto un modelo de Programación Lineal a través del Método Simplex puede resultar de interés analizar si cambia la solución óptima y valor óptimo del problema luego de incluir una nueva variable de decisión.

Por ejemplo, en un Problema de Producción esta nueva variable generalmente representa la evaluación de un nuevo producto no considerado inicialmente donde es útil saber cuál sería su impacto en los resultados del modelo sin la necesidad de reoptimizar.

Este tipo de análisis corresponde al Análisis de Sensibilidad en Programación Lineal y a continuación presentaremos un ejemplo de este escenario.

Consideremos el siguiente modelo de optimización:

Modelo de Programación Lineal

Al resolver este modelo de Programación Lineal con el Método Simplex se alcanza la siguiente tabla final, donde s1, s2 y s3 son las variables de holgura de las restricciones 1, 2 y 3, respectivamente:

Tabla Optima Metodo Simplex

Consideremos adicionalmente que las variables x e y representan 2 productos y sus respectivos coeficientes en la función objetivo representan el ingreso asociado a su venta. En este contexto, en el plan actual se producen 100 unidades de x y 350 unidades de y, con un ingreso total de $3.100 (valor óptimo).

Asumamos que nos interesa analizar si conviene la fabricación de un tercer producto (llamado z) que tiene un ingreso unitario por venta de $5 y que para su fabricación requiere de 3, 1 y 1 unidad de los recursos asociados a las restricciones R1, R2 y R3, respectivamente.

Más aún, nos interesa dar respuesta a esta interrogante sin tener que resolver desde cero este nuevo problema. Si este es nuestro objetivo podemos utilizar el Análisis Postoptimal donde en particular calcularemos el costo reducido de esta nueva variable dado sus parámetros.

Si dicho costo reducido resulta ser negativo implica que la solución óptima actual deja de serlo al considerar este cambio y por tanto se puede buscar el nuevo óptimo utilizando la solución actual como punto de partida.

La fórmula del costo reducido para la nueva variable está dada por:

nueva-variable

Donde la notación corresponde a:

notacion-nueva-variable

Aplicando las definiciones anteriores a nuestro ejemplo se obtiene lo siguiente:

calculo-nueva-variable

Notar que el costo reducido para esta nueva variable es 3/2>=0 lo que significa que la solución óptima actual se mantiene si se incluye esta nueva variable al modelo (donde la variable z sería una variable no básica con valor cero).

¿Cuánto debería ser como mínimo el ingreso asociado a la nueva variable z de modo que si sea conveniente su producción y por tanto cambie la solución óptima actual?.

Responder esta interrogante consiste en determinar cuál debiera ser el valor de Cj para que Rj<0 y entonces la variable z al tener costo reducido negativo entra a la base y se continua con las iteraciones.

Por simple inspección y evaluando en la fórmula anterior se puede corroborar que el ingreso mínimo para dicha variable debería ser un valor mayor a 13/2. Por ejemplo, asumamos ahora que el ingreso unitario de la variable z es $7. El nuevo costo reducido sería -1/2 y se actualiza la tabla final del Método Simplex quedando de la siguiente forma:

simplex-nueva-variable

Se pueden continuar con las iteraciones del Método Simplex incorporando la variable z a la base y luego calculando el mínimo cuociente entre {400/2; 350/1}=200 ==> s1 deja la base. Al actualizar la tabla se obtiene la nueva solución básica factible óptima y valor óptimo:

cambio-de-variable-tabla-fi

Ahora x=200, y=150, z=200, con valor óptimo V(P)=3.200. Puedes corroborar los resultados revisando nuestro tutorial Cómo resolver un modelo de Programación Lineal con el Método Simplex.