कंस्ट्रेंट संयोजन अभ्यास
आप वेयरहाउस नेटवर्क के लिए एक डिस्ट्रीब्यूशन प्लान पर काम कर रहे हैं. नेटवर्क में दो वेयरहाउस हैं (W1 और W2) और प्रत्येक तीन अलग-अलग प्रकार के प्रोडक्ट (A, B, और C) भेज सकता है. W1 छोटा है और प्रति सप्ताह या तो 10 यूनिट प्रोडक्ट A, या 15 यूनिट प्रोडक्ट B, या 20 यूनिट प्रोडक्ट C भेज सकता है. आपका लक्ष्य कुल लागत को न्यूनतम करना है.
कंसोल में demand नाम का एक Pandas DataFrame प्रिंट किया गया है, जिसमें हर प्रोडक्ट की मासिक डिमांड दी गई है. साथ ही, PuLP मॉडल का कोड मौजूद है जो मॉडल को इनिशियलाइज़ करता है, डिसीजन वैरिएबल्स, ऑब्जेक्टिव फंक्शन, और वह कंस्ट्रेंट परिभाषित करता है जिससे हर प्रोडक्ट की कुल शिपमेंट उसकी डिमांड के बराबर हो.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में सप्लाई चेन एनालिटिक्स
अभ्यास निर्देश
- 4 हफ्तों के लिए वेयरहाउस W1 की शिपिंग लिमिटेशन को मॉडल करने वाले कंस्ट्रेंट का कोड पूरा करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize, Define Decision Vars., Objective Function, and Constraints
model = LpProblem("Distribution Planning", LpMinimize)
wh = ['W1','W2']
prod = ['A', 'B', 'C']
X = LpVariable.dicts("ship", [(w, p, c) for c in cust for p in prod for w in wh],
lowBound=0, cat="Integer")
model += lpSum([X[(w, p, c)]*costs.loc[(w, p), c] for c in cust for p in prod for w in wh])
for c in cust:
for p in prod:
model += lpSum([X[(w, p, c)] for w in wh]) == demand.loc[p, c]
# Define Dependent Demand Constraints
model += ((1/10) * lpSum([X[('W1', 'A', c)] for c in cust])
+ ____ * lpSum([X[(____, ____, c)] for c in cust])
+ ____ * lpSum([X[(____, ____, ____)] for c in cust])) <= ____