Aan de slagGa gratis aan de slag

Bouw je model: Maak een environment en resources

Je bent gevraagd te helpen bij het optimaliseren van de assemblagelijn van een vliegtuigbouwer. De hoofdonderdelen van het vliegtuig zijn de (1) romp, (2) vleugels, (3) staartsectie (empennage), (4) voortstuwing (motor en propeller) en (5) landingsgestel.

Elk van deze onderdelen gaat naar een andere assemblagesectie met respectievelijk 3, 2, 2 en 3 slots. Dit betekent dat zodra een stap is afgerond, deze doorgaat naar de volgende stap als er een slot vrij is; anders moet deze wachten. De assemblagevolgorde moet de stappen 1–4 volgen zoals in het onderstaande diagram. De modeltijd is in uren.

Airplane assembly sequence showing the different processes and limited shared resources.

Bouw een discrete-eventmodel om de assemblagelijn te simuleren.

Deze oefening maakt deel uit van de cursus

Discrete Event Simulation in Python

Cursus bekijken

Oefeninstructies

  • Vul de dictionary aan met informatie over je resources; de keys zijn step_1_fuselage, step_2_wings, step_3_power_plant en step_4_landing_gear, met de volgende waarden (procesduren): 20, 8, 10 en 8 uur.
  • Maak de SimPy-environment en sla deze op in een variabele met de naam env.
  • Maak de resources van het model af met de respectieve capaciteiten zoals in het diagram (d.w.z. slots), en sla ze op in variabelen met de namen step_1_fuselage, step_2_wings, step_3_power_plant en step_4_landing_gear.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Define a dictionary with your processes
processing_time = {
  "____": 20,
  "____": 8,
  "step_3_power_plant": ____,
  "step_4_landing_gear": ____
}

# Create your SimPy Environment with the name env
env = simpy.____()

# Create resources for each assembly step
step_1_fuselage = simpy.____(env, capacity=____)
step_2_wings = simpy.____(env, capacity=2)
step_3_power_plant = simpy.____(env, capacity=2)
step_4_landing_gear = simpy.____(env, capacity=3)

env.process(order_aircraft(env, PLANE_ORDERS, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear))

env.run()
Code bewerken en uitvoeren