Producción de prendas: multiprocesos y modularidad
Te han pedido crear un modelo de eventos discretos para ayudar a optimizar una fábrica de producción de prendas situada en Milán, la capital de la moda.
Estás muy entusiasmado y quieres asegurarte de construir un modelo útil y escalable, porque sabes que la industria de la confección es compleja y combina muchos procesos y recursos, con los que aún te estás familiarizando.
Has investigado y elaborado la lista de procesos que ves en la tabla de abajo. Fuiste meticuloso y creaste una función separada para cada proceso para que tu modelo sea modular y pueda crecer de forma controlada.
Ahora has recibido comentarios de tu responsable, quien te ha pedido incluir un proceso nuevo en el modelo para contemplar "Spot cleaning and laundry", que debe ir entre los pasos 8 y 9 (consulta la fila de la tabla resaltada en rojo). Los paquetes random y simpy ya se han importado.

Este ejercicio forma parte del curso
Simulación de eventos discretos en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)