लॉजिस्टिक्स प्लानिंग समस्या 2
आप फिर से एक किचन ओवन निर्माता के लिए कंसल्टिंग कर रहे हैं और उनकी लॉजिस्टिक्स प्लान करने में मदद कर रहे हैं। इस बार आप अगले छह महीनों (जन.-जून) के लिए प्लान बना रहे हैं। अब भी दो वेयरहाउस लोकेशन हैं (New York और Atlanta), और चार रीजनल कस्टमर लोकेशन हैं (East, South, Midwest, West)। नीचे दी गई टेबल में प्रत्येक वेयरहाउस से हर रीजनल कस्टमर तक शिपिंग की लागत दी गई है। आपका लक्ष्य यह तय करना है कि किस वेयरहाउस से किन कस्टमर्स को कितनी शिपमेंट भेजी जाएँ ताकि कुल लागत न्यूनतम हो।
| Customer | New York | Atlanta |
|---|---|---|
| East | $211 | $232 |
| South | $232 | $212 |
| Midwest | $240 | $230 |
| West | $300 | $280 |
एक Python डिक्शनरी costs नाम से दी गई है जिसमें मॉडल की कॉस्ट्स हैं, और तीन लिस्ट्स months, warehouse, और customers भी आपके लिए बनाई गई हैं। costs प्रिंट की गई है; आप कंसोल में बाकी लिस्ट्स भी देख सकते हैं। इसके अलावा, मॉडल आपके लिए इनिशियलाइज़ कर दिया गया है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में सप्लाई चेन एनालिटिक्स
अभ्यास निर्देश
- मॉडल में निर्णय वैरिएबल्स परिभाषित करें: पहले list comprehension का उपयोग करके
months,warehouse, औरcustomersलिस्ट्स पर इटेरेट करें और keys की एक लिस्ट बनाएँ। उन्हीं keys का उपयोगLpVariable.dicts()के साथ करके आवश्यक वैरिएबल्स परिभाषित करें। - ऑब्जेक्टिव फंक्शन परिभाषित करें: छह महीनों में किसी विशेष वेयरहाउस और कस्टमर के बीच होने वाली सभी शिपिंग कॉस्ट्स को जोड़ें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments',
key,
lowBound=____, cat=____)
# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)]
for m in months for w in warehouse for c in customers])