CN111369052B - 简化路网ksp优化算法 - Google Patents

简化路网ksp优化算法 Download PDF

Info

Publication number
CN111369052B
CN111369052B CN202010139515.5A CN202010139515A CN111369052B CN 111369052 B CN111369052 B CN 111369052B CN 202010139515 A CN202010139515 A CN 202010139515A CN 111369052 B CN111369052 B CN 111369052B
Authority
CN
China
Prior art keywords
nodes
node
path
branch
road network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010139515.5A
Other languages
English (en)
Other versions
CN111369052A (zh
Inventor
李向农
高文杰
范丁元
吴青松
王京伟
张梦心
高明阳
卢立川
孟昕馨
彬德丽娅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Railway Engineering Consulting Group Co Ltd
Original Assignee
China Railway Engineering Consulting Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Railway Engineering Consulting Group Co Ltd filed Critical China Railway Engineering Consulting Group Co Ltd
Priority to CN202010139515.5A priority Critical patent/CN111369052B/zh
Publication of CN111369052A publication Critical patent/CN111369052A/zh
Application granted granted Critical
Publication of CN111369052B publication Critical patent/CN111369052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于交通网络规划和交通路径分析领域,具体涉及简化路网KSP优化算法。将网络节点分为枝节点、中间节点和真节点;消除所述枝节点和所述中间节点后的路网称为简化路网;路网多路径计算只需在所述简化路网上计算真节点间的多条路径。其中,所述枝节点定义为:在路网中相邻节点非枝节点数不大于1的节点,所述中间节点定义为在路网中相邻非枝节点数为2的节点,真节点定义为既非枝节点又非中间节点的节点。本发明提供的算法能够满足多路径计算结果的计算和存储,提高算法的通用性,从而提高铁路运量设计、路网规划、径路查询的效率和科学性。

Description

简化路网KSP优化算法
技术领域
本发明属于交通网络规划和交通路径分析领域,具体涉及简化路网KSP优化算法。
背景技术
在交通规划和交通网络分析中,经常需要计算全部交通网络中每个节点对之间的K条较短径路(K短路径或KSP问题),但随着路网规模的扩大,其计算复杂度和空间复杂度呈指数增长。有效减少KSP问题计算和空间复杂度,对内存限制下KSP算法可行性和软件的实时反应能力,对提高交通网络规划的效率和科学性具有重要意义。
目前国内外对路网KSP的经典算法主要有YEN的网络无环K短径路算法和Floyd扩展算法。YEN算法主要用于计算一对节点间的K短路径,其计算复杂度为O(KN3)(其中K为径路数,N为节点数,下同),计算全部节点对间K短路径时,计算复杂度为O(KN5),空间复杂度为O(KN3);Floyd扩展算法便于计算全部节点对间K短路径,其计算复杂度为O(K2N3),空间复杂度为O(KN2),当N=1000,K=10000时,YEN算法复杂度和空间复杂度数量级分别为1019、1014,Floyd扩展算法将分别为1017、1010。可以看出,对现状PC计算机4G内存配置下空间复杂度已不可接受,为计算大规模路网的多条数K短路径,有必要寻求降低节点规模或复杂度的方法。
发明内容
针对上述技术问题,本发明提供一种简化路网KSP优化算法,通过将网络节点划分为真节点、中间节点和枝节点,将真正参与计算的节点限定为真节点,其他节点间路径根据真节点KSP算法结果简单导出,从而大大缩短算法和空间复杂度。
本发明是通过以下技术方案实现的:
简化路网KSP优化算法,包括:
将网络节点分为枝节点、中间节点和真节点;所述枝节点定义为:在路网中与枝节点相邻的节点为非枝节点的数量不大于1,所述中间节点定义为:在路网中与中间节点相邻的节点为非枝节点的数量为2,真节点定义为既非枝节点又非中间节点的节点;
消除所述枝节点和所述中间节点后的路网称为简化路网;
路网多路径计算只需在所述简化路网上计算真节点间的多条路径。
进一步地,在所述简化路网上计算真节点间的多条路径,具体方法为:
将真节点i和真节点j间的第k条路径Rij(k)用以下数据结构递归表示:
{v,Riv(ki),Rvj(kj)};
其中,v为真节点i到真节点j的经由节点;Riv(ki)表示真节点i至真节点v间的第ki条径路;Rvj(kj)表示真节点v至真节点j间的第kj条径路;
真节点对间K短路径的计算采用Floyd扩展算法进行计算。
进一步地,所述枝节点包括如下特征:
一是:枝节点构成树形结构,树形结构的根节点必然为真节点或中间节点;
二是:同一树形结构中两两枝节点之间只有一条合理路径;
三是:删除同一树形结构中的所有枝节点对真节点和中间节点间合理路径个数和长度不会有影响。
进一步地,所述中间节点包括如下特征:
一是:任意一个中间件节点相邻的节点包括非枝节点数为2个
二是:删除某一个中间节点,并将与删除的中间节点相邻的2个非枝节点拼接后形成的网络,不影响其他节点间合理路径个数和长度计算结果。所述节点指非枝节点,相邻中间节点可连续递归拼接,最终参与计算的节点只有真节点。
进一步地,真正参与计算的节点为真节点,其他节点间路径根据真节点KSP算法结果简单导出,具体地:
两节点都为中间节点时的节点间多路径提取:由于一个中间节点有两个相邻真节点,故共有4种路径组合方式,通过比较4种组合方式中的路径并消除重复路径,选出最优路径;
两节点只有其中之一为中间节点的情况为两节点都为中间节点的特殊情况,采用两节点都为中间节点时的节点间多路径提取方法求出;
两节点中有枝节点时的节点间多路径提取分两种情况:第一种情况为两枝节点在一个树形结构下,定义该树形结构的根为根节点,此时只有一条路径,能够在原路网上向根站点回朔求出;另一种为其他情况,采用第一种情况的方法求出树形结构根节点至另一真节点或中间节点或另一树形结构根节点间的路径,加上枝节点到根节点的路径求出。
本发明的有益技术效果:
本发明提供的简化路网KSP优化算法,能够解决在大规模路网节点情况下,计算路网全部节点对之间大量路径并进行存储和提取路径的问题,从而提高相关软件计算KSP问题对一般个人计算机的内存适应能力、及实时反应能力,而不失交通网络信息的完整性。
通过本发明提供的简化路网KSP优化算法,对于大规模路网中每个节点对间K短路径(K值较大)的计算复杂度和空间复杂度有明显降低,使一般个人计算机内存配置在4G情况下,满足多路径计算结果的计算和存储,提高算法的通用性,从而提高铁路运量设计、路网规划、径路查询的效率和科学性。
附图说明
图1为本发明实施例中15个节点的路网示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
为了计算大规模路网的多条数K短路径,降低节点规模或复杂度,本发明实施例提供一种简化路网KSP优化算法,其中,KSP算法经过国际国内多年的发展,其算法本身已很难降低其复杂性,所以本发明提供的算法主要从减少参与计算和存储的节点数的方法来降低复杂性,包括:
(1)路网分类和简化:将网络节点分为枝节点、中间节点和真节点,以简化路网;所述枝节点采用递归定义法定义为:在路网中相邻节点非枝节点数不大于1的节点,所述中间节点定义为在路网中相邻非枝节点数为2的节点,真节点定义为既非枝节点又非中间节点的节点;
消除所述枝节点和所述中间节点后的路网称为简化路网;路网多路径计算只需在所述简化路网上计算真节点间的多条路径。
图1为本发明实施例中15个节点的路网示意图,如图1所示,图中,节点2、4、5、6、8为真节点,节点1、3、7、9为中间节点,节点10-15为枝节点。
图中虚线框内枝节点10-15包括如下特征:一是和一真节点8组成组成一个树形结构;二是两两枝节点之间只有一条合理路径;三是删除这些枝节点后对其他节点间合理路径个数和长度不会有影响;
中间节点1、3、7、9包括如下特征:一是相邻非枝节点数为2个;二是删除某一个中间节点,并将与删除的中间节点相邻的2个非枝节点拼接后形成的网络,不影响其他节点间合理路径个数和长度计算结果。
如图1,经简化后的路网只含5个真节点,路网规模复杂度降为原网络的1/3。
(2)真节点对间K短路径的计算,即在所述简化路网上计算真节点间的多条路径,具体方法为:
将真节点i和真节点j间的第k条路径Rij(k)用以下数据结构递归表示:
{v,Riv(ki),Rvj(kj)};
其中,v为真节点i到真节点j的经由节点;Riv(ki)表示真节点i至真节点v间的第ki条径路;Rvj(kj)表示真节点v至真节点j间的第kj条径路;
具体地,真节点对间K短路径的计算采用Floyd扩展算法进行计算。即真节点间路径提取根据Floyd法中路径节点存储方式直接递归求出,其中,Floyd扩展算法为常规算法。
设有简化路网G(N,E),|G|=Q,Q为网络中真节点数,需计算所有真节点之间的前K条较短路径,采用Floyd扩展算法的计算过程:
第一步,初始化:真节点i到j间的第k短路径记为Rij(k)={ID,w,v,ID1,ID2}。其中ID为标识数字,唯一标识真节点i到j间的某条路径;w为该路径长度(费用或权重等);v为该路径所经由的真节点;ID1标识该路径中由真节点i到v的的子路径;ID2标识该路径中经由真节点v到j的子路径,以上五元组可唯一确定G中一条路径。记K维向量R(i,j)={Rij(k)|k=1,2,…,K}。构造矩阵Dk={R(i,j)|i=1,2,…,Q;j=1,2,…,Q}。
对D0中Rij(k)={ID,w,v,ID1,ID2}作初始化如下:对所有支点i=1,2,…,Q和j=1,2,…,Q,如果真节点i和j相邻,则Rij(1).w=w(i,j)【w(i,j)为边(i,j)的权重】,Rij(1).ID=某唯一标识数,Rij(1).v=-1;否则Rij(1).w=∞(无穷大,表示无此路径,可用某最大整数表示),Rij(1).v=-1;对所有k=2,3,…,K,Rij(k).w=∞,Rij(k).v=-1。
第二步,计算Dk,k=1,2,…,K,依次由Dk-1计算Dk
由Rik(k1).w和Rkj(k2).w计算Rij(kr).w(kr<=K),更新Dk-1,其中i=1,2,…,Q;j=1,2,…,Q,k1=1,2,…,K,k2=1,2,…,K。
对所有i,j,k1,k2作如下计算:Rij(kr).w=Rik(k1).w+Rkj(k2).w;Rij(kr).v=k;Rij(kr).ID1=Rik(k1).ID;Rij(kr).ID2=Rkj(k2).ID。如果Rij(kr).w=∞,或者Rij(kr).w≥Rij(K).w,或者该路径不符合合理路径要求,则直接舍弃该路经,计算下一条路径;否则Rij(kr).ID=分配唯一标识数,将该路径按长度升序插入R(i,j)中,R(i,j)中最后一个元素自动舍弃;循环更新Dk-1,得到Dk
(3)路网多路径的提取
真正参与计算的节点为真节点,真节点间路径提取可根据Floyd法中路径节点存储方式直接递归求出;其他节点间路径根据真节点KSP算法结果简单导出,通过减少参与计算和存储的节点数的方法来降低复杂性,大大缩短算法和空间复杂度;
具体地:
两节点都为中间节点时的节点间多路径提取:由于一个中间节点有两个相邻真节点,故共有4种路径组合方式,通过比较4种组合方式中的路径并消除重复路径,选出最优路径;
两节点只有其中之一为中间节点的情况为两节点都为中间节点的特殊情况,采用两节点都为中间节点时的节点间多路径提取方法求出;
两节点中有枝节点时的节点间多路径提取分两种情况:第一种情况为两枝节点在一个树形结构下,定义该树形结构的根为根节点,此时只有一条路径,能够在原路网上向根站点回朔求出;另一种为其他情况,采用第一种情况的方法求出树形结构根节点至另一真节点或中间节点或另一树形结构根节点间的路径,加上枝节点到根节点的路径求出。
如图1所示,真节点2到4间路径根据存储直接提取;中间节点1到9间路径为真节点2到6、2到8、4到6、4到8间4组路径中较优者,加路径(1,2)或(1,4),及路径(9,6)或(9,8);枝节点15到节点2间路径为中间节点8到2的路径加上枝节点15到其根节点8的路径。
效果分析:铁路网规划中,路网节点有大量为中间节点和枝节点,根据Floyd扩展算法,计算复杂度为O(KN5),空间复杂度为O(KN3),真节点数量为全部节点数量的1/2为常见现象,采用本发明提供的方法,计算复杂度和空间复杂度将分别降低到原来的1/32和1/8,效果明显。
根据计算结果,进行节点间路网多路径提取时,本发明提供的方法对真节点之间、枝节点之间、真节点和枝节点之间路径提取计算复杂度基本没有影响;对于中间节点间和其余节点间路径检索,最坏情况下计算复杂度由不进行简化时的Ω(1)~O(N)增加到Ω(1)~O(KN),但路径提取相比路径计算是较简单的过程,对软件的总体反应能力影响很小。采用本发明提供的方法,,当N=1000,K=10000时,内存需求量已在一般个人计算机4G容量之内。

Claims (2)

1.简化路网KSP优化算法,其特征在于,包括:
将网络节点分为枝节点、中间节点和真节点;所述枝节点定义为:在路网中与枝节点相邻的节点为非枝节点的数量不大于1,所述中间节点定义为:在路网中与中间节点相邻的节点为非枝节点的数量为2,真节点定义为既非枝节点又非中间节点的节点;
消除所述枝节点和所述中间节点后的路网称为简化路网;
路网多路径计算只需在所述简化路网上计算真节点间的多条路径;
其中,所述枝节点包括如下特征:
一是:枝节点构成树形结构,树形结构的根节点必然为真节点或中间节点;
二是:同一树形结构中两两枝节点之间只有一条合理路径;
三是:删除同一树形结构中的所有枝节点对真节点和中间节点间合理路径个数和长度不会有影响;
所述中间节点包括如下特征:
一是:任意一个中间节点相邻的节点包括非枝节点数为2个
二是:删除某一个中间节点,并将与删除的中间节点相邻的2个非枝节点拼接后形成的网络,不影响其他节点间合理路径个数和长度计算结果;
真正参与计算的节点为真节点,其他节点间路径根据真节点KSP算法结果简单导出,具体地:
两节点都为中间节点时的节点间多路径提取:由于一个中间节点有两个相邻真节点,故共有4种路径组合方式,通过比较4种组合方式中的路径并消除重复路径,选出最优路径;
两节点只有其中之一为中间节点的情况为两节点都为中间节点的特殊情况,采用两节点都为中间节点时的节点间多路径提取方法求出;
两节点中有枝节点时的节点间多路径提取分两种情况:第一种情况为两枝节点在一个树形结构下,定义该树形结构的根为根节点,此时只有一条路径,能够在原路网上向根站点回朔求出;另一种为其他情况,采用第一种情况的方法求出树形结构根节点至另一真节点或中间节点或另一树形结构根节点间的路径,加上枝节点到根节点的路径求出。
2.根据权利要求1所述简化路网KSP优化算法,其特征在于,在所述简化路网上计算真节点间的多条路径,具体方法为:
将真节点i和真节点j间的第k条路径Rij(k)用以下数据结构递归表示:
{v,Riv(ki),Rvj(kj)};
其中,v为真节点i到真节点j的经由节点;Riv(ki)表示真节点i至真节点v间的第ki条径路;Rvj(kj)表示真节点v至真节点j间的第kj条径路;
真节点对间K短路径的计算采用Floyd扩展算法进行计算。
CN202010139515.5A 2020-03-03 2020-03-03 简化路网ksp优化算法 Active CN111369052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010139515.5A CN111369052B (zh) 2020-03-03 2020-03-03 简化路网ksp优化算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010139515.5A CN111369052B (zh) 2020-03-03 2020-03-03 简化路网ksp优化算法

Publications (2)

Publication Number Publication Date
CN111369052A CN111369052A (zh) 2020-07-03
CN111369052B true CN111369052B (zh) 2021-02-12

Family

ID=71210388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010139515.5A Active CN111369052B (zh) 2020-03-03 2020-03-03 简化路网ksp优化算法

Country Status (1)

Country Link
CN (1) CN111369052B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113449402B (zh) * 2021-06-22 2022-08-05 武汉大学 一种断头路打通后路网效率增益预测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605279A (zh) * 2009-07-10 2009-12-16 北京邮电大学 一种基于群计算单元的双层最短路径实现方法
CN102506849A (zh) * 2011-09-28 2012-06-20 浙江大学 寻找带约束的最短路径的方法
CN102546440A (zh) * 2012-02-23 2012-07-04 中兴通讯股份有限公司 一种路由波长分配方法和系统
CN102538806A (zh) * 2010-12-30 2012-07-04 上海博泰悦臻电子设备制造有限公司 一种路径规划方法以及相关设备
CN103970856A (zh) * 2014-05-07 2014-08-06 中国人民大学 一种有权有向动态网络上的最短路径估算方法
CN105808779A (zh) * 2016-03-30 2016-07-27 北京大学 基于剪枝的图漫游并行计算方法和应用

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102538801B (zh) * 2010-12-16 2016-03-30 上海博泰悦臻电子设备制造有限公司 一种导航地图中路网数据的处理方法及装置
CN104570976A (zh) * 2013-10-22 2015-04-29 富泰华工业(深圳)有限公司 监控系统及方法
CN105005628A (zh) * 2015-08-07 2015-10-28 上海交通大学 基于集中式平台的最短路径关键节点查询方法
CN106503789A (zh) * 2016-11-08 2017-03-15 西安电子科技大学宁波信息技术研究院 基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605279A (zh) * 2009-07-10 2009-12-16 北京邮电大学 一种基于群计算单元的双层最短路径实现方法
CN102538806A (zh) * 2010-12-30 2012-07-04 上海博泰悦臻电子设备制造有限公司 一种路径规划方法以及相关设备
CN102506849A (zh) * 2011-09-28 2012-06-20 浙江大学 寻找带约束的最短路径的方法
CN102546440A (zh) * 2012-02-23 2012-07-04 中兴通讯股份有限公司 一种路由波长分配方法和系统
CN103970856A (zh) * 2014-05-07 2014-08-06 中国人民大学 一种有权有向动态网络上的最短路径估算方法
CN105808779A (zh) * 2016-03-30 2016-07-27 北京大学 基于剪枝的图漫游并行计算方法和应用

Also Published As

Publication number Publication date
CN111369052A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
Daoqing et al. Parallel discrete lion swarm optimization algorithm for solving traveling salesman problem
CN111309976B (zh) 一种面向收敛型图应用的GraphX数据缓存方法
CN105574541A (zh) 一种基于紧密度排序的网络社区发现方法
CN105205052A (zh) 一种数据挖掘方法及装置
CN112883241A (zh) 基于连通分量生成优化的超级计算机基准测试加速方法
CN112100450A (zh) 一种图计算数据分割方法、终端设备及存储介质
CN105550332A (zh) 一种基于双层索引结构的起源图查询方法
CN110750560B (zh) 一种优化网络多连接的系统和方法
CN111369052B (zh) 简化路网ksp优化算法
CN113992259A (zh) 一种时隙资源拓展图的构建方法
CN111623790B (zh) 一种面向动态城市交通路网的快速路径规划方法
CN106709000B (zh) 一种基于PageRank和起源图抽象的关键视图发现方法
CN112165401A (zh) 一种基于网络剪枝和局部社区扩展的边社区发现算法
CN108197186B (zh) 一种应用于社交网络中的动态图匹配查询方法
CN110569897A (zh) 一种基于生成模型的无标度属性网络中的社团检测方法
CN115001978A (zh) 一种基于强化学习模型的云租户虚拟网络智能映射方法
CN116016540A (zh) 一种基于物联网设备的区块链网络节点群可容错协助存储机制
CN112256705B (zh) 一种Gaia系统中的多表连接优化方法
CN108804582A (zh) 基于大数据间复杂关系的图数据库优化的方法
CN113392280A (zh) 一种面向跨区域的多主模型分布式图计算方法
Motschnig et al. On comparing and enhancing common approaches to network community detection
CN107248923A (zh) 一种基于局部拓扑信息和社团相关性的链路预测方法
CN113065073A (zh) 一种城市的有效路径集搜索方法
CN109711478A (zh) 一种基于时序密度聚类的大规模数据群组搜索方法
CN116777191B (zh) 一种基于因果推断的流程决策依赖构建方法及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant