Het dieetprobleem opnieuw bekeken
Je beoordeelt de financiën van een boer die je vroeg om het dieet van zijn varkens opnieuw te bekijken en, waar mogelijk, de kosten te verlagen. Het huidige kostenminimalisatiedieet is gebaseerd op het advies van de dierenarts: minimaal 17% eiwit, 2% vet en 7 lb voer volgens de specificaties
| Food | Cost ($/lb) | Protein (%) | Fat (%) |
|---|---|---|---|
| corn | 0.11 | 10 | 2.5 |
| soybean | 0.28 | 40 | 1 |
Je weet dat de 7 lb een afgerond getal was en kan worden verlaagd naar 6,6 lb. Je moet onderzoeken hoe het wijzigen van de gewicht- of vetbeperkingen, één tegelijk, de minimale kosten beïnvloedt. Je lost eerst het oorspronkelijke probleem op zoals het is en bekijkt de slack en schaduwprijs.
pulp is voor je geïmporteerd en model is gedefinieerd, net als de variabelen C en S voor corn en soybean.
Deze oefening maakt deel uit van de cursus
Introductie tot optimalisatie in Python
Oefeninstructies
- Print de slack van de Weight-constraint.
- Controleer of de schaduwprijs van de Weight-constraint groter is dan 0.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
model.constraints['Weight'] = C + S >= 7
model.solve()
print(f"Status: {LpStatus[model.status]}\n")
# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}",
____.constraints['Weight'].____)
# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
print('Tightening the constraint will increase minimum cost')