IniziaInizia gratis

Costruisci il tuo modello: controlla la risposta della linea di assemblaggio

Ora che hai definito l’ambiente e le risorse di SimPy, oltre al generatore che crea gli ordini degli aeromobili, è il momento di creare un generatore per descrivere la risposta della linea di assemblaggio, dati i tempi di lavorazione noti e le risorse limitate disponibili.

Questo esercizio fa parte del corso

Simulazione a eventi discreti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Fai una richiesta di slot per step_2_wings come slot_request_2 ed esegui il yield della richiesta.
  • Fai una richiesta di slot per step_3_power_plant come slot_request_3 ed esegui il yield della richiesta.
  • Fai una richiesta di slot per step_4_landing_gear come slot_request_4.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

def assembly_line(env, aircraft_id, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear):

    processing_time_step_names = list(processing_time.keys())

    with step_1_fuselage.request() as slot_request_1:
        yield slot_request_1
        yield env.timeout(processing_time[processing_time_step_names[0]])

    # Make slot request for step_2_wings and yield the request
    with step_2_wings.request() as ____:
        request_2_time = env.now
        ____ slot_request_2
        yield env.timeout(processing_time[processing_time_step_names[1]])

    # Make slot request for step_3_power_plant and yield the request
    with step_3_power_plant.request() as ____:
        request_3_time = env.now
        ____ slot_request_3
        yield env.timeout(processing_time[processing_time_step_names[2]])

    # Make slot request for step_4_landing_gear
    with step_4_landing_gear.request() as ____:
        request_4_time = env.now
        yield slot_request_4
        yield env.timeout(processing_time[processing_time_step_names[3]])
Modifica ed esegui il codice