基于改进鲸鱼优化算法的旅行商问题求解方法及系统

文档序号:32050351发布日期:2022-11-03 08:46阅读:174来源:国知局
基于改进鲸鱼优化算法的旅行商问题求解方法及系统

1.本发明属于计算机人工智能技术领域,具体涉及一种基于改进鲸鱼优化算法的旅行商问题求解方法及系统。


背景技术:

2.随着科技的进步和行业的不断发展,复杂优化问题在各个领域吸引了越来越多的研究者。旅行商问题(tsp)作为一个经典的np难问题,要求在在已知每座城市的位置和城市之间的距离的前提下,给出从某一座城市出发访问每一座城市一次并回到起点的回路的路径的最短长度。由于该问题具备相当的复杂性和实际意义,它在运筹学和理论计算机科学中就有十分重要的地位。传统的方法在解决这一类问题时往往需要耗费大量的cpu执行时间,并且难以实现高精度的收敛。这在很大程度上促进了元启发式算法的发展。与传统方法不同,元启发式算法由于其不依赖于先验知识,较强的学科交叉特点以及对于复杂多变的环境的自适应能力而逐渐成为了解决tsp问题的一种有效技术手段。到目前为止,这种通过模拟自然行为进行求解的高效方法在短时间内已经在许多的经典tsp问题中得到了成功应用。然而,一些改进算法在解决tsp问题时依然存在探索能力不足,收敛精度不够高的问题。为此,众多的领域内学者一直在致力于推出不同的解决tsp问题的优化方法。
3.鲸鱼优化算法是近年来新提出的一种基于群的优化算法,它的灵感来源于座头鲸独特的气泡网捕食方法。由于结构简单易于实现,所需参数少,收敛能力强等特点,woa在众多的学科领域中得到了广泛的应用。同时,根据一些文献报道,它也被视为解决复杂优化问题的有效候选方案。然而,现有的一些woa的变体在解决tsp问题时,依然难以避免早熟收敛,收敛精度不足的问题,当问题类型较为复杂时,这些算法局部最优规避能力较弱以至于在大量的迭代过程中,算法几乎停滞。
4.解决上述技术问题的难度:现有的一些方法实现过程较为困难且运行时长较长,当解决的tsp问题较为复杂时,算法往往不具备有效的避开局部最优值的方法。
5.解决上述技术问题的意义:本发明能够精简算法的结构和复杂度,降低运行时间,同时,还能够显著增强算法的全局探索能力以及规避局部最优值的能力;优化后的算法能够更好地平衡探索和开发从而有效地tsp问题。


技术实现要素:

6.发明目的:针对现有技术中存在的问题,本发明提供了一种基于改进鲸鱼优化算法的旅行商问题求解方法。本发明全局探索能力强,收敛精度高,能够有效提升方法的鲁棒性和可靠性从而更好地解决旅行商问题。
7.技术方案:本发明提供了一种基于改进鲸鱼优化算法的旅行商问题求解方法,包括如下步骤:一种基于改进鲸鱼优化算法的旅行商问题求解方法,包括:建立城市之间的距离的数学模型并根据若干数学模型确定封闭的通行回路的总
的数学模型;利用建立的数学模型的实时城市数据,采用改进鲸鱼优化算法,初始化参数后依次进行算法迭代、判断、变异以及更新最佳个体的位置信息和适应度值过程,最后输出最优个体的位置向量作为最优路径。
8.在上述的方法,对旅行商问题中的城市坐标之间的距离进行数学建模,具体是在导入数据集中的数据之后,获取相应的城市集合,其中,表示第n个城市,它的位置坐标则记为,城市1与城市n之间的距离表示为:(1,1)利用式(1,1)遍历所有的城市之间的距离并作为储备值。
9.在上述的方法,根据距离公式遍历不同城市之间的距离以作为储备值,在此基础上确定封闭的通行回路的总的数学模型,具体是使搜索出的路线形成闭环,满足:(1.2)上式中,和都为整数且必须满足:;设定有m条不同的搜索路线,将第一条路线设定为,为该条路径中旅行商去的第n个城市的序号;路径长度的数学模型构建如下:(1.3)表示基于路线的路径总长度;如果有m条路径,最优解路径表示如下:(1.4)是基于m条路线形成的路线集合l的当前最短路径。
10.在上述的方法,算法自有参数和公共参数初始化,即,初始化算法的种群规模n,最大迭代次数,随机数l,以及定义位置更新方法中的对数螺线形状的常数b;随机生成的方式对鲸鱼种群进行初始化,随机初始化得到个体的位置向量;在初始化形成的种群中,第个个体,;此即为算法获得的第条路线;利用建立的总的数学模型计算得到每一个个体的位置向量所对应的路线的路径长度,路径长度即为对应的个体的适应度值,将个体的位置信息代入公式(1.3)中获得该个体的适应度值;并对适应度值进行排序以确定当前最佳个体对应的路径长度以及个体的位置向量,且每次计算个体的适应度值,最优个体的位置信息和适应度值都将保持不变或者
更新;进行迭代,将当前迭代次数t设定为1,以新的方法自适应更新收敛因子a的值,同时,更新随机数c和随机数l;进行算法迭代、判断、变异以及更新最佳个体的位置信息和适应度值过程,满足迭代条件后,输出最优个体的位置向量作为最优路径,同时,输出最优解对应的路径长度作为旅行商问题当次搜索的最优结果。
11.在上述的方法,判断过程时,随机生成均匀分布在中的随机数;以新的搜索结构进行搜索,并且,当随机数时,种群执行全局探索过程,并以位置更新方法一对每一个个体的当前位置进行更新;当随机数时,种群执行局部开发过程,此时以位置更新方法二对每一个个体的当前位置进行更新。
12.在上述的方法,变异过程时,利用变异策略对每一个个体的位置进行更新并计算适应度值;同时,根据贪婪策略的规则,如果更新后的个体的适应度值更好,则接受更新后的鲸鱼个体的位置向量作为该鲸鱼的当前的位置向量;更新最佳个体的位置信息和适应度值并记录,同时,判断当前迭代次数t是否满足,如果满足则迭代结束输出最优解,否则按照对t进行更新并继续执行参数初始化。
13.在上述的方法,收敛因子的新的更新方式的具体数学模型是:(1.5)式中,为常系数,取值为1/4,也就是说,新的将非线性变化以利于搜索阶段之间的平衡。
14.新的搜索结构是新的搜索阶段切换方法,具体的实现过程如下:(1.6)式中,的值将按照公式(1.5)给出的更新规则进行更新。
15.在上述的方法,当算法进入探索阶段时,所述的位置更新方法一具体的数学模型如下:(1.7)式中,是服从正态分布的随机数,是种群中的随机个体的在第j维上的值;通过这种方法,当前个体可以在保持随机性的情况下进一步扩大自己的搜索范围从而实现更为高效的探索过程;当算法进入开发阶段时,所述的位置更新方法二包括:
第一阶段:利用经典鲸鱼优化算法在螺旋更新位置阶段的位置更新方法获得当前个体的位置,具体过程如下:(1.8)式中,是当前最佳个体的位置,是当前个体的位置;是定义对数螺线形状的常量,取值为1;是分布区间为的随机数;第二阶段:当获得新个体的位置之后,进入第二阶段,利用新提出的位置更新方式对个体的位置进行进一步的更新,具体过程如下:(1.9)(1.10)其中,和分别为常系数且满足约束条件:;是种群通过经典的螺旋位置更新方法公式(1.8)获得的新个体的位置;是当前最佳个体的随机维度上的值;新的个体的位置由局部分量和全局分量共同形成。
16.在上述的方法,所述的变异阶段具体包括:从种群中随机挑选一个个体,并让这个个体进行小范围的随机运动以进一步探索它所在的局部搜索空间,并获得的新个体;将新个体与当前个体进行比较,适应度更好的个体会成为新的当前个体;具体数学模型如下:(1.12)(1.13) (1.14)其中,是符号函数,代表目标函数;是在0-1之间均匀分布的随机数,而是在0-0.5之间均匀分布的随机数;是当前种群中的随机个体,为遵从正态分布的向量,用以指代个体当前的运动方式。
17.一种基于新结构的改进鲸鱼优化算法的的旅行商问题求解系统,包括:第一模块:建立城市之间的距离的数学模型并根据若干数学模型确定封闭的通行回路的总的数学模型;第二模块:利用建立的数学模型的实时城市数据,采用改进鲸鱼优化算法,初始化
参数后依次进行算法迭代、判断、变异以及更新最佳个体的位置信息和适应度值过程,最后输出最优个体的位置向量作为最优路径。
18.有益效果:本发明通过新设计的收敛因子a来自适应控制阶段的转换,有利于更好地平衡探索和开发。同时,本发明还精简了woa的算法结构并设计了新的位置更新方法,这能有效提升算法的全局搜索能力和收敛精度。此外,还引入了新提出的基于布朗运动的贪婪策略以帮助算法进一步跳出局部最优。通过ieee可拓展函数测试集中的15个函数在500维和2000维的环境下对mnwoa进行了初步测试,同时,利用tsp问题中的两个经典数据集对mnwoa的实际性能进行了验证,实验结果表明,mnwoa算法运行速度快,收敛能力强,在大部分的函数中都能稳定收敛到全局最优值而不受到问题规模的影响,具有高度的延展性。并且,在tsp问题中,mnwoa总是能够给出好的结果,具有更好的全局搜索能力。
附图说明
19.图1是本发明实施例提供的一种基于改进鲸鱼优化算法的旅行商问题求解方法流程图。
20.图2是本发明实施例提供的ieee高维测试集中的多峰函数的简化二维示意图。
21.图3是本发明实施例提供的mnwoa与其他高性能改进算法在500维环境下的单峰函数f1中的仿真测试结果。
22.图4是本发明实施例提供的mnwoa与其他高性能改进算法在2000维环境下的单峰函数f1中的仿真测试结果。
23.图5是本发明实施例提供的mnwoa与其他高性能改进算法在500维环境下的单峰函数f14中的仿真测试结果。
24.图6是本发明实施例提供的mnwoa与其他高性能改进算法在2000维环境下的单峰函数f14中的仿真测试结果。
25.图7是本发明实施例提供的mnwoa在数据集为eil76的tsp问题中的仿真结果。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.旅行商问题对于运筹学和计算机科学领域具有重要的实际意义,现有的技术方法在解决旅行商问题时依然存在收敛速度慢,求解精度低的问题。针对这些问题,本发明公开了一种基于改进鲸鱼优化算法的旅行商问题求解方法,下面结合附图对本发明作进一步描述。
28.如图1所示,本发明实施例提供的基于改进鲸鱼优化算法的旅行商问题求解方法包括以下步骤:步骤一,对旅行商问题中的城市坐标之间的距离进行数学建模,然后,根据距离公式遍历不同城市之间的距离以作为储备值,最后,在此基础上确定封闭的通行回路的总的数学模型。这个过程的具体实现过程分为两步,具体包括:a1:建立城市之间的距离的数学模型。在导入数据集中的数据之后,可以获取相应
的城市集合,其中,表示第n个城市,它的位置坐标则记为,城市1与城市n之间的距离表示为:(3,1)算法会利用上述式子遍历所有的城市之间的距离并作为储备值。
29.a2:确定最终的数学模型。在a1的基础上,为了让算法搜索出的路线能够形成闭环,还必须满足:(3.2)上式中,和都为整数且必须满足:;设定有m条不同的搜索路线,将第一条路线设定为,为该条路径中旅行商去的第n个城市的序号;路径长度的数学模型构建如下:(3.3)上式中,表示基于路线的旅行商问题的路径总长度。如果有m条路径,那么旅行商问题的最优解路径可以表示如下:(3.4)上式中,是基于m条路线形成的路线集合l的当前最短路径。
30.步骤二,算法自有参数和公共参数初始化,即,初始化算法的种群规模n,最大迭代次数,随机数l,以及定义位置更新方法中的对数螺线形状的常数b;其中,种群规模和最大迭代次数这些公共参数可以由用户根据自身的需求来进行修改,随机数l是分布在之间的随机数,b为常量,固定取值为1。
31.步骤三,采用随机生成的方式对鲸鱼种群进行初始化,利用步骤一建立的数学模型计算得到每一个个体的位置向量所对应的路线的路径长度,此即为该个体的适应度值。对这些适应度值进行排序以确定当前最佳个体对应的路径长度以及个体的位置向量。这个步骤的具体过程包括:s1:随机初始化得到个体的位置向量。在初始化形成的种群中,第个个体,。此即为算法获得的第条路线。
32.s2:利用位置向量获得适应度值。步骤三中所述的路径长度即为对应的个体的适应度值,将s1中所述的个体的位置信息代入公式(3.3)中便能获得该个体的适应度值。每当算法执行步骤三,最优个体的位置信息和适应度值都将保持不变或者更新。
33.步骤四,算法开始迭代过程,将当前迭代次数t设定为1,以新的方法自适应更新收敛因子的值,具体的方法如下:
(3.5)式中,为常系数,取值为1/3,也就是说,新的将非线性变化以利于搜索阶段之间的平衡。同时,更新随机数c和随机数l;步骤五,算法进入判断阶段,随机生成均匀分布在中的随机数,此时,算法将以新的搜索结构进行搜索,即,当随机数时,种群执行全局探索过程,并以位置更新方法一对每一个个体的当前位置进行更新,具体的数学模型如下:(3.6)式中,是服从正态分布的随机数,是种群中的随机个体的在第j维上的值。通过这种方法,当前个体可以在保持随机性的情况下进一步扩大自己的搜索范围从而实现更为高效的探索过程。当随机数时,种群执行局部开发过程,并以位置更新方法二对每一个个体的当前位置进行更新,它的实现包含两个阶段,第一阶段,利用经典鲸鱼优化算法在螺旋更新位置阶段的位置更新方法获得当前个体的位置,具体过程如下:(3.7)式中,是当前最佳个体的位置,是当前个体的位置;是定义对数螺线形状的常量,取值为1;是分布区间为的随机数;当获得新个体的位置之后,开始进入第二阶段,即,我们利用新提出的位置更新方式对个体的位置进行进一步的更新,具体过程如下:(3.8)(3.9)式中,和分别为常系数且满足约束条件:。是种群通过经典的螺旋位置更新方法(公式(3.7))获得的新个体的位置;是当前最佳个体的随机维度上的值。在这一过程中,利用高维度复杂函数问题,获取最佳适应度值以及对应的位置信息;步骤六,算法进入变异阶段,利用变异策略对每一个个体的位置进行更新并计算适应度值。具体的变异过程以布朗运动作为基础,brownian运动是一种无规则运动,它的步长可以由满足高斯分布的概率函数获得。具体来说,布朗运动在点x处的控制概率密度函数如下:(3.10)在上式中,均值,方差。以上述的背景知识作为基础,先从种群中随
机挑选一个个体,并让这个个体进行小范围的随机运动以进一步探索它所在的局部搜索空间。随后,将刚刚这一步获得的新个体与当前个体进行比较,适应度更好的个体会成为新的当前个体。上述步骤的具体数学模型如(3.11)(3.12) (3.13)其中,是符号函数,代表目标函数;是在0-1之间均匀分布的随机数,而是在0-0.5之间均匀分布的随机数;是当前种群中的随机个体,为遵从正态分布的向量,用以指代个体当前的运动方式。如果更新后的个体的适应度值更好,则接受更新后的鲸鱼个体的位置作为该鲸鱼的当前位置;步骤七,更新最佳个体的位置信息和适应度值并记录,同时,判断当前迭代次数t是否满足,如果不满足则进入步骤八,如果满足则按照对t进行更新并继续执行步骤三。
34.步骤八,迭代过程结束,输出最优个体的位置向量作为最优路径,同时,输出最优解对应的路径长度作为旅行商问题当次搜索的最优结果。
35.下面结合与本技术相关的背景知识对本发明作进一步描述。
36.(1) 问题描述和模型的构建。
37.旅行商问题(tsp)指的是对于一个给点的包含多个城市的坐标的集合,要求设计出一条最短的路径以满足下列两个约束条件:1.旅行商必须经过每一个城市一次且只能经过一次(起始城市除外);2.最终的路径必须是一个严格的闭环,即,在途径每一个不同的城市的基础上,旅行商的终点必须是最初的起点。
38.以此作为基础,便可以构建旅行商问题的数学模型,具体的步骤包括:a1:建立城市之间的距离的数学模型。在导入数据集中的数据之后,可以获取相应的城市集合,其中,表示第n个城市,它的位置坐标则记为,城市1与城市n之间的距离表示为:(4,1)算法会利用上述式子遍历所有的城市之间的距离并作为储备值。
39.a2:确定最终的数学模型。在a1的基础上,为了让算法搜索出的路线能够形成闭环,还必须满足:
(4.2)上式中,和都为整数且必须满足:;设定有m条不同的搜索路线,将第一条路线设定为,为该条路径中旅行商去的第n个城市的序号。那么旅行商问题的路径长度的数学模型就可以构建如下:(4.3)上式中,表示基于路线的路径总长度;如果有m条路径,那么旅行商问题的最优解路径可以表示如下:(4.4)上式中,是基于m条路线形成的路线集合l的当前最短路径。
40.(2)基本鲸鱼优化算法。
41.鲸鱼优化算法是2016年由澳大利亚学者提出的一种基于群的元启发式算法。它的灵感来源于座头鲸的气泡网捕食方法。总的来说,该算法的搜索方式有三种,收缩包围,螺旋更新位置以及大范围搜索。
42.1.收缩包围阶段假设参与捕食的鲸鱼种群个数为n,维度为d维。当前最优位置的个体会被设定为领导者,其他的鲸鱼个体会以领导者所在的区域为目标更新自己的位置。这一阶段的数学公式为:(4.5)其中,t为当前迭代次数;a与c为系数,是领导者的位置向量,则是当前鲸鱼个体的位置向量。系数a与c可由下述公式得到:(4.6)(4.7)(4.8)其中,与是分布在(0,1)中的随机数,的值会随着迭代次数从2线性下降到0,t为当前迭代次数,为最大迭代次数。
43.2.螺旋更新位置阶段。
44.在这个阶段,鲸鱼群体已经确定了当前的目标。整个种群会螺旋更新自己的位置从而对猎物进行攻击,其数学表达式如下:(4.9)
在上述式子中,值得注意的是,b是用来定义对数螺线的形状的常数。l是(-1,1)中的随机数。它的数学模型如下:(4.10)在上式中,会从-1线性减小到-2,是分布在中的随机数。
45.在开发阶段,鲸鱼种群在收缩包围的同时也会螺旋更新自己的位置。对于这种同步行为模型,为了模拟真实的进攻过程,算法会假定鲸鱼选择螺旋更新位置的概率与选择收缩包围的概率相同,即两者发生的概率都是50%,则该阶段的数学公式可以表示为:(4.11)其中,是均匀分布在中的随机数。此外,在woa中,算法规定式(4.11)所示的包含了收缩包围和螺旋更新位置这两个过程的搜索阶段统称为开发阶段,在这一阶段,随着的变化,a满足,也就是说,a的取值可以是中的任意值,这有利于鲸鱼进行局部搜索。
46.3.大范围搜索阶段。
47.为了对搜索空间进行更为充分的搜索,当且时,算法会随机选择一个鲸鱼个体作为领导者来引导现有种群中的鲸鱼个体。这一做法能够让鲸鱼种群远离现有的位置进行搜索。这个阶段的数学模型与收缩包围阶段的数学模型十分相似,具体如下:(4.12)其中,是当前种群中的随机个体。值得一提的是,这个阶段也称为woa的探索阶段。
48.下面结合mnwoa的仿真测试问题对本发明作进一步描述。
49.在tsp问题中,当城市的数量增加时,问题的规模会逐步扩大。为了初步检验mnwoa解决不同规模优化问题的能力,采用了ieee高维度测试集中的15个函数对mnwoa以及一些现有技术进行了测试,前7个为复杂单峰函数,用以评价算法的局部搜索能力;后8个为复杂多峰函数,用以评估算法的全局探索能力和绕开局部最优的能力,如图2所示的函数f10,问题包含多个尖峰,这意味着这类问题拥有大量的局部极值,如果问题的规模扩大到500维以上,问题求解的难度也将指数性上涨。在本次实验中,最大迭代次数设定为1000次,种群规模设定为60。
50.下面结合mnwoa的仿真测试结果对本发明作进一步描述。从表3,表4,表5和表6呈现的结果来看,mnwoa的搜索能力很强,无论问题的类型是什么,mnwoa在大部分时候总是能获得所有算法中最好的结果,快速到达或者逼近理论最优值。此外,当问题的规模从500维扩大到2000维时,mnwoa算法也依然保持着自己的优越性,所有的结果都没有明显的变化,这说明mnwoa算法具有很强的延展性,能够很好地应对问题的求解环境的变化,具有解决城市数量较多的tsp问题的潜力。
51.图3,图4是mnwoa与标准鲸鱼优化算法woa,woa算法的改进版本ewoa,obcwoa,灰狼优化算法gwo的改进版本rsmgwo,gwo-wd,粒子群算法pso的改进版本psolf,正余弦优化算法sca的改进版本isca,饥饿游戏搜索算法hgs和平衡算法eo在单峰函数f1中的仿真实验结果。图5,图6则是mnwoa与这些现有技术在多峰函数f14中的仿真实验结果。仿真图的横轴代表迭代次数,纵轴表示适应度值。从图中呈现的结果来看,mnwoa不仅拥有最快的收敛速度还总是能够有效地跳出局部最优值。此外,当维度发生改变时,mnwoa依然能够稳定地保持优越的搜索性能,这充分证实了本发明在应对不同规模的优化问题时具有可靠的性能。
52.下面结合tsp问题的仿真结果对本发明作进一步描述。
53.表7给出了提出的mnwoa与一些现有技术:woa(基本鲸鱼优化算法),ewoa(增强型鲸鱼优化算法),iwoa(嵌入了惯性权重策略的鲸鱼优化算法)在经典的tsp问题数据集oliver30和eil76中获得的仿真结果对比,在具体的实验过程中,所有算法的最大迭代次数都是500,种群规模都是30。从对比数据来看,相比于其他的技术,本发明在tsp问题中能够有效地给出最短的路径长度,具有更为可靠的搜索能力。
54.下面结合实际对比表效果对本发明作进一步描述。
55.表1是ieee高维测试集中的15个函数的详细信息,其中f1-f7是单峰函数,f8-f15是复杂多峰函数。表3和表4是本发明与主流的现有技术在500维的条件下的测试结果对比表格。表5和表6是本发明与主流的现有技术在2000维的条件下的测试结果对比表格。
56.表1 七个单峰测试问题
表2 八个多峰测试问题
表3 mnwoa算法与高性能改进算法在500维环境下的对比结果
表4 mnwoa算法与高性能改进算法在500维环境下的对比结果
表5 mnwoa算法与高性能改进算法在2000维环境下的对比结果
表6 mnwoa算法与高性能改进算法在2000维环境下的对比结果
表7 mnwoa与现有的一些技术在tsp问题中的结果
本发明的基于改进鲸鱼优化算法的旅行商问题求解方法拥有运算速度快,搜索能力强,鲁棒性好的特点。在数学模型上,mnwoa相比于woa而言结构更为精简,计算复杂度更低,同时,mnwoa还包含了新的变异策略和位置更新方法,这能够帮助算法获得更强的问题求解能力和复杂环境下的局部极值规避能力。因此,mnwoa在求解旅行商问题方面具有很好的研究意义和价值。
57.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1