Académique Documents
Professionnel Documents
Culture Documents
Projet : simulation de
trafic routier
19/04/2019
Sommaire
Sommaire...............................................................................................................................................2
2
Introduction
Cette étude modélise l’évolution du trafic sur une route et met en évidence les différents
régimes de circulation, notamment la formation de bouchons.
On se place dans le cadre d’une route en circuit fermé, sans entrée ni sortie, les véhicules
présents se suivant et ne pouvant se dépasser. La route est discrétisée en cases et on place sur
ces cases un certain nombre de véhicules. Ces véhicules sont placés le plus régulièrement
possible et leur vitesse est fixée à une valeur maximale autorisée.
Les paramètres de cette simulation seront donc la longueur de la route n max, le nombre de
véhicules en circulation n v ≤ nmax , la vitesse maximale autorisée v max, la probabilité de freinage
aléatoire f .
Nous avons repris la première version de notre programme pour la version finale du projet.
Nous avons réalisé cette simulation jusqu’à la formation de bouchons, pour connaître
l’influence du nombre de voitures sur le trafic.
3
Programmation
Pour commencer, nous définissons 2 types dérivées dans un module. D’une part, nous
aurons les informations relatives à chaque véhicule, c’est-à-dire la position pos et la vitesse v .
D’autre part, nous aurons les informations relatives à la route, plus précisément la longueur de
la route, le nombre de véhicules, la vitesse maximale autorisée et enfin un tableau de
véhicules.
n max
nv
v max
Véhicule 1 Véhicule 2 …
Position1 Position2 …
Vitesse1 Vitesse2 …
Figure 1 – Description du type dérivé ROUTE contenant un tableau de véhicules défini à partir
du type dérivé VEHICULE
Nous initialisons ensuite les valeurs des paramètres de la simulation, que l’on peut initialiser
dans le programme principal mais qu’on choisit de placer dans un fichier de données qui sera
lu par le programme.
On initialise la position des véhicules et leur vitesse fixée à la vitesse maximale autorisée. Les
véhicules sont placés le plus régulièrement possible.
Différents sous programmes sont crées qui permettent de gérer les différentes phases et
affichage de la simulation.
1. Phase accélération :
On vérifie la vitesse de chaque véhicule sur la route et si sa vitesse v n’atteint pas la vitesse
maximale v max, on l’incrémente de 1.
2. Phase décélération :
Si la distance entre la voiture et celle qui la précèdent est plus petit que sa vitesse, alors sa
vitesse prend la valeur de la distance séparant ces voitures.
Pour ce faire, on crée une fonction distance qui permet de calculer la distance entre deux
véhicules. Elle représente le nombre de cases séparant ces véhicules
Cette fonction s’applique facilement pour les véhicules qui ne sont pas en bout de route. Pour
celui qui se trouve en bout de route, on doit prendre en compte le fait que la route est un
circuit fermé.
4
Pour i =1 à n v faire
Ipl ← modulo(i,nv ) + 1
Si pos(ip1) > pos(i) alors
Distance(i) ← pos(ip1) – pos(i) – 1
Sinon distance(i) ← pos(ip1) – pos(i) + n_max – 1
Fin si
Fin pour
3. Phase freinage :
On appelle un nombre aléatoire x et s’il est inférieur à f et que la vitesse v> 0, alors on
décrémente v de 1.
4. Phase progression :
On avance de v cases, avec la contrainte du circuit fermé, c'est-à-dire :
Fin si
Fin pour
5. Affichage :
On créer des bords pour faire en sorte que ce soit semblable à une vraie route lors de
l’affichage dynamique.
Poi
5
6. Formation de bouchons
On fixe, cette fois, la probabilité de freinage f à 0,05.
6
Ré sultats
Après avoir compiler et executer le programme, on obtient l’allure d’une route. Les véhicules
sont des lettres, dans l’ordre alphabétique, qui se suivent sans se dépasser.
7
3. Cas de plusieurs voitures, avec une probabilité de freinage f =0,05
- Le trafic est parfaitement fluide si le nombre de véhicules est inferieur à environ 24%
de la capacité de la route.
- Les bouchons se forment si le nombre de véhicules occupent plus de 24% de la
capacité de la route pour une vitesse maximale de 3
8
Amé liorations
Nous avons scindé notre le programme et le module en deux fichiers distincts.
9
Conclusion
10