混沌反馈自适应鲸鱼优化算法研究
2019-05-05涂春梅陈国彬
涂春梅,陈国彬,刘 超
(1.重庆工商大学融智学院大数据研究所,重庆 401320;2.贵州航天电器股份有限公司,贵阳 550009)
0 引言
鲸鱼优化算法(whale optimization algorithm,WOA)是Mirjalili和Lewis于2016年受启发于鲸鱼独特的泡泡网觅食行为而提出的一种新的群智能优化算法[1]。作为一种新型的进化算法,与其他算法相比,WOA易于理解,实现简单,且全局寻优能力强,因此一经提出便引起了国内外学者的关注和研究,并应用于函数优化、图像处理、故障诊断支持向量机参数优化等领域[2-4]。然而,由于WOA提出的时间较晚,尚未被熟知,其理论分析还处于初级阶段,其在高维多极值复杂优化问题中也存在收敛精度不高、易陷入局部最优等问题。
为了研究WOA的优化性能及更好地改善算法的全局优化能力,本文提出了一种新的混沌反馈自适应鲸鱼优化算法(chaos feedback adaptive WOA,CFAWOA)。在CFAWOA算法中,引入混沌理论生成初始种群增加种群多样性,为算法全局搜索奠定基础;同时,在鲸鱼位置更新后期增加反馈阶段,通过交流学习使最差鲸鱼快速向最优鲸鱼靠拢,提高算法的全局搜索能力;此外,在鲸鱼个体位置更新公式中引入自适应惯性权值,通过平衡算法的开发和探索能力进一步改善算法的优化性能。选取6个复杂函数优化问题进行仿真实验,仿真结果验证了CFAWOA算法在优化性能方面得到明显改善。
1 鲸鱼优化算法(WOA)
(1)收缩包围机制
为了从数学上描述鲸鱼的泡泡网觅食行为,在WOA算法中,设计了两种不同方式:收缩包围机制和螺旋更新位置。假设鲸鱼种群规模为N,优化空间的维度为d,每只鲸鱼的位置代表一个优化问题的可行解,则Xi=,…,),i=1,…,N表示第i只鲸鱼在d维空间中的位置。
鲸在狩猎的时候要包围猎物,在求解优化问题前对搜索空间中的全局最优位置没有任何先验知识,因此假设当前种群中最优位置为猎物,鲸鱼个体均向最优位置包围,数学模型描述如下:
式中,t为当前迭代次数,Xp为猎物位置,X(t)为当前鲸鱼的位置,A和C是系数向量,定义如下:
式中,r1和r2是[0,1]中的随机数,a为控制参数,随迭代次数增加从2线性减小到0,定义如下:
式中,Tmax为最大迭代次数。收缩包围机制通过式(1)和式(4)随着参数a的减小而实现的。
(2)螺旋更新位置
鲸鱼在包围猎物之后,螺旋式运动以捕获食物,其数学模型描述如下:
式中,D′= ||Xp(t)-X(t)表示鲸鱼和猎物之间的距离;b是一个常数,用来定义对数螺线的形状;l是[-1,1]中的随机数。
鲸鱼的收缩包围机制和螺旋更新位置是一种同步行为,在数学模型描述中,通常选取两种方式的概率相同,即Pi=0.5,描述如下:
2 混沌反馈自适应鲸鱼优化算法
为解决WOA算法在处理复杂函数优化问题中遇到的收敛精度较低、易陷入局部最优的不足,提出了混沌反馈自适应鲸鱼优化算法(CFAWOA)。通过如下三种策略改善WOA算法的全局优化性能:
(1)Sin混沌初始化种群
群智能优化算法种群初始化方法会影响算法的收敛速度和解的精度。WOA算法在缺乏有关先验信息时采用随机初始种群,不能保证鲸鱼在整个解空间中均匀分布。混沌映射是由确定性方程得到的具有随机性的运动状态,具有随机性性、遍历性的特点[5]。文献[6]验证了Sin混沌较Logistic混沌具有更明显的混沌特性,因此采用Sin混沌进行WOA算法的种群初始方法。考察式(7)定义的Sin混沌自映射:
式(7)中初始值不能为0,避免在[-1,1]内产生不动点和零点。当迭代一定次数时,系统输出将遍历整个解空间。
(2)反馈阶段
在WOA算法中,鲸鱼通过猎物的位置来改变自身的运动轨迹,运动方式比较单一。然而在实际的觅食过程中,最优鲸鱼有目的的与最差鲸鱼进行反馈交流,通过反馈信息交流,距离食物较远的鲸鱼能快速运动到食物附件,这样将能进一步提高算法的收敛速度,本文在精英WOA算法基础上,引入反馈阶段来提高算法的寻优精度及稳定性。
反馈阶段数学模型如下:
式中,Xworst是种群中最差鲸鱼个体位置向量;r是[0,1]中的随机数。比较新解Xworst_new与当前解Xworst,如果Xworst_new优于Xworst,则接受Xworst_new。
(3)自适应惯性权值
惯性权值是WOA算法中的一个重要参数,式(1)和式(5)中保持较大的惯性权值1,恒定不变的惯性权重将降低算法的效率,不利于算法的全局寻优。文献[7]指出较大的惯性权值有利于全局优化,较小的惯性权值有利于局部挖掘。理想的惯性权重策略应呈现这样的特点:在迭代初期,应具有较大的权重,保证算法具有较强的全局搜索能力;在迭代后期,应具有较小的权重,保证算法具有较强的局部搜索能力。因此,合理的惯性权值有利于平衡算法的全局探索和局部开采能力。
在式(1)和式(5)中引入如下自适应惯性权值ω:
式中,f(x)是鲸鱼x的适应度值;u表示在第一次迭代计算中鲸鱼种群中最佳的适应度值;iter表示当前的迭代次数。利用ω的动态非线性特性控制鲸鱼位置对新鲸鱼位置的影响度。改进后的更新公式表述如下:
在迭代初期,较小的适应度值保证了算法拥有较大的惯性权重;相反,后期较大适应度值保证了算法拥有较小的惯性权重,利于WOA算法的全局优化性能。
在CFAWOA中,采用Sin混沌初始化种群以改善种群的分布情况;同时,增加反馈阶段,通过最差鲸鱼与最优鲸鱼进行信息交换,以促进最差鲸鱼快速运动到食物周围;除此之外,自适应惯性权值平衡算法的全局探索和局部开采能力,进一步改善算法的全局优化能力。CFAWOA算法流程如下:
设置最大迭代次数Tmax,种群规模N,按式(7)产生N个初始鲸鱼种群{Xi,i=1,2,...,N};
计算每个鲸鱼个体的适应度值{f(Xi),i=1,2,...,N},记录当前最优个体及位置;
根据式(9)计算自适应惯性权值w的值;
根据式(4)计算控制参数α的值;
更新其他参数A、C、l、p的值;
根据式(10)更新当前鲸鱼个体的位置;
在群体中选择最差鲸鱼个体Xworst;
根据式(8)更新当前鲸鱼个体的位置;
根据式(11)更新当前鲸鱼个体的位置;
计算群体中个体的适应度值{f(Xi),i=1,2,...,N};
更新当前最优个体及位置;
3 CFAWOA算法性能测试
为了检验CFAWOA性能,选取表1(见下页)中6个函数,优化求解最小值,测试CFAWOA优化精度和全局寻优能力。其中F1—F3为高维的单峰基准函数,F4—F6为高维的多峰基准函数。将CFAWOA与WOA、PSO[8]、TLBO[9]算法进行比较。为了比较的公平性,CFAWOA、WOA、PSO和TLBO四种算法的参数设置如下:种群规模为50,迭代次数为1000,运行次数30;另外,对于6个高维优化函数,它们的维数均依次设置为30、50、100。此外,所有仿真实验均在同一平台上完成,硬件系统采用戴尔Inspiron 14-7467笔记本,处理器为英特尔i7-7700HQ 2.8GHz、内存为8GB、Win 7 64位操作系统,MATLAB版本为R2009a。
表1 基准测试函数
3.1 概率对CFAWOA的性能影响
为了研究CFAWOA算法中不同概率P对算法性能的影响,对表1中6个测试函数均设置P=0.3、0.5、0.8三个不同的概率,对CFAWOA的优化性能进行测试,如表2所示。
表2 概率对CFAWOA算法性能影响
如表2所示,对单峰基准函数F1和F3,概率为0.3、0.5和0.8均能搜索到全局最优解,比较平均迭代次数(C.I.)指标发现:F1、F3在概率为0.5时分别为714和84,对F2函数,概率为0.5时平均值和均方差最小。对多峰基准函数F4,三种概率均为搜索到理论最优解,但概率为0.5时最早搜索到最优值。对于F5,三种概率都能找到全局最优解,C.I.指标分别为78、62、85,也即是概率为0.5时搜索到最优解的速度最快。对F6测试函数,三种概率都没有找到理论最优解,概率为0.5时最优解指标最小。综上所述,概率为0.5时CFAWOA算法的精度和收敛速度更具优势,后文在参数设置中将概率设置为0.5。
3.2 CFAWOA算法性能验证
为了验证CFAWOA的性能,将CFAWOA与基本WOA、PSO和TLBO进行对比。以表格的形式记录各优化算法寻优的平均值和均方差,如下页表3所示。
从表3可以看出,在设定的参数条件下,CFAWOA能够找到F1、F3、F5的理论最优值,对其余函数来说,虽然CFAWOA精度没有达到理论最优,但CFAWOA算法搜索的结果无限接近最优值,与其他三个算法相比在精度上有了很大的提高,也更加稳定。改进后的鲸鱼算法较基本的鲸鱼算法在精度上都有了极大的提高。
以最优解的平均值和标准差为评判标准,通过比较CFAWOA、WOA、PSO和TLBO的优化结果可以看出,无论是30维、50维还是100维情况下,CFAWOA在6个优化问题上都能表现出较好的寻优能力。除此之外,CFAWOA针对6个标准优化函数而言,无论优化问题为30维或50维、还是100维,CFAWOA较其他三种算法更加稳定,搜索的精度依然很高。
图1是四种算法在50维情况下6个优化函数的寻优曲线。从图1中可以看出,对于函数F1、F3、F5,CFAWOA算法能快速搜索到理论最优解,观察其余函数,CFAWOA算法收敛速度较其他三种算法更快,收敛精度也有一定的提高;CFAWOA算法对F2和F6函数在50维进行寻优时,有多处拐点出现,证明其跳出局部最优的能力得到了有效增强;综上所述,针对多维复杂函数优化问题时,CFAWOA算法的优化能力相对WOA算法有了较大改善,其优化性能比PSO和TLBO算法更加有效,CFAWOA算法能够有效解决高维复杂数值优化问题。
图1 优化性能比较
表3 四种算法对基准测试函数的运行结果
4 结束语
本文针对标准WOA算法存在的初始种群不均匀、全局搜索能力不高、易陷入局部最优等问题,提出了一种混沌反馈自适应鲸鱼优化算法(CFAWOA)以解决复杂函数优化问题。通过混沌策略初始化种群,保证了解空间分布均匀,且不失多样性,改善算法的优化性能。在鲸鱼位置更新后期增加反馈阶段,通过交流学习帮助最差鲸鱼快速向最优鲸鱼靠拢,提高算法的全局搜索能力;除此之外,引入自适应惯性权值帮助算法及时跳出早熟收敛进一步提高WOA算法的全局优化能力。数值函数仿真实验表明,CFAWOA算法在进行高维、多峰复杂数值函数求解时能取得较为满意的优化结果,与其余优化算法相比较,在一定程度上表现出了更好的收敛精度且更加稳定。