本发明涉及赛车
技术领域:
,具体涉及基于改进麻雀搜索算法的优化方法。
背景技术:
:1975年holland根据生物优胜劣汰的进化规律提出遗传算法,smetsp于1991年根据蚁群觅食行为提出蚁群算法和kennedy于1995年根据鸟类觅食行为提出粒子群算法,此后越来越多的学者根据生物特性提出了多种群智能优化算法和改进算法,如灰狼优化算法、蝗虫算法等。虽然群智能优化算法相比传统优化算法具有稳健性强、应用范围广的特点,但存在易陷入局部最优解,导致算法早熟的问题。麻雀搜索算法(ssa)由薛建凯等于2020年提出,对比传统优化算法和传统群智能优化算法具有收敛速度快、求解精度高、稳健性强的优点,广泛应用领域广,但依然无法克服群智能优化算法在收敛后期易陷入局部最优解导致算法早熟,进而导致稳健性较差的缺点。技术实现要素:本发明的目的在于,提供一种基于改进麻雀搜索算法的优化方法。本发明的寻优精度更高、稳健性更强,可以大幅提升全局寻优能力。为解决上述技术问题,本发明提供的技术方案如下:一种基于改进麻雀搜索算法的优化方法,按以下步骤进行:s1:依据适应度升序将麻雀搜索算法中的麻雀分为发现者、抢夺发现者食物的追随者、因饥肠辘辘需要广泛搜索的追随者;s2:将卡方变异引入发现者更新公式对发现者进行更新,并根据发现者更新结果再更新追随者,然后随机挑选意识到危险的麻雀并更新;s3:计算所有麻雀的适应度平均值,若个体适应度值小于所有麻雀的适应度平均值,对该个体进行卡方变异,否则不对其进行操作。s4:若迭代次数小于最大迭代次数,返回步骤s2,否则输出最优值麻雀位置及适应度值。上述的基于改进麻雀搜索算法的优化方法,所述的卡方变异的公式如下:式中:t表示当前迭代次数;表示第t次迭代时第i个麻雀个体的位置;chisquare(ν)为服从自由度为v的卡方分布的数,λ被随机赋值为正负1。前述的基于改进麻雀搜索算法的优化方法,所述步骤s2的具体过程如下:1)根据公式更新发现者;式中:t表示当前迭代次数,表示第t次迭代时第i个麻雀个体的位置;chisquare(ν)为服从自由度为v的卡方分布的数,λ被随机赋值为正负1;q为服从正态分布的随机数,l为1×d的全一矩阵;当r2<st时,觅食环境安全,发现者广泛搜索食物,当r2>st时,出现捕食者,发现者迅速转移到其它安全的地方进行觅食;2)根据公式更新跟随者;式中:xbest表示当前最优位置,xworst表示当前最差位置,a+=at(aat)-1,a表示个各元素为1或-1的1×d的矩阵,at为a的转置矩阵;3)根据公式更新意识到危险的麻雀;式中:β为均值为0,方差为1的正态分布随机数,k∈[-1,1]为一随机数,fi为当前个体适应度值,fbest和fworst分别为当前最优和最差适应度值,ε为一极小常数,避免分母为零。与现有技术相比,本发明通过引入卡方变异和牺牲部分求解时长,保留了高斯变异一定的局部搜索能力,又提高了全局搜索能力,可改善ssa后期易陷入局部最优解的问题,提高ssa的寻优能力和稳健性,本发明的寻优精度更高、稳健性更强,可以大幅提升全局寻优能力。本发明将卡方变异引入麻雀搜索算法中,由于卡方分布一定会发生变异,不仅部分保留了局部变异能力,同时增强了全局变异概率,故将卡方变异引入ssa,可充分保留ssa的局部搜索能力,同时增强ssa的全局搜索能力,有效避免ssa迭代后期陷入局部最优解,导致ssa“早熟”,提高ssa稳健性;同时由于发现者在执行广泛搜索策略时,搜索范围会随着迭代次数的增加逐渐减小,导致ssa在迭代后期全局搜索能力变差,易陷入局部最优解;本发明使用高斯随机分布改进发现者更新公式,虽然高斯随机分布搜索范围遍历整个搜索空间,但高斯随机分布有一定概率使发现者进行局部搜索或位置不变,会减少发现者广泛搜索的概率,进一步地可以避免陷入最优解。附图说明图1是本发明改进的麻雀搜索算法的流程示意图;图2是各算法收敛特性曲线示意图。具体实施方式下面结合实施例和附图对本发明作进一步的说明,但并不作为对本发明限制的依据。实施例:基于改进麻雀搜索算法的优化方法,麻雀搜索算法通过模仿麻雀觅食搜索最优解,是发现者-跟随者模型的一种,并在发现者-跟随者模型基础上增加了预警侦查机制。麻雀搜索算法依据适应度升序将麻雀分为发现者、抢夺发现者食物的追随者、因饥肠辘辘需要广泛搜索的追随者,依次更新发现者和追随者后,从种群中随机挑选意识到危险的麻雀并更新。本实施例对麻雀搜索算法进行改进,如图1所示,按以下步骤进行:1)初始化种群;2)根据公式更新发现者;式中:t表示当前迭代次数,表示第t次迭代时第i个麻雀个体的位置;chisquare(ν)为服从自由度为v的卡方分布的数,v越大,算法全局搜索能力越强,局部搜索能力越弱,反之亦然,λ被随机赋值为正负1;q为服从正态分布的随机数,l为1×d的全一矩阵;当r2<st时,觅食环境安全,发现者广泛搜索食物,当r2>st时,出现捕食者,发现者迅速转移到其它安全的地方进行觅食;本发明的公式是对原先的发现者更新公式作了改进,由于发现者在执行广泛搜索策略时,搜索范围会随着迭代次数的增加逐渐减小,导致ssa在迭代后期全局搜索能力变差,易陷入局部最优解。因此本发明使用高斯随机分布改进发现者更新公式,虽然高斯随机分布搜索范围遍历整个搜索空间,但高斯随机分布有一定概率使发现者进行局部搜索或位置不变,会减少发现者广泛搜索的概率。3)除发现者之外的麻雀为跟随者,即适应度升序中后90%-80%的个体,根据公式更新跟随者;式中:xbest表示当前最优位置,xworst表示当前最差位置,a+=at(aat)-1,a表示个各元素为1或-1的1×d的矩阵,at为a的转置矩阵;位于适应度升序前10%或20%到50%的麻雀争夺发现者实物,位于适应度升序后50%的麻雀执行广泛搜索策略。4)侦察预警机制随机挑选10%到20%的个体,根据公式更新意识到危险的麻雀;式中:β为均值为0,方差为1的正态分布随机数,k∈[-1,1]为一随机数,fi为当前个体适应度值,fbest和fworst分别为当前最优和最差适应度值,ε为一极小常数,避免分母为零;5)计算所有麻雀的适应度平均值favg,若当前个体适应度值fi<favg,则根据公式进行卡方变异,否则不对其进行操作;6)若达到最大迭代次数,输出最优值麻雀位置及适应度值,否则返回步骤2),重复迭代。为验证本发明的优越性,在intel(r)core(tm)i5-8250u@1.6ghz1.8ghz,内存8g,windows10系统和matlabr2020a下对gwo、ba、cso、ssa、gssa和本发明的方法独立对比试验100次,种群数量为40,最大迭代次数60,各算法参数设置如下:表2其中,a为最优解,a、c为系数向量,q为频率,a为响度,r为脉冲率,g为鸡群组数,rper为公鸡比例,hper为母鸡比例,mper为孵小鸡的母鸡比例,f为随机参数,pd为发现者比例,sd为意识到危险的麻雀比例。μ为高斯变异均值,θ为高斯变异均值。选取各算法100次计算结果中适应度值与均值最接近的结果代表该算法求解结果,结果均取三位小数,并四舍五入,如表3所示,且各算法收敛特性曲线如图2所示。算法均值标准差/10-3平均耗时/sgwo0.273047.3521.93ba0.369198.2822.70cso0.255526.6222.80ssa0.246437.5826.26gssa0.243646.9950.18本发明0.233015.9848.18表3在各算法求解的结果中,求解结果均值越低,算法的寻优精度越高,标准差越小,算法稳健性越强,平均耗时越短,算法的实时性表现越好。因此由表3可知,本发明相比传统群智能优化算法求解结果均值和标准差更低,且本发明寻优精度相对基本ssa和gssa分别提高5.44%和4.35%,本发明稳健性相对基本ssa和gssa分别提高57.78%和65.99%,平均耗时略低于gssa但远高于其他算法。cso寻优精度相对ssa及其改进算法略高,但稳定性仅次于本发明。gwo寻优精度略差于cso,稳健性较差,但平均耗时最短。ba寻优精度和稳健性都远低于其他算法。这表明本发明相对其他算法具有良好的寻优能力和较强的稳健性,且是7种算法中寻优精度最高且稳健性最强的。这是因为本发明引入的卡方变异相对高斯变异全局变异能力更强,同时保留了一定的局部变异能力,可有效克服ssa在迭代后期跳出局部最优解的缺点。gwo、cso、ssa和本发明均在迭代初期快速收敛,但在迭代中后期表现不同,gwo在迭代中期一直未找到更优的个体,cso、ssa在迭代中后期收敛速度较慢,本发明虽在迭代前期收敛速度慢于ssa和cso,但在迭代中期不断收敛,并在后期就确定了收敛结果。gssa表现类似本发明,但收敛速度不如本发明。而ba虽然在迭代初期找到较低适应度的个体,但收敛结果却是最差的。这说明本发明具有良好的收敛特性,主要原因是卡方变异较强的全局变异能力可使种群不断跳出局部最优解,避免算法‘早熟’。综上所述,本发明通过引入卡方变异以及牺牲部分求解时长,既保留了高斯变异一定的局部搜索能力,又提高了全局搜索能力,可改善ssa后期易陷入局部最优解的问题,提高ssa的寻优能力和稳健性。当前第1页12