ÎncepețiÎncepe gratuit

Model de transport: definirea intrărilor modelului

Hai să punem totul cap la cap și să construim toate componentele modelului.

Ai fost solicitat să optimizezi semafoarele din orașul Chicago pentru a îmbunătăți fluxul de trafic. Un model cu evenimente discrete este foarte util în astfel de situații.

Primul pas este măsurarea lungimii medii a drumurilor dintre intersecții, pe care ai stabilit-o la 100 de metri în medie, cu o abatere standard de aproximativ 20 de metri. Asta înseamnă că un șofer se poate aștepta să întâlnească un semafor la fiecare 80–120 de metri.

Limita de viteză în Chicago este de 30 mph (aproximativ 50 km/h). Oficialii orașului te-au informat că, în medie, culoarea roșie rămâne aprinsă până la 90 de secunde. Începe prin a defini intrările și ieșirile modelului tău.

Acest exercițiu face parte din cursul

Simulare de evenimente discrete în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează media și abaterea standard ale array-ului inputs["Dist_between_intersections_m"].
  • Aplică distribuția gaussiană pentru a genera valorile RandomGener["Distance"].
  • Aplică o metodă aleatorie pentru a genera numere întregi pentru RandomGener["WaitTime"].

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul