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