Transportmodel: de generator definiëren
Goed gedaan; je hebt je modelinputs en -outputs gedefinieerd en de modelprocessen die je met Python-methoden hebt beschreven. Nu is het tijd om een generator samen te stellen die al je modelprocessen in de juiste volgorde zet.
Deze oefening maakt deel uit van de cursus
Discrete Event Simulation in Python
Oefeninstructies
- Roep de eerder gemaakte functie
road_travel()aan, die de reistijd over de weg berekent, en registreer de tijd die nodig is om dit te voltooien. - Roep de eerder gemaakte functie
wait_traffic_light()aan, die de wachttijd bij verkeerslichten berekent, en registreer de tijd die nodig is om dit te voltooien.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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")