再看饮食配方问题
您正在为一位农场主审阅财务情况。他请您重新评估猪的日粮,并在可能的情况下降低成本。当前的成本最小化配方基于兽医的建议:至少 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 已定义,变量 C 和 S 分别代表 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')