समाधान का sanity check

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

Aaren Stubberfield

Supply Chain Analytics Mgr.

समाधान रणनीति फ्लो चार्ट

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

मॉडल status जाँचें

  • Infeasible: कोई feasible समाधान नहीं है.
    • constraints की जाँच करें
  • Unbounded: objective function bounded नहीं है, maximize/minimize करने पर मान अनंत की ओर जाएगा.
    • objective function की जाँच करें
  • Undefined: optimal समाधान हो सकता है, पर मिला नहीं.
    • शायद यही best उपलब्ध समाधान है
    • आप समस्या को कैसे model कर रहे हैं, यह जाँचें
Python में सप्लाई चेन एनालिटिक्स

क्या परिणाम अपेक्षा में हैं?

क्या decision variables और objective का मान अपेक्षित दायरे में है?

  • समस्या के ज्ञान/समझ पर आधारित
  • अगर "Yes", तो आपके पास valid समाधान है
  • अगर "No", तो यह जाँचें:
    • Python कोड
    • डेटा
    • LP फ़ाइल लिखें
Python में सप्लाई चेन एनालिटिक्स

LP लिखें

writeLP(filename)
  • filename = बनने वाली फ़ाइल का नाम

दिखाता है:

  • समस्या का नाम
  • objective function और minimize या maximize
  • constraints, जिनमें Decision Variables पर Bounds शामिल हैं
  • decision variables
Python में सप्लाई चेन एनालिटिक्स

कोड उदाहरण

\* Aggregate Production Planning *\
Minimize
OBJ: 20 prod_('A',_0) + 17 prod_('A',_1) 
    + 18 prod_('A',_2) + 15 prod_('B',_0) 
    + 16 prod_('B',_1) + 15 prod_('B',_2)
Subject To
_C1: prod_('A',_0) >= 0
_C2: prod_('A',_1) >= 0
_C3: prod_('A',_2) >= 0
_C4: prod_('B',_0) >= 8
_C5: prod_('B',_1) >= 7
_C6: prod_('B',_2) >= 6
Bounds
0 <= prod_('A',_0)
0 <= prod_('A',_1)
0 <= prod_('A',_2)
0 <= prod_('B',_0)
0 <= prod_('B',_1)
0 <= prod_('B',_2)
Generals
prod_('A',_0)
prod_('A',_1)
prod_('A',_2)
prod_('B',_0)
prod_('B',_1)
prod_('B',_2)
Python में सप्लाई चेन एनालिटिक्स

सारांश

Sanity Checking की रणनीति

  • मॉडल status जाँचें
  • decision variables और objective को अपेक्षित दायरे में जाँचें
  • ज़रूरत हो तो writeLP() का उपयोग करें
Python में सप्लाई चेन एनालिटिक्स

अभ्यास का समय!

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

Preparing Video For Download...