Build your model: Control assembly line response
Now that you have defined your SimPy environment and resources, as well as the generator that creates aircraft orders, it’s time to create a generator to characterize the response of the assembly line, given the known processing times and limited resources available.
This exercise is part of the course
Discrete Event Simulation in Python
Exercise instructions
- Make a slot request for
step_2_wings
asslot_request_2
and yield the request. - Make a slot request for
step_3_power_plant
asslot_request_3
and yield the request. - Make a slot request for
step_4_landing_gear
asslot_request_4
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
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]])