LoslegenKostenlos loslegen

Bekleidungsproduktion: Mehrere Prozesse und Modularität

Du wurdest gebeten, ein ereignisdiskretes Modell zu erstellen, um eine Bekleidungsfabrik in Mailand, der Modehauptstadt Italiens, zu optimieren.

Du bist supermotiviert und möchtest sicherstellen, dass du ein hilfreiches und skalierbares Modell baust, denn du weißt: Die Bekleidungsindustrie ist komplex und umfasst viele Prozesse und Ressourcen, mit denen du dich noch vertraut machst.

Du hast recherchiert und die untenstehende Liste von Prozessen zusammengestellt. Du warst sorgfältig und hast für jeden Prozess eine eigene Funktion erstellt, um dein Modell modular zu halten und ein kontrolliertes Wachstum zu ermöglichen.

Jetzt hast du Feedback von deiner Führungskraft erhalten: Du sollst einen neuen Prozess in das Modell aufnehmen, und zwar „Spot cleaning and laundry“. Dieser soll zwischen Schritt 8 und 9 liegen (siehe die rot markierte Tabellenzeile). Die Pakete random und simpy wurden importiert.

Table with process names, respective functions, and information about whether the process has been incorporated in the model.

Diese Übung ist Teil des Kurses

Diskrete-Ereignis-Simulation mit Python

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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)
Code bearbeiten und ausführen