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

अपना मॉडल बनाएँ: विमान ऑर्डर जनरेट करें

अब जब SimPy environment और resources बना लिए गए हैं, तो आइए इसे एक generator से जोड़ते हैं जो विमान ख़रीद ऑर्डर को simulate करता है. कुल 30 विमान ऑर्डर हैं.

assembly_line() फंक्शन विमान के अलग-अलग कॉम्पोनेंट मैन्युफैक्चरिंग सेक्शन्स के लिए क्रमवार resource requests करता है. नीचे दिया गया कोड ऐसी ही एक request दिखाता है.

# Open the resource step_1_fuselage request
with step_1_fuselage.request() as slot_request_1:
  request_1_time = env.now
  yield slot_request_1
  print(f"time: {env.now:7.4f} | Aircraft {aircraft_id:02d} 
                               | Enters: step_1_fuselage 
                               | Queued for {env.now-request_1_time} hours")
  yield env.timeout(processing_time[processing_time_step_names[0]])

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

Python में Discrete Event Simulation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • एक for-loop बनाएँ जो सभी order requests (total_num_orders) करे, और इसके लिए request_i नाम का एक dummy वैरिएबल उपयोग करें.
  • for-loop के दौरान हर aircraft request के लिए एक नया process शुरू करें; सभी processes generator assembly_process_request पर आधारित हों.
  • सभी 30 aircraft एक ही बैच में request किए गए हैं, इसलिए कोड को इस तरह पूरा करें कि requests के बीच कोई प्रतीक्षा समय न हो.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

def order_aircraft(env, total_num_orders, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear):
    
    # Generate the orders with a for-loop
    ____ request_i in range(total_num_orders):

        assembly_process_request = assembly_line(env, request_i, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear)

        # Initiate an assembly line process for each request
        env.____(assembly_process_request)

        # Clock-in the time between requests
        yield env.timeout(____)
कोड संपादित करें और चलाएँ