一种基于改进遗传算法的旅行商问题求解方法技术

技术编号:23162306 阅读:35 留言:0更新日期:2020-01-21 22:05
本发明专利技术公开了一种基于改进遗传算法的旅行商问题求解方法。该方法为:对旅行商问题进行编码,用染色体表示问题的潜在解,并形成编码后的初始种群,设定交叉父本的相似度阈值和种群进化过程中收敛度系数;利用旅行商问题的最短路程的倒数作为种群个体的适应度;据此更新迄今为止最优个体,选择待交叉的父本;求出待交叉父本的相似度,对于高于相似度阈值的非优良父本,则先进行变异操作,再进行交叉操作;否则,直接对两父本进行交叉操作;在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过收敛度系数调整变异概率;循环至最大迭代次数结束算法。本发明专利技术提高了遗传算法的搜索效率、扩大了搜索范围,具有收敛性好、通用性较强的优点。

A solution method of traveling salesman problem based on Improved Genetic Algorithm

【技术实现步骤摘要】
一种基于改进遗传算法的旅行商问题求解方法
本专利技术涉及计算机
,特别是一种基于改进遗传算法的旅行商问题求解方法。
技术介绍
遗传算法是一种随机进行的迭代、进化的搜索方法,通过将生物界中的自然选择和种群遗传学原理引入到搜索过程中,自动获取搜索空间的知识,并积累搜索空间的有效知识,缩小搜索空间范围,有效降低问题的复杂度,从而得到原问题的最优解。遗传算法具有简单、通用、鲁棒性强以及适合处理并行运算的特点,但对于优化旅行商问题(TSP)来说,简单遗传算法在得到全局最优解之前,适应度高的个体有可能大量复制,降低种群的多样性,导致算法收敛到局部极小,从而无法寻找全局最优解,使算法出现早熟现象。目前对于遗传算法优化旅行商问题的研究,大多数考虑的是等位基因的差异性来调整交叉和变异概率,但是并没有考虑非等位基因的差异性,使得改进遗传算法的通用性不高。并且在实际的应用过程中,交叉和变异概率的变化,容易破坏种群进化过程中积累的优秀基因,导致优化的结果收敛性较差。
技术实现思路
本专利技术的目的在于提供一种搜索效率高、收敛性好、通用性较强的基于改进遗传算法的旅行商问题求解方法。实现本专利技术目的的技术解决方案为:一种基于改进遗传算法的旅行商问题求解方法,包括以下步骤:步骤1、对旅行商问题进行编码,用染色体来表示问题的潜在解,并形成编码后的初始种群,设定交叉父本的相似度阈值ST和种群进化过程中收敛度系数CC;步骤2、利用旅行商问题的最短路程的倒数作为种群个体的适应度;步骤3、根据种群进化过程中每个个体的适应度更新迄今为止最优个体,并选择待交叉的父本;步骤4、求出待交叉父本的相似度,并将该相似度与设定的相似度阈值ST进行比较,对于高于相似度阈值ST的非优良父本,则先进行变异操作,再进行交叉操作;否则,直接对两父本进行交叉操作;步骤5、在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率;步骤6、判断算法是否满足最大迭代次数,若满足最大迭代次数,则结束算法;否则转到步骤2。进一步地,步骤3中所述的根据种群进化过程中每个个体的适应度更新迄今为止最优个体,具体如下:步骤3.1、找出当前群体中适应度最高个体fi;步骤3.2、若当前群体中最佳个体的适应度fi高于总的迄今为止最好个体的适应度f0,则以当前群体中的最佳个体作为新的迄今为止的最好个体,并更新迄今为止最好个体的适应度f0;步骤3.3、用迄今为止的最好个体替代当前种群中的最差个体。进一步地,步骤4中所述的求出待交叉父本的相似度,计算公式为:式中,Sij表示待交叉父本的相似度,dik为个体i上的第k个基因;djk为个体j上的第k个基因;dj(τ-k)为个体j上的第τ-k个基因;dj(k-τ)为个体j上的第k-τ个基因;τ为基因位偏移量;n为种群规模;为异或运算。进一步地,步骤5中所述的在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率,具体如下:在种群进化过程中:当连续k代种群中的最优个体的适应度没有变化,即f0=fi=fi+1=fi+2=...=fi+k时,表明进化出现停滞,增加变异概率pm:pm=pm0+k/CC其中,f0为迄今为止最优个体的适应度,fi为第i代的最优个体的适应度,fi+1为第i+1代的最优个体的适应度,fi+2为第i+2代的最优个体的适应度,fi+k为第i+k代的最优个体的适应度,pm0为变异概率初值,CC为收敛度系数;否则,保持固定的变异概率。本专利技术与现有技术相比,其显著优点为:(1)在种群进化过程中加入了最优保护方法,避免了最优个体因变异而被破坏的问题,将适应度最好的个体尽可能保留到下一代群体中,保证了算法的收敛性;(2)采用相似度阈值控制父本的相似性,降低了父本的相似度,有利于新个体的产生和搜索新的解空间;(3)采用收敛度阈值调整变异概率,保证了种群的多样性,有利于突破局部极小和搜索新的解空间;(4)降低了计算量,提高了算法的搜索效率,保证了算法的收敛性以及通用性。附图说明图1为本专利技术改进遗传算法的旅行商问题(TSP)求解方法的流程示意图。图2为本专利技术实施例中不同条件下的仿真实验结果图。具体实施方式下面结合附图对本专利技术做进一步的详细说明。结合图1,本专利技术基于改进遗传算法的旅行商问题求解方法,包括以下步骤:步骤1、对旅行商问题进行编码,用染色体来表示问题的潜在解,并形成编码后的初始种群,设定交叉父本的相似度阈值ST和种群进化过程中收敛度系数CC;步骤2、利用旅行商问题的最短路程的倒数作为种群个体的适应度;步骤3、根据种群进化过程中每个个体的适应度更新迄今为止最优个体,并选择待交叉的父本;步骤4、求出待交叉父本的相似度,并将该相似度与设定的相似度阈值ST进行比较,对于高于相似度阈值ST的非优良父本,则先进行变异操作,再进行交叉操作;否则,直接对两父本进行交叉操作;步骤5、在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率;步骤6、判断算法是否满足最大迭代次数,若满足最大迭代次数,则结束算法;否则转到步骤2。作为一种具体示例,步骤3中所述的根据种群进化过程中每个个体的适应度更新迄今为止最优个体,具体如下:步骤3.1、找出当前群体中适应度最高个体fi;步骤3.2、若当前群体中最佳个体的适应度fi高于总的迄今为止最好个体的适应度f0,则以当前群体中的最佳个体作为新的迄今为止的最好个体,并更新迄今为止最好个体的适应度f0;步骤3.3、用迄今为止的最好个体替代当前种群中的最差个体。作为一种具体示例,步骤4中所述的求出待交叉父本的相似度,计算公式为:式中,Sij表示待交叉父本的相似度,dik为个体i上的第k个基因;djk为个体j上的第k个基因;dj(τ-k)为个体j上的第τ-k个基因;dj(k-τ)为个体j上的第k-τ个基因;τ为基因位偏移量;n为种群规模;为异或运算。作为一种具体示例,步骤5中所述的在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率,具体如下:在种群进化过程中:当连续k代种群中的最优个体的适应度没有变化,即f0=fi=fi+1=fi+2=...=fi+k时,表明进化出现停滞,增加变异概率pm:pm=pm0+k/CC其中,f0为迄今为止最优个体的适应度,fi为第i代的最优个体的适应度,fi+1为第i+1代的最优个体的适应度,fi+2为第i+2代的最优个体的适应度,fi+k为第i+k代的最优个体的适应度,pm0为变异概率初值,CC为收敛度系数;否则,保持固定的变异概率。实施例1本实施例对实验条件本文档来自技高网...

【技术保护点】
1.一种基于改进遗传算法的旅行商问题求解方法,其特征在于,包括以下步骤:/n步骤1、对旅行商问题进行编码,用染色体来表示问题的潜在解,并形成编码后的初始种群,设定交叉父本的相似度阈值ST和种群进化过程中收敛度系数CC;/n步骤2、利用旅行商问题的最短路程的倒数作为种群个体的适应度;/n步骤3、根据种群进化过程中每个个体的适应度更新迄今为止最优个体,并选择待交叉的父本;/n步骤4、求出待交叉父本的相似度,并将该相似度与设定的相似度阈值ST进行比较,对于高于相似度阈值ST的非优良父本,则先进行变异操作,再进行交叉操作;否则,直接对两父本进行交叉操作;/n步骤5、在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率;/n步骤6、判断算法是否满足最大迭代次数,若满足最大迭代次数,则结束算法;否则转到步骤2。/n

【技术特征摘要】
1.一种基于改进遗传算法的旅行商问题求解方法,其特征在于,包括以下步骤:
步骤1、对旅行商问题进行编码,用染色体来表示问题的潜在解,并形成编码后的初始种群,设定交叉父本的相似度阈值ST和种群进化过程中收敛度系数CC;
步骤2、利用旅行商问题的最短路程的倒数作为种群个体的适应度;
步骤3、根据种群进化过程中每个个体的适应度更新迄今为止最优个体,并选择待交叉的父本;
步骤4、求出待交叉父本的相似度,并将该相似度与设定的相似度阈值ST进行比较,对于高于相似度阈值ST的非优良父本,则先进行变异操作,再进行交叉操作;否则,直接对两父本进行交叉操作;
步骤5、在种群进化过程中,构造种群进化停滞的检测量,当进化停滞时,通过预先设定的收敛度系数CC调整变异概率;
步骤6、判断算法是否满足最大迭代次数,若满足最大迭代次数,则结束算法;否则转到步骤2。


2.根据权利要求1所述的基于改进遗传算法的旅行商问题求解方法,其特征在于,步骤3中所述的根据种群进化过程中每个个体的适应度更新迄今为止最优个体,具体如下:
步骤3.1、找出当前群体中适应度最高个体fi;
步骤3.2、若当前群体中最佳个体的适应度fi高于总的迄今为止最好个体的适应度f0,则以当前群体中的最佳个体作为新的迄今为止的最好个体,并更新迄今为止最好个体...

【专利技术属性】
技术研发人员:朱立华贺斌王宇吴志强
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

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

1