Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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