Model de transport: definirea generatorului
Felicitări! Ai definit intrările și ieșirile modelului, precum și procesele caracterizate prin metode Python. Acum este momentul să construiești un generator care să ordoneze toate procesele din model.
Acest exercițiu face parte din cursul
Simulare de evenimente discrete în Python
Instrucțiuni pentru exercițiu
- Apelează funcția
road_travel()creată anterior, care calculează timpul de deplasare pe șosea, și înregistrează durata necesară pentru finalizarea ei. - Apelează funcția
wait_traffic_light()creată anterior, care calculează timpul de așteptare la semafoare, și înregistrează durata necesară pentru finalizarea ei.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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")