Modèle de transport : définir le générateur
Bravo ! Vous avez défini les entrées et sorties de votre modèle ainsi que les processus du modèle que vous avez caractérisés à l'aide de méthodes Python. Il est maintenant temps de mettre en place un générateur qui enchaînera tous vos processus de modèle.
Cette activité fait partie du cours
Simulation d'événements discrets en Python
Instructions de l’exercice
- Appelez la fonction
road_travel()créée plus tôt, qui calcule le temps de trajet par la route, et comptabilisez le temps nécessaire pour l'effectuer. - Appelez la fonction
wait_traffic_light()créée plus tôt, qui calcule le temps d'attente aux feux de circulation, et comptabilisez le temps nécessaire pour l'effectuer.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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")