Le problème du régime alimentaire, revisité
Vous examinez les états financiers d'un agriculteur qui vous a demandé de revoir l'alimentation de ses porcs et de réduire les coûts si possible. Le régime actuel, qui minimise les coûts, est basé sur la recommandation du vétérinaire d'au moins 17 % de protéines, 2 % de matières grasses et 7 lb de nourriture, selon les spécifications
| Food | Cost ($/lb) | Protein (%) | Fat (%) |
|---|---|---|---|
| corn | 0.11 | 10 | 2.5 |
| soybean | 0.28 | 40 | 1 |
Vous avez l'information que les 7 lb étaient une valeur arrondie et pourraient diminuer à 6,6 lb. On vous demande d'évaluer comment la modification, une à la fois, de la contrainte sur le poids ou sur les matières grasses affecte le coût minimal. Vous résoudrez le problème original tel quel et examinerez l'écart (slack) et le prix d'ombre.
pulp a été importé pour vous et model a été défini, de même que les variables C et S pour le maïs et le soya.
Cette activité fait partie du cours
Introduction à l'optimisation en Python
Instructions de l’exercice
- Affichez l'écart (slack) de la contrainte Weight.
- Vérifiez si le prix d'ombre (shadow price) de la contrainte Weight est supérieur à 0.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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')