一种基于遗传算法的求指定点约束下的路由方法技术

技术编号:15691657 阅读:69 留言:0更新日期:2017-06-24 05:02
一种基于遗传算法的求指定点约束下的路由方法,用于解决通信中路由选择存在的搜索时间长、路径权重大的技术问题。其实现步骤是:1)读取原始的网络图信息,得到网络图的邻接矩阵和指定点集合;2)对网络图的预处进行预处理,求出起始点、终点以及指定点相互之间的最短路径;3)根据网络图的起始点和指定点信息进行编码,从而将该问题转化为类TSP问题;4)利用改进后的遗传算法求解类TSP问题,得到一条起点、终点和指定点组成的路径;5)判断路径的合法性,进行修正处理,最终得到一条完整的路由路径。本发明专利技术可以有效的降低路由路径搜索的解空间,在有限的时间和资源中,得到一条比较好的路由路径。

A routing method based on genetic algorithm for constraint of specified points

A routing method based on genetic algorithm (GA) under the constraint of specified points is used to solve the problem of long search time and great path weight in communication. The method comprises the following steps: 1) to read the information of the original network, set the network adjacency matrix graph and the specified point; 2) on pre network graph preprocessing, find the starting point and end point, specify the shortest path between them; 3) encoding the starting point and based on the network diagram the specified point information, thus the problem is transformed into a TSP problem; 4) using genetic algorithm to solve the TSP problem of the improved path to be a starting point and end point and the specified point composition; 5) to determine the legality of the path are modified, finally get a complete routing path. The invention can effectively reduce the solution space of routing path search, and obtain a better routing path in limited time and resources.

【技术实现步骤摘要】
一种基于遗传算法的求指定点约束下的路由方法
本专利技术属于网络图路径搜索
,具体涉及一种指定点约束条件下利用改进的遗传算法搜索到最优路径的方法。
技术介绍
路径规划问题是传统的组合优化问题,有着较为广泛的实际应用。比较经典的路径规划问题是求解网络图各个点之间的的最多路径,不过,随着网络图规模的增大和对高效率的需求,在某些特定应用场景中,我们需要求解网络图中在指定点约束下的最短路径。目前,关于网络图中指定点约束下的最短路径的方法主要有:穷尽搜索算法和启发式搜索法和智能搜索算法。穷举搜索算法,该算法又细分为深度度优先搜索和广度优先搜索;深度优先搜索是指从起点选择某一扩展节点,之后接着再扩展节点上继续搜索,直到搜索到终点,或者当没有搜索到合理的路径时进行回溯。宽度优先搜索是指从起点寻找终点的过程中,根据节点的出度情况依次扩展,每一条搜索分支都保持同样的深度;以上两种思想都是穷举网络图的整个解空间,当网络图规模比较大时,很难在规定的时间内找到合适的解,实时性比较差。启发式搜索法,该方法是对穷极搜索算法的一种改进,穷极搜索是一种盲目搜索,没有充分利用到现有路径的信息,没有对扩展路径进行预判,启发式搜索维持一个优先队列,拟合一个权重函数,按照当前路径值和扩展后的路径权重以及包含必经点的数量,有选择的进行搜索。该方法虽然没有穷举解空间,但是由于需要维护一个优先队列,当网络图规模比较大时,优先队列的排序选择会消耗大量时间,精确度和实时性没有得到根本改善。智能搜索算法,以遗传算法为代表的智能搜索算法从全局的角度进行解空间的搜索,可以大大提高搜索的效率。不过,目前利用遗传算法求解该问题时,将所有的点都进行编码,导致编码复杂,染色体参差不齐,对后续的交叉、变异等算子都带来很多不便,最终导致传统的遗传算法求解该问题也相对比较复杂。
技术实现思路
为了克服上述现有技术的不足,本专利技术的目的是提供一种基于遗传算法的求指定点约束下的路由方法,可以将问题转化,进一步降低问题的解空间的复杂度,从而解决现有搜索方法中搜索时间长和精度低的技术问题。为了实现上述目的,本专利技术采取的技术方案为:1、一种基于遗传算法的求指定点约束下的路由方法,包括以下步骤:1)读取网络图信息,用邻接矩阵A方式存储信息,并将指起始点和指定点信息放入集合S中;2)对网络图进行预处理,结合矩阵A和集合S的数据,求出起始点及指定点相互之间的最短路径,并将其存储在一个二维矩阵D中;3)以起始点和指点的信息及集合S为基础进行编码,构建染色体C,从而将问题转化成一个类TSP问题;4)利用改进后的遗传算法求解具有以下步骤:a、固定起点和终点,随机产生若干个有指定点组成的随机序列,插入在起点和终点之间形成初始化种群;b、以一定概率的方式从种群中挑选若干对染色体进行交叉运算;c、以一定概率的方式从种群中挑选若干个染色体进行变异运算;d、根据适应度评价函数,对种群中的个体进行排序,结合若干个历史最优解就行选择,优胜劣汰,得到下一代种群;e、未达到预设的迭代次数则跳转到步骤4)的步骤a),否则结束本步骤;5)根据矩阵D中的信息,检查路径P’的合法性,如果路径存在环,可利用路径修复函数R进行处理,最终将D中信息带入到P’中得到一个完整的路径。进一步,所述的步骤2)中求出起始点和指定点相互之间路径,通过如下方法确定:求取起始点到终点和指定点的最短路径,求取每一个指定点到其他指定点及终点的最短路径;求取方法可采用Dijkstra算法和堆结构相结合的方法,减少计算复杂度,如果相互之间不存在满足条件的路径则记为无穷大。进一步,所述的步骤3)中构建染色体C,并且初始化一定数量的种群P,通过如下步骤确定:a、构建一个一维向量,固定好起点和终点的位置,然后将其他指定点随机的插入起点和终点之间就可以得到染色体C;b、重复步骤3)的步骤a)的操作,即可得到相应数量的种群P。进一步,所述的步骤4)中的交叉算子,通过如下方法确定:从种群中选取一对染色体Ca和Cb,在除起点和终点外,随机的选择两个位置pos1和pos2,则可以将两个染色体各分为三段Ca1、Ca2、Ca3和Cb1、Cb2、Cb3;保持起点和终点的位置不变交换Ca1和Cb3,然后依次将剩下的指定点依次插入到染色体中,得到两个新的染色体Ca’和Cb’。进一步,所述的步骤4)中的变异算子,通过如下方法确定:从种群中选取一个染色体,首先随机在除起点和终点外,随机的选择两个位置pos1和pos2,将区间[pos1,pos2]之间的指定点提取出来,然后在染色体剩下的点中随机选取一个位置pos3,接着将[pos1,pos2]之间的指定点插入到pos3处。进一步,所述的步骤4)中的选择算子,通过如下方法确定:在种群进化的过程中,需要不断的进行优胜劣汰,选择更好的候选解最为下一代的种群。根据适应度函数为种群中每一个染色体计算出一个评价值,根据评价值进行排序,将评价值比较低的个体淘汰,同时保留若干个历史最优解,将历史最优解和剩下的未被淘汰的个体组成新的种群,完成个体的选择和种群的进化。进一步,所述的步骤(4)中的适应度函数,通过如下公式确定:式中,代表染色体某一段基因,代表染色体中相邻两点之间的权重,Dups代表经过重复点的个数,Pu是对重复点进行惩罚的系数,所述的该公式反应了一个染色体的权重越小,重复点的个数越少,适应度评价值越好,解也就越优秀。进一步,所述的步骤5)中可利用路径修复函数R进行处理,其中修复函数是指当我们根据权利要求5中所述的方法得到一个完成的路径P时,如果存在重复点,通过如下步骤确定:a、将路径P中和重复点相邻的指定点a和b之间的路径断开。b、将路径上现有的点进行标记放在一个集合set中,防止再次经过。c、利用Dijkstra算法结合集合set信息,得到一条不经过集合set中点的路径片段P1。d、将P1添加到原路径P中,还原修复原路径。e、继续检测是否有重复点,如果有跳转到步骤(1),否则结束修复。本专利技术的有益效果是:本专利技术由于先将问题转化为类TSP问题,只对起始点、终点和指定点进行编码,大大降低了问题的解空间,同时优化交叉算子、变异算子和选择算子,能够在比较短的时间内在解空间中找到一个比较优秀的路径,从而提高路径搜索的实时性和精确性。附图说明图1是本专利技术方法的主流程;图2是本专利技术算法的程序流程图;图3是本专利技术某一网络图用例的示意图和最终路径示意图;图4是本专利技术中遗传算法编码的示意图;图5是本专利技术中遗传算法交叉算子操作的示意图;图6是本专利技术中遗传算法变异算子操作的示意图。具体实施方式以下结合附图对本专利技术进一步叙述。如图1所示,本专利技术的具体实施过程包括以下步骤:步骤1.读取网络图信息,网络图是一个带权重的有向图G=(V,E),V为顶点集,E为有向边集,每一条有向边均有一个权重。如图3所示是网络图的拓扑结构示意图。网络图以两个文件的形式提供带求问题的信息,一个为图的数据(G),一个为需要计算的路径信息,网络图的数据中,每一行包含如下的信息:LinkID,SouID,DestID,Cost;其中,LinkID为该有向边的索引,SouID为该有向边的起始顶点的索引,DestID为该有向边的终止顶点的索引,Cost为该有向边的权重。路径信息中,只本文档来自技高网
...
一种基于遗传算法的求指定点约束下的路由方法

【技术保护点】
一种基于遗传算法的求指定点约束下的路由方法,其特征在于,包括以下步骤:1)读取网络图信息,用邻接矩阵A方式存储信息,并将指起始点和指定点信息放入集合S中;2)对网络图进行预处理,结合矩阵A和集合S的数据,求出起始点及指定点相互之间的最短路径,并将其存储在一个二维矩阵D中;3)以起始点和指点的信息及集合S为基础进行编码,构建染色体C,从而将问题转化成一个类TSP问题;4)利用改进后的遗传算法求解具有以下步骤:a、固定起点和终点,随机产生若干个有指定点组成的随机序列,插入在起点和终点之间形成初始化种群;b、以一定概率的方式从种群中挑选若干对染色体进行交叉运算;c、以一定概率的方式从种群中挑选若干个染色体进行变异运算;d、根据适应度评价函数,对种群中的个体进行排序,结合若干个历史最优解就行选择,优胜劣汰,得到下一代种群;e、未达到预设的迭代次数则跳转到步骤4)的步骤a),否则结束本步骤;5)根据矩阵D中的信息,检查路径P’的合法性,如果路径存在环,可利用路径修复函数R进行处理,最终将D中信息带入到P’中得到一个完整的路径。

【技术特征摘要】
1.一种基于遗传算法的求指定点约束下的路由方法,其特征在于,包括以下步骤:1)读取网络图信息,用邻接矩阵A方式存储信息,并将指起始点和指定点信息放入集合S中;2)对网络图进行预处理,结合矩阵A和集合S的数据,求出起始点及指定点相互之间的最短路径,并将其存储在一个二维矩阵D中;3)以起始点和指点的信息及集合S为基础进行编码,构建染色体C,从而将问题转化成一个类TSP问题;4)利用改进后的遗传算法求解具有以下步骤:a、固定起点和终点,随机产生若干个有指定点组成的随机序列,插入在起点和终点之间形成初始化种群;b、以一定概率的方式从种群中挑选若干对染色体进行交叉运算;c、以一定概率的方式从种群中挑选若干个染色体进行变异运算;d、根据适应度评价函数,对种群中的个体进行排序,结合若干个历史最优解就行选择,优胜劣汰,得到下一代种群;e、未达到预设的迭代次数则跳转到步骤4)的步骤a),否则结束本步骤;5)根据矩阵D中的信息,检查路径P’的合法性,如果路径存在环,可利用路径修复函数R进行处理,最终将D中信息带入到P’中得到一个完整的路径。2.根据权利要求1所述的一种基于遗传算法的求指定点约束下的路由方法,其特征在于,所述的步骤2)中求出起始点和指定点相互之间路径,通过如下方法确定:求取起始点到终点和指定点的最短路径,求取每一个指定点到其他指定点及终点的最短路径;求取方法可采用Dijkstra算法和堆结构相结合的方法,减少计算复杂度,如果相互之间不存在满足条件的路径则记为无穷大。3.根据权利要求1所述的一种基于遗传算法的求指定点约束下的路由方法,其特征在于,所述的步骤3)中构建染色体C,并且初始化一定数量的种群P,通过如下步骤确定:a、构建一个一维向量,固定好起点和终点的位置,然后将其他指定点随机的插入起点和终点之间就可以得到染色体C;b、重复步骤3)的步骤a)的操作,即可得到相应数量的种群P。4.根据权利要求1所述的一种基于遗传算法的求指定点约束下的路由方法,其特征在于,所述的步骤4)中的交叉算子,通过如下方法确定:从种群中选取一对染色体Ca和Cb,在除起点和终点外,随机的选择两个位置pos1和pos2,则可以将两个染色体各分...

【专利技术属性】
技术研发人员:杨刚姚洪涛姜福义
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1