关键词:紧急事件处理系统;Dijkstra算法;交通流诱导;动态函数;路网模型;数据库
中国是一个发展中国家,改革开放以来,城市化与汽车化发展十分迅猛,大多数城市路网结构不合理,道路功能不完善,道路系统不健全,而交通管理设施缺乏,管理水平不高。即使各地都建立了交通控制中心,大多只是实现了监视功能,而远没有发挥控制功能的效应[1]。依靠城市现有的成熟通信技术、计算机网络技术,并利用城市现有的救援资源,再加以适当扩充,建立城市交通紧急事件处理与安全系统,合理的进行交通流诱导,及时、有效地处理交通紧急事件,将大幅度减轻交通堵塞的发生,减少经济损失和人员伤亡,降低二次事故发生的概率,对提高交通营运收入都有着重大的社会意义和经济价值。
本文研究了城市交通紧急事件处理系统的交通流诱导的相关因素、流程和特点,把诱导系统分为医院,消防,路政和交警四个子系统。目前,我们所看到的很多系统在进行路径寻优时,主要考虑的是点对点的路径长度最短寻优或是时间最短寻优,即传统的交通流的诱导通常以静态路径寻优为目标,我们考虑到本研究对象是一个针对交通紧急事件的多目标应急处理系统,在建立道路路网模型的时候,除了时间最优、距离最短等传统的优化目标外,还需要考虑应急救援部门的地理位置,以及不同救援部门配备的救援资源数量等实际情况;同时考虑到交通状况的时变性和不确定性以及道路状况的复杂性,把路径的权值定义为一个交通状况的动态函数,采用优化后的Dijkstra算法搜索最优动态路径。
1、Dijkstra算法在交通流诱导中的应用
1.1Dijkstra算法
1.1.1经典的Dijkstra思想
设置一个顶点集合S并不断地作贪心选择来扩大这个集合。一个顶点属于集合S当且仅当从源点到该顶点的最短路径长度已知。初始时,S中仅含有源点。设u是G的某一个顶点,把从源点到u且中间只经过S中顶点的路径称为从源点到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。DIJKSTRA算法每次从V-S中取出具有最短特殊路长度的顶点u,将u添加到S中,同时对数组dist做必要的修改。一旦S包含了所有V中的顶点,dist就记录了从源点到所有其他顶点之间的最短路径长度。
为描述方便,我们定义如下的函数:函数Dijkstra-path{vi,vj}返回vi和vj间的最短路径,函数Dijkstra-len{vi,vj}返回vi和vj间的最短路径的长度。
1.1.2Dijkstra算法的分析与改进
Dijkstra算法思路简明,实现容易。但在一个由n个节点组成的网络里,由于它实现了两个时间复杂度为O(n)的循环,因此,在寻找某一节点到另一节点的最短路径搜索中,它的时间复杂度为O(n2)[2],随着n的增大(问题规模的增大),算法的时间复杂度急剧增加。我们考虑如果能有效的减小n值,就能大大地减少算法的运行时间,提高效率。考虑到系统的实际特点,






