基于高斯概率分布采样学习的SSA算法探讨

2020-10-21 07:49王亚玲张清泉
关键词:海鞘高斯分布测试函数

王亚玲,张清泉

山西师范大学物理与信息工程学院,山西 临汾 041000

近年来,元启发式算法因其灵活性高、无梯度机制和可跳出局部最优等优点被人们广泛使用.基本的樽海鞘算法具有简单易行、计算力量小等优点,但仍然存在易陷入局部最优,收敛速度慢等问题.在此研究基础上,文献[1]提出了自适应评估移动策略和基于冯诺依曼拓扑结构的邻域最优引领策略的改进樽海鞘群算法,该算法较标准算法具有更好的性能.文献[2]在基本樽海鞘群算法的基础上引入文化基因算法,采用多个樽海鞘链同时进行寻优,并在硬件在环实验中证明了改进算法的可行性.以上算法从不同方面对樽海鞘群算法进行了改进,并有一定的性能提升,但仍存在局部开发能力差、收敛速度慢等缺点.针对上述问题,本文通过樽海鞘(追随者)位置更新环节中采用高斯概率分布采样的方法,使樽海鞘追随最优解方向,加快算法进入食物源所在区域的能力,进一步提高了SSA算法跳出局部最优的能力.

1 基本的樽海鞘群算法

樽海鞘群算法(Salp Swarm Algorithm,SSA)是模仿樽海鞘群在海洋中航行和觅食的群族行为,由Seyedali Mirjalili等人在2017年提出的一种元启发式算法[3].樽海鞘是类似于水母的一种海洋动物,其在航行和觅食过程中通常会形成链型,即后一个樽海鞘的位置跟随着前一个樽海鞘的位置变化;Seyedali Mirjalili提出了一种樽海鞘链的数学模型,将樽海鞘种群分为领导者和追随者2种类型.领导者位于樽海鞘链的前半部分,追随者位于后半部分且追随领导者,分工合作,以找到满意的食物源.SSA主要包括更新樽海鞘(领导者和追随者)的位置,见式(1)~式(3).其中,领导者按照式(1)更新位置.

(1)

(2)

(3)

2 高斯分布采样

高斯分布采样具有良好的局部开发特性.首先,正态曲线的中心峰描述了它的保守能力,即采集的样本大部分位于中心峰(最优值)的附近.其次,曲线的无限边缘能够提高其探索能力和跳出局部最优的能力.由此可见,高斯分布采样有助于开拓新的搜索空间.高斯分布有两个参数定义:均值和标准差.本文的研究利用群体结构和搜索历史的信息,探索了一种方法来设置这两个参数[4].

Kennedy J[4]等人提出了骨干粒子群算法(Bare Bones Particle Swarms Optimization,BBPSO),该算法就是利用高斯概率分布采样的方法对粒子群算法(Particle Swarm Optimization,PSO)进行了改进,结果表明BBPSO算法优于基本的粒子群算法.

3 基于高斯概率分布采样学习的SSA(ISSA)

受BBPSO算法[4]的启发,本文也将基于高斯概率分布采样学习的方法引入到基本的樽海鞘群算法中,以避免樽海鞘群陷入局部最优及加快收敛速度.

(4)

(5)

该搜索过程中,基于全局最优位置(gbestn)的高斯概率采样可以增强对局部开拓的能力,改善樽海鞘盲目跟从的问题,促使追随者向更优的位置移动;执行式(5)能使其继续追随着紧挨自己的前一个樽海鞘.其中,系数r1为区间[0,1]的随机数.ISSA算法的操作流程图如图1所示.

图1 提出的樽海鞘群算法流程图Fig.1 The proposed flow chart of salp swarm algorithm

文章所提ISSA算法具体流程如下:

步骤1:初始化参数.设置樽海鞘种群的数量,问题的维度dim,各维度位置变化范围的上限ub和下限lb,最大迭代次数max_iteration.

步骤2:计算适应度.计算每只樽海鞘适应度值并找出最优樽海鞘.

步骤3:选出食物源.将上一步骤中的最优樽海鞘位置分配给食物源.

步骤4:划分樽海鞘群.将樽海鞘群划分为具有相同数量的领导者、追随者.其中领导者根据式(1)更新位置,使其总在食物源附近进行探索开发;追随者根据式(4)、式(5)两步更新位置.更新完成后,进行越界处理,计算新樽海鞘适应度值,选出最优位置更新食物源.

步骤5:判断算法是否大于最大迭代次数.如果满足,输出最优位置和最优适应度值,算法结束.如果不满足,重复步骤4.

4 ISSA算法与其他算法的性能分析

4.1 测试函数

采用Sphere函数(F1),Quadric函数(F2),Ackley函数(F3),Rastrigin函数(F4),Schwefel函数(F5),Rotated Sum Square函数(F6),Rotated Zakharov函数(F7)和Rotated Rosenbrock函数(F8)等8个基准测试函数进行实验,测试本文提出的算法(ISSA算法)的性能[5,6].其中,F1、F2为单峰函数;F3、F4为多峰函数;F5~F8为旋转漂移函数;理论最优值均为0.基准测试函数如表1所示.

表1 测试函数Tab.1 Test function

4.2 实验测试结果分析

本文算法的实验环境为Windows 10操作系统,主频3.2 GHz,主存8 GB,开发工具Matlab R2015b.对樽海鞘群算法进行改进的目的是避免樽海鞘群陷入局部最优、提高收敛精度和收敛速度.为了证明本文提出的樽海鞘群算法的收敛精度、局部开拓能力及收敛能力,将该算法与近年来提出的jDE[7]、PSOFDR[8]、BBDE[9]、BBExp[10]、SSA算法进行对比.

使用上述8个测试函数测试30维的运行结果.为了避免不必要的实验误差,所有算法均使用表1给定的对称初始化范围,且各算法的主要参数设置为:种群个体数40,独立运行次数20,最大评价次数(FEs)50 000.6种算法在8个测试函数上运行的最优值、平均值、标准差及收敛性能等级的测试结果如表2所示,最优结果以黑色粗体显示.

表2 不同算法30维结果比较Tab.2 Comparition of 30-dimensional results of different algorithms

由表2结果可以看出:在8个测试函数中,就单峰函数(F1、F2)和多峰函数(F3、F4)而言,ISSA算法运行结果的最优值、平均值和标准差均明显优于其他5种对比算法,且在20次的独立运行结果中均能找到理论最优值.由此说明,ISSA算法在收敛精度和全局优化能力方面优于其他算法.对于旋转漂移函数,在F6、F7函数的测试结果中可知,ISSA算法获得的最优值、平均值、标准差均优于其他算法;但在F5、F8函数的测试结果中可以发现,BBDE、jDE、BBExp、PSOFDR和SSA的最优结果优于ISSA算法.由总体结果的比较可知,ISSA算法在8个函数测试中,有6个函数获得的最优值、平均值、标准差优于其他对比算法,因此,ISSA算法的寻优结果最好.

为了能直观地观察算法的寻优过程,绘制了如图2所示的不同基准测试函数在20次独立运行中通过6种算法实现的平均适应度值的收敛曲线.其中,每个图的横坐标为评价次数(FEs),纵坐标为对平均适应度值取10为底的对数.

图2 不同算法的性能曲线比较图(30维)Fig.2 Comparison of performance curves of different algorithms(30 dimensions)

由图2可知,由于很容易找到Sphere(F1)函数的最优值方向,所以ISSA以最快的收敛速度到达理论最优值0,其他对比算法虽然没有收敛到理论最优值,但BBDE、jDE、BBExp和PSOFDR均能达到了10-60以上解的精度(除SSA算法);对于Quadric(F2)函数,ISSA以很小的评价次数获得理论最优值,但PSOFDR和BBExp并没有收敛到全局最优值,略劣于jDE、BBDE和SSA;对于Ackley(F3)函数,ISSA迅速到达理论最优值,jDE、BBExp和PSOFDR的收敛速度明显优于其他两种算法,且最后均达到10-14的精度;对于Rastrigin(F4)函数,ISSA收敛到了理论最优值,jDE收敛速度及收敛精度优于其他四种算法;对于Schwefel(F5)函数,ISSA、PSOFDR、BBDE、BBExp、SSA在达到一定精度后陷入了局部最优,只有jDE跳出了局部最优,但在评价后期的寻优效果不明显;对于Rotated Sum Square(F6)函数,ISSA迅速到达理论最优值,BBDE达到了10-55的精度,具有相对较好的性能;对于Rotated Zakharov(F7)函数,ISSA同样以最快的速度收敛到理论最优值,除BBExp之外,其余对比算法的收敛精度基本相同,均略优于BBExp;由于Rotated Rosenbrock(F8)函数的最优解方向不易找到,各算法均没有收敛到全局最优.综上所述,ISSA找到了8个测试函数中6个函数的理论最优值,故该算法相比于5个对比算法,在收敛速度、收敛精度和全局优化能力方面有很好的性能.

由以上两个方面的分析结果可知:从表2的最优值、平均值、标准差可以看出,ISSA的寻优结果最好;从图2的收敛曲线可以看出,ISSA具有很好的收敛精度、收敛速度和全局优化能力.

5 结论

一种基于高斯概率分布采样学习的樽海鞘群算法(ISSA)利用均值为gbestn/2,标准差为|gbestn|的高斯分布的随机采样替代追随着的樽海鞘位置更新公式,进而改善了基本的樽海鞘群算法存在的盲目跟从的问题,增强了对局部区域的搜索能力[11].提出的樽海鞘群算法被用来优化八个基准测试函数,经过仿真实验及分析可知,ISSA算法在收敛精度和收敛速度方面明显优于SSA算法;ISSA算法虽然并不总具有最佳性能,但该算法在收敛速度、收敛精度与局部开拓能力上具有更优的优势.

猜你喜欢
海鞘高斯分布测试函数
改进樽海鞘群优化K-means算法的图像分割
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
利用Box-Cox变换对移动通信中小区级业务流量分布的研究
2种非对称广义高斯分布模型的构造
基于自适应调整权重和搜索策略的鲸鱼优化算法
在航集装箱船舶摇摆姿态的概率模型
具有收缩因子的自适应鸽群算法用于函数优化问题
一种基于改进混合高斯模型的前景检测
刺参—柄海鞘养殖系统水体和表层沉积物中磷的赋存状态