ComenzarEmpieza gratis

Modelo de transporte: definiendo el generador

¡Muy bien! Ya has definido las entradas y salidas de tu modelo y los procesos del modelo que caracterizaste con métodos de Python. Ahora toca crear un generador que ordene en secuencia todos los procesos de tu modelo.

Este ejercicio forma parte del curso

Simulación de eventos discretos en Python

Ver curso

Instrucciones del ejercicio

  • Llama a la función road_travel() creada antes, que calcula el tiempo de viaje por carretera, y contabiliza el tiempo que tarda en completarse.
  • Llama a la función wait_traffic_light() creada antes, que calcula el tiempo de espera en los semáforos, y contabiliza el tiempo que tarda en completarse.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código