处理多个元素
这位农场主希望复用之前的优化函数,以便为农场里其他动物更复杂的配餐建模。
已为您提供上一段代码。您能否在此基础上做出调整,让它更好地处理多个变量?
已为您导入 pulp。
本练习是课程的一部分
Python 优化入门
练习说明
- 调整变量定义,使用
LpVariable.dicts(),将其保存为名为"Food"的variables。 - 调整目标函数,使用
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}")