Get startedGet started for free

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

View Course

Exercise instructions

  • Make a slot request for step_2_wings as slot_request_2 and yield the request.
  • Make a slot request for step_3_power_plant as slot_request_3 and yield the request.
  • Make a slot request for step_4_landing_gear as slot_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]])
Edit and Run Code