Producție vestimentară: procese multiple și modularitate
Ai fost rugat să creezi un model de simulare a evenimentelor discrete pentru a optimiza o fabrică de confecții situată în Milano, capitala mondială a modei.
Ești entuziasmat și vrei să construiești un model util și scalabil, știind că industria vestimentară este complexă și implică multe procese și resurse cu care încă te familiarizezi.
Ai făcut cercetări și ai identificat lista de procese prezentată în tabelul de mai jos. Ai fost diligent și ai creat o funcție separată pentru fiecare proces, astfel încât modelul să fie modular și să poată crește în mod controlat.
Acum ai primit feedback de la managerul tău: trebuie să incluzi un nou proces în model, și anume „Curățare localizată și spălare", care ar trebui să fie plasat între pașii 8 și 9 (vezi rândul evidențiat cu roșu în tabel). Pachetele random și simpy au fost deja importate.

Acest exercițiu face parte din cursul
Simulare de evenimente discrete în Python
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)