Modéliser une ligne de production automobile : générateurs Python
On vous a demandé de construire un modèle à événements discrets pour aider à optimiser une ligne de production automobile. Pour commencer, vous avez identifié les principaux groupes de processus impliqués dans la chaîne : (1) soudure et peinture, et (2) assemblage et tests. Bien sûr, chacun de ces groupes comprend de nombreux sous-processus et tâches, mais pour l’instant, vous vous concentrez sur le codage d’une première version de haut niveau du modèle.
Puisque vous avez déjà identifié les groupes de processus critiques, il est temps de déterminer le temps moyen nécessaire à chaque processus. Après vos recherches, vous avez retenu 15 heures pour la soudure et la peinture, et 24 heures pour l’assemblage des pièces et les tests.
Le package simpy a été importé pour vous.
Le temps dans le modèle est exprimé en heures.
Cet exercice fait partie du cours
Simulation d’événements discrets en Python
Instructions
- Définissez le générateur Python nommé
car_production_line_gen. - Enregistrez dans la ligne de production la durée nécessaire pour la soudure et la peinture.
- De même, enregistrez la durée nécessaire pour terminer l’assemblage des pièces et les tests.
- Affichez l’heure actuelle de la simulation.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Defining a Generator that includes the processes
def ____(env):
car_number = 0
while True:
car_number += 1
# Process 1: Clock the time requirement for welding and painting
yield env.____(____)
print(f"Car {car_number}: Welding and painting (completed) => time = {env.now}")
# Process 2: Clock in time for process 2 and yield it
____
print(f"Car {car_number}: Assembly of parts and testing (completed) => time = {env.now}")
# Print car ready for shipment
print(f"Car {car_number}: Car ready for shipping! time = {env.____} hours")