शैडो प्राइस सेंसिटिविटी एनालिसिस

Python में सप्लाई चेन एनालिटिक्स

Aaren Stubberfield

Supply Chain Analytics Mgr.

शैडो प्राइस की परिभाषा

मॉडलिंग की दिक्कतें:

  • मॉडल constraints के input अक्सर अनुमान होते हैं
  • क्या input बदलने से हमारा समाधान बदलेगा?

शैडो प्राइस:

  • किसी constraint के दाएँ-पक्ष में 1 यूनिट बढ़ोतरी पर, बाकी सब समान रहने पर, objective function के optimal मान में बदलाव.
Python में सप्लाई चेन एनालिटिक्स

संदर्भ - ग्लास कंपनी - रिसोर्स प्लानिंग:

Resource Prod. A Prod. B Prod. C
Production hours 6 5 8
WH Capacity sq. ft. 10.5 20 10
Profit $US $500 $450 $600

Constraints:

  • Production Capacity Hours ≤ 60
  • Warehouse Capacity ≤ 150 sq. ft.
  • Max Production of A ≤ 8
Python में सप्लाई चेन एनालिटिक्स

कोड उदाहरण

# Initialize Class, Define Vars., and Objective
model = LpProblem("Max Glass Co. Profits", 
                   LpMaximize)
A = LpVariable('A', lowBound=0)
B = LpVariable('B', lowBound=0)
C = LpVariable('C', lowBound=0)
model += 500 * A + 450 * B + 600 * C

# Constraint 1
model += 6 * A + 5 * B + 8 * C <= 60

# Constraint 2
model += 10.5 * A + 20 * B + 10 * C <= 150
# Constraint 3
model += A  <= 8

# Solve Model
model.solve()
print("Model Status: 
        {}".format(LpStatus[model.status]))
print("Objective = ", value(model.objective))
for v in model.variables():
    print(v.name, "=", v.varValue)
Python में सप्लाई चेन एनालिटिक्स

उदाहरण समाधान

समाधान:

Products Prod. A Prod. B Prod. C
Production Cases 6.667 4 0

Objective मान $5133.33 है

Python में सप्लाई चेन एनालिटिक्स

Constraints का पुनरावलोकन

Decision Variable:

  • A से C = संबंधित उत्पाद A से C के केसों की संख्या

Constraints:

  • 6A + 5B + 8C ≤ 60 (सीमित उत्पादन क्षमता)
  • 10A + 20B + 10C ≤ 150 (सीमित वेयरहाउस क्षमता)
  • A ≤ 8 (A का अधिकतम उत्पादन)
Python में सप्लाई चेन एनालिटिक्स

शैडो प्राइस प्रिंट करें

Python कोड:

o = [{'name':name, 'shadow price':c.pi} 
     for name, c in model.constraints.items()]
print(pd.DataFrame(o))
Python में सप्लाई चेन एनालिटिक्स

शैडो प्राइस समझाएँ

आउटपुट:

  name  shadow price
   _C1     78.148148
   _C2      2.962963
   _C3     -0.000000

Constraints याद रखें:

  1. सीमित उत्पादन क्षमता
  2. सीमित वेयरहाउस क्षमता
  3. A का अधिकतम उत्पादन
Python में सप्लाई चेन एनालिटिक्स

Constraint slack

slack:

  • अप्रयुक्त संसाधन की मात्रा.

Python:

o = [{'name':name, 'shadow price':c.pi, 'slack': c.slack} 
     for name, c in model.constraints.items()]
print(pd.DataFrame(o))
Python में सप्लाई चेन एनालिटिक्स

Constraint slack समझाया गया

आउटपुट:

  name  shadow price     slack
   _C1     78.148148 -0.000000
   _C2      2.962963 -0.000000
   _C3     -0.000000  1.333333

Binding के बारे में और:

  • slack = 0, तो binding
  • binding constraint बदलने से समाधान बदलता है

Constraints याद रखें:

  1. सीमित उत्पादन क्षमता
  2. सीमित वेयरहाउस क्षमता
  3. A का अधिकतम उत्पादन
Python में सप्लाई चेन एनालिटिक्स

सारांश

  • कैसे निकालें:
    • shadow prices
    • constraint का slack
  • Binding constraints पहचानें
    • slack = 0, तो binding
    • slack > 0, तो not-binding
Python में सप्लाई चेन एनालिटिक्स

आज़माएँ!

Python में सप्लाई चेन एनालिटिक्स

Preparing Video For Download...