CommencezCommencez gratuitement

Chaîne de montage automobile : ajout d'événements non déterministes avec SimPy

Cet exercice porte sur les processus non déterministes avec SimPy.

Vous allez modifier la version SimPy de votre modèle de chaîne de montage automobile, en vous concentrant sur l'ajout des mêmes événements déterministes au moyen des méthodes de SimPy.

Rappelez-vous que « Welding and painting » prend en moyenne 15 heures à se terminer, mais que cette durée varie de cinq heures (à la hausse ou à la baisse). De son côté, « Assembly of parts and testing » prenait en moyenne 24 heures, avec une variation de six heures (à la hausse ou à la baisse).

La bibliothèque SimPy a déjà été importée pour vous.

Cette activité fait partie du cours

Simulation d'événements discrets en Python

Voir le cours

Instructions de l’exercice

  • Comptabilisez la durée du processus « Welding and painting », en tenant compte de la nouvelle information sur sa variabilité à l'aide de la méthode random.randint().
  • Comptabilisez la durée du processus « Assembly of parts and testing », en tenant compte de la nouvelle information sur sa variabilité à l'aide de la méthode random.randint().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def car_production_line(env):
    car_number = 0
    while True:
        car_number += 1

        # Adding process 1: Clock-in time requirement for Welding and Painting
        yield env.____(random.____(10, 20))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Adding process 2: Return/yield time after completing the process and print the current time
        yield env.____(random.____(18, 30))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")

env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)
Modifier et exécuter le code