แบบฝึกหัด Shadow Price และ Slack ส่วนที่ 2
ในแบบฝึกหัดนี้ คุณจะทำงานกับแผนการผลิตของบริษัทในช่วง 4 เดือนข้างหน้า เป้าหมายคือกำหนดปริมาณการผลิตที่เหมาะสมเพื่อลดต้นทุนการผลิต (ทั้งแบบคงที่และแปรผัน) รวมถึงค่าจัดเก็บสินค้า ในขณะที่ยังคงตอบสนองความต้องการของลูกค้า โดยมี constraints ด้านกำลังการผลิตและความต้องการในแต่ละเดือน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supply Chain Analytics ด้วย Python
คำแนะนำการฝึกหัด
เติมโค้ดให้สมบูรณ์ใกล้กับส่วนท้ายของโค้ดตัวอย่าง เพื่อสร้าง Pandas DataFrame ที่แสดงค่า slack ของ constraints
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
model = LpProblem("Production Planning", LpMinimize)
time = [1, 2, 3, 4]
s = LpVariable.dicts("stock_in", [0, 1, 2, 3, 4], lowBound=0, cat="Integer")
x = LpVariable.dicts("prod_in", time, lowBound=0, cat="Integer")
y = LpVariable.dicts("plant_on_", time, lowBound=0, cat="Binary")
model += lpSum([d.loc[t,"unit_prod"]*x[t] + d.loc[t,"unit_inv"]*s[t]
+ d.loc[t,"fixed_setup"]*y[t] for t in time])
s[0] = 100
for t in time:
model += s[t-1] + x[t] == d.loc[t,"demand"] + s[t]
model += x[t] <= d.loc[t,"prod_cap"]*y[t]
model.solve()
# Print the Constraint Slack
o = [{'name':name, 'slack':____}
for ____, c in ____]
print(____)