शुरू करेंमुफ़्त में शुरू करें

मैन्युफैक्चरिंग ऑप्टिमाइज़ेशन: Search & Stop

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

नीचे दी गई तालिका में मैन्युफैक्चरिंग प्रक्रिया का सारांश है. यह जानकारी processes नाम की डिक्शनरीज़ की एक लिस्ट में सेव है, जहाँ प्रत्येक प्रक्रिया के लिए एक डिक्शनरी है. इस डिक्शनरी की keys तालिका के कॉलम हेडर से मेल खाती हैं.

Table with process names and their duration statistics, namely mean and standard deviation.

इस अभ्यास में प्लॉट बनाने के लिए 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 सैंपलिंग लूप संभावित प्रोसेस ट्राजेक्टरीज़ की एक श्रृंखला बनाएगा और इच्छित शर्त पूरी होते ही रुक जाएगा, जैसा कि फ़िगर में दिखाया गया है. Monte Carlo trajectories for different process scenario.

यह अभ्यास पाठ्यक्रम का हिस्सा है

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
____
कोड संपादित करें और चलाएँ