LoslegenKostenlos loslegen

Transportmodell: den Generator definieren

Gut gemacht! Du hast die Eingaben und Ausgaben deines Modells sowie die Modellprozesse definiert, die du mit Python-Methoden beschrieben hast. Jetzt ist es Zeit, einen Generator zusammenzustellen, der alle Modellprozesse in die richtige Reihenfolge bringt.

Diese Übung ist Teil des Kurses

Diskrete-Ereignis-Simulation mit Python

Kurs anzeigen

Anleitung zur Übung

  • Rufe die zuvor erstellte Funktion road_travel() auf, die die Fahrzeit auf der Straße berechnet, und takte die benötigte Ausführungszeit ein.
  • Rufe die zuvor erstellte Funktion wait_traffic_light() auf, die die Wartezeit an Ampeln berechnet, und takte die benötigte Ausführungszeit ein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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")
Code bearbeiten und ausführen