城市交通网络拥堵分流算法的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
城市交通网络单向拥堵分流算法的设计与实现
唐俊勇1,郝海燕2
(1.西安工业大学计算机科学与工程学院,陕西西安 710032;2.咸阳师范学院物理与
电子工程学院,陕西咸阳 712000)
摘要:城市交通流的信息具有实时性特点,传统道路拥堵的预报都是在堵塞事件发生后进行发布,择路分流也是凭着驾驶人员的经验,准确率很低。本文提出一种实时计算道路信息流并选择最优道路进行分流的算法,具有实时性、智能化高的特点。该算法设计了一个五维向量作为输入信息,采用向量组优先级比较的方法,通过对道路端口计算来生成最优化路径。本文最后给出一个实际计算实例,拥堵分流算法生成其他最优备选道路,从而有效的实现了拥堵分流,使城市交通性能得到优化。
关键词:城市交通;拥堵分流;向量优先级
中图分类号:TP 393.1 文献标志码:A
引言
随着城市交通网络的建设和应用,城市交通道路越来越多地连接城市不同的地点。城市交通网的特点是冗余性设计被采用,即通过多条链路连接同一地点形成网络环路,确保某条链路拥堵后城市交通网络仍能保持通畅。这些冗余链路对交通管理带来一个新问题,即当某条或者若干条城市交通链路发生拥堵,如何选择若干条交通量最小,或者通行效率最优的道路来连接整个城市,即能保证城市正常的交通运力,又能缓解拥堵路段的压力进行分流,有效提高了道路运行效率。
1 拥堵分流算法
1.1 算法概述
本算法的思想就是要在整个城市中形成连接到各个地点的树形道路,各个地点的道路连接点处(道路汇聚点)通过交通流量采集设备获得道路流量信息,道路汇聚点通过信息数据包(IDU)的交换来进行计算,选定城市交通网中的根汇聚点(Root Convergence Point)i和指定汇聚点(Designated Convergence Point),确定道路端口的角色是根端口(Root Port)、指定端口(Designated Port)或者备用端口(alternate Port)。经过计算后,生成了一个无环路的“树”型交通通行率最小的道路结构。
1.2 算法信息数据单元(IDU)的构成
城市交通网络内各个道路汇聚点(Convergence Point)根据每个道路端口优先级向量决定每个道路端口角色。这些角色分别为:root port ,designated port , alternate port , alternate 1port 。
(1)城市交通网络中汇聚点不是根汇聚点,且该汇聚点的某个端口优先向量来源于根汇聚点,那么该端口是根端口(root port)。
(2)道路路径端口优先向量来源于指定向量,则该端口是交通网络中的道路指定端口(designated port)。
(3)城市交通网中,除了根端口外,汇聚点某个端口的端口优先向量是从其他汇聚点接收来的,该端口是替代端口(alternated port)。
1.3 向量组优先级比较
每个道路端口将参与运算的关键参数字段构成一个五维向量:
{ Root Convergence Point, Root Path Cost , Designated Convergence Point, Designated Port , RcvPort},汇聚点各个道路端口通过比较彼此交换的IDU包中的五元向量组进行优先级确定,优先级比较顺序是从左至右,如果靠前的向量值小,则表明为优先向量组。五维向量组的比较过程如下:(1)计算Root Convergence Point:在道路交通网络中各个汇聚点首先推举一个汇聚点作为树形道路的根汇聚点,推举依据是各个汇聚点的优先值,优先值的选择根据汇聚点在城市交通中重要程度和设计标准选择,值范围为[0,1],计算公式如(1)所示:
Root Convergence Point =
Priority (Convergence Point {n}) (1)(2)计算累积拥堵因子Root Path Cost:如果
汇聚点本身是根汇聚点,则到根汇聚点路径开销为0,否则就为其他汇聚点所收到的IDU的Root Path Cost(receive)值与收到该配置消息的道路端口拥堵因子(Port Cost)之和。拥堵因子Root Path Cost计算公式如(2)所示:
Root Path Cost
=Root Path Cost(receive)+Port Cost(receive) (2)(3)确定指定汇聚点和Designated Port:一条道路路径分别连接到两个不同的汇聚点,根据公式(1)和公式(2)的计算结果,Root Path Cost最优先,即拥堵因子值最小的汇聚点为指定汇聚点。一条道路链路中所属指定汇聚点的端口为指定端口(Designated Port)。
(4)确定根端口(Root Port)和替代端口(Alternate Port):非根汇聚点上接收的最优五元向量组的端口为根端口。除了根端口和指定端口,其余的端口都是替代端口,这样就构成了一个逻辑树形结构的最低拥堵交通网络。
2 算法实现
根据上节提到的向量组优先级比较以确定最终的汇聚端口优先向量,根据端口优先向量的内容确定端口角色,这样可以实时计算整个城市交通网中存在一条通过花费最小的道路。当道路发生堵塞触发重新计算进程,从而找到其他备份的最优道路。下面以一实例说明:如图1所示,所在城市有四个主要道路汇聚点,根据重要性汇聚点赋值分别为:0.65,0.97,0.86和0.78。以第二个汇聚点为例,其有四个Port连接到城市交通网,67.2代表第二个端口的花费值为67,其余汇聚点和端口均为此表示方法。使用向量优先比较,以下计算为第二个汇聚点,权重值为0.97的端口角色。
图 1 城市交通网络汇聚点与端口权值
(1)第二个汇聚点各个道路端口接收的道路对端端口发来的五维消息向量组与初始化时本汇聚点各个端口的优先向量,根据优先级得到根汇聚点为权值是0.65的汇聚点和各个端口的更新累积拥堵因
子值的端口向量组:
(2)从root path cost vector中找到最优向量作为指定汇聚点向量,再根据根汇聚点的权值和接收端口的拥堵因子值进行更新,生成指定端口。
(3)在更新过的端口优先向量组中,1端口与2端口的向量都来自其本省的拥堵因子累积向量,端口1的拥堵花费为45,而端口2为67,端口1由于端口2为最优路径端口。端口角色被定义后,port priority vector参与下一轮运算。
Pr iority
−−−→
cos
0.65450.6520.31
0.65670.6567.22
0.781000.78100.23
0.861000.86100.14
root path t vector
⎛⎫
⎪
⎪
⎪
⎪
⎝⎭
0.6500.6520.310.9700.9745.11
0.6500.6567.220.9700.9767.22
0.780 3.84100.230.9700.97100.33
0.8600.86100.140.9700.97100.44
⎛⎫⎛⎫ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪⎝⎭⎝⎭
0.65450.6520.31
0.65670.6567.22
0.65450.6520.33
0.65450.6520.34
port priority vector
designatedport
designatedport
⎛⎫
⎪
⎪
⎪
⎪
⎝⎭
port roles
−−−−→
()
0.65450.6520.31
designated vector
cos
0.65450.6520.31
0.65670.6567.22
0.781000.78100.23
0.861000.86100.14
root path t vector
⎛⎫
⎪
⎪
⎪
⎪
⎝⎭
0.65450.6520.31
0.65670.6567.22
0.65450.6520.33
0.65450.6520.34
port priority vector
designatedport
designatedport
⎛⎫
⎪
⎪
⎪
⎪
⎝⎭
update rootpathvector
−−−−−−−→