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
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)