Kom igångKom igång gratis

Trafikmodell: definiera modellindata

Nu är det dags att sätta ihop alla modellkomponenter.

Du har fått i uppdrag att optimera trafikljusen i Chicago för att förbättra trafikflödet. En diskret händelsemodell är ett bra verktyg i den här typen av situationer.

Första steget är att mäta den genomsnittliga väglängden mellan korsningar. Du har kommit fram till att den är i genomsnitt 100 meter med en standardavvikelse på ungefär 20 meter – vilket innebär att en förare förväntas passera ett trafikljus var 80–120 meter.

Hastighetsgränsen i Chicago är 30 mph (ungefär 50 km/h). Stadens tjänstemän har informerat dig om att rött ljus i genomsnitt varar i upp till 90 sekunder. Börja med att definiera indata och utdata för din modell.

Den här övningen är en del av kursen

Diskret händelsesimulering i Python

Visa kurs

Övningsinstruktioner

  • Ange medelvärdet och standardavvikelsen för arrayen inputs["Dist_between_intersections_m"].
  • Använd gaussfördelning för att generera värdena i RandomGener["Distance"].
  • Använd en slumpmässig metod för att generera heltal till RandomGener["WaitTime"].

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod