Bonjour, je tente actuellement de modéliser un trafic routier en milieu urbain type rocade à l'échelle macroscopique.
Pour cela j'utilise python. Je considère alors une liste L de booléens de taille n , telle que , L[i]==True , alors une voiture est située à la "case" d'indice i, si L[i]==False alors il n'y a pas de voiture. Je défini alors une fonction selon laquelle si une voiture a de la place pour avancer alors elle avance sinon ... non.
Mon problème vient maintenant du fait que je souhaiterai relier ma modélisation à différents modèles théoriques comme le modèle de Greenshields tel que:
v(n,L)=vmax*(1-(n/nmax)) avec v la vitesse du flux de voiture et n sa densité. (Le flux de voitures est continu et le champ de vitesse uniforme).
La densité se détermine simplement , il suffit de compter le nombre de voitures puis de le diviser par la longueur de la file (taille de la liste).
Toutefois une fois que j'ai cette densité et donc la vitesse (déterminée par Greenshields), comment le retranscrire en terme de déplacement au niveau des cases ?
Si on considère qu'une case est occupée pleinement par une voiture , on peut poser que la taille d'une case=4m. Je veux alors d=f(v(n,L)) avec d le nombre de case que parcours une voiture en un certain temps t, là encore je n'ai pas ce temps.
Je me rends bien compte que je ne suis absolument pas clair, à juste titre, ça ne l'est pas pour moi non plus !
Merci de m'accorder de votre temps et merci d'avance pour vos réponses.
P.S: Je vous glisse un Screenshot de ma fonction faisant avancer 1 fois les voitures + la fonction de Greenshields
Partager