ComenzarEmpieza gratis

Precios sombra con zumo

Una empresa utiliza dos máquinas \(M_1\) y \(M_2\) para embotellar zumo de pomelo (\(g\)) y zumo de naranja (\(o\)). Su objetivo es maximizar el beneficio sujeto a las restricciones

M1: \(6g + 5.5o \leq 40\) y M2: \(3g + 2.5o \leq 20\)

Las restricciones reflejan la productividad y la disponibilidad de las máquinas. Por ejemplo, M1 está disponible 40 horas por semana y necesita 6 horas para embotellar 1 tonelada de zumo de pomelo y 5.5 horas para 1 tonelada de zumo de naranja.

Hay una restricción adicional de suministro: la empresa solo recibe como máximo 6 toneladas de pomelo a la semana y 12 toneladas de naranjas. Estos son los límites superiores.

pulp ya se ha importado y model se ha definido, así como las variables g y o para los zumos de pomelo y naranja.

Este ejercicio forma parte del curso

Introducción a la optimización en Python

Ver curso

Instrucciones del ejercicio

  • Completa el bucle for para incluir una comprobación de si el precio sombra es positivo.
  • Introduce la variable que mide el incremento marginal del objetivo cuando se relaja la restricción.
  • Introduce la variable que mide lo ajustada que está la restricción.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

print(LpStatus[model.status])
print(f'The optimal amount of {g.name} embottled is: {g.varValue:.2f} tons')
print(f'The optimal amount of {o.name} embottled is: {o.varValue:.2f} tons')

for name, c in model.constraints.items():
    # Check if shadow value is positive 
    if c.____ > 0:
    # Enter the variable that measures marginal increase in objective when constraint is relaxed
        print(f"Increasing the capacity of {name} by one unit would increase profit by {c.____} units.")
    else:
    # Enter the variable that measures how tight the constraint is
        print(f"{name} has {c.____} units of unused capacity.")
Editar y ejecutar código