CommencerCommencer gratuitement

Gérer plusieurs éléments

L’agriculteur souhaite reprendre la fonction d’optimisation précédente pour traiter des repas plus complexes pour d’autres animaux de la ferme.

Le code précédent est fourni. Pouvez-vous l’adapter pour qu’il gère mieux plusieurs variables ?

pulp a été importé pour vous.

Cet exercice fait partie du cours

Introduction à l’optimisation en Python

Afficher le cours

Instructions

  • Modifiez la définition des variables pour utiliser LpVariable.dicts() et enregistrez-les dans variables avec le nom "Food".
  • Modifiez la fonction objectif pour utiliser lpSum().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

model = LpProblem("MinCost", LpMinimize) 

# Adjust the variable definition
C = LpVariable("C", lowBound=0)
S = LpVariable("S", lowBound=0) 

# Adjust the objective function
cost = {'C': 0.11, 'S': 0.28}
model += 0.28*S + 0.11*C

model += 40*variables['S'] + 10*variables['C'] >= 17*(variables['C']+variables['S']), "M_protein"
model += variables['S'] + 2.5*variables['C'] >= 2*(variables['C']+variables['S']), "M_fat"
model += variables['C'] + variables['S'] >= 7, "M_weight"

model.solve()
print(f"Cost = {value(model.objective):.2f}")
print(f"Pounds of soybean = {variables['S'].varValue:.2f}, pounds of corn = {variables['C'].varValue:.2f}") 
Modifier et exécuter le code