Chaîne de montage automobile : ajout d'événements non déterministes
Cet exercice porte sur des processus non déterministes sans utiliser SimPy. Dans le prochain exercice, nous nous concentrerons sur SimPy.
On vous a demandé de tenir compte de la variabilité de la durée des processus dans le modèle à événements discrets précédemment établi pour une ligne de production automobile. Les groupes de processus identifiés plus tôt sont : (1) « Soudage et peinture » et (2) « Assemblage des pièces et essais ». Rappelez-vous que chacun de ces groupes comprend plusieurs sous-processus et tâches, mais pour l'instant, vous vous concentrez sur le codage de la première version de votre modèle à un niveau élevé.
Auparavant, vous aviez déterminé que le soudage et la peinture prenaient en moyenne 15 heures, tandis que l'assemblage des pièces et les essais prenaient en moyenne 24 heures.
Vous avez maintenant effectué des recherches et du suivi supplémentaires pour étudier la variabilité de la durée de ces processus. Vous avez conclu que le soudage et la peinture pouvaient varier de cinq heures (à la hausse ou à la baisse) et que la durée de l'assemblage des pièces pouvait varier de six heures (à la hausse ou à la baisse).
Mettez à jour votre modèle à événements discrets pour tenir compte des variations de la durée de ces événements.
Le paquet random a été chargé pour vous.
Cette activité fait partie du cours
Simulation d'événements discrets en Python
Instructions de l’exercice
- Enregistrez la durée du processus « Soudage et peinture », en tenant compte de la nouvelle information sur la variabilité, à l'aide d'une méthode du paquet
randomqui génère des nombres entiers aléatoires. - Enregistrez la durée du processus « Assemblage des pièces et essais », en tenant compte de la nouvelle information sur la variabilité, à l'aide d'une méthode du paquet
randomqui génère des nombres entiers aléatoires.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock the time requirement for: Assembly of parts and Testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
car_production_line(SIMULATION_TIME)