Zacznij terazZacznij za darmo

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

Zobacz kurs

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()
Edytuj i uruchom kod