软件开发语言:C#。
开发环境运行平台:Windows XP SP3。
4.2 客户端
运行时只需按照一下打开方式即可
抛球模型\抛球模型\完成ThrowBall\Trysimpal\bin\Debug\ TrySimpal
4.3 系统实现目标
本程序是根据2种单点交叉口交通信号控制方式改编开发设计的。主要实现如下目标。
实现对单点交叉口交通信号两种控制方式的模拟。
减少设置交通信号控制所需要的计划时间。
提高单点交叉口交通的流通效率从而排解交通拥堵。
系统操作简单方便并且系统界面简洁。
系统运行稳定可靠。
使用者可以选择2种模拟的模式,固定配时模式只能设置绿灯时间,红灯时间和绿灯时间相同;见球就抛模式只能设置绿灯时间的上下线。
使用者可以设置相位值和小球质量值,从而模拟体现出交叉口的交通量。
使用者可以设置2边的距离,从而模拟交叉口的距离。
使用者可以设置演示的速度,让使用者可以清楚看到过程或者快速看到结果。
可以在效益统计里面得到实验的数据从中快速了解到当前交通效益值。
5 系统总体设计
5.1 系统架构设计
本系统采用C#应用程序典型的两层架构模式。采用两层架构模式后,UI层通过统一的接口向BL层发送请求,把采集到的数据一并传输过去,然后BL层通过一定的处理后返回到UI层。通过这样的数据处理流程,很简单明了的表示出了信号设置所表现出的效率,同时使用人员使用时也方便。
C#两层架构模式的各层功能描述如下:
1、UI(User Interface)层的职责是数据的展现和采集,数据采集的结果通常以Entity object提交给BL层处理。
2、BL(Business Logic)层的职责是按预定的业务逻辑处理UI层提交的请求。
(1)Business Function 子层负责基本业务功能的实现。
(2)Business Flow 子层负责将Business Function子层提供的多个基本业务功能组织成一个完整的业务流。
5.2 系统流程图
抛球模型的核心系统流程图如图5.1所示。首先球到了人的手中的情况,然后先判断手中是否有旧球,如果有就新球加上旧球的质量形成一个新球,然后判断人此时的状态,如果是绿色也就是可抛球状态那么就再次判断时间是否小于等于绿色周期时间并且大于等于小球运动时间如果满足条件立即抛出手中小球。如果不满足就抛出t质量的小球,并且剩余一定的质量然后产生红色的时间等待红色的时间然后再返回判断剩余时间,直到满足他其条件为止。
图5.1 抛球模型核心系统流程图
5.3 系统功能模块结构图
功能模块结构如图5.2所示
图5.2功能模块结构如图
使用者通过系统了解到初始页面的情况,发现有左小球质量,右小球质量,左初始相位值,右初始相位值,演示速率,距离,左模式选择,右模式选择,而且由于是默认的固定配时模式所以只能设置红绿灯的时间,而两边的绿灯上限和绿灯上限是不能设置的,当在选择了见球就抛模式之后就会变为可以设置左右的绿灯上限时间和绿灯下限时间,而以此同时绿灯和红灯时间是不能设置。
6 系统详细设计
很多情况下,路网中单一路口或者有选择的采用感应控制能够获得效益,而当所有路口均采用感应信号控制时,整体效益反而下降,众多分布式或基于智能体的网络交通控制策略,都可能由于路口间控制策略的交互作用产生事与愿违的结果。抛球模式基于非合作博弈理论分析了感应控制路网中路口间的交互作用及感应困境产生的原因及条件,同时提出了控制策略匹配概念,根据条件变化,调整路口的控制策略,使得路口间策略能够相互匹配,取得稳定的、共赢的博弈结果。 基于抛球模型的交通信号控制互动关系研究(7):http://www.youerw.com/zidonghua/lunwen_3407.html