Construisez votre modèle : créez un environnement et des ressources
On vous a demandé d’aider à optimiser la chaîne d’assemblage d’un constructeur aéronautique. Les principaux composants de l’appareil sont : (1) le fuselage, (2) les ailes, (3) l’empennage (l’extrémité arrière), (4) le groupe motopropulseur (moteur et hélice) et (5) le train d’atterrissage.
Chacun de ces composants passe dans une section d’assemblage différente qui dispose de 3, 2, 2 et 3 emplacements. Cela signifie qu’une fois une étape terminée, elle passe à l’étape suivante si un emplacement est disponible ; sinon, elle doit attendre. La séquence d’assemblage doit suivre l’ordre des étapes 1 à 4 affiché dans le schéma ci-dessous. L’unité de temps du modèle est l’heure.

Construisez un modèle à événements discrets pour simuler la chaîne d’assemblage.
Cet exercice fait partie du cours
Simulation d’événements discrets en Python
Instructions
- Complétez le dictionnaire avec les informations sur vos ressources ; les clés sont
step_1_fuselage,step_2_wings,step_3_power_plantetstep_4_landing_gear, avec les valeurs suivantes (durées de processus) : 20, 8, 10 et 8 heures. - Créez l’environnement SimPy et stockez-le dans une variable nommée
env. - Complétez les ressources du modèle avec les capacités respectives indiquées dans le schéma (c.-à-d. les « slots ») et stockez-les dans des variables nommées
step_1_fuselage,step_2_wings,step_3_power_plantetstep_4_landing_gear.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()