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
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
randomque 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
randomque 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)