一:开发环境
我们先来看看我的开发环境,用到的东西还是比较简单的:
作者:嘟粥yyds
时间:2022年12月20日
集成开发工具:PyCharm 2021.1.3
集成开发环境:python 3.10.6
第三方模块:numpy、matplotlib
二:项目介绍
Nagel-Schreckenberg模型是高速公路交通模拟的理论模型。该模型由德国物理学家Kai Nagel和Michael Schreckenberg于20世纪90年代初开发。它本质上是用于道路交通流量的简单元胞自动机模型,其可以再现交通拥堵。即,当道路拥挤时显示平均车速减慢。
现在模拟一个场景,在一个环形公路上,所有车围成一个圆,每辆车有一定的概率减速.当后面的车的车速比它前面相邻的车车速快时,即将产生追及问题时,后面的车就必须减速,这样就会导致各种不同情况的拥堵。
减速概率p、车辆数目n和车辆初速度v0等都可以手动改变,以测试不同情况。
三:项目源代码
四:运行结果
以下图中线条越密集的地方代表越有可能发生堵车的情况
当p=0时,也就是不减速,所有的车将匀速行驶,不会发生堵车
当p=0.3时
当p =0.8时
当p=1.0时,及另一极端情况,会发现车辆直接堵死了