Kom igångKom igång gratis

Hantera flera element

Bonden vill återanvända den tidigare optimeringsfunktionen för att hantera mer komplicerade måltider för andra djur på gården.

Den tidigare koden finns redan på plats. Kan du justera den så att den hanterar flera variabler på ett bättre sätt?

pulp har redan importerats.

Den här övningen är en del av kursen

Introduktion till optimering i Python

Visa kurs

Övningsinstruktioner

  • Justera variabeldefinitionen så att den använder LpVariable.dicts() och spara dem som variables med namnet "Food".
  • Justera målfunktionen så att den använder lpSum().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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}") 
Redigera och kör kod