Model transportowy: definiowanie danych wejściowych modelu
Czas złożyć to wszystko w całość i zbudować wszystkie komponenty modelu.
Otrzymujesz zadanie optymalizacji sygnalizacji świetlnej w Chicago w celu poprawy płynności ruchu. W takich sytuacjach bardzo przydatny okazuje się model zdarzeń dyskretnych.
Pierwszym krokiem jest pomiar średniej długości odcinków dróg między skrzyżowaniami. Wyniki pokazują, że wynosi ona średnio 100 metrów, przy odchyleniu standardowym około 20 metrów – co oznacza, że kierowca napotyka sygnalizator co 80–120 metrów.
Limit prędkości w Chicago wynosi 30 mph (około 50 km/h). Urzędnicy miejscy poinformowali cię, że czerwone światło świeci się średnio przez 90 sekund. Zacznij od zdefiniowania danych wejściowych i wyjściowych modelu.
To ćwiczenie jest częścią kursu
Symulacja zdarzeń dyskretnych w Pythonie
Instrukcje do ćwiczenia
- Ustaw średnią i odchylenie standardowe tablicy
inputs["Dist_between_intersections_m"]. - Zastosuj rozkład Gaussa, aby wygenerować wartości
RandomGener["Distance"]. - Zastosuj odpowiednią metodę losową, aby wygenerować liczby całkowite dla
RandomGener["WaitTime"].
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define the model inputs
inputs = {"Dist_between_intersections_m": [____, ____],
"Speed_limit_ms": 50 * 1000 / (60 * 60),
"Max_waitTime_traffic_lights_sec": 90}
random_generated = {"Distance": [], "WaitTime": []}
for i in range(5000):
# Use the random package to generate pseudo-random values
random_generated["Distance"].append(random.____(inputs['Dist_between_intersections_m'][0],inputs['Dist_between_intersections_m'][1]))
random_generated["WaitTime"].append(random.____(0, inputs['Max_waitTime_traffic_lights_sec']))
# Plot the randomly generated distance "events"
plt.hist(random_generated["Distance"], bins=100)
plt.xlabel('# Events')
plt.ylabel('# Distance travelled (m)')
plt.show()