Modèle de transport : définition du générateur
Bravo ! Vous avez défini les entrées et sorties de votre modèle ainsi que les processus que vous avez caractérisés avec des fonctions Python. Il est maintenant temps d’assembler un générateur qui enchaînera tous les processus de votre modèle.
Cet exercice fait partie du cours
Simulation d’événements discrets en Python
Instructions
- Appelez la fonction
road_travel()créée précédemment, qui calcule le temps de trajet par la route, et comptabilisez le temps nécessaire pour l’exécuter. - Appelez la fonction
wait_traffic_light()créée précédemment, qui calcule le temps d’attente aux feux tricolores, et comptabilisez le temps nécessaire pour l’exécuter.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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")