開始使用免費開始

相依需求限制條件練習

你正在為 5 種產品(A 到 E)擬定生產計畫。1 個產品 E 由 2 個 A 與 1 個 C 組成。產品 C 也會直接銷售給顧客。你的規劃期間為 3 個月。你想要決定每個月各產品的生產量,以滿足顧客需求,同時將總成本最小化。

主控台已印出名為 demand 的 pandas DataFrame,內容為各產品的每月顧客需求。此外,已提供用於初始化 PuLP 模型、定義決策變數、目標函式,以及設定「生產量需大於或等於需求」之限制條件的程式碼。

本練習屬於課程

Python 的供應鏈分析

檢視課程

練習說明

  • 完成限制條件的程式碼,將產品 A 與 C 的相依需求納入。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Initialize, Define Decision Vars., Objective Function, and Constraints
model = LpProblem("Aggregate Production Planning", LpMinimize)
time = [0, 1, 2]
prod = ['A', 'B', 'C', 'D', 'E']
X = LpVariable.dicts("prod", [(t, p) for p in prod for t in time], 
                     lowBound=0, cat="Integer")
model += lpSum([costs.loc[t, p]*X[(t, p)] for p in prod for t in time])
for p in prod:
    for t in time:
        model += X[(t, p)] >= demand.loc[t, p]

# Define Dependent Demand Constraints
for t in time:
    model += ____ * X[(t, 'E')] <= X[(t, 'A')]
    model += ____ * X[(t, ____)] + demand.loc[t, ____] <= X[(t, ____)]
編輯並執行程式碼