Опрацювання кількох елементів
Фермер хоче відтворити попередню оптимізаційну функцію, щоб працювати зі складнішими раціонами для інших тварин на фермі.
Наведено попередній код. Чи зможете ви змінити його, щоб краще опрацьовувати кілька змінних?
pulp уже імпортовано для вас.
Ця вправа є частиною курсу
Вступ до оптимізації в Python
Інструкції до вправи
- Змініть означення змінних, щоб використовувати
LpVariable.dicts(), збережіть їх якvariablesіз назвою"Food". - Змініть цільову функцію, щоб використовувати
lpSum().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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}")