一种高速路网关键路段的识别方法与流程

文档序号:11678884阅读:315来源:国知局
一种高速路网关键路段的识别方法与流程

本发明涉及智能交通和复杂网络分析领域,尤其涉及一种对高速路网运营起关键作用的关键路段的识别方法。



背景技术:

近年来,我国高速公路迅猛发展,大大缩短了省际之间、重要城市之间的距离,有效降低了生产运输成本,改变了人们的生活方式。伴随着人们对高速公路出行的愈发依赖,突发事故和道路自身因素导致的高速拥堵问题也引发了社会各界人士的关注,成为一种广泛讨论的社会现象。高速拥堵带来了经济损失,影响了人们出行安全性和舒适度,降低了出行体验。

高速路网中存在着某些极为重要的交通枢纽,这些路段(其中节点被认为是路段的一部分)对路网通行起到非常关键的作用。若在这些关键路段发生事故,会对周边大面积路网通行产生级联影响。当高速路网发生拥堵时,其影响可能会通过排队车辆依次传导至周边路段,形成复杂的传播过程。识别出这些起关键作用的路段,能够为高速公路管理人员高效率管理高速路网提供支撑手段。现有技术中,直观地可以通过计算经过某路段的车流量、以及某路段所对应收费站节点的度,从而对路段的重要性进行排序;或使用贪心思想,每次从路网中选取一条断路后对路网通行效率影响最大的路段,选出的前b条路段即为贪心方法挖掘到的关键路段。但是,利用度和流量计算排名的方法过于简单,特征单一,难以反映复杂路网的真实情况;贪心方法时间复杂度太高,应对一省路网都会花费较长的时间,处理效率低,针对大规模复杂路网的处理能力不足。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种高速路网关键路段的识别方法,其中,高速路网关键路段(其中节点被认为是路段的一部分)是指高速路网中的极为重要的交通枢纽,即一旦发生交通拥堵或道路损坏,会对路网通行效率造成严重影响的路段;本发明采用概率方法建模,并通过社群划分算法,有效地降低计算复杂度,再将路网关键路段的识别问题转化为动态规划的背包问题,从而又快又准地挖掘出b条高速路网中影响路网通行效率的关键路段。本发明提供方法能够准确高效的挖掘出高速路网中的关键路段,解决关键路段挖掘问题,满足实际应用需求。

本发明的原理是:高速路网结构复杂,贪心等方法挖掘关键路段耗费大量时间,且会陷入局部最优解。因此,本发明首先对路网进行社群划分,优化时间效率,并进一步将路网信息构建成概率化模型,再用背包思路准确求解,从而给出一套高速路网中的关键路段识别方法。依据真实高速路网的特点,每条路段均有一定的概率发生交通拥堵或路面损坏事件,而当交管部门向某些路段充分部署人力和物力时,正常情况下该路段发生交通拥堵或路面损坏的概率将会有效降低;依据这一特点,我们对路网的通行能力采用概率的方式建模,帮助挖掘一批更加具有道路通行影响力的关键路段。本发明首先将包含n个收费站、m条路段的路网拓扑结构划分为l个社群;在每个社群内部分别挖掘b条候选关键路段,使得当交管部门的人力物力部署在这b条路段上时,路网通行时间最短;再将从k*b条候选关键路段中选择至多b条从而使全路网通行时间最短的问题转化为背包问题;最终我们将动态规划方法求解出的b条关键路段,作为最终挖掘到的关键路段输出。本发明所提出的方法能够准确高效的挖掘出有路网通行影响力的关键路段,解决高速路网中的关键路段识别问题,满足实际应用需求。

本发明提供的技术方案是:

一种高速路网中关键路段的识别方法,所述关键路段指当高速路网发生交通拥堵或道路损坏时,会对路网通行效率造成严重影响的路段,其中路网节点被认为是路段的一部分;所述方法首先利用社群划分算法将路网划分成k个社群;再通过概率假设对路网进行建模,在每个社群中,分别求解得到候选关键路段;再从这些候选关键路段中,采用动态规划中的背包问题求解方法,找到b条最终的关键路段,由此识别高速路网中的关键路段。

一种高速路网中关键路段的识别方法,为简化模型,本发明具体实施中设定每个社群中都选取相同数量的候选关键路段,最终得到相同数量的关键路段。

上述方法以当前高速路网拓扑结构(即收费站和路段的地理位置以及连接情况)、通行车辆历史数据(即每辆车的od信息和每段途径路段的通行时间,od表示一段行程的起点origin和终点destination情况)作为输入数据,根据投资哪些路段的组合能够充分利用有限的资源,实现路网通行效率最高,确定至多b条关键路段;具体包括如下步骤:

1)首先生成路网拓扑结构g=(v,e),计算边(即路段)上包含的属性;

2)对路网拓扑结构g进行社群划分,得到l个社群的集合c={c1,…,cl};

3)在每个社群内部识别候选关键路段每个社群内选择b条,

4)利用动态规划的方法,挖掘出至多b条能够使得全路网道路通行效率达到最高的关键路段;

5)将这b条路段输出,作为最终挖掘出的高速路网中的关键路段。

针对上述高速路网中的关键路段识别方法,进一步地,

步骤1)所述生成路网拓扑结构及边上属性的方法,具体包含如下步骤:

11)提取被研究省份高速路数据中的所有n个收费站{v1,…,vn},形成路网拓扑结构g中的节点集合v;

12)提取被研究省份高速路数据中的所有m条路段{e1,…,em},形成路网拓扑结构g中的边集合e;

13)提取和计算每条边ei上的属性信息包括:

131)相应路段的长度,记为

132)历史数据中车辆经过该条路段的平均通行时间,记为

133)历史数据中该条路段经过的车流量,记为

步骤2)所述对路网拓扑结构g进行社群划分的方法,具体包括如下步骤:

21)每个节点初始化为一个社群;

22)计算每个社群s的分区性能f(s),其中cs表示一个顶点在s中、一个顶点不在s中的边的个数;ms表示完全包含在s中的边的个数:

23)对于每个节点i,计算每个与i相邻的社群ji;

24)对于i的每个相邻社群ji,计算假设i从原本的社群中删除、加入ji中后,i原本所在社群及ji的分区性能的增益;

25)若i的所有相邻社群中,存在某些相邻社群在接纳i之后,使得步骤24)所述的社群分区性能增益大于0,则将i从原本的社群中删除、加入能使增益最大的相邻社群;若不存在,则本轮对节点i的调整结束,跳至网络中下一个节点,直至对网络中所有节点进行一轮调整;

26)重复步骤22)至25),直至所有节点所属的社群不再发生变化,从而得到l个社群的集合c={c1,…,cl},每个社群包含若干节点,社群之间无交集;

步骤3)所述识别每个社群内部的候选关键路段的方法,具体包括如下步骤:

31)对于社群ci,计算ci的含有b条边的所有子图表示所有可能的候选投资路段的组合;

32)计算每种组合中,度大于1的节点的个数

33)计算每种组合发生的可能性由于真实世界中,当某条路段发生拥堵时,与它相连的路段有较大可能通过排队车辆受到拥堵的级联影响,因此倾向于选择有一定联系的b条边的组合:

其中,|ei|表示社群ci中的边数;表示从|ei|条边中选出b条边的排列数;

34)假定每条路段都有一定概率发生拥堵或路面损坏的情况,称为固有事故率;为了简化模型,假设所有路段的固有事故率均为ppr;

35)对于没有被投资的路段,其事故率就是固有事故率,即:

pe=ppr

36)对于被投资的路段,其事故率为固有事故率ppr与投资收益率pinv之差,即:

pe=ppr-pinv

投资收益率一般为给定值,在本发明实施例取值为0.1;

37)按事故率对ci中的每条路段是否发生拥堵或路面损坏等事故进行抽样,将抽样结果中发生事故的路段从ci中去除,得到1次抽样后的仿真社群拓扑结构为了消除抽样的随机性,进行s次抽样,即得

38)设历史数据中有h辆车经过路网,对于其中每辆车ho,提取其od信息及经过的所有路段序列zo;

39)计算每辆车ho经过当前仿真社群拓扑结构时的通行效率具体包括步骤391)~392):

391)若路段序列zo中的所有边均存在于第p次仿真社群拓扑结构则车辆ho的通行时间即等于历史数据中的实际通行时间;通行效率为车辆ho通过路径长度与通行时间之比;

392)若路段序列zo中,存在某些边不属于仿真社群拓扑结构则利用迪杰斯特拉算法(dijkstra'salgorithm)重新在拓扑结构上计算车辆ho从起点到终点的仿真路段序列z′o;则车辆ho的通行效率为:

其中,eq表示仿真路段序列z′o中的第q条路段;表示第q条路段的长度;表示历史数据中车辆经过第q条路段的平均通行时间;

310)社群ci内部的b条候选关键路段集合为:

社群ci内部的b条候选关键路段,即为上式所求结果中所包含的b条边;

311)对步骤2)中划分出来的每个社群,进行如上步骤31)~310)的操作,得到每个社群内部的b条候选关键路段;

312)记录当步骤310)式子取最大值时,所对应b条候选关键路段上,每条路段上的通行效率,记为v(i)。

步骤4)所述在全路网中挖掘出至多b条最终的关键路段的动态规划方法,具体包括如下步骤:

41)从l个社群中的l*b条候选关键路段中,挖掘至多b条最终的关键路段;记这l*b条候选关键路段的投资花费为w(i),为简化模型可使w(i)均为1;

42)使用动态规划中的背包思想,首先初始化一个l*b行w列的二维数组y,将元素初始化为-1;

43)本问题的递推公式为:

y[i][j]=max(f[i+1][j],f[i+1][j-w[i]]+v[i])

44)以二维数组y的两个维度分别作为递归函数的两个参数;参数i、j的含义为:从第i条候选路段开始,选择能使总通行效率增益最大的、且总花费不超过j的候选路段;

45)首先从y[0][w]开始递归;

46)进入递归函数后,若当前二维数组中对应的元素y[i][j]不等于-1,表示之前已经计算过;直接返回计算过的值;

47)若没有计算过,判断第i条候选路段的花费是否超过当前剩余花费,若不超过,则按照43)所述公式计算即可;若超过,则跳过第i条候选路段,计算y[i+1][j];

48)直到递归函数完全结束,被选中的b条候选关键路段即为最终所求的全路网关键路段。

与现有技术相比,本发明的有益效果是:

本发明提供一种高速路网中的关键路段识别方法,先利用社群划分算法将路网划分成k个社群;再通过概率假设对路网进行建模,在每个社群中,各求解b条候选关键路段;再从这k*b条候选关键路段中,采用动态规划中的背包问题解决思路,找到b条最终的关键路段,由此识别高速路网中的关键路段。本发明提供方法能够准确高效的挖掘出高速路网中的关键路段,解决关键路段挖掘问题,可以成为实际应用中挖掘高速路网中关键路段的有效手段。

本发明根据流量和路网特性挖掘路网中的关键路段,能够为交通部门的整体规划提供参考依据。采用本发明识别出路网中的关键路段,可为高速公路管理人员高效率管理高速路网提供支撑手段。管理人员可据此将应急资源部署在关键路段附近,一旦发生交通事故或拥堵,可快速舒缓交通压力,减少经济和时间损失;此外,车主可根据本发明结果制定出行规划,有效规避潜在的拥堵因素;本发明能够为高速公路的建设提供一定的指导信息,对于当前易发生拥堵的关键路段,政府部门可考虑采取增设车道、维护路面等措施,长效解决拥堵问题;同时,本发明亦能够为高速公路应急管提供策略支持,增加配流效率、降低损耗。

附图说明

图1是本发明提供的高速路网中的关键路段识别方法的整体流程框图。

图2是本发明方法对路网拓扑结构进行社群划分的流程框图。

图3是本发明方法识别每个社群内部的候选关键路段的流程框图。

图4是从由各社群组成的全路网中挖掘出至多b条最终的关键路段的流程框图。

图5是本发明中递归函数的流程框图。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明中,关键路段实质当发生交通拥堵或道路损坏时,会对路网通行效率造成严重影响的路段。当关键路段发生拥堵或道路损坏时,交管部门可以通过在路段配置人力物力等资源,有效降低该条路段发生拥堵或损坏的概率,我们称之为“投资”;但交管部门可用的资源有限,假设最多只能投资b条路段。本发明提供了一种高速路网中的关键路段识别方法,能够达到利用流量和路网拓扑结构挖掘到b条最关键的路段,当资源投资在这b条路段上时,路网通行效率最高的目的。

图1是本发明提供方法的整体流程图,首先利用社群划分算法将路网划分成k个社群;再通过概率假设对路网进行建模,在每个社群中,各求解b条候选关键路段;再从这k*b条候选关键路段中,采用动态规划中的背包问题解决思路,找到b条最终的关键路段。具体包括如下步骤:

1)生成路网拓扑结构,计算边(即路段)上包含的属性

因为本方法将对路网进行社群划分、背包问题等操作,故将网络拓扑结构及边的性质作为输入准备。

2)对路网拓扑结构g进行社群划分,得到一组社群的集合

本步骤为后续挖掘单个社群内部的候选关键路段提供依据,是优化时间效率的关键步骤。

图2是本发明的对路网拓扑结构进行社群划分的流程图。基本流程包括如下过程:

21)将每个节点初始化为一个社群;

22)计算每个社群s的分区性能;

23)对于每个节点i,计算每个与i相邻的社群ji;

24)对于i的每个相邻社群ji,计算假设i从原本的社群中删除、加入ji中后,i原本所在社群及ji的分区性能的增益;

25)若i的所有相邻社群中,存在某些相邻社群在接纳i之后,使得步骤24)所述的社群分区性能增益大于0,则将i从原本的社群中删除、加入能使增益最大的相邻社群;若不存在,则本轮对节点i的调整结束,跳至网络中下一个节点,直至对网络中所有节点进行一轮调整;

26)重复步骤22)至25),直至所有节点的社群不再发生变化,得到社群划分的结果;

3)识别每个社群内部的候选关键路段

在全路网中直接利用本步骤模型、挖掘b条关键路段需要遍历极多的路段组合,会带来指数级别的时间复杂度。因此,本发明首先将全路网划分为l个社群,在社群内部利用本步骤模型先挖掘出b条候选关键路段;由于社群只是全路网的一个子图,因此能够有效的降低时间复杂度。

图3是本发明的识别每个社群内部的候选关键路段的流程图。基本流程包括如下过程:

31)计算社群ci的含有b条边的所有子图;

32)计算每种组合中,度大于1的节点的个数;

33)计算每种组合发生的可能性

34)计算固有事故率ppr;

35)计算没有被投资的路段的事故率;

36)计算被投资的路段的事故率;

37)按事故率对ci中的每条路段是否发生拥堵或路面损坏等事故进行抽样,将抽样结果中发生事故的路段从ci中去除,得到一次抽样后的仿真社群拓扑结构为了消除抽样的随机性,进行s次抽样,得到

38)对于经过路网的每辆车ho,提取其od信息及经过的所有路段序列zo;

39)计算每辆车ho经过当前仿真社群拓扑结构时的通行效率具体包括:

391)若路段序列zo中的所有边均存在于通行效率为车辆ho通过路径长度与历史数据中的实际通行时间之比;

392)若路段序列zo中,存在某些边不属于仿真社群拓扑结构则利用迪杰斯特拉算法(dijkstra'salgorithm)重新在拓扑结构上计算车辆ho从起点到终点的仿真路段序列z′o;通行效率为路径长度与重新计算的路段的通行时间之比:

310)计算能够使社群ci内部路网通行效率最大的b条候选关键路段集合

311)对每个社群,进行如上步骤31)~310)的操作;

312)记录步骤310)中取到最大值时,所对应的b条候选关键路段各自的通行效率;

4)全路网中挖掘出至多b条最终的关键路段

由于高速公路管理部门的投资有限,需要我们仅从这l*b条候选关键路段中选择出b条作为最终结果。这一问题与背包的思想相似,本步骤给出了用背包思路求解的递推公式、以及使用递归函数实现背包问题时的主要步骤;

图4是本发明的从全路网中挖掘出至多b条最终的关键路段的流程图。包括如下过程:

41)记这l*b条候选关键路段的投资花费为w(i),为简化模型使w(i)均为1;

42)申请一个l*b行w列的二维数组y,将元素初始化为-1;

43)y[i][j]=max(f[i+1][j],f[i+1][j-w[i]]+v[i])为本问题所对应的递推公式;

44)以二维数组y的两个维度分别作为递归函数的两个参数;

45)首先从y[0][w]开始递归;

46)若y[i][j]不等于-1,表示之前已经计算过;直接返回计算过的值;

47)若没有计算过,判断第i+1条候选路段的花费是否超过当前剩余花费,若不超过,则按照43)所述公式计算y[i][j];若超过,则跳过第i+1条候选路段,计算y[i+1][j];

48)直到递归函数完全结束,被选中的b条候选关键路段即为最终所求;

通过上述方法,可以筛选出b条路段,即得到挖掘出的全路网关键路段。

本发明以下实施例针对中国安徽省高速路网,输入数据为路网中的所有路段、每条路段的位置信息、经过路网的所有车辆信息(包括车辆id、途经路段、通行时间)。通过本发明提供的高速路网中的关键路段识别方法,提取网络拓扑结构信息、划分社区、每个社群内部识别候选关键路段、并利用动态规划的方法,挖掘出至多b条能够使得全路网道路通行效率达到最高的关键路段。中国安徽省路网分布广泛,拥有海量数据资料。快速挖掘高速路网中的关键路段,能够帮助工作人员更好的进行路网交通管理。

首先,利用数据库工具,提取输入数据,包括路网中的所有路段、每条路段的位置信息、经过路网的所有车辆id、途经路段及通行时间。按照如下步骤,挖掘全路网关键路段:

步骤一:存储网络拓扑结构及边的信息;

步骤二:将每个收费站节点初始化为一个社群;

步骤三:计算每个社群s的分区性能;

步骤四:计算节点i从原本的社群中删除、加入相邻社群后,i原本所在社群及j相邻社群的分区性能的增益;若增益大于0,则将i从原本的社群中删除、加入能使增益最大的相邻社群;若不存在,则跳至网络中下一个节点,直至对网络中所有节点所属社群进行一轮调整;

步骤五:重复步骤三、四,直至所有节点的社群不再发生变化;

步骤六:对于某个社群ci,计算ci的含有b条边的所有子图即为所有可能的候选投资路段的组合;例如,中国安徽省的全省路网中,在合肥市附近区域形成一个社群,其中合肥绕城高速的金寨路、包河大道,合六叶路段以及芜合路段构成该社区的一个子图;

步骤七:计算每种组合中,度大于1的节点的个数

步骤八:根据下式,计算每种组合发生的可能性

步骤九:假设所有路段的固有事故率均为ppr(一般取0.15);

步骤十:对于没有被投资的路段,其事故率即为:pe=ppr;

步骤十一:对于被投资的路段,其事故率为固有事故率ppr与投资收益率pinv之差,即pe=ppr-pinv(pinv一般取0.1);

步骤十二:按事故率对ci中的每条路段是否发生拥堵或路面损坏等事故进行抽样,将抽样结果中发生事故的路段从ci中去除,得到一次抽样后的仿真社群拓扑结构例如,合肥市附近所形成的社群进行一次抽样后,合六叶路段、蚌合路段被抽样为发生事故,则从社群中去掉这两条边;

步骤十三:为了消除抽样的随机性,重复s次步骤十二,即得

步骤十四:对于经过路网的每辆车ho,提取其od信息及经过的所有路段序列zo;

计算每辆车ho经过当前仿真社群拓扑结构时的通行效率

步骤十五:若路段序列zo中的所有边均存在于通行效率为车辆ho通过路径长度与历史数据中的实际通行时间之比;

步骤十六:若路段序列zo中,存在某些边不属于仿真社群拓扑结构则利用迪杰斯特拉算法(dijkstra'salgorithm)重新在拓扑结构上计算车辆ho从起点到终点的仿真路段序列z′o;而用重新计算后的z′o来计算车辆ho的通行效率:

步骤十七:依据下式计算社群ci内部的b条候选关键路段集合

社群ci内部的b条候选关键路段,即为上式所求结果中所包含的b条边;

步骤十八:对于划分出来的每个社群,进行如上步骤六到步骤十七的操作,得到每个社群内部的b条候选关键路段;例如,合肥市附近区域所对应的社群中,候选关键路段为:金寨路、包河大道、合六叶及蚌合路段;芜湖市附近区域所对应的社群中,候选关键路段为:芜宣路段、芜合路段、马巢路段、马芜路段;中国安徽省其他社群同样对应着4条候选关键路段;

步骤十九:记录当步骤十七中的式子取最大值时,所对应b条候选关键路段各自的通行效率,记为v(i);

步骤二十:记l*b条候选关键路段的投资花费为w(i),为简化模型可使w(i)均为1;

步骤二十一:申请一个l*b行w列的二维数组y,将元素初始化为-1;

步骤二十二:依据递推公式y[i][j]=max(f[i+1][j],f[i+1][j-w[i]]+v[i]),递归的计算y[0][w]的值,并且记录每次被背包选中的候选关键路段;当递归到某一层时,当前的y[i][j]不等于-1,表示之前已经计算过,直接返回计算过的值;否则,先判断第i+1条候选路段的花费是否超过当前剩余花费,若不超过,则按照递推公式计算当前的y[i][j];若超过,则跳过第i+1条候选路段,计算y[i+1][j];

步骤二十三:直到递归函数完全结束,所记录的b条被背包选中的候选关键路段即为所求的全路网关键路段;例如,最终挖掘出的合肥绕城高速金寨路段、马芜路段、蚌合路段以及滁宁段,为安徽全省路网结构中的关键路段。

上述具体过程运用到中国安徽省高速路网数据,使用一种高效准确的高速路网中的关键路段识别方法找出影响道路通行效率的关键路段。通过本发明提供的技术方案,运维人员可将主要人力部署在关键路段上,一旦发生交通事故或拥堵,可快速纾解交通压力,减少经济和时间损失;并以此作为路网维护管理的合理依据。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1