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
Istruzioni dell'esercizio
- Fai una richiesta di slot per
step_2_wingscomeslot_request_2ed esegui il yield della richiesta. - Fai una richiesta di slot per
step_3_power_plantcomeslot_request_3ed esegui il yield della richiesta. - Fai una richiesta di slot per
step_4_landing_gearcomeslot_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]])