开始使用免费开始使用

影子价格与松弛量练习(第 1 部分)

您正在为一家烘焙店规划要制作的纸杯蛋糕。烘焙店可以制作:

  • 常规尺寸纸杯蛋糕:利润 = $5
  • 超大号纸杯蛋糕(是常规尺寸的 2 倍):利润 = $10

存在 2 个约束:烤箱工时(30)和工人小时(65)。此情景已用 PuLP 为您建模并求解。模型状态、决策变量的取值、目标值(即利润)、各约束的影子价格与松弛量已在终端打印。

示例脚本是该代码的副本。您将调整约束,观察最优解如何变化。

本练习是课程的一部分

Python 供应链分析

查看课程

交互式实操练习

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

# Define Constraints, Solve, Print Status, Variables, Objective
model = LpProblem("Maximize Bakery Profits", LpMaximize)
R = LpVariable('Regular_production', lowBound=0, cat='Continuous')
J = LpVariable('Jumbo_production', lowBound=0, cat='Continuous')
model += 5 * R + 10 * J, "Profit"

# Adjust the constraint
model += 0.5 * R + 1 * J <= ____
model += 1 * R + 2.5 * J <= 65

# Solve Model, Print Status, Variables, Objective, Shadow and Slack
model.solve()
print("Model Status: {}".format(LpStatus[model.status]))
for v in model.variables():
    print(v.name, "=", v.varValue)
print("Objective = $", value(model.objective))
o = [{'name':name, 'shadow price':c.pi, 'slack': c.slack} 
     for name, c in model.constraints.items()]
print(pd.DataFrame(o))
编辑并运行代码