Meerdere elementen verwerken
De boer wil de vorige optimalisatiefunctie hergebruiken voor complexere maaltijden voor andere dieren op de boerderij.
De vorige code is gegeven. Kun je de code aanpassen zodat die beter met meerdere variabelen kan omgaan?
pulp is al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot optimalisatie in Python
Oefeninstructies
- Pas de variabeledefinitie aan om
LpVariable.dicts()te gebruiken en sla ze op alsvariablesmet de naam"Food". - Pas de doelfunctie aan om
lpSum()te gebruiken.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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}")