Il problema della dieta, revisited
Stai rivedendo i conti per un agricoltore che ti ha chiesto di riconsiderare la dieta dei suoi maiali e, se possibile, ridurre i costi. La dieta attuale di minimizzazione dei costi si basa sulla raccomandazione del veterinario: almeno 17% di proteine, 2% di grassi, 7 lb di cibo secondo le specifiche
| Food | Cost ($/lb) | Protein (%) | Fat (%) |
|---|---|---|---|
| corn | 0.11 | 10 | 2.5 |
| soybean | 0.28 | 40 | 1 |
Sai che le 7 lb sono una cifra arrotondata e potrebbero scendere a 6.6 lb. Ti viene chiesto di vedere come cambiare, una alla volta, i vincoli di peso o di grassi influisca sul costo minimo. Risolverai il problema originale così com'è ed esaminerai slack e shadow price.
pulp è già stato importato per te e model è stato definito, così come le variabili C e S per corn e soybean.
Questo esercizio fa parte del corso
Introduzione all'ottimizzazione in Python
Istruzioni dell'esercizio
- Stampa lo slack del vincolo Weight.
- Verifica se lo shadow price del vincolo Weight è maggiore di 0.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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')