1. 引言
在日常生活中,优化问题无处不在。传统的解决现代优化问题的方法,如牛顿法和梯度下降法,虽然在一定程度上能够找到问题的解决方案,但在处理复杂的优化问题时,它们显示出局部搜索的局限性。这些方法往往容易陷入局部最优解而无法进一步探索全局最优,因此在面对具有挑战性的优化问题时显得力不从心。随着近年来的人工智能迅速发展,元启发式群智能优化算法成为解决优化问题的有力工具。元启发式群智能优化算法主要包括探索和开发两个阶段,在解空间中寻找新的解,以获得全局最优值并避免陷入局部收敛。近年来由于智能算法较为容易设置,对初始值的选择不敏感,运行时间短,在组合优化、特征选择、图像处理、生产制造与调度等领域得到了广泛重视。典型的元启发式算法包括灰狼优化算法(Gray wolf optimization, GWO) [1]、粒子群算法(Particle swarm optimization, PSO) [2]、秃鹰搜索算法(Bald Eagle Search, BES) [3]、龙格库塔优化算法(Runge Kutta optimizer, RUN) [4]、小龙虾优化算法(Crayfish Optimization Algorithm, COA) [5]等。
2022年,白鲸优化算法模拟了白鲸群体的生活行为[6]。该算法具有简单的结构、收敛速度快、较高求解精度等优点。陈心怡等人[7]从混沌初始化、参数混沌和非线性控制策略3个角度,提出两种基于Fuch映射和动态反向学习的改进白鲸优化算法。文裕杰等人[8]受麻雀算法的启发,设置安全区域和额隆感知机制,增强白鲸的判断能力并加快收敛速度。然后引入多方式的围攻机制,丰富个体位置更新的多样性,增大全局搜索能力。同时加入了动态高斯变异进行扰动,以提高算法跳出局部极值的概率。王亚辉等人[9]提出一种基于混沌反向学习和水波算法的白鲸算法。该算法在前期的初始化中首先利用混沌映射和反向学习来提升种群的质量和多样性,加快收敛速度。同时将水波算法中的折射理念,折射当前迭代寻到的最优解,提高计算精度,避免陷入局部最优。孟冠军等人[10]采用双层编码方式和白鲸优化算法结合实现对机器选择和工序排序问题的编码解决柔性作业车间调度问题。孙明等人[11]提出了基于精英反向学习和自适应权重策略的白鲸优化算法,并应用于D2D通信的功率控制。孔云等人[12]针对数控加工过程的低碳柔性工艺规划问题,建立了以加工过程中机床、刀具和装夹的转换次数和碳排放为目标的优化模型,提出了改进白鲸优化算法的求解方法。丁祎等人[13]针对传统的单一加工车间灵活度不高的问题,提出了一种多目标改进白鲸优化算法的车间调度方法。
为了更好地提升白鲸优化算法寻优精度和收敛速度,本文将佳点集和镜面反射学习策略对种群进行初始化结合,同时信息共享策略,提出了一种改进的白鲸优化算法(SRISBWO),使算法同时获得了寻优精度和收敛速度上的显著提升。
2. 白鲸优化算法
作为群居动物,白鲸有独特的游泳方式,并通过种群间的合作捕食。该算法包括探索阶段和开发阶段。在探索阶段,BWO模拟个体白鲸的社会行为,随机与其他白鲸配对,进行同步或成对游泳,以找到食物来源的位置。在开发阶段,白鲸会接近附近的白鲸以及与其他白鲸合作觅食和移动来仔细寻找部分区域。在觅食过程中,白鲸可能会受到其他生物的威胁,导致鲸鱼坠入深海。BWO算法中含有两个自适应变量,分别为平衡因子
和鲸鱼坠落概率
。
用于解决勘测过程与探索开发之间的平衡转换问题,其计算公式如下所示:
(1)
其中
表示当前次数;
表示最大迭代次数。在每次迭代中,
在(0, 1)之间随机变化。当平衡因子
时,算法处于勘测阶段;当平衡因子
时,算法处于开发阶段,随着迭代次数的增加,
不断减小。
2.1. 勘测阶段
由于其独特的身体结构,白鲸能够以不同的姿势感知社会行为。它们与其他白鲸配对,进行同步或镜像模式的运动。按此方式搜索并更新公式,如下所示:
(2)
其中
表示第i条白鲸在第j维的新位置;
是从d维中选择的随机整数;
是第i条白鲸在
维的位置;
和
分别是第i条和第r条白鲸的当前位置;
和
是(0, 1)之间的随机数;
和
表示镜像白鲸的鳍朝向水面。
2.2. 开发阶段
白鲸优化算法的设计灵感源自于自然界中白鲸群体的协同捕食行为。在这一模拟过程中,算法通过模拟白鲸之间的合作和位置信息共享来探索并优化解空间,以寻找问题的最优解。在开发阶段引入了Lévy游走策略。假设白鲸群体采用莱维游走策略捕捉猎物,在开发阶段的白鲸位置更新表达式如下:
(3)
其中
和
分别表示第i条白鲸和随机白鲸的当前位置;
是第i条白鲸的新位置;
是白鲸种群中的最佳位置;
和
是(0, 1)之间的随机数;
表示随机跳跃度,用于衡量莱维游走的强度,其计算公式为:
(4)
是莱维游走函数,计算公式为:
(5)
(6)
其中,
和
为正态分布随机数;
为默认常数(
)。
2.3. 觅食和储存策略
在海洋中,白鲸既是捕食者又是猎物。其他捕食者可能会攻击白鲸,并在觅食过程中导致鲸鱼坠落。大多数白鲸通过合作来躲避捕食者的攻击,然而,一些白鲸仍被猎杀,最终落入海底。鲸鱼坠落概率
来模拟白鲸被杀死的可能性。它使用一个公式来更新坠入深海后死去的白鲸的位置。具体公式如下:
(7)
其中,
是(0, 1)之间的随机数;
是鲸鱼坠落的步长,其计算公式为:
(8)
其中,
和
分别为变量的上界和下界。s是与鲸鱼坠落概率
和种群规模相关的阶跃因子,其计算公式为:
(9)
其中,鲸鱼坠落概率
为线性函数,计算公式如下:
(10)
3. 改进白鲸优化算法
基本BWO算法虽然已经具有良好的寻优能力,但在解决复杂优化问题时存在收敛精度低、自适应能力差和易陷入局部最优等问题。本文从佳点集、镜面反射学习策略初始化、信息共享策略的角度出发,对基本BWO算法进行改进,以此改善种群初始解的质量和提高算法的全局收敛性。
3.1. 佳点集策略
佳点集是一种有效的均匀选点方法[14]。由佳点集的定义,设GD是D维欧式空间中的单位立方体,若
,其形式为:
(11)
其偏差满足
(12)
则称
为佳点集,r为佳点,其中
是是只与r、
有关的常教,取
,p是满足
的最小素数,用n个佳点构成的加权和比采用任何其他n个点所得到的误差都要少,并尤其适用于高维空间的近似计算。
3.2. 镜面反射学习策略
如图1(a)所示,在光学中,入射光和反射光之间存在关系。基于相似的想法,如图1(b)所示对当前解和反向解进行建模。设O点为区间
的中点
,
是区间
的任一点,
是X的镜面对应点。通过如下公式计算:
Figure 1. The schematic diagram of specular reflection learning
图1. 镜面反射学习示意图
Figure 2. Flowchart of the improved beluga whale optimization algorithm
图2. 改进的白鲸优化算法流程图
(13)
(14)
根据光学性质可得:
(15)
当
取不同值时,
可以遍历区间
中的所有值。设
是镜面中的一点,其镜面对应点
可由如下公式计算:
(16)
3.3. 信息共享策略
由于白鲸优化算法对于整体搜索不充分,未充分利用白鲸群体在合作搜索食物时共享信息,降低算法的搜索精度收敛速度[15]。本文采用信息共享搜索策略,实现对领域信息的充分搜索,其过程如下所示:
(17)
其中r是(0, 1)内均匀分布的随机数。
是基于概率的变量,确定种群中的个体采用何种信息共享
方式,为了使种群中的个体能以同等概率选择每种领域搜索方式,
取值为
;
表示领域
学习系数;
取值为0或1的长度为dim的序列,体现了i个体随机交换j个体的某些维度的信息。
表示满足levy分布的随机数。图2给出了具体流程图。
4. 实验结果与分析
算法所在的实验平台Window10,64bit系统,16 GB内存。所有算法种群规模为30,迭代次数为1000,采用Matlab2022a进行仿真实验。
本文选取了基准测试函数对实验进行了测试,表1中详细地列出了各个测试函数。将本文所提出改进的白鲸优化算法(SRISBWO)与粒子群算法(PSO)、灰狼优化算法(GWO)、鲸鱼优化算法(WOA)和基本白鲸优化算法(BWO)进行对比实验,并将30次实验结果求得平均值。如表2所示,各种算法的函数值及标准偏差。如图3(a)~(h)所示,8个标准测试函数的优化收敛的效果。
Table 1. Test set function
表1. 测试集函数
函数表达式 |
维度 |
取值范围 |
Fmin |
|
30 |
[−100, 100] |
0 |
|
30 |
[−10, 10] |
0 |
|
30 |
[−100, 100] |
0 |
续表
|
30 |
[−100, 100] |
0 |
|
30 |
[−30, 30] |
0 |
|
30 |
[−100, 100] |
0 |
|
30 |
[−50, 50] |
0 |
|
30 |
[−50, 50] |
0 |
Table 2. Comparison of test results
表2. 测试结果对比
测试函数 |
PSO |
GWO |
WOA |
BWO |
SCGWO |
平均值 |
标准偏差 |
平均值 |
标准偏差 |
平均值 |
标准偏差 |
平均值 |
标准偏差 |
平均值 |
标准偏差 |
|
0.23 |
0.15 |
1.05e−70 |
1.1e−70 |
4.6e−171 |
0 |
0 |
0 |
0 |
0 |
|
3.73 |
6.75 |
4.34e−41 |
4.2e−41 |
3.3e−110 |
1.0e−109 |
1.06e−263 |
0 |
0 |
0 |
|
57.07 |
17.99 |
7.20e−19 |
1.8e−18 |
16096.01 |
7614.86 |
0 |
0 |
0 |
0 |
|
1.45 |
0.13 |
1.16e−17 |
1.1e−17 |
30.9 |
26.53 |
1.66e−254 |
0 |
0 |
0 |
|
80339.02 |
22320.43 |
97.17 |
0.93 |
97.42 |
0.59 |
4.24e−15 |
8.33e−15 |
0 |
0 |
|
0.14 |
0.06 |
0.35 |
0.32 |
0.005 |
0.004 |
2.53e−28 |
2.89e−28 |
0 |
0 |
|
0.001 |
0.0009 |
0.026 |
0.009 |
0.001 |
0.002 |
7.88e−26 |
1.25e−25 |
1.5e−32 |
2.8e−48 |
|
0.064 |
0.036 |
0.41 |
0.14 |
0.044 |
0.036 |
6.10e−25 |
1.56e−24 |
1.3e−32 |
2.8e−48 |
(a) (b)
(c) (d)
(e) (f)
(g) (h)
Figure 3. The convergence curve diagrams (a)~(h) of functions F1~F8
图3. 函数F1~F8的收敛曲线图示(a)~(h)
5. 结论
针对白鲸优化算法历史信息和领域信息探索不充分导致的算法搜索精度低、容易陷入局部最优的问题,本文提出了一种佳点集、镜面反射学习策略与信息共享策略的白鲸优化算法。引入佳点集和镜面反射学习策略,不仅保证了遍历性和随机性,而且生成高质量的初始白鲸种群。通过白鲸个体之间相互学习,实现整个白鲸群个体之间信息的充分交流与共享,更好地平衡算法的全局开拓能力和局部开发能力。在算法测试过程中,通过8个标准检验函数对改进的白鲸优化算法性能进行了全面评估,将其与其他几种算法进行了比较。仿真结果表明,改进的白鲸优化算法具有较强的稳定性和健壮的鲁棒性。