Analitik Rantai Pasok dengan Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
Pemodelan

Apa nilai yang kita harapkan untuk variabel keputusan?
Kuantitas produksi:
Pabrik buka atau tutup:
Total produksi = total permintaan:
shadow prices = Perubahan total biaya per kenaikan permintaan per wilayahslack = Seharusnya nolTotal produksi ≤ total kapasitas produksi:
shadow prices = Perubahan total biaya per kenaikan kapasitas produksislack = Wilayah dengan kapasitas produksi berlebihfrom pulp import *
import pandas as pd
# Initialize Class
model =
LpProblem("Capacitated Plant Location Model",
LpMinimize)
# Define Decision Variables
loc = ['A', 'B', 'C', 'D', 'E']
size = ['Low_Cap','High_Cap']
x = LpVariable.dicts(
"production_",
[(i,j) for i in loc for j in loc],
lowBound=0, upBound=None,
cat='Continuous')
y = LpVariable.dicts(
"plant_",
[(i,s) for s in size for i in loc],
cat='Binary')
# Define Objective Function
model +=
(lpSum([fix_cost.loc[i,s]*y[(i,s)]
for s in size for i in loc])
+ lpSum([var_cost.loc[i,j]*x[(i,j)]
for i in loc for j in loc]))
# Define the Constraints
for j in loc: model +=
lpSum([x[(i, j)]
for i in loc]) == demand.loc[j,'Dmd']
for i in loc: model +=
lpSum([x[(i, j)] for j in loc]) <= lpSum(
[cap.loc[i,s]*y[(i,s)]for s in size])
# Solve model.solve()# Print Decision Variables and Objective Value print(LpStatus[model.status]) o = [{'prod':"{} to {}".format(i,j), 'quant':x[(i,j)].varValue} for i in loc for j in loc] print(pd.DataFrame(o)) o = [{'loc':i, 'lc':y[(i,size[0])].varValue, 'hc':y[(i,size[1])].varValue} for i in loc] print(pd.DataFrame(o)) print("Objective = ", value(model.objective))# Print Shadow Price and Slack o = [{'name':name, 'shadow price':c.pi, 'slack': c.slack} for name, c in model.constraints.items()] print(pd.DataFrame(o))
Pertanyaan yang mungkin:
Berapa biaya yang diharapkan dari model jaringan rantai pasok ini?
Jika permintaan naik di suatu wilayah, berapa laba yang dibutuhkan untuk menutup biaya produksi dan pengiriman ke wilayah itu?
Wilayah mana yang masih punya kapasitas produksi untuk kenaikan permintaan ke depan?
Ditinjau:
shadow prices dan slack)Analitik Rantai Pasok dengan Python