Kledingproductie: meerdere processen en modulariteit
Je bent gevraagd een discrete-eventmodel te bouwen om een kledingfabriek in Milaan, de modehoofdstad, te helpen optimaliseren.
Je bent super enthousiast en wilt zeker weten dat je een nuttig en schaalbaar model bouwt, omdat je weet dat de kledingindustrie complex is en veel processen en resources omvat, waar je nog mee vertrouwd raakt.
Je hebt je onderzoek gedaan en de lijst met processen opgesteld die je in de onderstaande tabel ziet. Je was grondig en hebt voor elk proces een aparte functie gemaakt om je model modulair te maken en het gecontroleerd te laten groeien.
Nu heb je feedback gekregen van je manager: je moet een nieuw proces opnemen in het model voor "Spot cleaning and laundry", dat tussen stap 8 en 9 moet komen (zie de in het rood gemarkeerde rij in de tabel). De pakketten random en simpy zijn geïmporteerd.

Deze oefening maakt deel uit van de cursus
Discrete Event Simulation in Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)