ComeçarComece de graça

Linha de montagem de carros: adicionando eventos não determinísticos

Este exercício foca em processos não determinísticos sem usar SimPy. No próximo exercício, vamos focar em SimPy.

Você foi convidado a considerar a variabilidade na duração dos processos no modelo de eventos discretos anterior de uma linha de produção de carros. Os grupos de processos identificados antes são (1) "Soldagem e pintura" e (2) "Montagem de peças e testes". Lembre-se de que cada um desses grupos de processos envolve muitos subprocessos e tarefas, mas, por enquanto, você está focado em codificar a primeira versão do seu modelo em um nível mais alto.

Antes, você havia determinado que soldagem e pintura levavam, em média, 15 horas para concluir, enquanto a montagem de peças e os testes levavam, em média, 24 horas para terminar.

Agora, você fez pesquisa e monitoramento adicionais para estudar a variabilidade na duração desses processos. Você concluiu que soldagem e pintura podem variar em cinco horas (para mais ou para menos), e a duração da montagem de peças pode variar em seis horas (para mais ou para menos).

Atualize seu modelo de eventos discretos para considerar variações na duração desses eventos. O pacote random já foi carregado 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 "Soldagem e pintura", levando em conta a nova informação sobre variabilidade usando um método do pacote random que gera números inteiros aleatórios.
  • Registre a duração do processo "Montagem de peças e testes", levando em conta a nova informação sobre variabilidade usando um método do pacote random que gera números inteiros aleatórios.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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