Bouw je model: reactie van de assemblagelijn aansturen
Nu je je SimPy-omgeving en -resources hebt gedefinieerd, én de generator die vliegtuigorders aanmaakt, is het tijd om een generator te maken die het gedrag van de assemblagelijn beschrijft, gegeven de bekende procestijden en de beperkte beschikbare resources.
Deze oefening maakt deel uit van de cursus
Discrete Event Simulation in Python
Oefeninstructies
- Vraag een plek aan voor
step_2_wingsalsslot_request_2en yield de aanvraag. - Vraag een plek aan voor
step_3_power_plantalsslot_request_3en yield de aanvraag. - Vraag een plek aan voor
step_4_landing_gearalsslot_request_4.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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]])