Línea de montaje de coches: añadiendo eventos no deterministas
Este ejercicio se centra en procesos no deterministas sin usar SimPy. En el siguiente ejercicio, nos centraremos en SimPy.
Te han pedido que tengas en cuenta la variabilidad en la duración de los procesos en el modelo previo de eventos discretos de una línea de producción de coches. Los grupos de procesos identificados antes son (1) "Soldadura y pintura" y (2) "Montaje de piezas y pruebas". Recuerda que cada uno de estos grupos de procesos implica muchos subprocesos y tareas, pero por ahora te centras en programar la primera versión de tu modelo a alto nivel.
Anteriormente, determinaste que la soldadura y la pintura tardaban una media de 15 horas en completarse, mientras que el montaje de piezas y las pruebas tardaban una media de 24 horas en finalizar.
Ahora has hecho investigación y monitorización adicional para estudiar la variabilidad en la duración de estos procesos. Concluiste que la soldadura y la pintura pueden variar en cinco horas (al alza o a la baja), y que la duración del montaje de piezas puede variar en seis horas (al alza o a la baja).
Actualiza tu modelo de eventos discretos para tener en cuenta las variaciones en la duración de estos eventos.
El paquete random ya se ha cargado por ti.
Este ejercicio forma parte del curso
Simulación de eventos discretos en Python
Instrucciones del ejercicio
- Registra la duración del proceso "Soldadura y pintura", teniendo en cuenta la nueva información sobre variabilidad usando un método del paquete
randomque genera números enteros aleatorios. - Registra la duración del proceso "Montaje de piezas y pruebas", teniendo en cuenta la nueva información sobre variabilidad usando un método del paquete
randomque genera números enteros aleatorios.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock the time requirement for: Assembly of parts and Testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
car_production_line(SIMULATION_TIME)