Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Vraag een plek aan voor step_2_wings als slot_request_2 en yield de aanvraag.
  • Vraag een plek aan voor step_3_power_plant als slot_request_3 en yield de aanvraag.
  • Vraag een plek aan voor step_4_landing_gear als slot_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]])
Code bewerken en uitvoeren