Modéliser une chaîne de production automobile : générateurs Python
On vous a demandé de bâtir un modèle à événements discrets pour aider à optimiser une chaîne de production automobile. Pour commencer, vous avez identifié les grands groupes de processus en jeu dans la chaîne. Il s'agit de : (1) soudage et peinture, et (2) assemblage et essais. 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.
Comme vous avez déjà repéré les groupes de processus essentiels, il est temps de déterminer le temps moyen nécessaire à l'exécution de chaque processus. Vos recherches indiquent 15 heures pour le soudage et la peinture, et 24 heures pour l'assemblage des pièces et les essais.
Le paquet simpy a été importé pour vous.
L'unité de temps du modèle est en heures.
Cette activité fait partie du cours
Simulation d'événements discrets en Python
Instructions de l’exercice
- Définissez le générateur Python nommé
car_production_line_gen. - Enregistrez dans la chaîne de production le temps requis pour le soudage et la peinture.
- De la même manière, enregistrez le temps nécessaire pour terminer l'assemblage des pièces et les essais.
- Affichez l'heure actuelle de la simulation.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")