一种基于聚合物相互作用的路由规划算法的制作方法

文档序号:17003257发布日期:2019-03-02 01:54阅读:147来源:国知局
一种基于聚合物相互作用的路由规划算法的制作方法

本发明涉及路由算法领域,尤其涉及一种基于聚合物相互作用的路由规划算法。



背景技术:

信息时代的来临,除了引领了大数据潮流的来袭,也极大地影响着人们的生活。其中路径规划作为人们最频繁的日常活动之一,表明获取一个优秀的路由优化算法是极其重要的。

当下业界和学术界对互联网应用的路由算法产生了极大的兴趣,诸如即时通讯工具和个人对个人系统。但是却依然有许多其他重要的路由应用场景缺乏关注,包括水分配网络、传感器网络、军事护航行动以及旅行人员规划等。在这些应用中,由于日常的交通拥堵状况或者是不必要的冗余消耗累积导致巨大的开销,为了应对开销成本的计算,学术界提出了大量的路由算法。例如,基于dijkstra算法的改进算法;基于floyd算法的改进算法:多重最短路径改进算法、强化数据存储结构的加速算法等;基于a*算法的改进算法:beamsearch算法、迭代深化改进算法、动态衡量改进算法、带宽搜索改进算法、双向搜索改进算法以及基于统计学物理的路由规划算法。

但是在上述算法中,没有考虑到全局路径对局部规划的影响,导致在多条路径重叠以后,出现实际开销的急剧增加,或者,由于初始节点的随机选择和后续节点的随机导向,导致不能在限定执行时间内得到正确的、可用的输出结果,影响路由规划算法的计算速度。



技术实现要素:

本发明的主要目的在于提供一种基于聚合物相互作用的路由规划算法,旨在解决现有技术中没有考虑到全局路径对局部规划的影响,导致在多条路径重叠以后,出现实际开销的急剧增加,或者,由于初始节点的随机选择和后续节点的随机导向,影响路由规划算法的计算速度的技术问题。

为实现上述目的,本发明提供一种基于聚合物相互作用的路由规划算法,该算法包括:

读取网络数据,将网络数据中所有节点以及边链接进行初始化处理,以及,读取待计算的通信数据,统计网络信息,其中网络信息包括:节点度、节点邻接关系以及边邻关系;

将所述网络信息带入聚合物的相互作用中,以及,初始化消息传递对,消息传递对包括a与b,设置所述算法的最大迭代次数和最大执行时间,初始迭代次数为零,初始执行时间为零;

当所述算法执行过程中迭代次数小于所述最大迭代次数以及执行时间小于最大执行时间时,则根据所述消息传递对得到域更新值,以及,判断当前节点状态,分别得到当前节点为源节点、汇聚节点以及中继节点时所述消息传递对的数值;

当所述算法执行过程中迭代次数不小于所述最大迭代次数和/或执行时间不小于所述最大执行时间时,则计算节点流量和边流量,以及,确定交通流中节点是否被发现,将被发现的节点添加到路径结果中,并使路径结果长度加一;

根据所述边流量计算全局路径长度,以及,采用bpr链路开销函数计算全局开销,其中bpr链路开销函数具体为:

ta表示在链路上单位时间的自由流的通信时间,λi表示边流量,ca表示单位时间内链路的容量,sa(λi)表示单位时间内链路上单位人群的平均通信时间开销;

输出全局规划路径、全局路径长度以及全局开销。

本发明提供一种基于聚合物相互作用的路由规划算法,在读取网络数据,统计网络信息后,将网络信息带入聚合物的相互作用中,通过消息传递对得到域更新值,以及,判断当前节点状态,分别得到当前节点为源节点、汇聚节点以及中继节点时消息传递对的数值;计算节点流量和边流量,根据边流量计算全局路径长度,以及,采用bpr链路开销函数计算全局开销,输出全局规划路径、全局路径长度以及全局开销。由于采用基于聚合物相互作用的路由规划算法,在增加部分路径长度的情况下,可以降低全局开销,另一方面,基于聚合物相互作用的路由规划算法在充分考虑了基于统计学物理的路由规划算法计算时间开销过大的因素,可以提升算法的计算速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种基于聚合物相互作用的路由规划算法的流程示意图;

图2为本发明实施例中一种基于聚合物相互作用的路由规划算法的流程框图;

图3为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中小规模网络通信演示图;

图4为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中重标通信数量和重标路径长度的关系图;

图5为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中重标通信数量和重标开销差值的关系图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明实施例中一种基于聚合物相互作用的路由规划算法的流程示意图。

s101、读取网络数据,将网络数据中所有节点以及边链接进行初始化处理,以及,读取待计算的通信数据,统计网络信息,其中网络信息包括:节点度、节点邻接关系以及边邻关系。

其中,网络数据是指数据中的点与点之间形成关联并将这种关联扩展到整个数据中所有点的数据集合,同时在点与点之间的关联存在关联属性。通信数据是指特定的点为了到达另外一点形成的通信关系,其中通信只是表示存在通信关系,不代表具体的通信路径。网络数据是通信数据提出的基础,通信数据是在网络数据上进行表示的关系。

s102、将网络信息带入聚合物的相互作用中,以及,初始化消息传递对,消息传递对包括a与b,设置算法的最大迭代次数和最大执行时间,初始迭代次数为零,初始执行时间为零。

其中,最大迭代次数用maxiteration表示,最大执行时间用maxtime表示,迭代次数用k表示,执行时间用t表示。

s103、当算法执行过程中迭代次数小于最大迭代次数以及执行时间小于最大执行时间时,则根据消息传递对得到域更新值,以及,判断当前节点状态,分别得到当前节点为源节点、汇聚节点以及中继节点时消息传递对的数值。

s104、当算法执行过程中迭代次数不小于最大迭代次数和/或执行时间不小于最大执行时间时,则计算节点流量和边流量,以及,确定交通流中节点是否被发现,将被发现的节点添加到路径结果中,并使路径结果长度加一。

s105、根据边流量计算全局路径长度,以及,采用bpr链路开销函数计算全局开销,其中bpr链路开销函数具体为:

ta表示在链路上单位时间的自由流的通信时间,λi表示边流量,ca表示单位时间内链路的容量,sa(λi)表示单位时间内链路上单位人群的平均通信时间开销。

s106、输出全局规划路径、全局路径长度以及全局开销。

本发明实施例提供一种基于聚合物相互作用的路由规划算法,在读取网络数据,统计网络信息后,将网络信息带入聚合物的相互作用中,通过消息传递对得到域更新值,以及,判断当前节点状态,分别得到当前节点为源节点、汇聚节点以及中继节点时消息传递对的数值;计算节点流量和边流量,根据边流量计算全局路径长度,以及,采用bpr链路开销函数计算全局开销,输出全局规划路径、全局路径长度以及全局开销。由于采用基于聚合物相互作用的路由规划算法,在增加部分路径长度的情况下,可以降低全局开销,另一方面,基于聚合物相互作用的路由规划算法在充分考虑了基于统计学物理的路由规划算法计算时间开销过大的因素,可以提升算法的计算速度。

请参阅图2,图2为本发明实施例中一种基于聚合物相互作用的路由规划算法的流程框图。

由图2可知,读取待计算的通信数据,统计网络信息这一步骤具体包括:

读取待计算的通信数据,标记所有节点数目为n,每个节点为i,除了节点i以外,网络中的其他的每个节点表示为j,同时为每个节点i生成对应的邻居集合li,并得到链接矩阵a,其中如果节点i和j相连,则aij=aij=1,如果节点i和j不相连,则aij=aij=0。

进一步地,将所有待生成路径结果标记为聚合物ν,总数为m,当聚合物ν经过节点i时,定义变量来表示,当聚合物ν不经过节点i时,定义变量定义来表示经过节点i的聚合物数量,并且统计每个节点的度记为nodek。

进一步地,当算法执行过程中迭代次数小于最大迭代次数以及执行时间小于最大执行时间时,则根据消息传递对得到域更新值这一步骤具体包括:

当算法执行过程中迭代次数小于最大迭代次数以及执行时间小于最大执行时间时,随机选择一个节点i,并随机选择一个节点ai作为它的祖先节点。

进一步地,当节点j小于m时,将消息传递对a和b在i和ai之间的传递,得到消息传递对的临时后代和祖先,计算并存储其中最小a、最小b和最小a+b,并根据待计算的通信关系和祖先与对应最小值的关系得到数据sigma,并将节点j的数值加一。

其中,待计算的通信关系是s101中读取的通信数据,该数据是成对出现的。祖先是指节点ai的祖先,即通过当前循环中计算的通信关系,以及上次循环中计算的通信关系,迭代计算最小的a、b以及a+b。对应的最小值是指多次循环中最小的a、b以及a+b,其中循环的次数等于s101中读取的待计算的通信数据的个数。数据sigma是指根据当前计算的节点是否是s101中读取的待计算的通信数据中的源节点、终止节点还是其他节点,来判别该通信关系中的数据sigma是否为1。其具体的计算公式为:

进一步地,重复当节点j小于m时,将消息传递对a和b在i和ai之间的传递的步骤,直到j不小于m。

进一步地,当j不小于m后具体包括:

统计所有数据sigma,得到数据sigma总值,并计算数据sigma总值与每个数据sigma的差值,以及数据sigma总值与m的商值,得到用于边开销计算的数据eta。

进一步地,得到用于边开销计算的数据eta之后具体包括:

将数据eta带入到bpr链路开销函数的导数中,计算得到开销函数结果,并在开销函数结果上加上一个随机的极小值,得到域更新值fuvalue。

进一步地,分别得到当前节点为源节点、汇聚节点以及中继节点时消息传递对的数值这一步骤具体包括:

判断当前节点状态,若当前节点为源节点,则令消息传递对a等于域更新值fuvalue减去最小b,b等于一个极大值;

若当前节点为汇聚节点,则令消息传递对a等于一个极大值,b等于域更新值fuvalue;

若当前节点为中继节点,则判断最小a+b是否大于零,若最小a+b大于零,则令消息传递对a等于最小a加上域更新值fuvalue,b等于最小b加上域更新值fuvalue,若最小a+b不大于零,则令消息传递对a等于最小a加上域更新值fuvalue减去最小a+b,b等于最小b加上域更新值fuvalue减去最小a+b。

进一步地,当算法执行过程中迭代次数不小于最大迭代次数和/或执行时间不小于最大执行时间时,则计算节点流量和边流量这一步骤具体包括:

当算法执行过程中迭代次数不小于最大迭代次数和/或执行时间不小于最大执行时间时,则根据数据sigma、域更新值以及消息传递对的数值计算节点流量和边流量。

进一步地,确定交通流中节点是否被发现,将被发现的节点添加到路径结果中,并使路径结果长度加一具体包括:

当节点j小于m时,判断对应数据sigma是否为一,若对应数据sigma为1,则确定交通流中节点未被发现,若对应数据sigma不为一,则确定交通流中节点被发现;

将确定被发现的节点带入到待计算的路径中,将待计算路径长度加一,并将节点j的数值加一;

重复当节点j小于m时,判断对应数据sigma是否为一步骤,直到j不小于m。

本发明实施例提供一种基于聚合物相互作用的路由规划算法,在读取网络数据,统计网络信息后,将网络信息带入聚合物的相互作用中,通过消息传递对得到域更新值,以及,判断当前节点状态,分别得到当前节点为源节点、汇聚节点以及中继节点时消息传递对的数值;计算节点流量和边流量,根据边流量计算全局路径长度,以及,采用bpr链路开销函数计算全局开销,输出全局规划路径、全局路径长度以及全局开销。由于采用基于聚合物相互作用的路由规划算法,在增加部分路径长度的情况下,可以降低全局开销,另一方面,基于聚合物相互作用的路由规划算法在充分考虑了基于统计学物理的路由规划算法计算时间开销过大的因素,可以提升算法的计算速度。

请参阅图3,图3为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中小规模网络通信演示图。

在图3中,网络规模n等于4,通信数目m等于3。

其中,1、2、3、4为网络节点的标记,圆圈、椭圆圈以及方框分别表示三个通信需求(全部都是从节点1到节点4)初始化ta等于1,ca等于1。

则有,最短路径的结果为圆圈:1到4,椭圆圈:1到4,方框:1到4,全局总开销为

采用基于聚合物相互作用的路由规划算法的结果为圆圈:1到4,椭圆圈:1到2到4,方框:1到3到4,全局总开销为

综上,基于聚合物相互作用的路由规划算法可以获得比最短路径低的多的全局开销。

进一步地,请参阅图,4与图5,图4为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中重标通信数量和重标路径长度的关系图,图5为本发明实施例提供的一种基于聚合物相互作用的路由规划算法中重标通信数量和重标开销差值的关系图。

在图4与图5中,m/(n/logn)表示重标通信数量,polymer表示采用基于聚合物相互作用的路径规划算法的结果,shortest表示采用了最短路径算法的结果,l表示全局路径长度,e表示全局路径开销。

由图4中我们可以得到结果曲线在m/(n/logn)~0.35的时候趋于稳定。并且随着网络规模的增加,重标路径长度出现正相关的状况,也即网络规模越大,重标路径长度增长速度越快,峰值越大。

由图5中我们可以得到结果曲线呈现一个稳定的上升趋势。这说明采用基于聚合物相互作用的路径规划算法的结果与最短路径算法的结果在不同网络下始终处于一个稳定的差值趋势。

综上,第一点,基于聚合物相互作用的路由规划算法在增加部分路径长度的情况下,可以获得比最短路径算法低很多的全局开销。

第二点,基于聚合物相互作用的路由规划算法去除了自由参数的调整,可以直接获取最优的全局路径开销。

第三点,基于聚合物相互作用的路由规划算法在充分考虑了基于统计学物理的路由规划算法计算时间开销过大的原因,在降低一定的结果精度的情况下,可以极大的提升算法的计算速度。

在本申请所提供的几个实施例中,应该理解到,所揭露的算法,可以通过其它的方式实现。

需要说明的是,对于前述的各算法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种基于聚合物相互作用的路由规划算法的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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