Production de vêtements : multiprocessus et modularité
On vous a demandé de créer un modèle à événements discrets pour aider à optimiser une usine de production de vêtements située à Milan, reconnue comme la capitale de la mode.
Vous êtes très enthousiaste et vous voulez bâtir un modèle utile et évolutif, car vous savez que l'industrie du vêtement est complexe et fait intervenir de nombreux processus et ressources, que vous apprenez encore à connaître.
Vous avez fait vos recherches et établi la liste de processus présentée dans le tableau ci-dessous. Vous avez été rigoureux et créé une fonction distincte pour chaque processus afin de rendre votre modèle modulaire et de lui permettre de croître de façon contrôlée.
Vous avez maintenant reçu des commentaires de votre gestionnaire, qui vous a demandé d'inclure un nouveau processus dans le modèle pour tenir compte du « nettoyage localisé et de la lessive », qui doit se situer entre les étapes 8 et 9 (voir la ligne du tableau en rouge). Les modules random et simpy ont été importés.

Cette activité fait partie du cours
Simulation d'événements discrets en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create a function for the new process
def ____(gen_type=None, gauss_mean=None, gauss_std=None, unif_start=None, unif_end=None):
if gen_type == "gauss":
duration = random.gauss(gauss_mean, gauss_std)
elif gen_type == "uniform":
duration = random.uniform(unif_start, unif_end)
return duration
def all_processes(env, prod_line):
with prod_line.request() as request:
yield request
t1 = fabric_relaxing(gen_type="gauss", gauss_mean=2*60, gauss_std=15)
t2 = spread_form_layout(gen_type="gauss", gauss_mean=6, gauss_std=1)
t3 = laying_paper_pattern(gen_type="uniform", unif_start=3, unif_end=0.5)
t4 = marking(gen_type="gauss", gauss_mean=6, gauss_std=1)
t5 = cutting(gen_type="gauss", gauss_mean=5, gauss_std=0.5)
t6 = embroidery_screen_and_printing(gen_type="uniform", unif_start=10, unif_end=2)
t7 = sewing(gen_type="gauss", gauss_mean=15, gauss_std=3)
t8 = checking(gen_type="gauss", gauss_mean=2, gauss_std=0.5)
# Add the new process
tnew = ____
# Account for the new process duration in the entire process duration
total_duration = sum([t1, t2, t3, t4, t5, t6, t7, t8, ____, t9, t10])
yield env.timeout(total_duration)