CommencezCommencez gratuitement

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.

Table avec les noms des processus, les fonctions respectives et l'information indiquant si le processus a été intégré au modèle.

Cette activité fait partie du cours

Simulation d'événements discrets en Python

Voir le cours

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