ComeçarComece de graça

Preços sombra com suco

Uma empresa utiliza duas máquinas, \(M_1\) e \(M_2\), para engarrafar suco de grapefruit (\(g\)) e suco de laranja (\(o\)). Seu objetivo é maximizar o lucro sujeito às restrições

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

As restrições refletem a produtividade e a disponibilidade das máquinas. Por exemplo, a M1 está disponível por 40 horas por semana e precisa de 6 horas para engarrafar 1 tonelada de suco de grapefruit e 5,5 horas para 1 tonelada de suco de laranja.

Há uma restrição adicional de oferta: a empresa recebe no máximo 6 toneladas de grapefruit por semana e 12 toneladas de laranja. Esses são os limites superiores.

pulp já foi importado para você e model foi definido, assim como as variáveis g e o para os sucos de grapefruit e de laranja.

Este exercício faz parte do curso

Introdução à Otimização em Python

Ver curso

Instruções do exercício

  • Complete o loop for incluindo uma verificação para ver se o preço sombra é positivo.
  • Informe a variável que mede o aumento marginal no objetivo quando a restrição é relaxada.
  • Informe a variável que mede o quão apertada está a restrição.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código