डिस्क्रीट-इवेंट मॉडल विकसित करना
आपसे एक खेती (farming) ऑपरेशन के लिए डिस्क्रीट-इवेंट मॉडल बनाने को कहा गया है, ताकि संसाधनों का आवंटन बेहतर हो, उत्पादकता बढ़े और बाधाएँ पहचानी व दूर की जा सकें.
आप अभी अपने सहकर्मियों के साथ शामिल विभिन्न प्रक्रियाओं और उन्हें मॉडल में किस स्तर पर दिखाया जाए, इस पर चर्चा कर रहे हैं. इसलिए सहमति बनी है कि जानकारी process_dict नामक एक डिक्शनरी में निम्न संरचना के साथ संकलित की जाएगी. विचार यह है कि जैसे-जैसे प्रक्रियाओं के बारे में अधिक जानकारी मिलेगी, इस डिक्शनरी को अपडेट किया जाएगा.
process_dict = {
"Process name 1": <duration>,
"Process name 2": <duration>,
...
}
आइए discrete_model_farm() नाम का एक जनरल डिस्क्रीट-इवेंट मॉडल बनाते हैं, जो डिक्शनरी में परिभाषित किसी भी संख्या में डिस्क्रीट इवेंट्स को शेड्यूल कर सके.
मॉडल के इनपुट आर्ग्युमेंट्स (क्रम में) हैं:
process_dict: प्रक्रियाओं की जानकारी वाली डिक्शनरीsimulation_time: सिमुलेशन अवधि
मॉडल में समय दिनों में मापा जाएगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Discrete Event Simulation
अभ्यास निर्देश
- मॉडल के स्टेट वैरिएबल्स
time(समय ट्रैक करता है) औरsupply_chain(साइकल्स की संख्या ट्रैक करता है) को आरंभ करें और दोनों को शून्य पर सेट करें. - समाप्ति शर्त परिभाषित करें ताकि मॉडल तब तक चले जब तक
time,simulation_timeसे कम हो. - प्रक्रिया की अवधि को स्टेट वैरिएबल
timeमें जोड़ें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def discrete_model_farm(process_dict, simulation_time):
# Initiate variables
time = ____
supply_chain = ____
# Define ending condition
while ____ < ____:
supply_chain += 1
process_names = list(process_dict.keys())
for p in range(len(process_names)):
event_duration = process_dict[process_names[p]]
# Add the process duration
____ += event_duration
print(f"{process_names[p]} (completed): time = {time}")
print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")