Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Pas de variabeledefinitie aan om LpVariable.dicts() te gebruiken en sla ze op als variables met 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}") 
Code bewerken en uitvoeren