Obsługa wielu elementów
Farmer chce przenieść poprzednią funkcję optymalizacyjną na bardziej złożone posiłki dla innych zwierząt na farmie.
Poprzedni kod został już dostarczony. Czy potrafisz go zmodyfikować, aby lepiej obsługiwał wiele zmiennych?
Biblioteka pulp została już zaimportowana.
To ćwiczenie jest częścią kursu
Wprowadzenie do optymalizacji w Pythonie
Instrukcje do ćwiczenia
- Zmień definicję zmiennych, używając
LpVariable.dicts(), i zapisz je jakovariablesz nazwą"Food". - Zmień funkcję celu, używając
lpSum().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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}")