CommencerCommencer gratuitement

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

Afficher le cours

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")
Modifier et exécuter le code