Ejercicio de precio sombra y holgura, parte 1
Estás planificando qué cupcakes debería preparar una pastelería. La pastelería puede hacer:
- cupcake de tamaño normal: beneficio = 5 $
- cupcake jumbo, del doble de tamaño que el normal: beneficio = 10 $
Hay 2 restricciones: horas de horno (30) y horas de trabajo de los operarios (65). Este escenario se ha modelado en PuLP por ti y ya se ha encontrado una solución. En la consola se han impreso el estado del modelo, los valores de las variables de decisión, el valor del objetivo (es decir, el beneficio), los precios sombra y la holgura de las restricciones.
El script de ejemplo es una copia de ese código. Ajustarás las restricciones para ver cómo cambia la solución óptima.
Este ejercicio forma parte del curso
Analítica de la cadena de suministro en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define Constraints, Solve, Print Status, Variables, Objective
model = LpProblem("Maximize Bakery Profits", LpMaximize)
R = LpVariable('Regular_production', lowBound=0, cat='Continuous')
J = LpVariable('Jumbo_production', lowBound=0, cat='Continuous')
model += 5 * R + 10 * J, "Profit"
# Adjust the constraint
model += 0.5 * R + 1 * J <= ____
model += 1 * R + 2.5 * J <= 65
# Solve Model, Print Status, Variables, Objective, Shadow and Slack
model.solve()
print("Model Status: {}".format(LpStatus[model.status]))
for v in model.variables():
print(v.name, "=", v.varValue)
print("Objective = $", value(model.objective))
o = [{'name':name, 'shadow price':c.pi, 'slack': c.slack}
for name, c in model.constraints.items()]
print(pd.DataFrame(o))