相依需求限制條件練習
你正在為 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, ____)]