Está en la página 1de 33

INVESTIGACIÓN DE OPERACIONES

Análisis de sensibilidad
Análisis de sensibilidad para la solución
óptima
• ¿Es sensible la solución óptima a cambios en los parámetros
de entrada?

• Posibles razones para responder la pregunta anterior:

– Los valores de los parámetros usados fueron los mejores estimados.


– Medio ambiente por ser dinámico puede producir cambios.
– El análisis del “qué pasa si” puede proveer información económica
y operacional.
Análisis de sensibilidad de los coeficientes de la
función objetivo
• Rango de optimalidad
– La solución óptima permanecerá inalterable mientras:
• Un coeficiente de la función objetivo se encuentre dentro del
rango de optimalidad.
• No hay cambios en ningún otro parámetro.

– El valor de la función objetivo cambiará si el coeficiente


multiplica una variable cuyo valor es distinto de cero.
• El análisis d sensibilidad para los coeficientes de la función objetivo se
refiere a cuanto puede variar cada uno de dichos coeficientes,
manteniendo los demás constantes, sin que cambie la solución
óptima.

• Si varía un coeficiente de la función objetivo, cambia la pendiente de


las curvas de nivel o de isoutilidad.

• Se debe hacer notar que si bien la solución óptima no cambia


mientras los coeficientes varían dentro del rango de sensibilidad, el
valor de la función objetivo en el óptimo si variará.
Los efectos del cambios en un coeficiente de la función
objetivo, sobre la solución óptima
X2
1200

800

600

X1

400 600 800


Los efectos del cambio de un coeficiente de la función
objetivo, sobre la solución óptima
X2
1200
Rango de optimalidad

800

600

400 600 800 X1


Cambios Múltiples
• El rango de optimalidad es válido cuando un único
coeficiente de la función objetivo cambia.

• Cuando cambia más de una variable se utiliza la


regla del 100%.
Regla del 100%
• Para cada aumento (disminución) en un coeficiente de la función
objetivo calcular (y expresar como un porcentaje) la relación de
cambio del coeficiente al máximo aumento posible (disminución)
determinada por los límites del rango de optimalidad.

• Sumar todos los cambios de porcentaje. Si el total es menor que 100%,


la solución óptima no cambiará. Si este total es mayor que 100%, la
solución óptima puede cambiar.
• Costo reducido
Suponiendo que no haya otros cambios en los parámetros de entrada, el costo
reducido para una variable Xj que tiene un valor de "0" en la solución óptima es:
– El negativo del aumento del coeficiente objetivo de la variable Xj (-ΔCj)
necesario para que la variable sea positiva en la solución óptima
– Alternativamente, es el cambio en el valor objetivo por unidad de aumento de
Xj .
• Holgura complementaria
En la solución óptima, el valor de una variable es cero o su costo reducido es 0.
• Reducción de costos
– La reducción de costos de una variable a su cota inferior (comúnmente cero)
implica que:
• Los coeficientes de la función objetivo deben cambiar antes que la variable pueda
tomar un valor sobre la cota inferior.
• Con lo anterior la cantidad de ganancia óptima cambiará según las variables
aumentadas desde la cota inferior.

• Holgura complementaria
– Existe holgura en la solución óptima, cuando cada variable está en su cota
inferior o el costo reducido es 0.
Análisis de Sensibilidad del coeficiente del
lado derecho
• Cualquier cambio en el lado derecho (bj) de una restricción
activa cambiará la solución óptima.

• Cualquier cambio en el lado derecho de una restricción no


activa que sea menor que la holgura o el exceso, no
produce ningún cambio en la solución óptima.
• El rango de sensibilidad para bj se refiere a cuanto puede variar la
disponibilidad bj de un recurso sin que varíen los precios sombra de los
distintos recursos.

• La importancia de este tipo de análisis radica en que permite saber,


por ejemplo, cuantas unidades de recurso es conveniente vender
(comprar) a un determinado precio. Ello quiere decir cual es el
máximo precio que está dispuesto a pagar por unidad de recurso. El
problema es ahora determinar cuantas unidades se está dispuesto a
comprar a dicho precio máximo.

• El análisis de sensibilidad permite encontrar la respuesta.


Para el análisis de sensibilidad de la validez de los coeficiente
del lado derecho nos interesa responder las siguientes
preguntas:

• ¿ Manteniendo todos los otros coeficientes , en cuánto cambiaría el


valor óptimo de la función objetivo (por ejemplo, la ganancia) si el
coeficiente del lado derecho de una restricción cambia en una
unidad?

• ¿ Hasta cuántas unidades se puede agregar o disminuir para que la


solución siga siendo válida?
Precios Sombra
• Suponiendo que no haya otros cambios en los
parámetros de entrada, el cambio en el valor de la
función objetivo por unidad de aumento a un lado
derecho de una restricción se llama "Precio sombra"
Precio sombra – Demostración gráfica
Restricción de
preservante X2 Cuando hay más preservante disponible (la
restricción de preservante se relaja), el lado
derecho de la restricción de preservante aumenta
1000
Máxima ganancia = $4360

Máxima ganancia = $4363.4


500

Shadow price = 4363.40 – 4360.00 = 3.40

Restricción X1
tiempo de
500
producción
X2

1200

Restricción materiales
(preservante)
Nueva restricción materiales (preservante)
Ganancia máxima= 5040
600
Combinación de restricciones
en la producción
Restricción del
Feasible
tiempo de Puntos extremos
X1
producción
600 800
Interpretación correcta del precio sombra
• Los costos amortizados: El precio sombra, es el valor por una unidad
extra del recurso, ya que el costo del recurso no es incluido en el
cálculo de los coeficientes de la función objetivo.

• Los costos incluidos: El precio sombra es el valor superior por unidad


del recurso, el costo del recurso se incluye en el cálculo del
coeficiente de la función objetivo.
Precios sombra o duales
• Cuando usemos Lindo –o cualquier software de similares característica- para
resolver un problema de PL, no sólo obtendremos la solución del mismo –en
caso de que exista-, sino también los llamados precios sombra o precios
duales.

• Cada precio sombra estará asociado a una restricción del problema, y nos
indicará en cuánto “mejoraría” la función objetivo –evaluada en el punto
solución- si dicha restricción se “relajase” en una unidad. En el contexto
anterior, “mejorar” significa: “aumentar” en el caso de un problema de
maximización, y “disminuir” en el caso de un problema de minimización. Por
su parte, “relajar” una restricción en una unidad significa: “incrementar” el
RHS en una unidad en caso de que la restricción sea con <=, y “disminuir” el
RHS en una unidad en caso de que la restricción sea con >=.
El rango de factibilidad
• El conjunto de los coeficientes del lado derecho entregan el rango
para que el mismo conjunto de restricciones determine el punto
óptimo.

• Dentro del rango de factibilidad, los precios sombras permanecen


constante; sin embargo, la solución óptima cambiará.
Otros cambios para optimizar la función
objetivo
• La incorporación de una restricción.
• La eliminación de una restricción.
• La incorporación de un variable.
• La eliminación de un variable.
• Cambio en el lado izquierdo de los coeficientes.
Modelo sin solución óptima
• No factible: Ocurre cuando en el modelo no hay ningún
punto de factible.

• No acotado: Ocurre cuando el objetivo puede crecer


infinitamente (objetivo a maximizar).
Infactibilidad

Ningún punto se encuentra,


simultáneamente, sobre la línea 1
la línea 2 y 3

2 1
Solución No Acotada

Dieta Marina
• Un problema de minimización del costo de la dieta:
– Mezcle dos porciones de lo productos: Texfoods, Calration.
– Minimice el costo total de la mezcla.
– Mantenga los requerimientos mínimos de Vitamina A, Vitamina D, y
hierro.
Variables de decisión:
x1 (X2) - - El cantidad de Texfoods (Calration) se usó en cada porción
(cada 2 onzas).
El modelo
minimizar 0.60X1 + 0.50X2 Costo por 2 oz.

sujeto a
20X1 + 50X2 ≥ 100 vitamina A
25X1 + 25X2 ≥ 100 vitamina D % requerido

50X1 + 10X2 ≥ 100 hierro X1, X2 ≥ 0


La solución gráfica
5
Restricción de hierro

4 Región factible

Restricción de vitamina D

2
Restricción de vitamina A

2 4 5
Resumen de la solución óptima
• Producto Texfood = repartir 1.5 (= 3 onzas)
• Producto Calration = repartir 2.5 (= 5 onzas)
• Costo =$ 2.15 por porción.
• El requisito mínimo para la Vitamina D y el hierro no se encuentren en
superávit.
• La mezcla provee 155% del requerimiento para Vitamina A.
Solución para problemas lineales con muchas variables de
decisión usando el computador
• Los paquetes de programas lineales resuelven grandes modelos
lineales.
• La mayoría de los software usan la técnica algebraica llamada
algoritmo Simplex.
• Los paquetes incluyen:
• El criterio de la función objetivo (Max o Min).
• El tipo de cada restricción: ≤, =, ≥ .
• Los coeficientes reales para el problema.
La solución generada por un software de
programación lineal incluye:
• Los valores óptimos de la función objetivo.
• Los valores óptimos de las variables de decisión.
• La minimización del costo para los coeficientes de la función objetivo.
• Los rangos de optimización para los coeficientes de la función
objetivo.
• La cantidad de holgura o exceso sobre cada restricción.
• Los precios sombra (o dual) para las restricciones.
• Los rangos de factibilidad para el coeficiente del lado derecho.
WINQSB datos de entrada para
Las variables y los Click para
nombres de lasel problema de Impregnadora resolver
restricciones
pueden serLos Aromos
cambiados aquí. Las variables son
restringidas a >=0
Ningún límite
superior
Código Python
import pulp as p

# Create a LP Minimization problem


Lp_prob = p.LpProblem('Problem', p.LpMaximize)

# Create problem Variables


x1 = p.LpVariable("x1", lowBound = 0) # Create a variable x >= 0
x2 = p.LpVariable("x2", lowBound = 0) # Create a variable y >= 0

# Objective Function
Lp_prob += 8 * x1 + 5 * x2

# Constraints:
Lp_prob += 2 * x1 + 1 * x2 <= 1200
Lp_prob += 3 * x1 + 4 * x2 <= 2400
Lp_prob += 1 * x1 + 1 * x2 <= 800
Lp_prob += 1 * x1 - 1 * x2 <= 450

# Display the problem


print(Lp_prob)

status = Lp_prob.solve() # Solver


print(p.LpStatus[status]) # The solution status

# Printing the final solution


print(p.value(x1), p.value(x2), p.value(Lp_prob.objective))
Solución en Python
Problem:
MAXIMIZE
8*x1 + 5*x2 + 0
SUBJECT TO
_C1: 2 x1 + x2 <= 1200

_C2: 3 x1 + 4 x2 <= 2400

_C3: x1 + x2 <= 800

_C4: x1 - x2 <= 450

VARIABLES
x1 Continuous
x2 Continuous

Optimal
480.0 240.0 5040.0

También podría gustarte