ComeçarComece de graça

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

Ver curso

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)
Editar e executar o código