CommencerCommencer gratuitement

Le problème du régime alimentaire, revisité

Vous réexaminez les données financières 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 de minimisation des coûts suit la recommandation du vétérinaire : au moins 17 % de protéines, 2 % de matières grasses, et 7 lb de nourriture, selon les spécifications suivantes

Food Cost ($/lb) Protein (%) Fat (%)
corn 0.11 10 2.5
soybean 0.28 40 1

Vous savez que les 7 lb sont une valeur arrondie et pourraient être réduites à 6,6 lb. On vous demande d’analyser comment la modification, une par une, de la contrainte de poids ou de matières grasses affecte le coût minimal. Vous allez d’abord résoudre le problème initial tel quel, puis examiner l’écart (slack) et le prix d’ombre.

pulp a été importé pour vous et model a été défini, ainsi que les variables C et S pour le maïs et le soja.

Cet exercice fait partie du cours

Introduction à l’optimisation en Python

Afficher le cours

Instructions

  • 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 cet exemple de code.

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')
Modifier et exécuter le code