CommencezCommencez gratuitement

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

Voir le cours

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 random qui 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 random qui 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)
Modifier et exécuter le code