开始使用免费开始使用

再看饮食配方问题

您正在为一位农场主审阅财务情况。他请您重新评估猪的日粮,并在可能的情况下降低成本。当前的成本最小化配方基于兽医的建议:至少 17% 蛋白质、2% 脂肪、7 lb 的饲料,具体如下:

Food Cost ($/lb) Protein (%) Fat (%)
corn 0.11 10 2.5
soybean 0.28 40 1

您掌握的信息表明,7 lb 是四舍五入的数值,可以降低到 6.6 lb。任务是分别单独改变总重量或脂肪含量这两个约束,观察对最小成本的影响。您将先按原问题求解,并检查松弛量和影子价格。

pulp 已为您导入,model 已定义,变量 CS 分别代表 corn 与 soybean。

本练习是课程的一部分

Python 优化入门

查看课程

练习说明

  • 打印 Weight 约束的松弛量(slack)。
  • 检查 Weight 约束的影子价格是否大于 0。

交互式实操练习

通过完成这段示例代码来试试这个练习。

model.constraints['Weight'] = C + S >= 7  

model.solve() 
print(f"Status: {LpStatus[model.status]}\n") 

# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}", 
      ____.constraints['Weight'].____)

# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
	print('Tightening the constraint will increase minimum cost')
编辑并运行代码