Resolución Gráfica de Modelos de Programación Lineal

Anuncio
Resolución Gráfica de Modelos de Programación Lineal
Un modelo de programación lineal en 2 variables resulta ser la forma más sencilla que
puede adoptar un modelo de optimización y generalmente son utilizados para introducir los
conceptos básicos de la investigación de operaciones y particularmente la programación
lineal. Básicamente las propiedas de un modelo lineal en 2 variables son extendibles a
problemas lineales con un número mayor de variables y en este sentido la resolución
gráfica resulta de gran ayuda para entender estos conceptos.
Ejemplo Resolución Gráfica
Resuelva el siguiente modelo de programación lineal a través de la resolución gráfica.
En primera instancia se asigna un eje a cada una de las variables de decisión, por ejemplo
X1 corresponde al eje horizontal y X2 corresponde al eje vertical. Luego se grafican las
restricciones. La primera restricción intercepta el eje X1 en 3 (cuando X2=0) y el eje X2 en
6 (cuando X1=0). Dado que la restricción es del tipo "<=" ésta determina el área que esta
bajo la recta que une las coordenadas (X1,X2)=(3,0) y (X1,X2)=(0,6). En caso de tener
dudas sobre el área que determina cada restricción se recomienda considerar un punto
cualquiera fácil de evaluar en la restricción. Por ejemplo la coordenada (X1,X2)=(0,0) al
evaluar en la restricción 1 la cumple (2*0+0<=6) y por tanto esta coordenada será parte del
dominio de dicha inecuación. De forma similar se gráfica la segunda restricción que corta
X1 en (28/7,0) y corta X2 en (0,7/2).
La intersección de los dominios que determinan las restricciones del problema definirán el
dominio de soluciones factibles. Este dominio esta en verde en la imagen a continuación.
Una vez que ha identificado el dominio se debe buscar la solución óptima. Una propiedad
de los problemas de programación lineal es que cuando admiten solución, ésta se
encontrará siempre en un vértice del dominio de soluciones factibles y en caso muy
especiales en la frontera de dicho dominio. Por tanto una forma de resolver será
enumerando todos los vértices del dominio y evaluando éstos en la función objetivo. En
este caso como el problema consiste en maximizar el valor de la función objetivo, el vértice
que tenga un valor mayor corresponderá a la solución óptima. En el ejemplo se disponen de
4 vértices de fácil identificación, sin embargo, esta forma de resolución claramente queda
limitada a problemas de tamaño menor.
Otra forma de resolución es a través de las curvas de nivel de la función objetivo que
corresponden en el ejemplo a rectas paralelas que crecen en la dirección del gradiente de
dicha función. Es decir, si desplazamos la función objetivo en la dirección del vector
(X1,X2)=(120,80) el valor de la función objetivo crecerá a su mayor tasa.
En consecuencia para encontrar la solución óptima se desplazan las curvas de nivel en la
dirección del gradiente hasta que se intercepte por última vez el dominio de puntos
factibles. La linea punteada en rojo de la imagen anterior corresponde a dicha curva de
nivel y el último punto donde esta curva intercepta el dominio corresponde al vértice con
coordenadas (X1,X2)=(20/9,14/9) (Solución Óptima) con Valor Óptimo V(P)=391,1.
Análisis de sensibilidad en Programación Lineal - Resolución Gráfica.
El análisis gráfico es una alternativa eficiente para enfrentar la resolución de modelos de
Programación Lineal en 2 variables, donde el dominio de puntos factibles (en caso de
existir) se encontrará en el primer cuadrante, como producto de la intersección de las
distintas restricciones del problema lineal.
Una de las propiedades básicas de un modelo de Programación Lineal que admite
solución, es que ésta se encontrará en el vértice o frontera (tramo) del dominio de
puntos factibles. Es decir, si luego de gráficar el dominio y evaluar los distintos vértices de
modo de elegir "el mejor" candidato según sea nuestro caso (el valor de la función objetivo
será la que nos permitirá discriminar cual es el mejor candidato dependiendo si estamos
maximizando o minimizando).
Consideremos un Ejemplo Introductorio en 2 variables:




D) MIN 8X + 6Y
S.A. 2X + Y >= 10
...... .2X + 2Y >= 16
..... ..X>= 0, Y>= 0
Comentario: Nótese que corresponde al Problema Dual de P) cuya resolución se presenta
en nuestro sitio como ejemplo introductorio en la utilización de Solver de MS Excel. Para
ver el detalle de la resolución gráfica de P) se recomienda al usuario ingresar AQUI.
Para resolver el problema D) graficamos el dominio de puntos factibles y las curvas de
nivel asociadas a la función objetivo:
El área achurada en color verde representa el dominio de puntos factibles del problema D),
es decir, son las distintas combinaciones de valores que pueden adoptar las variables de
decisión que satisfacen las restricciones del problema. Cabe destacar que esto corresponde
a un dominio no acotado, lo que no implica que el problema no tenga solución.
Por otra parte sabemos que el óptimo de un problema lineal se encuentra en un vértice o
frontera del dominio de puntos factibles. En este caso tenemos 3 vértices candidatos al
óptimo los cuales se señalan con flecha blanca y azul. El vértice (X,Y)= (0,10) con
V(P)=60; (X,Y)=(2,6) con V(P)=52 y (X,Y)=(8,0) con V(P)=64. El mínimo valor para la
función objetivo se alcanza en (X,Y)=(2,6) con V(P)=52, el cual resulta ser la Solución
Óptima de D). Sin embargo, una forma más eficiente para obtener el óptimo que no
implique evaluar cada vértice en la función objetivo, es desplazando las curvas de nivel de
la función objetivo en la dirección del máximo decrecimiento (en el caso de un problema de
minimización). Para un problema de minimización, el mayor decrecimiento se alcanza en la
dirección del vector " - Gradiente F(X,Y)", en nuestro caso el vector con dirección (-8,-6)
(dirección representada por flecha roja). Luego, el óptimo se alcanza en el último punto
donde las curvas de nivel intersectan al dominio de puntos factibles en la dirección del
máximo decrecimiento, cuya solución obviamente corresponde a (X,Y)=(2,6) con V(P)=52.
ANÁLISIS DE SENSIBILIDAD GRÁFICO PARA 2 RESTRICCIONES
Una vez resuelto un modelo de Programación Lineal resulta útil hacer un análisis de
sensibilidad que permita identificar cómo afecta en los resultados del problema
variaciaciones en los parametros de éste, sin que esto pase por resolver el problema
nuevamente.
1. Variación en los Coeficientes de la Función Objetivo: La pregunta que buscamos
responder es cuál es el intervalo de variación para los coeficientes de la función objetivo
(cada coeficiente se analiza por separado) que mantiene la actual Solución Óptima.
Un primer acercamiento es considerar las pendientes de las restricciones activas en el
óptimo, es decir, aquellas restricciones que se cumplen en igualdad (en nuestro caso
restricción 1 y 2). La restricción 1 (2X + Y >=10) tiene pendiente -2. La restricción 2 (2X +
2Y >=16) tiene pendiente -1. Por otra parte la pendiente de la función objetivo dado C1=8 y
C2=6 es -4/3.
En consecuencia, se mantiene la actual Solución Óptima si la pendiente de la función
objetivo (curvas de nivel) varían en el intervalo de las pendientes de las actuales
restricciones activas. Esto es:
-2 <= -C1/C2 <= -1 (Multiplicamos por -1)
2 >= C1/C2 >= 1
Si fijamos C2=6.
2 >= C1/6 >= 1
12 >= C1 >= 6 (Garantiza la actual Solución Óptima con C2 fijo)
Si fijamos C1=8.
2 >= 8/C2 >= 1
8 >= C2 >= 4 (Garantiza la actual Solución Óptima con C1 fijo)
Nótese que en los extremos de los intervalos además de incluir la actual Solución Óptima
se consideran nuevas combinaciones del dominio que mantienen el Valor Óptimo y
también son Solución Óptima de D). Esta situación determina que el problema tiene
infinitas soluciones óptimas.
2. Variación en los lados derechos de las restricciones (cálculo del "precio sombra"):
Una pregunta común en el análisis de sensibilidad resulta ver el impacto que tiene en el
valor óptimo una variación marginal del lado derecho de alguna de sus restricciones (tanto
aumento o decrecimiento). El impacto en el valor óptimo por unidad de variación del lado
derecho de una restricción (manteniendo el resto constante) es el precio sombra asociado a
dicha restricción. En nuestro ejemplo, considere que el lado derecho de la restricción 1
(actualmente b1=10) corresponde a un recurso escaso (ejemplo: horas hombre, dinero,
tiempo, etc). Si sabemos que el actual valor óptimo V(P)=52, quisieramos saber por
ejemplo, cuánto aumentaría el valor óptimo se dispusiéramos de una unidad adicional del
recurso escaso (es decir, pasando a b1*=11). En forma equivalente frecuentemente se
plantea esta inquietud como ¿Cuánto es lo máximo que se estaría dispuesto a pagar por
unidad adicional del recurso asociado a la primera restricción?. Este valor corresponde al
precio sombra.
Precio Sombra Restricción 1: Primero se considera el desplazamiento paralelo de la
Restricción 1 (tanto en el sentido de crecimiento o decrecimiento del lado derecho), de
modo que la Solución Óptima se siga encontrando con las actuales restricciones activas (en
nuestro caso R1 y R2). Por ejemplo, desplazando R1 en la dirección de su decrecimiento, el
último punto donde se intersecta R1 con R2 sería en el par ordenado (X,Y)=(0,8). Se
propone al usuario el cálculo de la máxima variación para R1 que se produce en
(X,Y)=(8,0).
En consecuencia, el Precio Sombra asociado a la Restricción 1 queda dado por:
Un Precio Sombra igual a 2 indica por ejemplo que si el lado derecho aumenta en 1 unidad,
el beneficio adicional (incremento en el Valor Óptimo) es de 2 unidades. Adicionalmente,
una pregunta frecuente resulta en identificar el intervalo de variación donde el precio
sombra calculado es válido. El máximo valor al que puede adoptar el lado derecho de R1
es b1*, de modo que la nueva solución se siga encontrando con R1 y R2 activas. El valor
de b1* se obtiene al evaluar (X,Y)=(8,0) en la Restricción 1: 2*(8) + 1*(0)=16. Siguiendo
similar razonamiento el mínimo valor que puede alcanzar el lado derecho de R1 es b1, que
evaluado en (X,Y)=(0,8) en R1 se obtiene: 2*(0) + 1*(8)=8.
ANÁLISIS DE SENSIBILIDAD GRÁFICO PARA 3 RESTRICCIONES
La metodología y conceptos presentados para el caso de 2 restricciones no difiere, sin
embargo, hay que tener especial cuidado cómo la inclusión de una tercera restricción afecta
el análisis. Veamos el siguiente ejemplo:





P) MAX 4X + 3Y
S.A. 6X + 2Y <= 120
...... .1X + 4Y <= 100
........5X + 5Y <= 150
..... ..X>= 0, Y>= 0
La resolución gráfica de este ejemplo permite obtener la solución óptima X=15, Y=15 con
valor óptimo V(P)=105, tal como se observa en el gráfico a continuación:
Antes de proceder con el análisis de sensibilidad es conveniente verificar si las actuales
restricciones del problema estan activas en el óptimo, es decir, si se cumplen en igualdad:



R1: 6*(15) + 2*(15) = 120 => R1 es una restricción activa
R2: 1*(15) + 4*(15) < 100 => R2 no es una restricción activa
R3: 5*(15) + 5*(15) = 150 => R3 es una restricción activa
En el caso que el lado derecho de la restricción sea un recurso, resulta lógico tener una
disposición a pagar por unidad adicional en la medida que dicho recurso se este ocupando a
máxima capacidad. En consecuencia, una restricción no activa tiene por definición un
precio sombra igual a cero (caso de R2) ya que un aumento del lado derecho no aumentará
el valor óptimo actual V(P)=150. Sin embargo, sólo en casos muy particulares podemos
encontrar restricciones activas con precio sombra (o costo reducido) igual a cero, lo que
es más la excepción que la regla.
Luego de esta introducción veamos el cálculo del precio sombra o costo reducido para la
restricción 1 (R1). Primero, debemos desplazar en forma paralela la restricción 1 hasta el
punto máximo donde la solución óptima se siga encontrando con las actuales
restricciones activas R1 y R3. Dicho punto es (X,Y)=(30,0). Posteriormente, desplazamos
en forma paralela la restricción 1 (R1) hasta el punto mínimo donde la solución óptima se
siga encontrando con las actuales restricciones activas R1 y R3. Nótese que este
desplazamiento queda acotado hasta el punto donde la restricción 2 (R2) se vuelve activa,
que corresponde al punto (X,Y)=(6,666, 23,333) como se muestra en la siguiente gráfica:
Por consiguiente, el precio sombra asociado a la restricción 1 queda dado por:
Siguiendo un procedimiento similar se pueden obtener los precios sombras asociadas a las
restantes restricciones. A continuación se presenta una tabla resumen del análisis de
sensibilidad obtenido con Solver de Excel:
El análisis gráfico es una alternativa eficiente para enfrentar la resolución de modelos de
Programación Lineal en 2 variables, donde el dominio de puntos factibles (en caso de
existir) se encontrará en el primer cuadrante, como producto de la intersección de las
distintas restricciones del problema lineal.
Una de las propiedades básicas de un modelo de Programación Lineal que admite
solución, es que ésta se encontrará en el vértice o frontera (tramo) del dominio de
puntos factibles. Es decir, si luego de gráficar el dominio y evaluar los distintos vértices de
modo de elegir "el mejor" candidato según sea nuestro caso (el valor de la función objetivo
será la que nos permitirá discriminar cual es el mejor candidato dependiendo si estamos
maximizando o minimizando).
Consideremos un Ejemplo Introductorio en 2 variables:




D) MIN 8X + 6Y
S.A. 2X + Y >= 10
...... .2X + 2Y >= 16
..... ..X>= 0, Y>= 0
Para resolver el problema D) graficamos el dominio de puntos factibles y las curvas de
nivel asociadas a la función objetivo:
El área achurada en color verde representa el dominio de puntos factibles del problema D),
es decir, son las distintas combinaciones de valores que pueden adoptar las variables de
decisión que satisfacen las restricciones del problema. Cabe destacar que esto corresponde
a un dominio no acotado, lo que no implica que el problema no tenga solución.
Por otra parte sabemos que el óptimo de un problema lineal se encuentra en un vértice o
frontera del dominio de puntos factibles. En este caso tenemos 3 vértices candidatos al
óptimo los cuales se señalan con flecha blanca y azul. El vértice (X,Y)= (0,10) con
V(P)=60; (X,Y)=(2,6) con V(P)=52 y (X,Y)=(8,0) con V(P)=64. El mínimo valor para la
función objetivo se alcanza en (X,Y)=(2,6) con V(P)=52, el cual resulta ser la Solución
Óptima de D). Sin embargo, una forma más eficiente para obtener el óptimo que no
implique evaluar cada vértice en la función objetivo, es desplazando las curvas de nivel de
la función objetivo en la dirección del máximo decrecimiento (en el caso de un problema de
minimización). Para un problema de minimización, el mayor decrecimiento se alcanza en la
dirección del vector " - Gradiente F(X,Y)", en nuestro caso el vector con dirección (-8,-6)
(dirección representada por flecha roja). Luego, el óptimo se alcanza en el último punto
donde las curvas de nivel intersectan al dominio de puntos factibles en la dirección del
máximo decrecimiento, cuya solución obviamente corresponde a (X,Y)=(2,6) con V(P)=52.
ANÁLISIS DE SENSIBILIDAD GRÁFICO PARA 2 RESTRICCIONES
Una vez resuelto un modelo de Programación Lineal resulta útil hacer un análisis de
sensibilidad que permita identificar cómo afecta en los resultados del problema
variaciaciones en los parametros de éste, sin que esto pase por resolver el problema
nuevamente.
1. Variación en los Coeficientes de la Función Objetivo: La pregunta que buscamos
responder es cuál es el intervalo de variación para los coeficientes de la función objetivo
(cada coeficiente se analiza por separado) que mantiene la actual Solución Óptima.
Un primer acercamiento es considerar las pendientes de las restricciones activas en el
óptimo, es decir, aquellas restricciones que se cumplen en igualdad (en nuestro caso
restricción 1 y 2). La restricción 1 (2X + Y >=10) tiene pendiente -2. La restricción 2 (2X +
2Y >=16) tiene pendiente -1. Por otra parte la pendiente de la función objetivo dado C1=8 y
C2=6 es -4/3.
En consecuencia, se mantiene la actual Solución Óptima si la pendiente de la función
objetivo (curvas de nivel) varían en el intervalo de las pendientes de las actuales
restricciones activas. Esto es:
-2 <= -C1/C2 <= -1 (Multiplicamos por -1)
2 >= C1/C2 >= 1
Si fijamos C2=6.
2 >= C1/6 >= 1
12 >= C1 >= 6 (Garantiza la actual Solución Óptima con C2 fijo)
Si fijamos C1=8.
2 >= 8/C2 >= 1
8 >= C2 >= 4 (Garantiza la actual Solución Óptima con C1 fijo)
Nótese que en los extremos de los intervalos además de incluir la actual Solución Óptima
se consideran nuevas combinaciones del dominio que mantienen el Valor Óptimo y
también son Solución Óptima de D). Esta situación determina que el problema tiene
infinitas soluciones óptimas.
2. Variación en los lados derechos de las restricciones (cálculo del "precio sombra"):
Una pregunta común en el análisis de sensibilidad resulta ver el impacto que tiene en el
valor óptimo una variación marginal del lado derecho de alguna de sus restricciones (tanto
aumento o decrecimiento). El impacto en el valor óptimo por unidad de variación del lado
derecho de una restricción (manteniendo el resto constante) es el precio sombra asociado a
dicha restricción. En nuestro ejemplo, considere que el lado derecho de la restricción 1
(actualmente b1=10) corresponde a un recurso escaso (ejemplo: horas hombre, dinero,
tiempo, etc). Si sabemos que el actual valor óptimo V(P)=52, quisieramos saber por
ejemplo, cuánto aumentaría el valor óptimo se dispusiéramos de una unidad adicional del
recurso escaso (es decir, pasando a b1*=11). En forma equivalente frecuentemente se
plantea esta inquietud como ¿Cuánto es lo máximo que se estaría dispuesto a pagar por
unidad adicional del recurso asociado a la primera restricción?. Este valor corresponde al
precio sombra.
Precio Sombra Restricción 1: Primero se considera el desplazamiento paralelo de la
Restricción 1 (tanto en el sentido de crecimiento o decrecimiento del lado derecho), de
modo que la Solución Óptima se siga encontrando con las actuales restricciones activas (en
nuestro caso R1 y R2). Por ejemplo, desplazando R1 en la dirección de su decrecimiento, el
último punto donde se intersecta R1 con R2 sería en el par ordenado (X,Y)=(0,8). Se
propone al usuario el cálculo de la máxima variación para R1 que se produce en
(X,Y)=(8,0).
En consecuencia, el Precio Sombra asociado a la Restricción 1 queda dado por:
Un Precio Sombra igual a 2 indica por ejemplo que si el lado derecho aumenta en 1 unidad,
el beneficio adicional (incremento en el Valor Óptimo) es de 2 unidades. Adicionalmente,
una pregunta frecuente resulta en identificar el intervalo de variación donde el precio
sombra calculado es válido. El máximo valor al que puede adoptar el lado derecho de R1
es b1*, de modo que la nueva solución se siga encontrando con R1 y R2 activas. El valor
de b1* se obtiene al evaluar (X,Y)=(8,0) en la Restricción 1: 2*(8) + 1*(0)=16. Siguiendo
similar razonamiento el mínimo valor que puede alcanzar el lado derecho de R1 es b1, que
evaluado en (X,Y)=(0,8) en R1 se obtiene: 2*(0) + 1*(8)=8.
Se recomienda al usuario hacer el cálculo del Precio Sombra para la Restricción 2, el cual
corresponde a 2. Si desea consultar un nuevo ejemplo ingrese a Resolución Gráfica en
Programación Lineal. (Sitio: Investigación Operativa)
ANÁLISIS DE SENSIBILIDAD GRÁFICO PARA 3 RESTRICCIONES
La metodología y conceptos presentados para el caso de 2 restricciones no difiere, sin
embargo, hay que tener especial cuidado cómo la inclusión de una tercera restricción afecta
el análisis. Veamos el siguiente ejemplo:





P) MAX 4X + 3Y
S.A. 6X + 2Y <= 120
...... .1X + 4Y <= 100
........5X + 5Y <= 150
..... ..X>= 0, Y>= 0
La resolución gráfica de este ejemplo permite obtener la solución óptima X=15, Y=15 con
valor óptimo V(P)=105, tal como se observa en el gráfico a continuación:
Antes de proceder con el análisis de sensibilidad es conveniente verificar si las actuales
restricciones del problema estan activas en el óptimo, es decir, si se cumplen en igualdad:



R1: 6*(15) + 2*(15) = 120 => R1 es una restricción activa
R2: 1*(15) + 4*(15) < 100 => R2 no es una restricción activa
R3: 5*(15) + 5*(15) = 150 => R3 es una restricción activa
En el caso que el lado derecho de la restricción sea un recurso, resulta lógico tener una
disposición a pagar por unidad adicional en la medida que dicho recurso se este ocupando a
máxima capacidad. En consecuencia, una restricción no activa tiene por definición un
precio sombra igual a cero (caso de R2) ya que un aumento del lado derecho no aumentará
el valor óptimo actual V(P)=150. Sin embargo, sólo en casos muy particulares podemos
encontrar restricciones activas con precio sombra (o costo reducido) igual a cero, lo que
es más la excepción que la regla.
Luego de esta introducción veamos el cálculo del precio sombra o costo reducido para la
restricción 1 (R1). Primero, debemos desplazar en forma paralela la restricción 1 hasta el
punto máximo donde la solución óptima se siga encontrando con las actuales
restricciones activas R1 y R3. Dicho punto es (X,Y)=(30,0). Posteriormente, desplazamos
en forma paralela la restricción 1 (R1) hasta el punto mínimo donde la solución óptima se
siga encontrando con las actuales restricciones activas R1 y R3. Nótese que este
desplazamiento queda acotado hasta el punto donde la restricción 2 (R2) se vuelve activa,
que corresponde al punto (X,Y)=(6,666, 23,333) como se muestra en la siguiente gráfica:
Por consiguiente, el precio sombra asociado a la restricción 1 queda dado por:
Siguiendo un procedimiento similar se pueden obtener los precios sombras asociadas a las
restantes restricciones. A continuación se presenta una tabla resumen del análisis de
sensibilidad obtenido con Solver de Excel:
Descargar