CN111210065A - 一种基于重优化技术的物流网络高效k最短路径算法 - Google Patents

一种基于重优化技术的物流网络高效k最短路径算法 Download PDF

Info

Publication number
CN111210065A
CN111210065A CN202010003810.8A CN202010003810A CN111210065A CN 111210065 A CN111210065 A CN 111210065A CN 202010003810 A CN202010003810 A CN 202010003810A CN 111210065 A CN111210065 A CN 111210065A
Authority
CN
China
Prior art keywords
path
node
logistics
priority queue
nodes
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.)
Pending
Application number
CN202010003810.8A
Other languages
English (en)
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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202010003810.8A priority Critical patent/CN111210065A/zh
Publication of CN111210065A publication Critical patent/CN111210065A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Strategic Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于重优化技术的物流网络高效K最短路径算法,用于快速生成K条无环的最短路径,主要用于诸如交通网络、物流网络、社交网络等网络优化中高效地查找K条最短路径。本发明将偏离路径计算过程表达为在一个每次还原一个节点和一条边的动态网络中进行最短路径搜索。本发明采用Life Long A*重优化技术,通过重新利用上一次最短路径搜索生成的最短路径树,对最短路径树进行局部更新,本发明能够高效地计算偏离路径。本发明能够获得同其他偏离路径算法一致的结果,同时运算性能也优于现有其他偏离路径算法。

Description

一种基于重优化技术的物流网络高效K最短路径算法
技术领域
本发明涉及网络优化中的K最短路径计算技术领域,具体涉及一种基于重优化技术的物流网络高效K最短路径算法。
背景技术
K最短路径问题,即在起点和终点之间查找第一条最短路径、第二条最短路径,…,直到第K条最短路径,其在交通运输、通信网络、物流等领域都有着广泛的应用。作为最短路径问题的扩展,K最短路径问题一直是交通、物流、运筹学等领域的研究重点,文献中有大量的学者提出了解决算法,其中大部分算法是基于Yen(1971)提出的偏离路径概念。随着近年来交通、物流等网络规模逐步扩大,传统基于偏离路径概念的K最短路径算法计算效率变得越来越低下,已无法满足大规模网络实时计算的要求。
针对以上问题,国内外学者提出了大量的改进算法。Martins和Pascoal提出一种逆向计算偏离路径的高效算法,在他的算法中构建并更新一颗以目的地为根节点的最短路径树,以便能够利用先前的搜索结果。该算法性能优于原始的Yen’s算法,然而依然需要更新整个最短路径树,效率低下。Vanhove和Fack(2012)提出了一种准确算法,该算法通过后向一对多的Dijkstra算法预计算所有节点到目的地的最短路径,在计算偏离路径时,通过判断组合的偏离路径是否有环来决定是否利用预计算的结果,然而大部分情况下预计算的结果无法利用。这些改进的算法在计算效率上较原始Yen’s算法都所提升,然而,这些算法在计算偏离路径集严重依赖最短路径的计算效率,仍然存在较大的计算负担,尤其是当网络规模较大时,依然存在计算效率低的问题。
发明内容
本发明提出一种基于重优化技术的K最短路径算法,用于高效地在大规模网络中准确查找K条最短路径。本发明采用从终点到起点的逆向方式计算偏离路径,构建以终点为根的最短路径树。在每次计算偏移路径时,还原一个节点和一条边,利用Life Long A*重优化技术,通过重用上一步偏移路径搜索的最短路径树结果,高效地获得计算偏移路径。本发明能够获得与其他K最短路径算法一致的最优解,能够大大提升大规模网络中K条最短路径计算的效率。
本发明具体包括以下步骤:
一种基于重优化技术的物流网络高效K最短路径算法,包括以下步骤:
步骤1、输入物流网络数据以及当前物流参数,所述物流网络数据给定区域所有的路段,并将路段进行抽象化,具体是:采集给定区域内所有物流网络数据,并将该区域内物流网络数据中所有路段抽象成有向边a(nu,nv),每条边有两个端节点nu,nv,以及一个权重值t(nu,nv)(如:行程时间、距离、运输时间、中转次数、物流车辆数),每个节点nu包含若干列前继节点和后继节点,分别用PRED(nu)和SUCC(nu)表示,当前物流参数包括起点o、目的地d、路径数K;
步骤2、根据当前输入物流参数,调用物流网络数据,得到当前输入物流参数所在区域的物流路段数据,并针对物流路段数据执行如下步骤:
步骤2.1,初始化,包括以下子步骤,
S101,调用Dijkstra算法计算从起点o和目的地d的第一条最短路径标号p1
S102,判断标号p1是否为空,是则退出程序并返回空;否则设置候选优先队列C:={p1},已确定的路径集L:={},进入步骤2;
步骤2.2,路径选择,包括以下子步骤,
S201,判断路径集L的数量是否大于k,是则退出程序并返回路径集L;否则进入S202;
S202,判断候选优先队列C是否为空,是则退出程序并返回路径集L;否则进入S203;
S203,设置pj为优先队列C的顶端元素,将pj添加到L中,并从C中移除;
S204,进入步骤3,计算pj的偏离路径集Dj
S205,将偏离路径集Dj添加到候选优先队列C中;
步骤2.3,偏离路径集计算,包括以下子步骤,
S301,确定路径
Figure BDA0002354469380000021
的第一个偏离节点
Figure BDA0002354469380000022
以及相应的偏离边集
Figure BDA0002354469380000023
S302,从网络中删除路径pj上前l-1个节点
Figure BDA0002354469380000024
和边
Figure BDA0002354469380000025
S303,从网络中删除偏离边集
Figure BDA0002354469380000026
中所有的边,令i:=l-1;
S304,判断i是否大于等于m,是则进入S305,否则还原网络并返回偏离路径集Dj
S305,将节点
Figure BDA0002354469380000027
还原,并令发生变化的节点集合
Figure BDA0002354469380000028
S306,令从起点o到当前节点
Figure BDA0002354469380000029
的根路径
Figure BDA00023544693800000210
其是由一系列边连接而成;
S307,进入步骤4计算子路径
Figure BDA00023544693800000211
S308,联合根路径和子路径得到偏离路径
Figure BDA00023544693800000212
并将
Figure BDA00023544693800000213
添加到偏离路径集Dj中;
S309,还原边
Figure BDA00023544693800000214
并令发生变化的边集合
Figure BDA00023544693800000215
S310,令i:=i-1,并返回到步骤S304;
步骤2.4,子路径计算,包括以下子步骤,
S401,判断是否首次进入,是则将网络中每个节点nu都设置为g(nu):=∞,rhs(nu):=∞,并设置目标点g(d):=0,rhs(d):=0,将目标节点d添加优先队列SE中;否则对于
Figure BDA0002354469380000031
中的所有边a(nu,nv),进入步骤5更新节点nu,对于
Figure BDA0002354469380000032
中所有的节点nu,对其所有前继节点nv进入步骤2.更新;
S402,判断优先队列SE是否为空,是则退出步骤4并返回为空;否则进入S403;
S403,从优先队列SE中选取并移除关键值key(nu)最小的节点nu
S404,判断当前选取的关键值key(nu)是否大于节点
Figure BDA0002354469380000033
的关键值
Figure BDA0002354469380000034
Figure BDA0002354469380000035
是否等于
Figure BDA0002354469380000036
是则退出步骤4并返回节点
Figure BDA0002354469380000037
的路径;否则进入步骤S405;
S405,判断g(nu)是否大于rhs(nu),是则设置g(nu):=rhs(nu),并对节点nu所有的前继节点nv进入步骤2.5进行更新;否则返回步骤S402;
S406,返回步骤S402;
步骤2.5,节点更新计算,包括以下子步骤,
S501,判断节点nu是否是目标节点d,是则进入S502,否则令
Figure BDA0002354469380000038
然后进入S502;
S502,判断节点nu是否在优先队列SE中,是则将nu从优先队列SE,然后进入S503,否则直接进入S503;
S503,判断rhs(nu)是否等于g(nu),是则退出步骤5;否则将节点nu添加到优先队列SE中,SE:=SE∪{nu},然后退出步骤2.5;
步骤3、输出路段选择最终优化结果,即:输出K条最短路径结果,结果构成包括:第n条最短路径为:(M1,M2,M3…,Ml),需要花费H小时;其中,l表示该路径的节点数;M1表示第一个节点,M2表示第二个节点,M3表示第三个节点,Ml表示第l个节点。
因此,本案发明具有如下优点:1、局部更新最短路径树,能够减少大量的重复性计算;2、计算效率较经典的Yen算法有显著提升。
附图说明
图1为本发明实施例的流程图。
具体实施方式
本发明的技术方案为一种基于重优化技术的高效K最短路径计算方法,其原理在于,每次偏移路径计算时,网络中仅有一个节点和一条边开通,而绝大部分节点和边都保持不变。本方法采用从终点到起点的偏离路径计算过程,构建以终点为根节点的最短路径树。每次偏移路径计算时,终点保持不变,无需重构最短路径树。本发明采用Life Long A*重优化技术,仅更新由于网络改变而受到影响的少数最短路径,能够省去大量最短路径的重新计算,从而提升偏移路径计算的效率。相比利用Dijkstra算法每次都重新计算偏移路径的传统Yen算法,本方法具有明显的计算优势。参见图1,在物流网络中为快件规划备选路径(中转方案)时,实施过程包括以下步骤:
步骤1:初始化
实施例的具体初始化实现设计如下:
首先将整个物流网络的拓扑结构加载到计算机内存中,网络的每条边的权重为区间的运送时长,区间为从起始中转场到终点中转场,如以下表格中的输入形式:
Figure BDA0002354469380000041
给定这个快件的发件地和目的地(表示为一对OD),假设需要为该OD之间找到3(k=3)条运送时长最少的备选路径,
调用Dijkstra算法计算第一条最短路径标号p1,这条路径便是该OD之间运送最快的路径,
如果标号p1为空(即
Figure BDA0002354469380000042
该OD之间没有运送路线可达),则停止,否则继续
将p1添加进候选优先队列C:={p1},已确定的路径集L:={}
本文中根据习惯,用:=表示等于。
相应流程可设计如下:
S101,调用Dijkstra算法计算第一条最短路径标号p1
S102,判断标号p1是否为空,是则退出程序并返回空;否则设置候选优先队列C:={p1},已确定的路径集L:={},进入步骤2。
步骤2:路径选择
实施例的具体初始化实现设计如下:
如果已确定的路径集L的数量小于等于k,即还没有找到需求数量的备选路径,则继续
如果候选优先队列C为空(即
Figure BDA0002354469380000043
没有候选路由可选),则停止并返回路径集L,否则继续
从C中选取并移除运送时长最小的路径pj,作为第j条备选路径
将pj添加到已确定的路径集L中
调用步骤3,计算路径pj的偏离路径集Dj
遍历偏离路径集Dj中的每条路径pi
将pi添加到候选优先队列C中,即C:=C∪{p1}
结束遍历
结束如果
返回已确定的路径集L
相应流程可设计如下:
S201,判断路径集L的数量是否大于k,是则退出程序并返回路径集L;否则进入S202;
S202,判断候选优先队列C是否为空,是则退出程序并返回路径集L;否则进入S203;
S203,设置pj为优先队列C的顶端元素,将pj添加到L中,并从C中移除;
S204,进入步骤3,计算pj的偏离路径集Dj
S205,将偏离路径集Dj添加到候选优先队列C中。
步骤3:偏离路径集计算
实施例的具体初始化实现设计如下:
确定第j条备选路径
Figure BDA0002354469380000051
的第一个偏离节点
Figure BDA0002354469380000052
以及相应的偏离边集
Figure BDA0002354469380000053
遍历路径pj上从节点
Figure BDA0002354469380000054
到节点
Figure BDA0002354469380000055
间的每个节点
Figure BDA0002354469380000056
以及边
Figure BDA0002354469380000057
(
Figure BDA0002354469380000058
为节点
Figure BDA0002354469380000059
到节点
Figure BDA00023544693800000510
间的边)
将节点
Figure BDA00023544693800000511
和边
Figure BDA00023544693800000512
从网络中移除,即将第j条备选路径上的运送路线从网络中删除,保证计算得到的其他候选路由和之前计算的不同
结束遍历
将偏离边集
Figure BDA00023544693800000513
中的每条边a从该物流网络中删除
令发生变化的边集
Figure BDA00023544693800000514
并将首次进入子路径计算标记isFirstSearch:=True
遍历路径pj上从目的地
Figure BDA00023544693800000515
到第一个偏离的中转场节点
Figure BDA00023544693800000516
间的每个中转场节点
Figure BDA00023544693800000517
将中转场节点
Figure BDA00023544693800000518
还原到网络,并令发生变化的节点集合
Figure BDA00023544693800000519
令根路径
Figure BDA00023544693800000520
即从发件地
Figure BDA00023544693800000521
到当前中转场节点
Figure BDA00023544693800000522
的路径保持和地j条备选路径保持一致
调用步骤4计算子路径
Figure BDA00023544693800000523
即计算从当前中转场节点
Figure BDA00023544693800000524
出发到目的地的最优的路径
新建候选偏离路径
Figure BDA0002354469380000061
将根路径和子路径合成一条新的候选路径,令其运送时长为
Figure BDA0002354469380000062
将候选偏离路径
Figure BDA0002354469380000063
添加到偏离路径集Dj
还原运送区间边
Figure BDA0002354469380000064
并令
Figure BDA0002354469380000065
结束遍历
还原网络并返回偏离路径集Dj
相应流程可设计如下:
S301,确定路径
Figure BDA0002354469380000066
的第一个偏离节点
Figure BDA0002354469380000067
以及相应的偏离边集
Figure BDA0002354469380000068
S302,从网络中删除路径pj上前l-1个节点
Figure BDA0002354469380000069
和边
Figure BDA00023544693800000610
S303,从网络中删除偏离边集
Figure BDA00023544693800000611
中所有的边,令i:=l-1;
S304,判断i是否大于等于m,是则进入S305,否则还原网络并返回偏离路径集Dj
S305,将节点
Figure BDA00023544693800000612
还原,并令发生变化的节点集合
Figure BDA00023544693800000613
S306,令根路径
Figure BDA00023544693800000614
S307,进入步骤4计算子路径
Figure BDA00023544693800000615
S308,联合根路径和子路径得到偏离路径
Figure BDA00023544693800000616
并将
Figure BDA00023544693800000617
添加到偏离路径集Dj中;
S309,还原边
Figure BDA00023544693800000618
并令发生变化的边集合
Figure BDA00023544693800000619
S310,令i:=i-1,并返回到步骤S304。
步骤4:子路径计算
实施例的具体初始化实现设计如下:
如果首次进入标识isFirstSearch为真
令网络中的每个节点nu的标签g(nu):=∞,rhs(nu):=∞
令目标点g(d):=0,rhs(d):=0,并将目标点加入到优先队列SE,即SE:=SE∪{d}
令isFirstSearch为假
否则
调用步骤5,更新发生变化的边集合
Figure BDA00023544693800000620
每个区间的起始中转场到目的地的最短路径
调用步骤5,更新发生变化的中转场节点集合
Figure BDA00023544693800000621
中每个节点的前继中转场到目的地的最短路径
结束如果
遍历优先队列中的每个中转场
如果优先队列为空(即
Figure BDA0002354469380000071
),则退出步骤4,否则继续
从SE中选取并移除关键值key(nu)最小的中转场节点nu
如果
Figure BDA0002354469380000072
并且
Figure BDA0002354469380000073
则退出步骤4并返回中转场节点
Figure BDA0002354469380000074
的到目的地的子路径,令其运送时长为
Figure BDA0002354469380000075
否则继续
如果标签g(nu)≥rhs(nu),则
令g(nu):=rhs(nu)
调用步骤5,更新发生变化的中转场节点集合
Figure BDA0002354469380000076
中每个节点的前继中转场到目的地的最短路径结束如果
结束遍历
相应流程可设计如下:
S401,判断是否首次进入,是则将网络中每个节点nu都设置为g(nu):=∞,rhs(nu):=∞,并设置目标点g(d):=0,rhs(d):=0,将终点d添加优先队列SE中;否则对于
Figure BDA0002354469380000077
中的所有边a(nu,nv),进入步骤5更新节点nu,对于
Figure BDA0002354469380000078
中所有的节点nu,对其所有前继节点nv进入步骤5更新;
S402,判断优先队列SE是否为空,是则退出步骤4并返回为空;否则进入S403;
S403,从优先队列SE中选取并移除关键值key(nu)最小的节点nu
S404,判断当前选取的关键值key(nu)是否大于节点
Figure BDA0002354469380000079
的关键值
Figure BDA00023544693800000710
Figure BDA00023544693800000711
是否等于
Figure BDA00023544693800000712
是则退出步骤4并返回节点
Figure BDA00023544693800000713
的路径;否则进入步骤S405;
S405,判断g(nu)是否大于rhs(nu),是则设置g(nu):=rhs(nu),并对节点nu所有的前继节点nv进入步骤5进行更新;否则返回步骤S402;
S406,返回步骤S402。
步骤5:节点更新
实施例的具体初始化实现设计如下:
如果当前中转场节点不是目的地,则
如果当前中转场节点保存的标签rhs(nu)不是到目的地的最短路径,则更新标签rhs(nu):=g(nv)+t(nu,nv),nv为当前中转场nu的后继中转场
如果中转场节点nu∈SE,则将其移出优先队列SE,即SE:=SE-{nu}
如果当前中转场的标签rhs(nu)≠g(nu),则将nu加入优先队列SE,即SE:=SE∪{nu}
相应流程可设计如下:
S501,判断节点nu是否是终点d,是则进入S502,否则令
Figure BDA0002354469380000081
然后进入S502;
S502,判断节点nu是否在优先队列SE中,是则将nu从优先队列SE,然后进入S503,否则直接进入S503;
S503,判断rhs(nu)是否等于g(nu),是则退出步骤5;否则将节点nu添加到优先队列SE中,SE:=SE∪{nu},然后退出步骤5。
结果输出
起点o=1和目的地d=9,K设置为3,其输出结果如下:
第一条最短路径为:(1,2,3,4,9),需要花费0.9小时;
第二条最短路径为:(1,2,3,8,9),需要花费1.1小时;
第三条最短路径为:(1,7,2,6,8,9),需要花费1.6小时。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (1)

1.一种基于重优化技术的物流网络高效K最短路径算法,包括以下步骤:
步骤1、输入物流网络数据以及当前物流参数,所述物流网络数据给定区域所有的路段,并将路段进行抽象化,具体是:采集给定区域内所有物流网络数据,并将该区域内物流网络数据中所有路段抽象成有向边a(nu,nv),每条边有两个端节点nu,nv,以及一个权重值t(nu,nv)(如:行程时间、距离、运输时间、中转次数、物流车辆数),每个节点nu包含若干列前继节点和后继节点,分别用PRED(nu)和SUCC(nu)表示,当前物流参数包括起点o、目的地d、路径数K;
步骤2、根据当前输入物流参数,调用物流网络数据,得到当前输入物流参数所在区域的物流路段数据,并针对物流路段数据执行如下步骤:
步骤2.1,初始化,包括以下子步骤,
S101,调用Dijkstra算法计算从起点o和目的地d的第一条最短路径标号p1
S102,判断标号p1是否为空,是则退出程序并返回空;否则设置候选优先队列C:={p1},已确定的路径集L:={},进入步骤2;
步骤2.2,路径选择,包括以下子步骤,
S201,判断路径集L的数量是否大于k,是则退出程序并返回路径集L;否则进入S202;
S202,判断候选优先队列C是否为空,是则退出程序并返回路径集L;否则进入S203;
S203,设置pj为优先队列C的顶端元素,将pj添加到L中,并从C中移除;
S204,进入步骤3,计算pj的偏离路径集Dj
S205,将偏离路径集Dj添加到候选优先队列C中;
步骤2.3,偏离路径集计算,包括以下子步骤,
S301,确定路径
Figure FDA0002354469370000011
的第一个偏离节点
Figure FDA0002354469370000012
以及相应的偏离边集
Figure FDA0002354469370000013
S302,从网络中删除路径pj上前l-1个节点
Figure FDA0002354469370000014
和边
Figure FDA0002354469370000015
S303,从网络中删除偏离边集
Figure FDA0002354469370000016
中所有的边,令i:=l-1;
S304,判断i是否大于等于m,是则进入S305,否则还原网络并返回偏离路径集Dj
S305,将节点
Figure FDA0002354469370000017
还原,并令发生变化的节点集合
Figure FDA0002354469370000018
S306,令从起点o到当前节点
Figure FDA0002354469370000019
的根路径
Figure FDA00023544693700000110
其是由一系列边连接而成;
S307,进入步骤4计算子路径
Figure FDA00023544693700000111
S308,联合根路径和子路径得到偏离路径
Figure FDA00023544693700000112
并将
Figure FDA00023544693700000113
添加到偏离路径集Dj中;
S309,还原边
Figure FDA0002354469370000021
并令发生变化的边集合
Figure FDA0002354469370000022
S310,令i:=i-1,并返回到步骤S304;
步骤2.4,子路径计算,包括以下子步骤,
S401,判断是否首次进入,是则将网络中每个节点nu都设置为g(nu):=∞,rhs(nu):=∞,并设置目标点g(d):=0,rhs(d):=0,将目标节点d添加优先队列SE中;否则对于
Figure FDA0002354469370000023
中的所有边a(nu,nv),进入步骤5更新节点nu,对于
Figure FDA0002354469370000024
中所有的节点nu,对其所有前继节点nv进入步骤2.更新;
S402,判断优先队列SE是否为空,是则退出步骤4并返回为空;否则进入S403;
S403,从优先队列SE中选取并移除关键值key(nu)最小的节点nu
S404,判断当前选取的关键值key(nu)是否大于节点
Figure FDA0002354469370000025
的关键值
Figure FDA0002354469370000026
Figure FDA0002354469370000027
是否等于
Figure FDA0002354469370000028
是则退出步骤4并返回节点
Figure FDA0002354469370000029
的路径;否则进入步骤S405;
S405,判断g(nu)是否大于rhs(nu),是则设置g(nu):=rhs(nu),并对节点nu所有的前继节点nv进入步骤2.5进行更新;否则返回步骤S402;
S406,返回步骤S402;
步骤2.5,节点更新计算,包括以下子步骤,
S501,判断节点nu是否是目标节点d,是则进入S502,否则令
Figure FDA00023544693700000210
然后进入S502;
S502,判断节点nu是否在优先队列SE中,是则将nu从优先队列SE,然后进入S503,否则直接进入S503;
S503,判断rhs(nu)是否等于g(nu),是则退出步骤5;否则将节点nu添加到优先队列SE中,SE:=SE∪{nu},然后退出步骤2.5;
步骤3、输出路段选择最终优化结果,即:输出K条最短路径结果,结果构成包括:第n条最短路径为:(M1,M2,M3…,Ml),需要花费H小时;其中,l表示该路径的节点数;M1表示第一个节点,M2表示第二个节点,M3表示第三个节点,Ml表示第l个节点。
CN202010003810.8A 2020-01-03 2020-01-03 一种基于重优化技术的物流网络高效k最短路径算法 Pending CN111210065A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010003810.8A CN111210065A (zh) 2020-01-03 2020-01-03 一种基于重优化技术的物流网络高效k最短路径算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010003810.8A CN111210065A (zh) 2020-01-03 2020-01-03 一种基于重优化技术的物流网络高效k最短路径算法

Publications (1)

Publication Number Publication Date
CN111210065A true CN111210065A (zh) 2020-05-29

Family

ID=70787872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010003810.8A Pending CN111210065A (zh) 2020-01-03 2020-01-03 一种基于重优化技术的物流网络高效k最短路径算法

Country Status (1)

Country Link
CN (1) CN111210065A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112116136A (zh) * 2020-09-04 2020-12-22 上海汽车集团股份有限公司 一种最短路径的生成方法及相关装置
CN113347083A (zh) * 2021-05-31 2021-09-03 北京字跳网络技术有限公司 网络路径确定及切换方法、装置、设备、介质及程序产品
CN113741454A (zh) * 2021-08-31 2021-12-03 浙江大学 一种基于搜索的多智能体路径规划方法及系统
CN113794600A (zh) * 2021-09-30 2021-12-14 中通服创立信息科技有限责任公司 一种用于搜索传输电路路由的方法及装置
CN116069045A (zh) * 2023-04-06 2023-05-05 武汉大学 一种基于移动机器人的辐射环境探测方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120127875A1 (en) * 2009-08-06 2012-05-24 Zte Corporation Method and device for calculating k-shortest paths
CN102523155A (zh) * 2011-12-08 2012-06-27 中国电力科学研究院 一种基于Boost库的K则最短路径搜索方法和系统
CN106572019A (zh) * 2016-11-07 2017-04-19 电子科技大学 一种时延保障混合sdn网络节能流量调度方法
CN109765896A (zh) * 2019-01-29 2019-05-17 重庆大学 一种基于智能停车场多agv的动态路径规划方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120127875A1 (en) * 2009-08-06 2012-05-24 Zte Corporation Method and device for calculating k-shortest paths
CN102523155A (zh) * 2011-12-08 2012-06-27 中国电力科学研究院 一种基于Boost库的K则最短路径搜索方法和系统
CN106572019A (zh) * 2016-11-07 2017-04-19 电子科技大学 一种时延保障混合sdn网络节能流量调度方法
CN109765896A (zh) * 2019-01-29 2019-05-17 重庆大学 一种基于智能停车场多agv的动态路径规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BI YU CHEN等: "Efficient algorithm for finding k shortest paths based on reoptimization", 《TRANSPORTATION RESEARCH PART E 133》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112116136A (zh) * 2020-09-04 2020-12-22 上海汽车集团股份有限公司 一种最短路径的生成方法及相关装置
CN113347083A (zh) * 2021-05-31 2021-09-03 北京字跳网络技术有限公司 网络路径确定及切换方法、装置、设备、介质及程序产品
CN113347083B (zh) * 2021-05-31 2022-09-23 北京字跳网络技术有限公司 网络路径确定及切换方法、装置、设备、介质及程序产品
CN113741454A (zh) * 2021-08-31 2021-12-03 浙江大学 一种基于搜索的多智能体路径规划方法及系统
CN113794600A (zh) * 2021-09-30 2021-12-14 中通服创立信息科技有限责任公司 一种用于搜索传输电路路由的方法及装置
CN113794600B (zh) * 2021-09-30 2023-10-13 中通服创立信息科技有限责任公司 一种用于搜索传输电路路由的方法及装置
CN116069045A (zh) * 2023-04-06 2023-05-05 武汉大学 一种基于移动机器人的辐射环境探测方法和系统

Similar Documents

Publication Publication Date Title
CN111210065A (zh) 一种基于重优化技术的物流网络高效k最短路径算法
US8681635B2 (en) Computer-implemented systems and methods for planning a route
US20130060468A1 (en) Journey planning in public transportation networks
CN108827335B (zh) 一种基于单向搜索模型的最短路径规划方法
EP2489983A2 (en) Route search system
JP2012215571A (ja) ナビゲーション装置、方法及びシステム
CN108519737B (zh) 一种考虑能源补给的无人设备路径规划方法
KR100901013B1 (ko) 경로 탐색 시스템 및 그 방법
JP2007240281A (ja) エリア分割巡回経路探索システム、経路探索サーバ、エリア分割巡回経路探索方法
CN114440916A (zh) 一种导航方法、装置、设备及存储介质
US20100150019A1 (en) Routing Method in Asymmetric Networks
CN113295177B (zh) 基于实时路况信息的动态路径规划方法及系统
Nannicini et al. Fast paths in large-scale dynamic road networks
CN115547087B (zh) 基于两阶段法与方向诱导的城市路网最短路径获取方法及应用
Jia et al. An improved JPS algorithm in symmetric graph
Mainali et al. Optimal route of road networks by dynamic programming
CN115134288B (zh) 通信网络路由调度方法及系统
CN114383617A (zh) 基于地图神经网络导航算路方法、装置、设备及存储介质
Olczyk et al. Finding routes in a public transport network. A case study
Mainali et al. Hierarchical efficient route planning in road networks
CN113361788B (zh) 一种城市环境下面向多类型服务需求的路径规划方法
Dere et al. Usage of the a* algorithm to find the shortest path in transportation systems
Cheikh et al. Multi-criterion Tabu Search to solve the dynamic carpooling based on the choquet integral aggregation
US11768078B2 (en) Method for computing an itinerary from a departure location to an arrival location
KR20230094156A (ko) 클러스터 기반 검색을 이용하여 출발지에서 목적지까지의 여정들의 세트를 산출하는 방법

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200529

WD01 Invention patent application deemed withdrawn after publication