Začněte nyníZačněte zdarma

Model dopravy: definování vstupů modelu

Pojďme to dát dohromady a sestavit všechny komponenty modelu.

Dostal/a jsi za úkol optimalizovat semafory ve městě Chicago s cílem zlepšit plynulost provozu. V takových situacích se hodí model diskrétních událostí.

Prvním krokem je změřit průměrnou délku úseků silnic mezi křižovatkami. Dospěl/a jsi k závěru, že průměrná délka je 100 metrů se směrodatnou odchylkou přibližně 20 metrů – řidič tedy narazí na semafor každých 80–120 metrů.

Rychlostní limit v Chicagu je 30 mph (přibližně 50 km/h). Představitelé města tě informovali, že červená v průměru svítí až 90 sekund. Začni tím, že definuješ vstupy a výstupy svého modelu.

Toto cvičení je součástí kurzu

Diskrétní simulace událostí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nastav průměr a směrodatnou odchylku pole inputs["Dist_between_intersections_m"].
  • Použij Gaussovo rozložení pro generování hodnot RandomGener["Distance"].
  • Použij náhodnou metodu pro generování celých čísel pro RandomGener["WaitTime"].

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód