Linha de montagem de carros: adicionando eventos não determinísticos com SimPy
Este exercício foca em processos não determinísticos usando SimPy.
Você vai modificar a versão em SimPy do seu modelo de linha de montagem de carros, adicionando os mesmos eventos determinísticos usando métodos do SimPy.
Lembre-se de que "Soldagem e pintura" levam em média 15 horas para concluir, mas essa duração varia em cinco horas (para mais ou para menos). Já "Montagem de peças e testes" levam em média 24 horas para terminar, mas essa duração varia em seis horas (para mais ou para menos).
A biblioteca SimPy já foi importada para você.
Este exercício faz parte do curso
Simulação de Eventos Discretos em Python
Instruções do exercício
- Registre a duração do processo "Welding and painting", levando em conta a nova informação sobre sua variabilidade usando o método
random.randint(). - Registre a duração do processo "Assembly of parts and testing_", levando em conta a nova informação sobre sua variabilidade usando o método
random.randint().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def car_production_line(env):
car_number = 0
while True:
car_number += 1
# Adding process 1: Clock-in time requirement for Welding and Painting
yield env.____(random.____(10, 20))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")
# Adding process 2: Return/yield time after completing the process and print the current time
yield env.____(random.____(18, 30))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")
env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)