ComeçarComece de graça

Modelo de transporte: definindo o gerador

Muito bem! Você definiu as entradas e saídas do seu modelo e os processos do modelo que caracterizou usando métodos em Python. Agora é hora de montar um gerador que vai sequenciar todos os processos do seu modelo.

Este exercício faz parte do curso

Simulação de Eventos Discretos em Python

Ver curso

Instruções do exercício

  • Chame a função road_travel() criada anteriormente, que calcula o tempo de deslocamento pela estrada, e registre o tempo que ela leva para terminar.
  • Chame a função wait_traffic_light() criada anteriormente, que calcula o tempo de espera nos semáforos, e registre o tempo que ela leva para terminar.

Exercício interativo prático

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

def all_processes(env, inputs):
    road_stretch, distance_total, traffic_light = 0, 0, 0
    while True:

        road_stretch += 1
        
        # Call function calculates road travel time
        distance, distance_total = ____(inputs, distance_total)
        yield env.____(distance/inputs['Speed_limit_ms'])
        print(f"> Road Stretch #{road_stretch} \nLength = {distance} m , Cumulative distance travelled = {distance_total} m , Total time elapsed = {env.now} sec")

        traffic_light += 1
        
        # Call function that calculates waiting time at a traffic light
        waitTime_traffic_light_sec = ____(inputs, distance_total)
        yield env.____(waitTime_traffic_light_sec)
        print(f"> Traffic Light #{traffic_light} \nWait time = {waitTime_traffic_light_sec} sec, Time lapsed = {env.now} sec")
Editar e executar o código