मैन्युफैक्चरिंग ऑप्टिमाइज़ेशन: Search & Stop
आइए पिछले अभ्यास में बनाए गए वॉल-क्लॉक फ़ैक्टरी मॉडल का उपयोग करें और Monte Carlo सैंपलिंग पर आधारित "Search & Stop" ऑप्टिमाइज़ेशन अप्रोच डिप्लॉय करें, ताकि क्रिटिकल बॉटलनेक प्रक्रियाओं की पहचान की जा सके.
नीचे दी गई तालिका में मैन्युफैक्चरिंग प्रक्रिया का सारांश है. यह जानकारी processes नाम की डिक्शनरीज़ की एक लिस्ट में सेव है, जहाँ प्रत्येक प्रक्रिया के लिए एक डिक्शनरी है. इस डिक्शनरी की keys तालिका के कॉलम हेडर से मेल खाती हैं.

इस अभ्यास में प्लॉट बनाने के लिए plot_results() मेथड प्रीलोड है और नीचे दिखाया गया है.
def plot_results():
df_disc = pd.DataFrame({cNam[0]: process_line_space, cNam[1]: time_record})
fig = sns.lineplot(data=df_disc, x=cNam[0], y=cNam[1], marker='o')
plt.grid()
fig.set(xlim=(0, len(processes)))
fig.set(ylim=(0, 180))
fig.set(xticks=process_line_space)
plt.plot()
Monte-Carlo सैंपलिंग लूप संभावित प्रोसेस ट्राजेक्टरीज़ की एक श्रृंखला बनाएगा और इच्छित शर्त पूरी होते ही रुक जाएगा, जैसा कि फ़िगर में दिखाया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Discrete Event Simulation
अभ्यास निर्देश
- ऐसा लूप सेट करें जो सिमुलेशन ट्राजेक्टरीज़ तब तक चलाए जब तक
run_iशून्य के बराबर है याtotal_duration[run_i]85 घंटे से अधिक है (अर्थात, स्टॉप कंडीशन:total_duration[run_i]85 घंटे के बराबर या उससे कम हो). run_monte_carlo()फंक्शन में सेव Monte Carlo इंजन चलाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def run_monte_carlo():
run_i = 0
# While-loop with the stop condition
____
run_i += 1
env = simpy.Environment()
env.process(manufractoring_process(env))
env.run()
plot_results()
plt.show()
# Call the run_monte_carlo function
____