開始使用免費開始

影子價格與鬆弛量練習(第 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))
編輯並執行程式碼