一种基于改进蝗虫优化算法的参数优化方法

文档序号:33358426发布日期:2023-03-07 19:56阅读:40来源:国知局
一种基于改进蝗虫优化算法的参数优化方法

1.本发明属于元启发式算法和群智能优化算法技术领域,尤其是涉及一种基于改进蝗虫优化算法的参数优化方法。


背景技术:

2.优化是针对某个特定的问题,在所有可能的解决方案中寻找最优的一个方案的方法。现实生活中存在着很多优化问题,学者们对于如何解决优化问题一直不断的探索着。随着社会的发展,商业、医疗、能源、通信等许多领域所呈现出来的优化问题越来越复杂,基于梯度的信息以及其它方式来寻找最优解的传统优化方法在处理大规模、多约束、多极值等特点的问题时效果不够理想。在此背景下,受自然启发的元启发式算法快速发展,对解决大规模、高难度的优化问题更加高效。
3.蝗虫优化算法,是由mirjalili于2017年提出的一种结构新颖的仿生优化算法。蝗虫优化算法通过模仿自然界中蝗虫的生活习性和社会行为,构建模型来求解优化问题。蝗虫优化算法简单有效,可以用较少的迭代次数解决优化问题,已被广泛应用于解决实际问题中,如故障诊断、数据安全。
4.现有技术中,蝗虫优化算法更新公式中包括了与种群中所有其它蝗虫的相互作用(引力和斥力),并且受风力影响蝗虫会趋向全局最佳位置。这样的更新公式,很好的保证了种群的多样性,但是由于函数值差的个体也会参与到下一代的位置更新中,使得个体在每一代的适应度值变化不能一直向好。其次,每个蝗虫爬行或跳跃到下一个位置后,不具有上一个位置的记忆性,因此蝗虫不能判断新位置是否比上一个位置更好,同样使得蝗虫位置的更新不能一直保持适应度值的下降。存在算法开发能力差,收敛速度慢,收敛精度低的技术问题。


技术实现要素:

5.本发明要解决的问题是提供一种基于改进蝗虫优化算法的参数优化方法,借助本发明实施例可以提高算法开发能力,增加收敛速度及收敛精度,以克服现有技术中的不足。本发明实施例采用的技术方案是:
6.一种基于改进蝗虫优化算法的参数优化方法,包括步骤为:
7.系统初始化;
8.根据所述初始化数据设置突变参数;
9.调用所述突变参数进行突变分析;
10.调用所述突变分析结果进行突变条件判定;
11.调用所述突变条件判定结果进行分析且输出分析结果;
12.进行终止判定更新所述突变参数或输出优化参数。
13.进一步:所述调用所述突变参数进行突变分析包括步骤:通过双精英学习机制引导蝗虫向精英个体学习,生成学习后的种群x*。
14.进一步:所述通过双精英学习机制引导蝗虫向精英个体学习,生成学习后的种群x*包括步骤:还引入了动态学习因子(f)来协调子代向两个精英蝗虫学习的权重,将原种群x与经精英学习后的种群x*混合排序,选择前n个蝗虫更新位置。
15.进一步:所述通过双精英学习机制引导蝗虫向精英个体学习,生成学习后的种群x*包括步骤:所述的动态双精英学习方法,产生候选种群x*及动态学习因子采用公式:
[0016][0017][0018]
其中,r1、r2均为(0,1)之间的随机向量,x
best
(t)、x
second
(t)分别为第t代时适应度值排名第一和第二的个体位置,f为动态学习因子,f
best
(t)、f
second
(t)分别代表第t代排名第一和第二的个体位置的适应度值,对x和选种群x*进行混合排序后更新种群位置。
[0019]
进一步:所述将原种群x与经精英学习后的种群x*进行混合排序包括步骤:将x1(t),x2(t),

,xn(t)和经过双精英学习的x
1*
(t),x
2*
(t),

,x
n*
(t)的2n个蝗虫混合,根据适应度值排序,选择前n个适应度值优异的蝗虫至下一代。
[0020]
进一步:所述调用所述突变分析结果进行突变条件判定包括步骤:若满足突变条件,采用正弦突变引导全局最优蝗虫进行变异,根据突变前后位置的函数值确定且更新全局最优蝗虫。
[0021]
进一步:所述调用所述突变条件判定结果进行分析且输出分析结果包括步骤:所述采用正弦突变引导全局最优蝗虫进行变异:进行全局最优蝗虫的正弦突变采用公式:
[0022][0023][0024]
其中,x
best
为全局最优个体位置,符号代表点积,rand为(0,1)之间的随机
[0025]

[0026]
数,c为突变概率,若通过正弦突变后的最佳蝗虫x
best
的适应度值优于突变前的蝗虫,保留突变结果;若否,保持原位置不变。
[0027]
进一步:所述进行终止判定更新所述突变参数或输出优化参数包括步骤:根据适应度函数计算更新后蝗虫种群函数值获取最优函数值,若满足终止条件,种群停止迭代,输出优化参数和对应的函数值。
[0028]
进一步:所述系统初始化包括步骤:参数初始化和种群位置初始化。
附图说明
[0029]
图1是本发明实施例一种基于改进蝗虫优化算法的参数优化方法的流程图。
[0030]
图2是本发明实施例一种基于改进蝗虫优化算法与原蝗虫算法在测试函数上的收敛曲线图。
具体实施方式
[0031]
本发明实施例提供了一种基于改进蝗虫优化算法的参数优化方法,下面结合附图进行说明。
[0032]
根据蝗虫优化算法的搜索方程,在迭代前期蝗虫的位置更新受周围的个体影响大,而受当前全局最佳位置的影响小,导致算法收敛速度缓慢;在迭代后期,随着搜索区域逐渐变小,算法易陷入局部最优,导致收敛精度不高。本发明实施例针对算法前期收敛速度慢的问题,引入动态的双精英学习增强精英蝗虫的引导作用;针对算法后期收敛精度不高的问题,采用正弦函数引导全局最优蝗虫突变。
[0033]
动态双精英学习:精英学习是利用种群中的一部分优质个体,去引导其他个体逐渐向最优位置靠近,以达到提高算法寻优效率的目的。精英个体是指在种群中的携带优秀信息的个体,这些个体都对算法收敛到最优解起到了至关重要的作用。因此,本发明实施例提出一种动态的双精英学习策略,利用当前位置、种群最佳位置和次优位置来产生下一代的候选解。选择两个精英个体的有益效果:第一,产生的子代可以充分利用当前最佳位置的信息,快速地向最优解的位置靠近,从而加快算法的收敛速度。第二,若仅考虑最佳的位置信息,很容易误导个体进入一个没有希望的区域,而加入次优位置信息后会使子代的多样性增强,双精英引导机制产生误导的可能性小于单精英引导机制。还引入了动态学习因子(f)来协调子代向两个精英蝗虫学习的权重。动态学习因子与精英蝗虫的适应度值有关。算法的迭代初期,两个精英蝗虫的适应度值差异较大,学习因子会赋予适应度值更小的精英蝗虫较大的学习权重,子代向最优蝗虫学习更多;随着算法的迭代,精英蝗虫的适应度值差异越小,两个学习权重越接近,子代可以平衡的向两个精英蝗虫学习。在算法的收敛过程中,蝗虫的位置更新会受到两个精英位置的影响,逐渐向最优位置靠近,从而加快收敛速度。产生候选解及动态学习因子的计算公式如下所示:
[0034][0035][0036]
其中,r1、r2均为(0,1)之间的随机向量,x
best
(t)、x
second
(t)分别为第t代时适应度值排名第一和第二的个体位置。f为动态学习因子,f
best
(t)、f
second
(t)分别代表第t代排名第一和第二的个体位置的适应度值。
[0037]
采用一种基于混合排序的择优策略。首先通过将x1(t),x2(t),

,xn(t)和经过双精英学习的x
1*
(t),x
2*
(t),

,x
n*
(t)这2n个蝗虫混合,根据适应度值进行排序,选择前n个适应度值优异的蝗虫进入到下一代。这种混合排序的择优策略,产生的有益效果:第一,每次迭代中参与排序选择的蝗虫个数都是原种群数量的两倍,有助于实现更好的种群进化。第二,原本适应度值优异的蝗虫进步空间小,经过精英学习后适应度值可比劣质的蝗虫有潜力不应被抛弃。基于混合排序的择优策略很好的解决了这个问题,既不会抛弃经过学习后没有进步但有潜质的优异蝗虫,保留了进步大的劣质蝗虫。
[0038]
正弦突变:goa算法的后期,随着蝗虫个体的舒适区逐渐减小,与周围个体之间的相互作用力也减弱,易陷入局部最优,导致适应度值下降缓慢且收敛精度不高。为了改进算法的不足,本发明实施例提出使用正弦函数引导当前最优个体进行突变的方式,模拟蝗虫
的突然性跳跃,有利于算法跳出局部最优值,增加寻找到更佳位置的概率。正弦函数在[0,2π]区间的返回值在[-1,1]之间,算法倾向于在更有希望找到最优解的搜索空间内更新下一代个体,算法可在当前全局最优位置的周围进行小范围的重新搜索,避免陷入局部最优,同时增强算法的局部开发能力。下面用式(3)来表示当前全局最优蝗虫的正弦突变过程。
[0039][0040][0041]
其中,x
best
为全局最优个体位置,符号代表点积,c为突变概率。若通过正弦突变后的最佳蝗虫x

best
的适应度值优于突变前的蝗虫,保留突变结果;否则,保持原位置不变。正弦突变策略可以避免算法陷入局部最优,提高算法的寻化能力。
[0042]
使用时对相关参数和种群进行初始化设置:本发明实施例中的参数包括种群数量n,最大迭代次数max_iter,搜索空间的维度dim。设置种群数量n=30,最大迭代次数max_iter=500,维度dim=4。通过随机生成的方法在搜索空间中产生蝗虫的初始种群位置,种群初始化公式(5)。计算每个蝗虫所在位置的函数值,确定精英蝗虫。
[0043]
xi=rand*(ub-lb)+lb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0044]
控制蝗虫探索和开发过程的参数c根据公式(6)在算法迭代过程由1向0.00001过渡。
[0045][0046]
其中,cmax是参数c的最大值,cmin是参数c的最小值,t是算法当前迭代次数。蝗虫位置根据算法的迭代公式(7)进行更新:
[0047][0048]
其中,t是当前的迭代次数,d代表维度,ubd是第d维的上界,lbd是第d维的下界,为算法迭代到第t次时第i个蝗虫的第d维,是到目前为止找到的最佳位置中第d维上的值。s是定义社会力量强度的函数,如公式(8)所示,
[0049][0050]
f表示吸引强度,l是吸引力范围。为第i个蝗虫和第j个蝗虫距离的单位矢量,计算公式为:
[0051][0052]dij
=|x
j-xi|代表第i个和第j个蝗虫之间的距离。
[0053]
采用双精英动态学习策略,利用当前位置、种群最佳位置和次优位置来产生下一
代的候选解。此外,还引入了动态学习因子(f)来协调子代向两个精英蝗虫学习的权重。产生候选解及动态学习因子的计算公式如下所示:
[0054][0055][0056]
其中,r1、r2均为(0,1)之间的随机向量,x
best
(t)、x
second
(t)分别为第t代时适应度值排名第一和第二的个体位置。f为动态学习因子,f
best
(t)、f
second
(t)分别代表第t代排名第一和第二的个体位置的适应度值。
[0057]
采用一种基于混合排序的择优策略。首先通过将x1(t),x2(t),

,xn(t)和经过双精英学习的x
1*
(t),x
2*
(t),

,x
n*
(t)这2n个蝗虫混合在一起,再根据他们的适应度值进行排序,最后从中选择前n个适应度值优异的蝗虫进入到下一代。
[0058]
采用概率判断全局最优位置是否满足突变条件。若满足则采用正弦函数引导全局最优蝗虫产生突变个体,并对突变前后两个位置择优选择进入下面的迭代;若不满足突变条件,则直接进入下一步。如公式(12)所示,全局最优蝗虫的正弦突变过程:
[0059][0060][0061]
其中,x
best
是全局最优个体位置,符号代表点积,c为突变概率。如公式(13)所示,若通过正弦突变后的最佳蝗虫x

best
的适应度值优于突变前的蝗虫,就保留突变结果;若否,保持原位置不变。
[0062]
若达到最大迭代次数,输出最优值蝗虫位置及对应函数值,若否迭代次数t=t+1,重复迭代过程。
[0063]
步骤为:
[0064]
系统初始化;
[0065]
根据初始化数据设置突变参数;
[0066]
调用突变参数进行突变分析;
[0067]
调用突变分析结果进行突变条件判定;
[0068]
调用突变条件判定结果进行分析且输出分析结果;
[0069]
进行终止判定更新突变参数或输出优化参数。
[0070]
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1