Modèle de transport : définir les entrées du modèle
Rassemblons le tout et construisons tous les composants du modèle.
On vous a demandé d'optimiser les feux de circulation de la ville de Chicago pour améliorer la fluidité routière. Un modèle à événements discrets est approprié dans ce contexte.
La première étape consiste à mesurer la longueur moyenne des routes entre les intersections. Vous avez établi qu'elle est de 100 mètres en moyenne, avec un écart type d'environ 20 mètres, ce qui signifie qu'un conducteur devrait rencontrer un feu de circulation tous les 80 à 120 mètres.
La limite de vitesse à Chicago est de 30 mi/h (environ 50 km/h). Les responsables municipaux vous ont indiqué qu'en moyenne, le feu reste rouge jusqu'à 90 secondes. Commencez par définir les entrées et les sorties de votre modèle.
Cette activité fait partie du cours
Simulation d'événements discrets en Python
Instructions de l’exercice
- Définissez la moyenne et l'écart type du tableau
inputs["Dist_between_intersections_m"]. - Appliquez la distribution gaussienne pour générer les valeurs de
RandomGener["Distance"]. - Appliquez une méthode aléatoire pour générer des entiers pour
RandomGener["WaitTime"].
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()