Multi-subpopulation Based Symbiosis and Non-uniform Gaussian Mutation Salp Swarm Algorithm
-
摘要: 针对樽海鞘群算法求解精度不高和收敛速度慢等缺点, 提出一种多子群的共生非均匀高斯变异樽海鞘群算法. 根据不同适应度值将樽海鞘链群分为三个子种群, 各个子种群分别进行领导者位置更新、追随者共生策略和链尾者非均匀高斯变异等操作. 使用统计分析、收敛速度分析、Wilcoxon检验、经典基准函数和CEC 2014函数的标准差来评估改进樽海鞘群算法的效率. 结果表明, 改进算法具有更好的寻优精度和收敛速度. 尤其在求解高维和多峰测试函数上, 改进算法拥有更好性能.Abstract: In order to solve the problem that the standard salp swarm algorithm has a small convergent rate and low result precision in the evolutionary process, an improved algorithm called multi-subpopulation based symbiosis and non-uniform Gaussian mutation salp swarm algorithm (MSNSSA) is proposed in this paper. According to the different fitness values, the salp chain population is divided into three sub-populations, which perform the operations of leader position update, follower symbiosis strategy and chain tail non-uniform Gaussian mutation, respectively. The efficiency of the MSNSSA is evaluated using statistical analysis, convergence rate analysis, Wilcoxon's test, standard deviations on classical benchmark functions and modern CEC 2014 functions. The results show that the MSNSSA has better optimization accuracy and convergence rate. Especially, in solving the high-dimension and multimodal function optimization problem, the improved algorithm has better performance.
-
近年, 元启发式算法作为一种有效的演化计算技术, 已受到众多学者的重视. 元启发式算法是指受到生物行为和物理现象的启发提出的一类算法, 其核心思想是实现搜索过程中随机性行为和局部搜索的平衡. 常用的元启发式算法包括粒子群算法 (Particle swarm optimization, PSO)[1]、正弦余弦算法 (Sine cosine algorithm, SCA)[2]、蝴蝶优化算法 (Butterfly optimization algorithm, BOA)[3]、飞蛾扑火优化算法 (Moth-flame optimization algorithm, MFO)[4]、大红斑蝶优化算法 (Monarch butterfly optimization, MBO)[5]、蚯蚓优化算法[6]、大象放牧优化 (Elephant herding optimization, EHO)[7]等. 这些算法已成功应用于各种科学领域, 如过程控制、生物医学信号处理、图像处理以及许多其他工程设计问题.
樽海鞘群算法 (Salp swarm algorithm, SSA)[8]提出的一种新型启发式智能算法. 樽海鞘群算法相对于粒子群算法等其他算法, 具有结构简单、参数少、容易实现等优点. 虽然樽海鞘群算法在求解大部分优化问题具有优越性, 但与其他群智能算法一样, 仍然存在求解精度低和收敛速度慢等缺陷. 文献[9]提出固定惯性权重, 可以加快搜索过程中的收敛速度, 并应用于特征选择问题. 文献[10]把樽海鞘群算法和混沌理论结合提出混沌樽海鞘群算法, 在解决特征提取问题时, 能发现最优特征子集, 最大程度地提高分类精度, 最小化所选特征的数目. 文献[11]提出采用子群规模调整, 每个子种群的大小随着进化的过程而逐渐增加, 有利于提高算法在初始阶段的探测能力和后期的开采能力. 文献[12]在算法中加入共享机制, 改进原始算法的随机追踪的位置更新公式, 降低搜索盲目性, 提高收敛速度. 文献[13]提出非均匀变异演化算法, 使个体能够跳出局部最优, 以克服早熟现象. 文献[14]通过高斯变异来增强蝙蝠算法种群的多样性.
为解决标准樽海鞘群算法存在的求解精度不高和收敛速度慢等问题, 本文提出了一种多子群的共生非均匀高斯变异樽海鞘群算法 (Multi-subpopulation based symbiosis and non-uniform Gaussian mutation salp swarm algorithm, MSNSSA). 根据适应度值大小, 将种群分为领导者、追随者和链尾者三个子群. 首先对领导者位置更新公式中参数c1进行分析, 以更好平衡探索和开发能力; 然后对追随者位置更新公式采用共生策略, 增加与最优个体的交流, 增强局部开发能力; 最后链尾者更新使用非均匀高斯变异, 增强种群多样性. 通过求解14个典型测试函数和CEC 2014测试函数的最优解, 验证了改进算法MSNSSA的有效性和鲁棒性.
1. 樽海鞘群算法
在樽海鞘群算法[8]中, 樽海鞘链由领导者和追随者两种类型的樽海鞘组成. 领导者是位于樽海鞘链的最前面, 而其他个体则为追随者的角色. 随机初始化种群:
$${X_{N \times d}}={\rm rand}(N,d) \times (ub - lb)+lb$$ (1) 其中, N为樽海鞘群的规模, d为空间维数.
在SSA中, 食物源的位置是所有樽海鞘个体的目标位置, 即探索过程中全局最优解, 影响着领导者位置更新. 领导者的位置更新公式如下所示:
$$x_j^i=\left\{ \begin{array}{l} {F_j}+{c_1}((u{b_j} - l{b_j}){c_2}+l{b_j}){\rm{ }},{c_3} \geq 0.5 \\ {F_j} - {c_1}((u{b_j} - l{b_j}){c_2}+l{b_j}){\rm{ }},{c_3} < 0.5 \\ \end{array} \right.$$ (2) 式中,
$x_j^i$ 为第i只樽海鞘(领导者)在第j维空间的位置; Fj为食物源在第j维空间的位置, 即在搜索空间中整个樽海鞘群的搜索目标为食物源; ubj为在第j维空间的上限; lbj为在第j维空间的下限; c2和c3为区间[0, 1]内产生的随机数.由式(2)可知, 领导者位置更新主要受到食物源位置影响. 其中参数c1定义如下:
$${c_1}=2{{\rm e}^{ - {{(\frac{4t}{T_{\max }})}^m}}}$$ (3) 式中, t为当前迭代次数, Tmax为最大迭代次数, 幂系数m = 2 [8]. 参数c1在迭代过程中自适应降低, 当值较大时, 有助于提升探索能力. 而当值较小时, 则有助于具体开发能力. 系数c1可以使SSA的探索能力和开发能力处于较好状态. 因而系数c1是樽海鞘群算法中最重要的参数.
为更新追随者的位置, 使用以下公式:
$$x_j^i=\frac{a{t^2}}2+{v_0}\Delta t+x_j^i$$ (4) 式中, i ≥ 2,
$x_j^i$ 为第i只追随者在第j维空间的位置, Δt为时间, v0为初速度, 加速度a = (vt − v0)/Δt, 其中,${v_t}=(x_j^{i - 1} - x_j^i)/\Delta t$ ,$x_j^{i - 1}$ 为第$i - 1$ 只樽海鞘在j维空间的位置. 因为, 时间即为迭代次数之差, 故Δt = 1, 并且初速度v0 = 0, 式(4)可表示为:$$x_j^i:=\frac{x_j^i+x_j^{i - 1}}2$$ (5) 其中, 由式(2)和式(5)可以模拟樽海鞘链的行为机制.
2. 多子群的共生非均匀高斯变异樽海鞘算法
智能算法的核心是为了寻求探索能力和开发能力的平衡, 为了实现这一点. 本文在标准樽海鞘群算法基础上, 以最小化问题为例, 保持原种群个体数目不变的条件下, 按照适应度值从小到大, 均匀地把原有种群分为领导者、追随者和链尾者三个子群体. 这三种子群体执行不同的更新策略, 分别侧重于平衡搜索、局部搜索和全局搜索. 并结合相应的进化策略, 改善算法的优化性能. 具体描述如下.
2.1 SSA算法参数分析
领导者位置更新式(2)中, 参数c1可以使SSA的探索能力和开发能力处于较好状态. 因而系数c1是樽海鞘群算法中最重要的参数. 式中的幂系数m的取值大小对算法探索能力和开发能力起到至关重要的作用. 本文选取m从1.0到3.5之间分析对算法性能的影响. 图1为m取不同数值时, 随迭代次数增加参数c1从2递减到0的变化曲线.
选取Schaffer测试函数对参数进行分析, 该函数在距全局最优点大约3.14范围内存在无穷多个局部极小将其包围, 并且函数强烈振荡. 实验时, 设定最大迭代次数为1000, 改变幂系数m后对Schaffer测试函数进行100次寻优计算, 则m对算法性能的影响如表1所示.
表 1 参数m对SSA的影响Table 1 Influence of parameter m on SSAm 最佳值 平均值 标准差 平均收敛代数 1.0 2.98 × 10−8 1.40 × 10−3 2.51 × 10−3 883 1.5 4.67 × 10−9 2.68 × 10−3 4.34 × 10−3 937 2.0 1.20 × 10−14 3.41 × 10−3 4.64 × 10−3 975 2.5 0 0 0 847 3.0 9.72 × 10−3 9.72 × 10−3 2.08 × 10−17 719 3.5 9.72 × 10−3 9.72 × 10−3 1.99 × 10−17 621 如表1所示, 随着幂系数的增加, SSA算法寻优的结果先增加后降低, 当m = 2.5是寻优最优值达到0. 无论是平均值和标准差, m = 2.5时都为最佳. 随着m增加, 平均收敛代数在降低. 虽然此时m = 2.5的平均收敛代数没有m = 3.0和3.5时的效果好, 但是m = 2.5的寻优结果要比其余都要好. 结合图1分析可知, 当m = 2.5时, 迭代前期参数c1变化较快, 能较好维持算法的全局搜索能力, 迭代后期c1变化较慢, 能有效提高算法的局部寻优能力, 从而取得良好的寻优效果. 综上可知, 当m = 2.5时, 参数c1能使SSA算法的探索能力和开发能力处于更好的平衡状态.
2.2 共生策略
由式(5)追随者位置更新公式产生的新个体直接替换原个体, 此更新方式存在以下缺点: 1)更新后的追随者个体不管适应度值好与坏都直接替换原有个体, 具有一定盲目性, 会导致收敛速度降低; 2)第i只樽海鞘位置会根据第i和i – 1只樽海鞘位置进行更新, 对先前个体依懒性较强, 缺乏与其他个体学习的部分. 若追随者的位置是局部最优解, 则会容易陷入局部最优, 出现停滞. 为增强樽海鞘群算法的开发能力. 本文提出一种共生策略对追随者位置进行更新, 公式如下:
$$x_j^i=x_j^i+{\rm{rand}}(0, 1) \times ({F_j} - C \times R)$$ (6) 式中, rand(0, 1)是(0, 1)之间的随机数; Fj为食物源在第j维空间的位置; C =
$(x_j^i+x_j^{i - 1})/2$ 称为共生量, 代表樽海鞘链中第i和i – 1只樽海鞘的关系特征; R的作用解释如下: 在自然界中, 某些互惠关系可能给一个生物带来比另一个生物更大的有益优势. 换句话说, 樽海鞘i与樽海鞘i − 1相互作用时可能会获得巨大的利益. 同时, 樽海鞘i − 1与樽海鞘i相互作用时可能只会获得足够的利益或没有那么显着的利益. 式中受益因子R是随机确定的1或2. 这些因素代表樽海鞘个体是部分或全部受益于相互作用. 经式(6)新产生的追随者需判断适应度值是否优劣后再替换原有个体.在式(6)追随者位置更新策略中, 增加了社会部分rand(0, 1) × (Fj−C×R), 使种群中的最优个体参与追随者的进化. 与原来追随者更新式(5)只使用第i和i – 1只樽海鞘位置进行信息交流的方式相比, 社会部分引入更多组合模式, 使其不再单一围绕前一个追随者附近搜索, 即将追随者从原个体位置指引到食物源位置所在附近. 从而提高算法的开发能力.
2.3 非均匀高斯变异
处于樽海鞘链尾端个体的适应度值较差, 被分类为链尾者子群. 对于这类樽海鞘个体可以很好地保留自身信息, 而不是一味地朝着领导者移动. 为增强种群多样性, 本文为适应度值较差的链尾者提出一种非均匀高斯变异策略, 其更新如下:
$$x_j^i=x_j^i+\Delta (t,GD_t^i)$$ (7) $$\Delta (t,y)=y(1 - {r^{{{(\frac{1 - t}{T_{\max }})}^b}}})$$ (8) $$GD_t^i=N(({F_j} - x_j^i),\sigma )$$ (9) 式中,
$\Delta (t,GD_t^t)$ 为非均匀变异步长, 是一种通过高斯分布($GD_t^t$ )自适应调节步长的变异算子; r为[0, 1]区间均匀产生的随机数; b为系统参数, 决定变异计算的非均匀程度, 取值为b = 2 [13]; Fj为食物源在第j维空间的位置; σ为高斯分布标准差.非均匀高斯变异策略有如下特色: 1)其更新对象为种群中适应度最差的樽海鞘个体, 而不是当前种群中的全部个体, 降低变异计算复杂度. 2)由式(7)可知, 对链尾者更新公式以个体自身为基准, 选择食物源位置与当前个体进行高斯分布后自适应调整变异步长的学习策略. 该更新方式有利于保持种群多样性, 进一步增强算法全局搜索能力.
综上所述, 通过把原有算法种群分类为领导者、追随者和链尾者三个子群, 分别对其执行不同的搜索任务. 领导者子群负责平衡算法探索能力和开发能力. 追随者子群负责增强算法开发能力. 链尾者子群负责增强算法探索能力. 进化过程中每一个子群有针对性地进行搜索, 更适合自身的进化需求, 增强算法求解性能.
3. 仿真实验与结果分析
为验证本文提出的MSNSSA在求解优化问题上的有效性和鲁棒性, 将MSNSA算法与加入共生策略的樽海鞘群算法 (记为SSSA)、加入非均匀高斯变异的樽海鞘算法 (记为NSSA)、SSA、PSO[1]、SCA[2]、BOA[3]和MFO[4]在14个典型的标准测试函数[15]最优值求解上独立进行50次对比实验.
实验1. 采用如表2所示14个复杂函数作为适应度函数. 选取的测试函数中包含单峰、多峰、可分和不可分等不同特征的测试函数. 表2中测试函数维度从2维到200维, 可以更加全面地验证算法性能.
表 2 基准函数Table 2 Benchmark function函数 维度 特征 定义域 最佳值 f1 Sphere 10 US [−100, 100] 0 f2 Schwefel 1.2 50 UN [−100, 100] 0 f3 Schwefel 2.21 50 US [−100, 100] 0 f4 Quartic 100 US [−1.28, 1.28] 0 f5 Rosenbrock 100 UN [−30, 30] 0 f6 Step 200 US [−100, 100] 0 f7 Schaffer 2 MN [−100, 100] 0 f8 Foxholes 2 MN [−65.56, 65.56] ≈1 f9 Kowalik 4 MN [−5, 5] 3.075×10−4 f10 Rastrigin 10 MS [−5.12, 5.12] 0 f11 Ackley 50 MN [−32, 32] 0 f12 Griewank 100 MN [−600, 600] 0 f13 Penalized1 100 MN [−50, 50] 0 f14 Penalized2 200 MN [−50, 50] 0 实验最大迭代次数为1000, 种群个数为30, 各算法其余的参数设置如表3所示:
通过50次独立试验后从每种算法获得结果的最佳值、平均值和标准偏差以及求解成功率SR%和平均耗时T等多个实验对比数据如表4所示. 其中求解成功率为计算成功次数除以本次实验的求解次数. 判断一次求解是否成功按照下式:
表 3 参数设置Table 3 Parameter settings算法 主要参数 MSNSSA m = 2.5, R = 1 或 2 SSSA m = 2.0, R = 1 或 2 NSSA m = 2.0 BOA p = 0.8, c = 0.01, a = 0.1 MFO — SCA a = 2 PSO c1 = c2 = 1.5 表 4 基准函数结果对比Table 4 Comparison of benchmark function results函数 算法 最佳值 平均值 标准差 SR (%) T (s) f1 MSNSSA 1.06 × 10−34 5.01 × 10−30 1.30 × 10−29 100 0.80 SSSA 1.53 × 10−18 1.18 × 10−11 3.54 × 10−11 100 0.73 NSSA 3.46 × 10−24 7.94 × 10−15 2.36 × 10−14 100 0.56 SSA 2.52 × 10−10 6.55 × 10−10 2.35 × 10−10 100 0.28 BOA 1.04 × 10−14 1.50 × 10−14 1.83 × 10−15 100 0.44 MFO 1.06 × 10−32 5.64 × 10−29 2.35 × 10−28 100 0.26 SCA 7.48 × 10−32 2.18 × 10−24 1.02 × 10−23 100 0.23 PSO 4.39 × 10−5 2.66 × 10−4 2.10 × 10−4 0 0.25 f2 MSNSSA 3.31 × 10−30 2.84 × 10−27 2.32 × 10−27 100 3.62 SSSA 4.95 × 10−14 1.75 × 10−9 3.26 × 10−9 100 4.79 NSSA 1.91 × 10−21 1.00 × 10−10 4.20 × 10−10 100 3.32 SSA 1.29 × 103 4.81 × 103 2.25 × 103 0 2.98 BOA 1.59 × 10−14 1.85 × 10−14 1.00 × 10−15 100 5.67 MFO 2.21 × 104 5.52 × 104 2.49 × 104 0 3.09 SCA 1.08 × 104 3.41 × 104 1.46 × 104 0 3.05 PSO 7.10 × 101 1.68 × 102 6.46 × 101 0 2.89 f3 MSNSSA 1.15 × 10−17 2.71 × 10−16 1.65 × 10−16 100 1.03 SSSA 9.96 × 10−9 3.87 × 10−6 5.10 × 10−6 82 0.99 NSSA 3.74 × 10−13 1.55 × 10−8 3.20 × 10−8 100 0.78 SSA 1.11 × 101 1.82 × 101 3.61 × 100 0 0.47 BOA 1.04 × 10−11 1.21 × 10−11 8.36 × 10−13 100 0.65 MFO 6.77 × 101 8.19 × 101 4.86 × 100 0 0.60 SCA 3.65 × 101 5.85 × 101 8.18 × 100 0 0.55 PSO 4.06 × 100 5.90 × 100 1.11 × 100 0 0.40 f4 MSNSSA 1.66 × 10−6 1.16 × 10−5 5.52 × 10−6 38 1.78 SSSA 2.58 × 10−5 1.66 × 10−4 1.38 × 10−4 0 2.03 NSSA 2.09 × 10−5 2.84 × 10−4 2.90 × 10−4 0 1.53 SSA 8.23 × 10−1 1.36 × 100 3.27 × 10−1 0 1.18 BOA 1.36 × 10−4 6.89 × 10−4 3.33 × 10−4 0 2.13 MFO 2.37 × 101 1.78 × 102 1.20 × 102 0 1.52 SCA 3.37 × 100 5.93 × 101 4.20 × 101 0 1.43 PSO 2.10 × 100 4.48 × 100 2.24 × 100 0 1.01 f5 MSNSSA 0 3.99 × 10−28 3.80 × 10−28 100 1.33 SSSA 9.77 × 101 9.78 × 101 8.27 × 10−2 0 1.30 NSSA 4.44 × 10−27 2.48 × 10−12 4.33 × 10−12 100 1.05 SSA 6.60 × 102 2.20 × 103 2.71 × 103 0 0.68 BOA 9.89 × 101 9.89 × 101 2.86 × 10−2 0 1.23 MFO 3.03 × 106 7.18 × 107 5.39 × 107 0 1.02 SCA 2.19 × 107 6.79 × 107 3.34 × 107 0 0.93 PSO 6.47 × 102 1.12 × 103 3.10 × 102 0 0.52 f6 MSNSSA 0 4.56 × 10−29 3.92 × 10−29 100 1.58 SSSA 3.39 × 100 4.93 × 100 6.31 × 10−1 0 1.48 NSSA 2.85 × 10−27 2.27 × 10−13 7.95 × 10−13 100 1.30 SSA 2.16 × 103 3.34 × 103 6.74 × 102 0 0.87 BOA 4.58 × 101 4.83 × 101 8.80 × 10−1 0 1.06 MFO 1.27 × 105 1.82 × 105 2.02 × 104 0 1.61 SCA 5.91 × 103 2.88 × 104 1.53 × 104 0 1.44 表 4 基准函数结果对比 (续表)Table 4 Comparison of benchmark function results (continued table)函数 算法 最佳值 平均值 标准差 SR (%) T (s) f6 PSO 4.43 × 101 7.07 × 101 1.11 × 101 0 0.63 f7 MSNSSA 0 0 0 100 0.82 SSSA 0 8.61 × 10−13 1.54 × 10−12 100 0.80 NSSA 0 1.60 × 10−14 2.62 × 10−14 100 0.59 SSA 3.66 × 10−14 5.25 × 10−3 4.89 × 10−3 46 0.33 BOA 1.68 × 10−14 1.04 × 10−2 4.35 × 10−3 2 0.93 MFO 0 8.16 × 10−3 3.60 × 10−3 16 0.27 SCA 0 4.92 × 10−7 3.48 × 10−6 98 0.25 PSO 6.15 × 10−9 3.30 × 10−3 4.65 × 10−3 62 0.30 f8 MSNSSA 9.98 × 10−1 9.98 × 10−1 6.34 × 10−17 100 2.68 SSSA 9.98 × 10−1 9.98 × 10−1 2.21 × 10−16 100 3.51 NSSA 9.98 × 10−1 9.98 × 10−1 1.21 × 10−16 100 2.40 SSA 9.98 × 10−1 1.22 × 100 6.11 × 10−1 86 2.11 BOA 9.98 × 10−1 1.16 × 100 3.69 × 10−1 26 4.63 MFO 9.98 × 10−1 2.28 × 100 2.05 × 100 52 2.05 SCA 9.98 × 10−1 1.51 × 100 8.79 × 10−1 34 2.03 PSO 9.98 × 10−1 1.38 × 100 8.44 × 10−1 66 2.08 f9 MSNSSA 3.07 × 10−4 3.08 × 10−4 1.47 × 10−7 8 0.96 SSSA 3.07 × 10−4 4.29 × 10−4 1.56 × 10−4 0 0.98 NSSA 3.08 × 10−4 4.48 × 10−4 2.29 × 10−4 0 0.71 SSA 4.83 × 10−4 3.22 × 10−3 6.40 × 10−3 0 0.45 BOA 3.12 × 10−4 3.66 × 10−4 5.91 × 10−5 0 1.17 MFO 3.20 × 10−4 9.25 × 10−4 3.45 × 10−4 0 0.39 SCA 3.27 × 10−4 8.72 × 10−4 3.79 × 10−4 0 0.37 PSO 3.22 × 10−4 1.15 × 10−3 2.80 × 10−3 0 0.41 f10 MSNSSA 0 0 0 100 0.95 SSSA 0 9.59 × 10−11 1.35 × 10−10 100 0.95 NSSA 0 6.62 × 10−14 1.25 × 10−13 100 0.71 SSA 1.99 × 100 5.33 × 100 1.27 × 100 0 0.43 BOA 0 2.93 × 101 1.81 × 101 20 1.10 MFO 5.97 × 100 2.32 × 101 1.22 × 101 0 0.40 SCA 0 6.31 × 10−1 3.16 × 100 90 0.38 PSO 3.01 × 100 1.01 × 101 4.25 × 100 0 0.38 f11 MSNSSA 4.44 × 10−15 2.01 × 10−14 1.77 × 10−14 100 1.15 SSSA 1.14 × 10−8 1.46 × 10−6 2.17 × 10−6 100 1.16 NSSA 4.44 × 10−15 4.74 × 10−8 7.31 × 10−8 100 0.89 SSA 1.56 × 100 1.97 × 100 1.58 × 10−1 0 0.59 BOA 1.06 × 10−11 1.22 × 10−11 5.97 × 10−13 100 1.25 MFO 1.09 × 101 1.91 × 101 1.81 × 100 0 0.72 SCA 3.55 × 10−2 1.70 × 101 7.24 × 100 0 0.69 PSO 4.48 × 100 6.78 × 100 1.03 × 100 0 0.50 f12 MSNSSA 0 0 0 100 1.50 SSSA 1.19 × 10−14 4.83 × 10−10 1.18 × 10−9 100 1.57 NSSA 0 1.93 × 10−13 4.31 × 10−13 100 1.22 SSA 2.11 × 10−1 3.28 × 10−1 3.39 × 10−2 0 0.86 BOA 3.11 × 10−15 1.34 × 10−14 6.68 × 10−15 100 1.51 表 4 基准函数结果对比 (续表)Table 4 Comparison of benchmark function results (continued table)函数 算法 最佳值 平均值 标准差 SR (%) T (s) f12 MFO 3.82 × 101 2.80 × 102 1.19 × 102 0 1.19 SCA 9.68 × 100 5.36 × 101 4.38 × 101 0 1.12 PSO 8.91 × 101 1.17 × 102 1.36 × 101 0 0.79 f13 MSNSSA 4.78 × 10−33 4.97 × 10−29 9.06 × 10−29 100 4.34 SSSA 3.01 × 10−2 5.40 × 10−2 1.13 × 10−2 0 5.63 NSSA 4.83 × 10−28 3.29 × 10−16 5.56 × 10−16 100 4.00 SSA 3.04 × 101 4.57 × 101 9.46 × 100 0 3.61 BOA 9.80 × 10−1 1.11 × 100 5.44 × 10−2 0 6.74 MFO 7.21 × 108 1.31 × 109 2.86 × 108 0 4.38 SCA 3.71 × 108 1.01 × 109 3.02 × 108 0 4.24 PSO 3.75 × 100 5.75 × 100 1.01 × 100 0 3.30 f14 MSNSSA 1.35 × 10−32 3.61 × 10−27 7.51 × 10−27 100 2.88 SSSA 5.36 × 100 9.72 × 100 8.22 × 10−1 0 3.61 NSSA 2.50 × 10−26 1.18 × 10−14 4.32 × 10−14 100 2.56 SSA 1.34 × 102 1.76 × 102 2.38 × 101 0 2.22 BOA 9.98 × 100 9.99 × 100 4.50 × 10−3 0 4.21 MFO 8.43 × 106 2.38 × 108 1.98 × 108 0 2.51 SCA 8.61 × 107 3.31 × 108 1.46 × 108 0 2.49 PSO 1.07 × 102 1.46 × 102 2.28 × 101 0 1.99 $$\left\{ \begin{aligned} &\frac{|{F_A} - {F_T}|}{F_T} < {10^{ - 5},}&{F_T} \ne 0 \\ & |{F_A} - {F_T}| < {10^{ - 5}},&{F_T}=0 \end{aligned} \right.$$ (10) 式中, FA为每次实际求解最佳值, FT为测试函数理论最佳值.
首先, 对于表4中的最优值、平均值都可以反应算法的收敛精度和寻优能力. 对于6个单峰函数f1 ~ f6, MSNSSA在求解f5和f6函数时, 寻优精度达到理论最优值0. 同时, 随着搜索空间维度的增加, 寻优收敛精度f1至f4函数有所下降, 因为伴随求解维度的增加, 对于算法求解难度也呈指数级别递增, 所以算法的收敛精度有所降低. 随着维度增加SSA、SCA、MFO算法求解精度较差, 其中SCA算法求解100维的Rosenbrock时与理论最优值存在1.0 × 107级的误差. 对于只引入共生策略的SSSA和引入非均匀高斯变异的NSSA两种算法的寻优精度较和标准差都比原始SSA要好, 这说明引入不同策略可增强算法性能. 而MSNSSA相对与其他几种算法寻优精度和标准差都要好, 且求解部分单峰函数达到理论最优值. 对于8个多峰函数f7 ~ f14, 算法求解精度相对于单峰函数要低一些. 同样, 随着维度增加算法求解精度也有所降低. 当维度增加到200维时, SSA算法与理论最优值存在1.0 × 102级的误差. MSNSSA算法在求解8个多峰函数中, 有5个都达到了理论最优值. 在求解函数f7和f10 时, 包括MSNSSA在内的其余4种算法都达到了理论最优值, 但MSNSSA的平均值比其他几种算法都要好. 在求解函数f8时, 8种算法都达到了理论最优值, 但MSNSSA、SSSA和NSSA三种算法的平均值比其他算法好. 求解其他函数时, MSNSSA算法比其他算法的精度都较高. 另外SSSA和NSSA比标准SSA寻优结果基本较好, 进一步说明加入不同策略对算法性能有所提升. 可见MSNSSA算法在求解单峰、多峰、可分、不可分以及高维的基准函数时都有明显的优势.
其次, 表4中标准差和成功率可以反映算法的稳定性和跳出局部最优的能力. MSNSSA算法独立50次计算的都很接近理论最优值、标准差也较小. 说明MSNSSA的寻优求解有着一定的稳定性. 另外, MSNSSA算法标准差始终都要比另外几种算法要优秀, 进一步验证了MSNSSA的有效性. 14个基准函数中有单峰、多峰、低维和高维, 除了f4和f9函数, MSNSSA在成功率基本上为100%, 而标准SSA在f1函数的成功率为100%以外, 其余基准函数成功率几乎为0. 随着搜索维度的增加, 标准SSA在寻优求解能力上表现出很大不足. 特别是在求解多维函数时, 最优值和成功率都很差, 说明标准SSA在跳出局部最优的能力较弱. 而在MSNSSA和SSSA中都引入共生策略, 这对算法跳出局部搜索具有很大作用.
从平均耗时来看. 由表4可知, SCA和PSO平均耗时最短, 改进的MSNSSA、SSSA、NSSA这3种算法相对于标准SSA的平均耗时都要大, 此种情况也在合理范围内. 因为算法中引入更多的算子, 使得算法能够搜索到更多解, 导致运行时间变长. 总体来看, MSNSSA平均耗时比另外两种算法增加的并不是很大, 在允许范围内.
图2给出6个基准函数的平均收敛曲线图, 各函数分图图例同图2(f)一致. 由于MSNSSA收敛精度较高, 为了便于观察收敛情况, 本文对寻优适应度值(纵坐标)取以10为底的对数. 由图2可以看出, 在迭代前期, MSNSSA和SSSA两个算法收敛曲线下降很快, 这说明引入共生策略, 增加种群局部探索能力, 使得算法一开始收敛速度就较快. 随着更迭次数的增加MSNSSA算法持续寻优, 在迭代后期也未出现停止状况, 收敛速度比其他算法都要快, 且寻优精度较高. 另外, 在迭代后期MSNSSA比只加入非均匀高斯变异的NSSA收敛速度要快, 说明非均匀高斯变异增强了种群多样, 验证了改进算法的有效性. MSNSSA在函数f7和f10上寻优精度达到理论最优值0. 而标准SSA算法收敛速度慢, 前期和后期都出现不同程度的停滞. 从图2可知, 其他算法在前期和后期都出现停滞现象.
无论单峰、多峰, 还是低维和高维, 对于每个函数MSNSSA比另外7种算法的收敛速度和寻优精度都要好. 由表4可知, 对于函数f7和f10, MSNSSA的最佳值为0. 所以在图2(d)和图2(e)中, MSNSSA曲线后面部分没有显示.
基于50次独立运行算法的平均值和标准差二者之间不相互对比每次运行结果. 文献[16]提出对于改进进化算法性能的评估, 应该进行统计检验. 换而言之, 仅基于平均值和标准偏差值来比较算法还不够. 需要进行统计检验以验证所提出的改进算法比其他现有算法具有显著的改进优势. 为了判断MSNSSA的每次结果是否统计上显著的与其他算法的最佳结果不同, 采用Wilcoxon秩和检验在5%的显著性水平下进行. 表5给出所有基准函数的MSNSSA和其他算法的Wilcoxon秩和检验中计算的p值. 例如如果最佳算法是MSNSSA, 则在MSNSSA与SSSA, MSNSSA 与SSA等之间进行成对比较. 由于最佳算法无法与自身进行比较, 因此, 针对每个函数中的最佳算法标记为N/A, 表示不适用. 这意味着相应的算法可以在秩和检验中没有统计数据与自身进行比较. 符号“+”、 “-”和“=”分别表示MSNSSA的性能要优于、劣于和相当于对比算法. 根据文献[16], 当 p < 0.05时,可以被认为是拒绝零假设的有力验证.
表 5 基准函数Wilcoxon 秩和检验的p值Table 5 p-value for Wilcoxon's rank-sum test on benchmark function函数 SSSA NSSA SSA BOA MFO SCA PSO f1 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 3.92 × 10−5 + 1.16 × 10−13 + 7.05 × 10−18 + f2 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f3 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f4 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f5 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + f6 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + f7 1.26 × 10−19 + 5.96 × 10−18 + 3.23 × 10−20 + 3.31 × 10−20 + 2.61 × 10−17 + 8.22 × 10−2 − 3.31 × 10−20 + f8 3.51 × 10−18 + 4.12 × 10−19 + 1.25 × 10−20 + 1.23 × 10−19 + 1.86 × 10−6 + 1.23 × 10−19 + 1.23 × 10−19 + f9 4.28 × 10−11 + 9.53 × 10−17 + 7.07 × 10−18 + 7.07 × 10−18 + 7.06 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f10 4.67 × 10−19 + 1.14 × 10−12 + 3.31 × 10−20 + 1.69 × 10−18 + 3.30 × 10−20 + 1.82 × 10−3 + 3.31 × 10−20 + f11 5.90 × 10−18 + 6.96 × 10−17 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + f12 3.31 × 10−20 + 1.84 × 10−10 + 3.31 × 10−20 + 3.29 × 10−20 + 3.31 × 10−20 + 3.31 × 10−20 + 3.31 × 10−20 + f13 7.04 × 10−18 + 7.48 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + f14 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + + / = / − 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 11 / 0 / 1 12 / 0 / 0 由表5可知, MSNSSA的p值基本小于0.05. 只有在f7的MSNSSA与SSA时, p值大于0.05. 这表明该算法的优越性在统计上是显著的. 即MSNSSA算法比其他算法具有更高的收敛精度.
所有算法的定量分析是基于14个基准函数的平均绝对误差 (Mean absolute error, MAE). 文献[17]提出对优化算法进行排序, MAE是一种有效且可行的性能指标. 表6给出了这些基准函数的MAE排序, 计算公式如下:
$${{MAE}}=\sum\limits_{i=1}^{{N_f}} \frac{{|{m_i} - {o_i}|} }{N_f}$$ (11) 式中, mi为算法产生的最优结果的平均值, oi为相应基准函数的理论最优值, Nf为基准函数个数. 计算值见表6.
由表6可知, MSNSSA算法排名为1. 与另外7种算法相比, MSNSSA算法提供最小的MAE, 进一步说明MSNSSA算法的有效性. NSSA和SSSA分别排第2名和第3名.
表 6 MAE算法排名Table 6 MAE algorithm ranking算法 MAE 排名 MSNSSA 7.12641 × 10−2 1 NSSA 7.12655 × 10−2 2 SSSA 7.67841 × 100 3 BOA 1.11882 × 101 4 PSO 6.98046 × 101 5 SSA 3.06178 × 102 6 SCA 3.42235 × 107 7 MFO 5.23029 × 107 8 实验2. 为更好评估MSNSSA的有效性和稳定性. 本文还在CEC 2014基准函数中选取部分单峰、多峰、混合和复合类型的函数进行优化求解, 如表7所示. 实验种群规模为30, 最大迭代次数为1000, 维度为30.
表8记录了CEC 2014中部分函数独立运行30次后每种算法的平均值和标准差的结果. CEC 2014函数具有复杂的特征, 因此所有算法都较难找到函数最优值. 根据表8中结果显示, MSNSSA在6个基准函数上都求得比其他5个算法更优的结果. 验证MSNSSA具有较好的有效性和鲁棒性.
表 7 CEC 2014基准函数Table 7 CEC 2014 benchmark function函数 维度 特征 定义域 最佳值 CEC03 30 UN [−100, 100] 300 CEC05 30 MN [−100, 100] 500 CEC18 30 HF [−100, 100] 1800 CEC23 30 CF [−100, 100] 2300 CEC24 30 CF [−100, 100] 2400 CEC25 30 CF [−100, 100] 2500 表 8 CEC 2014优化结果对比Table 8 Comparison of optimization results of CEC 2014函数 指标 MSNSSA SSA BOA MFO SCA PSO CEC03 平均值 3.48173 × 104 7.13409 × 104 7.71258 × 104 1.05168 × 105 5.95030 × 104 4.93113 × 104 标准差 3.98187 × 103 1.97053 × 104 7.95590 × 103 4.35140 × 104 1.31496 × 104 7.30314 × 103 CEC05 平均值 5.20018 × 102 5.20177 × 102 5.21049 × 102 5.20275 × 102 5.21035 × 102 5.20990 × 102 标准差 6.58164 × 10−3 1.35252 × 10−1 6.03943 × 10−2 1.73345 × 10−1 4.83807 × 10−2 9.88705 × 10−2 CEC18 平均值 2.78893 × 103 1.21041 × 104 4.31418 × 109 2.18893 × 107 3.16304 × 108 5.78922 × 103 标准差 7.12803 × 102 9.17792 × 103 2.03175 × 109 8.30950 × 107 1.92087 × 108 3.37197 × 103 CEC23 平均值 2.50000 × 103 2.63108 × 103 2.50000 × 103 2.67493 × 103 2.71333 × 103 2.61612 × 103 标准差 0 7.36331 × 100 0 4.24126 × 101 2.39342 × 101 1.24951 × 100 CEC24 平均值 2.70000 × 103 2.71750 × 103 2.70000 × 103 2.71882 × 103 2.73876 × 103 2.72053 × 103 标准差 0 5.83456 × 100 0 8.00616 × 100 7.90888 × 100 6.35266 × 100 CEC25 平均值 2.60000 × 103 2.64087 × 103 2.60000 × 103 2.68247 × 103 2.61048 × 103 2.63564 × 103 标准差 0 7.27821 × 100 0 3.48329 × 101 1.81045 × 101 1.02263 × 101 为比较本文的多子群MSNSSA算法与其他多子群算法和改进樽海鞘群算法的优劣. 其中, MFOA-SQP (Multiple subgroups fruit fly optimization algorithm based on sequential quadratic programming local search)[18]是基于局部搜索的多子群果蝇优化算法, 鸡群算法 (Chicken swarm optimization, CSO)[19]是一种新型的天然多种群优化算法, HCPSO (Improved particle swarm optimization based on hierarchical autonomous learning)[20]是基于分层自主学习的改进粒子群优化算法, DMS-PSO (Dynamic multi-Swarm PSO)[21]是动态多子群粒子群优化算法, PSO-SMS (Self-adaptive multi-swarm PSO)[11]是自适应多子群粒子群优化算法, CASSA (Crazy and adaptive salp swarm algorithm)[22]是疯狂自适应的樽海鞘群算法, CESSA (Chaotic and elite centroid stretching mechanism salp swarm algorithm)[23]是混沌精英质心拉伸机制樽海鞘群算法, ICMOABC (Interval cooperative multi-objective artificial bee colony algorithm)[24]是区间合作多目标人工蜂群算法, HCMOIWO (Hybrid cooperative multi-objective optimization invasive weed optimization)[25]是混合合作多目标优化入侵杂草优化, MPEA (Multi-population evolutionary algorithm)[26]多子群进化算法. 各算法在种群数量为50, 搜索维度为30维, 迭代次数为2000的情况下, 将本文改进算法独立运行50次后与其他参考文献的几种多子群算法和改进樽海鞘群算法进行对比, 引用文献[18]和文献[20]的数据见表9和表10.
表 9 与参考文献中算法均值的对比Table 9 Comparison of the mean with algorithm in references算法 f1 f2 f3 f4 f5 f6 f7 MSNSSA 7.35 × 10−36 9.69 × 10−32 1.47×10−21 3.53 × 10−6 0 0 0 MFOA-SQP[18] 0 5.62 × 10−11 5.96 × 10−6 5.71 × 10−3 2.88 × 101 2.53 × 10−4 0 CSO[19] 0 1.79 × 10−9 1.63 × 10−5 6.15 × 10−4 1.65 × 102 6.06 × 10−3 0 HCPSO[20] 8.71 × 10−28 3.39 × 10−3 1.38 × 10−2 2.57 × 10−4 3.14×10−5 5.76 × 10−3 3.68 × 10−10 DMS-PSO[21] 4.29 × 10−12 4.54 × 10−6 2.06 × 101 1.07 × 10−2 2.77 × 101 5.68 × 10−2 7.31 × 10−4 PSO-SMS[11] 3.55 × 10−20 9.82 × 10−8 1.53 × 10−5 2.09 × 10−2 2.59 × 101 3.54 × 10−4 7.19 × 10−3 CASSA[22] 9.35 × 10−147 2.84×10−52 8.66 × 10−6 1.88 × 10−5 2.77 × 101 9.81 × 10−2 0 CESSA[23] 2.50 × 10−23 4.22 × 10−3 1.73 × 10−15 5.90 × 10−5 2.86 × 101 7.51 × 10−2 0 EHO[5] 9.63 × 10−7 4.71 × 10−4 6.93 × 10−1 1.25 × 10−5 2.85 × 101 6.55 × 100 6.30 × 10−5 EWA[6] 7.25 × 101 2.15 × 100 2.48 × 10−5 1.10 × 10−1 5.14 × 103 2.74 × 103 9.93 × 10−3 MBO[7] 8.53 × 10−3 4.17 × 10−4 2.66 × 10−1 4.46 × 10−1 2.05 × 10−7 1.42 × 100 1.52 × 10−2 MABC[24] 6.02 × 10−4 6.53 × 10−6 9.55 × 100 1.07 × 10−2 2.25 × 10−8 5.98 × 100 2.91 × 10−1 MIWO[25] 3.17 × 10−5 5.41 × 10−10 9.34 × 10−13 8.41 × 10−3 5.28 × 10−1 7.68 × 10−2 4.50 × 10−1 MPEA[26] 2.70 × 10−11 1.52 × 10−20 1.04 × 10−2 2.35 × 10−1 6.74 × 10−12 3.26 × 10−5 8.74 × 10−3 算法 f8 f9 f10 f11 f12 f13 f14 MSNSSA 9.98 × 10−1 3.08 × 10−4 0 8.88 × 10−16 0 1.39 × 10−34 3.27 × 10−30 MFOA-SQP[18] 9.98 × 10−1 1.06 × 10−3 0 3.55 × 10−15 0 3.71 × 10−6 7.53 × 10−10 CSO[19] 9.98 × 10−1 6.03 × 10−4 1.12 × 10−7 1.24 × 10−12 0 1.64 × 10−7 2.24 × 10−1 HCPSO[20] 9.98 × 10−1 1.40 × 10−2 2.49 × 10−5 2.26 × 10−4 8.67 × 10−5 2.69 × 10−13 4.18 × 10−3 DMS-PSO[21] 2.13 × 100 5.68 × 10−1 3.88 × 101 1.88 × 100 2.24 × 10−2 2.87 × 10−3 6.88 × 10−1 PSO-SMS[11] 9.98 × 10−1 2.09 × 10−2 1.53 × 101 2.99 × 100 7.23 × 10−2 1.12 × 10−5 1.76 × 10−8 CASSA[22] 9.98 × 10−1 4.81 × 10−3 0 8.88 × 10−16 0 2.33 × 10−20 1.68 × 10−2 CESSA[23] 9.98 × 10−1 2.59 × 10−3 1.48 × 101 1.06 × 10−2 2.88 × 10−1 5.68 × 10−18 2.62 × 101 EHO[5] 1.67 × 100 1.27 × 10−1 1.21 × 10−6 2.39 × 10−4 1.89 × 10−6 1.35 × 10−1 6.86 × 101 EWA[6] 1.50 × 100 1.76 × 10−3 3.10 × 101 3.05 × 100 1.53 × 100 5.77×10−1 1.35 × 10−3 MBO[7] 9.98 × 10−1 1.78 × 10−1 5.86 × 10−1 1.13 × 10−1 8.05 × 10−1 7.20 × 10−15 7.12 × 10−1 MABC[24] 1.41 × 100 4.32 × 10−4 4.15 × 10−2 2.05 × 10−1 5.63 × 10−2 8.05 × 10−9 1.18 × 10−2 MIWO[25] 1.89 × 100 1.01 × 10−2 4.62 × 10−1 1.86 × 10−1 3.29 × 10−2 1.98 × 10−1 1.35 × 10−3 MPEA[26] 9.98 × 10−1 1.46 × 10−3 6.38 × 10−6 2.84 × 10−1 4.38 × 10−7 2.01×10−6 2.27 × 10−5 表 10 与参考文献中算法标准差的对比Table 10 Comparison of the standard deviation with algorithms in reference算法 f1 f2 f3 f4 f5 f6 f7 MSNSSA 1.04 × 10−35 4.52 × 10−32 4.75×10−21 1.75 × 10−6 0 0 0 MFOA-SQP[18] 0 2.20 × 10−11 2.03 × 10−6 4.12 × 10−3 5.10 × 10−2 2.17 × 10−4 0 CSO[19] 0 1.04 × 10−9 4.73 × 10−6 3.12 × 10−2 7.39 × 102 4.75 × 10−3 0 HCPSO[20] 3.55 × 10−28 2.04 × 10−3 5.80 × 10−3 1.88 × 10−5 1.07 × 10−4 3.48 × 10−3 5.97 × 10−10 DMS-PSO[21] 3.00 × 10−11 2.23 × 10−5 7.48 × 100 1.03 × 10−3 2.69 × 100 4.87 × 10−2 3.81 × 10−1 PSO-SMS[11] 4.61 × 10−20 1.47 × 10−7 4.65 × 10−6 2.50 × 10−3 2.19 × 100 2.21 × 10−4 1.57 × 10−4 CASSA[22] 2.32 × 10−147 2.27×10−50 4.15 × 10−6 1.21 × 10−5 1.16 × 10−1 4.08 × 10−2 0 CESSA[23] 1.84 × 10−23 1.51 × 10 −2 1.25 × 10−13 5.08 × 10−5 4.89 × 10−2 3.11 × 10−2 0 EHO[5] 1.26 × 10−7 8.23 × 10−4 8.44 × 10−1 1.26 × 10−5 1.83 × 10−2 7.56 × 100 6.21 × 10−5 EWA[6] 7.43 × 101 1.54 × 100 7.37 × 10−6 8.73 × 10−2 8.93 × 103 2.58 × 10−3 1.93 × 10−4 MBO[7] 1.28 × 10−4 1.83 × 10−4 3.00 × 100 3.89 × 10−1 3.54 × 10−7 3.65 × 10−1 1.10 × 10−2 MABC[24] 7.23 × 10−3 3.63 × 10−3 1.18 × 100 1.77 × 10−1 3.87 × 10−7 1.21 × 10−1 1.55 × 10−1 MIWO[25] 4.32 × 10−6 1.28 × 10−5 2.21 × 10−12 2.63 × 10−3 7.54 × 10−1 1.82 × 10−2 2.09 × 10−2 MPEA[26] 5.74 × 10−10 4.13 × 10−18 1.80 × 10−1 5.22 × 10−2 3.19 × 10−10 2.63−6 3.56 × 10−1 算法 f8 f9 f10 f11 f12 f13 f14 MSNSSA 2.95 × 10−23 3.56 × 10−8 0 0 0 3.56 × 10−34 7.31 × 10−30 MFOA-SQP[18] 1.13 × 10−1 4.47 × 10−4 0 1.32 × 10−12 0 1.76 × 10−6 5.56 × 10−10 CSO[19] 8.01 × 100 9.92 × 10−4 3.16 × 10−5 1.01 × 10−11 0 4.74 × 10−7 1.17 × 10−1 HCPSO[20] 2.96 × 100 6.22 × 10−2 1.05 × 10−5 2.52 × 10−4 2.79 × 10−6 5.95 × 10−11 1.84 × 10−5 DMS-PSO[21] 5.94 × 10−1 8.04 × 10−1 2.80 × 100 2.46 × 10−1 1.77 × 10−2 7.54 × 10−1 5.02 × 10−1 PSO-SMS[11] 2.77 × 10−1 5.76 × 10−3 1.29 × 100 3.87 × 10−1 6.36 × 10−2 3.35 × 10−6 9.20 × 10−9 CASSA[22] 2.82 × 10−1 2.56 × 10−5 0 9.86 × 10−32 0 8.12 × 10−18 1.35 × 10−2 CESSA[23] 9.19×101 8.90 × 10−1 2.15 × 101 5.31 × 10−2 3.41 × 10−1 1.08 × 10−18 6.14 × 100 EHO[5] 8.37 × 10−1 1.62 × 100 2.30 × 10−7 1.37 × 10−5 3.17 × 10−7 2.20 × 100 3.37 × 101 EWA[6] 2.28 × 10−1 4.22 × 10−2 1.87 × 101 1.24 × 100 4.99 × 10−1 3.22 × 10−1 2.04 × 10−3 MBO[7] 3.95 × 100 4.65 × 100 4.17 × 10−1 7.19 × 100 8.32 × 10−1 1.27 × 10−12 2.27 × 10−1 MABC[24] 6.58 × 100 8.28 × 10−1 2.41 × 10−1 1.65 × 10−1 5.66 × 10−1 6.77 × 10−1 1.67 × 10−1 MIWO[25] 1.92 × 101 2.07 × 10−2 1.30 × 10−1 2.68 × 100 5.31 × 10−1 2.30 × 10−1 1.42 × 10−2 MPEA[26] 5.37 × 10−1 7.43 × 10−3 5.35 × 10−6 3.91 × 10−1 7.48 × 10−3 5.94 × 10−8 6.36 × 10−4 由表9和表10可知, 在求解f1和f2函数时, MSNSSA未达到最优, 而求解其余几个函数在平均值和标准差较其余几种算法都能达到最优. 因此, 更进一步说明本文提出的MSNSSA算法比其他多子群算法具有更大优越性.
综上可知, 多子群的共生非均匀高斯变异樽海鞘群算法对于本文多种基准函数都有很好的寻优结果. 特别是对于高维、多峰的函数, 具有较好的稳定性和寻优能力.
4. 结束语
本文在标准樽海鞘群算法的基础上, 分析领导者位置更新公式中的幂系数以平衡探索能力和开发能力, 共生策略增强局部探索能力, 非均匀高斯变异增加种群多样性, 提出一种改进的多子群的共生非均匀高斯变异樽海鞘群算法. 并将樽海鞘群算法应用于经典和CEC 2014基准函数的寻优问题中. 不仅使用最优值、标准差等指标对算法进行检验, 本文还提出使用Wilcoxon秩和检验对算法显著性水平进行验证. 研究表明: 多子群的共生非均匀高斯变异樽海鞘群算法可以获得更好的全局搜索和局部搜索能力, 且收敛到质量更好的最优解, 算法的有效性和鲁棒性也得到验证. 在后续的研究中, 考虑将改进的樽海鞘群算法应用到工程实践问题中, 以进一步验证算法的性能.
-
表 1 参数m对SSA的影响
Table 1 Influence of parameter m on SSA
m 最佳值 平均值 标准差 平均收敛代数 1.0 2.98 × 10−8 1.40 × 10−3 2.51 × 10−3 883 1.5 4.67 × 10−9 2.68 × 10−3 4.34 × 10−3 937 2.0 1.20 × 10−14 3.41 × 10−3 4.64 × 10−3 975 2.5 0 0 0 847 3.0 9.72 × 10−3 9.72 × 10−3 2.08 × 10−17 719 3.5 9.72 × 10−3 9.72 × 10−3 1.99 × 10−17 621 表 2 基准函数
Table 2 Benchmark function
函数 维度 特征 定义域 最佳值 f1 Sphere 10 US [−100, 100] 0 f2 Schwefel 1.2 50 UN [−100, 100] 0 f3 Schwefel 2.21 50 US [−100, 100] 0 f4 Quartic 100 US [−1.28, 1.28] 0 f5 Rosenbrock 100 UN [−30, 30] 0 f6 Step 200 US [−100, 100] 0 f7 Schaffer 2 MN [−100, 100] 0 f8 Foxholes 2 MN [−65.56, 65.56] ≈1 f9 Kowalik 4 MN [−5, 5] 3.075×10−4 f10 Rastrigin 10 MS [−5.12, 5.12] 0 f11 Ackley 50 MN [−32, 32] 0 f12 Griewank 100 MN [−600, 600] 0 f13 Penalized1 100 MN [−50, 50] 0 f14 Penalized2 200 MN [−50, 50] 0 表 3 参数设置
Table 3 Parameter settings
算法 主要参数 MSNSSA m = 2.5, R = 1 或 2 SSSA m = 2.0, R = 1 或 2 NSSA m = 2.0 BOA p = 0.8, c = 0.01, a = 0.1 MFO — SCA a = 2 PSO c1 = c2 = 1.5 表 4 基准函数结果对比
Table 4 Comparison of benchmark function results
函数 算法 最佳值 平均值 标准差 SR (%) T (s) f1 MSNSSA 1.06 × 10−34 5.01 × 10−30 1.30 × 10−29 100 0.80 SSSA 1.53 × 10−18 1.18 × 10−11 3.54 × 10−11 100 0.73 NSSA 3.46 × 10−24 7.94 × 10−15 2.36 × 10−14 100 0.56 SSA 2.52 × 10−10 6.55 × 10−10 2.35 × 10−10 100 0.28 BOA 1.04 × 10−14 1.50 × 10−14 1.83 × 10−15 100 0.44 MFO 1.06 × 10−32 5.64 × 10−29 2.35 × 10−28 100 0.26 SCA 7.48 × 10−32 2.18 × 10−24 1.02 × 10−23 100 0.23 PSO 4.39 × 10−5 2.66 × 10−4 2.10 × 10−4 0 0.25 f2 MSNSSA 3.31 × 10−30 2.84 × 10−27 2.32 × 10−27 100 3.62 SSSA 4.95 × 10−14 1.75 × 10−9 3.26 × 10−9 100 4.79 NSSA 1.91 × 10−21 1.00 × 10−10 4.20 × 10−10 100 3.32 SSA 1.29 × 103 4.81 × 103 2.25 × 103 0 2.98 BOA 1.59 × 10−14 1.85 × 10−14 1.00 × 10−15 100 5.67 MFO 2.21 × 104 5.52 × 104 2.49 × 104 0 3.09 SCA 1.08 × 104 3.41 × 104 1.46 × 104 0 3.05 PSO 7.10 × 101 1.68 × 102 6.46 × 101 0 2.89 f3 MSNSSA 1.15 × 10−17 2.71 × 10−16 1.65 × 10−16 100 1.03 SSSA 9.96 × 10−9 3.87 × 10−6 5.10 × 10−6 82 0.99 NSSA 3.74 × 10−13 1.55 × 10−8 3.20 × 10−8 100 0.78 SSA 1.11 × 101 1.82 × 101 3.61 × 100 0 0.47 BOA 1.04 × 10−11 1.21 × 10−11 8.36 × 10−13 100 0.65 MFO 6.77 × 101 8.19 × 101 4.86 × 100 0 0.60 SCA 3.65 × 101 5.85 × 101 8.18 × 100 0 0.55 PSO 4.06 × 100 5.90 × 100 1.11 × 100 0 0.40 f4 MSNSSA 1.66 × 10−6 1.16 × 10−5 5.52 × 10−6 38 1.78 SSSA 2.58 × 10−5 1.66 × 10−4 1.38 × 10−4 0 2.03 NSSA 2.09 × 10−5 2.84 × 10−4 2.90 × 10−4 0 1.53 SSA 8.23 × 10−1 1.36 × 100 3.27 × 10−1 0 1.18 BOA 1.36 × 10−4 6.89 × 10−4 3.33 × 10−4 0 2.13 MFO 2.37 × 101 1.78 × 102 1.20 × 102 0 1.52 SCA 3.37 × 100 5.93 × 101 4.20 × 101 0 1.43 PSO 2.10 × 100 4.48 × 100 2.24 × 100 0 1.01 f5 MSNSSA 0 3.99 × 10−28 3.80 × 10−28 100 1.33 SSSA 9.77 × 101 9.78 × 101 8.27 × 10−2 0 1.30 NSSA 4.44 × 10−27 2.48 × 10−12 4.33 × 10−12 100 1.05 SSA 6.60 × 102 2.20 × 103 2.71 × 103 0 0.68 BOA 9.89 × 101 9.89 × 101 2.86 × 10−2 0 1.23 MFO 3.03 × 106 7.18 × 107 5.39 × 107 0 1.02 SCA 2.19 × 107 6.79 × 107 3.34 × 107 0 0.93 PSO 6.47 × 102 1.12 × 103 3.10 × 102 0 0.52 f6 MSNSSA 0 4.56 × 10−29 3.92 × 10−29 100 1.58 SSSA 3.39 × 100 4.93 × 100 6.31 × 10−1 0 1.48 NSSA 2.85 × 10−27 2.27 × 10−13 7.95 × 10−13 100 1.30 SSA 2.16 × 103 3.34 × 103 6.74 × 102 0 0.87 BOA 4.58 × 101 4.83 × 101 8.80 × 10−1 0 1.06 MFO 1.27 × 105 1.82 × 105 2.02 × 104 0 1.61 SCA 5.91 × 103 2.88 × 104 1.53 × 104 0 1.44 4 基准函数结果对比 (续表)
4 Comparison of benchmark function results (continued table)
函数 算法 最佳值 平均值 标准差 SR (%) T (s) f6 PSO 4.43 × 101 7.07 × 101 1.11 × 101 0 0.63 f7 MSNSSA 0 0 0 100 0.82 SSSA 0 8.61 × 10−13 1.54 × 10−12 100 0.80 NSSA 0 1.60 × 10−14 2.62 × 10−14 100 0.59 SSA 3.66 × 10−14 5.25 × 10−3 4.89 × 10−3 46 0.33 BOA 1.68 × 10−14 1.04 × 10−2 4.35 × 10−3 2 0.93 MFO 0 8.16 × 10−3 3.60 × 10−3 16 0.27 SCA 0 4.92 × 10−7 3.48 × 10−6 98 0.25 PSO 6.15 × 10−9 3.30 × 10−3 4.65 × 10−3 62 0.30 f8 MSNSSA 9.98 × 10−1 9.98 × 10−1 6.34 × 10−17 100 2.68 SSSA 9.98 × 10−1 9.98 × 10−1 2.21 × 10−16 100 3.51 NSSA 9.98 × 10−1 9.98 × 10−1 1.21 × 10−16 100 2.40 SSA 9.98 × 10−1 1.22 × 100 6.11 × 10−1 86 2.11 BOA 9.98 × 10−1 1.16 × 100 3.69 × 10−1 26 4.63 MFO 9.98 × 10−1 2.28 × 100 2.05 × 100 52 2.05 SCA 9.98 × 10−1 1.51 × 100 8.79 × 10−1 34 2.03 PSO 9.98 × 10−1 1.38 × 100 8.44 × 10−1 66 2.08 f9 MSNSSA 3.07 × 10−4 3.08 × 10−4 1.47 × 10−7 8 0.96 SSSA 3.07 × 10−4 4.29 × 10−4 1.56 × 10−4 0 0.98 NSSA 3.08 × 10−4 4.48 × 10−4 2.29 × 10−4 0 0.71 SSA 4.83 × 10−4 3.22 × 10−3 6.40 × 10−3 0 0.45 BOA 3.12 × 10−4 3.66 × 10−4 5.91 × 10−5 0 1.17 MFO 3.20 × 10−4 9.25 × 10−4 3.45 × 10−4 0 0.39 SCA 3.27 × 10−4 8.72 × 10−4 3.79 × 10−4 0 0.37 PSO 3.22 × 10−4 1.15 × 10−3 2.80 × 10−3 0 0.41 f10 MSNSSA 0 0 0 100 0.95 SSSA 0 9.59 × 10−11 1.35 × 10−10 100 0.95 NSSA 0 6.62 × 10−14 1.25 × 10−13 100 0.71 SSA 1.99 × 100 5.33 × 100 1.27 × 100 0 0.43 BOA 0 2.93 × 101 1.81 × 101 20 1.10 MFO 5.97 × 100 2.32 × 101 1.22 × 101 0 0.40 SCA 0 6.31 × 10−1 3.16 × 100 90 0.38 PSO 3.01 × 100 1.01 × 101 4.25 × 100 0 0.38 f11 MSNSSA 4.44 × 10−15 2.01 × 10−14 1.77 × 10−14 100 1.15 SSSA 1.14 × 10−8 1.46 × 10−6 2.17 × 10−6 100 1.16 NSSA 4.44 × 10−15 4.74 × 10−8 7.31 × 10−8 100 0.89 SSA 1.56 × 100 1.97 × 100 1.58 × 10−1 0 0.59 BOA 1.06 × 10−11 1.22 × 10−11 5.97 × 10−13 100 1.25 MFO 1.09 × 101 1.91 × 101 1.81 × 100 0 0.72 SCA 3.55 × 10−2 1.70 × 101 7.24 × 100 0 0.69 PSO 4.48 × 100 6.78 × 100 1.03 × 100 0 0.50 f12 MSNSSA 0 0 0 100 1.50 SSSA 1.19 × 10−14 4.83 × 10−10 1.18 × 10−9 100 1.57 NSSA 0 1.93 × 10−13 4.31 × 10−13 100 1.22 SSA 2.11 × 10−1 3.28 × 10−1 3.39 × 10−2 0 0.86 BOA 3.11 × 10−15 1.34 × 10−14 6.68 × 10−15 100 1.51 4 基准函数结果对比 (续表)
4 Comparison of benchmark function results (continued table)
函数 算法 最佳值 平均值 标准差 SR (%) T (s) f12 MFO 3.82 × 101 2.80 × 102 1.19 × 102 0 1.19 SCA 9.68 × 100 5.36 × 101 4.38 × 101 0 1.12 PSO 8.91 × 101 1.17 × 102 1.36 × 101 0 0.79 f13 MSNSSA 4.78 × 10−33 4.97 × 10−29 9.06 × 10−29 100 4.34 SSSA 3.01 × 10−2 5.40 × 10−2 1.13 × 10−2 0 5.63 NSSA 4.83 × 10−28 3.29 × 10−16 5.56 × 10−16 100 4.00 SSA 3.04 × 101 4.57 × 101 9.46 × 100 0 3.61 BOA 9.80 × 10−1 1.11 × 100 5.44 × 10−2 0 6.74 MFO 7.21 × 108 1.31 × 109 2.86 × 108 0 4.38 SCA 3.71 × 108 1.01 × 109 3.02 × 108 0 4.24 PSO 3.75 × 100 5.75 × 100 1.01 × 100 0 3.30 f14 MSNSSA 1.35 × 10−32 3.61 × 10−27 7.51 × 10−27 100 2.88 SSSA 5.36 × 100 9.72 × 100 8.22 × 10−1 0 3.61 NSSA 2.50 × 10−26 1.18 × 10−14 4.32 × 10−14 100 2.56 SSA 1.34 × 102 1.76 × 102 2.38 × 101 0 2.22 BOA 9.98 × 100 9.99 × 100 4.50 × 10−3 0 4.21 MFO 8.43 × 106 2.38 × 108 1.98 × 108 0 2.51 SCA 8.61 × 107 3.31 × 108 1.46 × 108 0 2.49 PSO 1.07 × 102 1.46 × 102 2.28 × 101 0 1.99 表 5 基准函数Wilcoxon 秩和检验的p值
Table 5 p-value for Wilcoxon's rank-sum test on benchmark function
函数 SSSA NSSA SSA BOA MFO SCA PSO f1 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 3.92 × 10−5 + 1.16 × 10−13 + 7.05 × 10−18 + f2 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f3 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f4 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f5 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + 4.26 × 10−18 + f6 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + 6.79 × 10−18 + f7 1.26 × 10−19 + 5.96 × 10−18 + 3.23 × 10−20 + 3.31 × 10−20 + 2.61 × 10−17 + 8.22 × 10−2 − 3.31 × 10−20 + f8 3.51 × 10−18 + 4.12 × 10−19 + 1.25 × 10−20 + 1.23 × 10−19 + 1.86 × 10−6 + 1.23 × 10−19 + 1.23 × 10−19 + f9 4.28 × 10−11 + 9.53 × 10−17 + 7.07 × 10−18 + 7.07 × 10−18 + 7.06 × 10−18 + 7.07 × 10−18 + 7.07 × 10−18 + f10 4.67 × 10−19 + 1.14 × 10−12 + 3.31 × 10−20 + 1.69 × 10−18 + 3.30 × 10−20 + 1.82 × 10−3 + 3.31 × 10−20 + f11 5.90 × 10−18 + 6.96 × 10−17 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + 5.90 × 10−18 + f12 3.31 × 10−20 + 1.84 × 10−10 + 3.31 × 10−20 + 3.29 × 10−20 + 3.31 × 10−20 + 3.31 × 10−20 + 3.31 × 10−20 + f13 7.04 × 10−18 + 7.48 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + 7.04 × 10−18 + f14 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + 7.05 × 10−18 + + / = / − 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 12 / 0 / 0 11 / 0 / 1 12 / 0 / 0 表 6 MAE算法排名
Table 6 MAE algorithm ranking
算法 MAE 排名 MSNSSA 7.12641 × 10−2 1 NSSA 7.12655 × 10−2 2 SSSA 7.67841 × 100 3 BOA 1.11882 × 101 4 PSO 6.98046 × 101 5 SSA 3.06178 × 102 6 SCA 3.42235 × 107 7 MFO 5.23029 × 107 8 表 7 CEC 2014基准函数
Table 7 CEC 2014 benchmark function
函数 维度 特征 定义域 最佳值 CEC03 30 UN [−100, 100] 300 CEC05 30 MN [−100, 100] 500 CEC18 30 HF [−100, 100] 1800 CEC23 30 CF [−100, 100] 2300 CEC24 30 CF [−100, 100] 2400 CEC25 30 CF [−100, 100] 2500 表 8 CEC 2014优化结果对比
Table 8 Comparison of optimization results of CEC 2014
函数 指标 MSNSSA SSA BOA MFO SCA PSO CEC03 平均值 3.48173 × 104 7.13409 × 104 7.71258 × 104 1.05168 × 105 5.95030 × 104 4.93113 × 104 标准差 3.98187 × 103 1.97053 × 104 7.95590 × 103 4.35140 × 104 1.31496 × 104 7.30314 × 103 CEC05 平均值 5.20018 × 102 5.20177 × 102 5.21049 × 102 5.20275 × 102 5.21035 × 102 5.20990 × 102 标准差 6.58164 × 10−3 1.35252 × 10−1 6.03943 × 10−2 1.73345 × 10−1 4.83807 × 10−2 9.88705 × 10−2 CEC18 平均值 2.78893 × 103 1.21041 × 104 4.31418 × 109 2.18893 × 107 3.16304 × 108 5.78922 × 103 标准差 7.12803 × 102 9.17792 × 103 2.03175 × 109 8.30950 × 107 1.92087 × 108 3.37197 × 103 CEC23 平均值 2.50000 × 103 2.63108 × 103 2.50000 × 103 2.67493 × 103 2.71333 × 103 2.61612 × 103 标准差 0 7.36331 × 100 0 4.24126 × 101 2.39342 × 101 1.24951 × 100 CEC24 平均值 2.70000 × 103 2.71750 × 103 2.70000 × 103 2.71882 × 103 2.73876 × 103 2.72053 × 103 标准差 0 5.83456 × 100 0 8.00616 × 100 7.90888 × 100 6.35266 × 100 CEC25 平均值 2.60000 × 103 2.64087 × 103 2.60000 × 103 2.68247 × 103 2.61048 × 103 2.63564 × 103 标准差 0 7.27821 × 100 0 3.48329 × 101 1.81045 × 101 1.02263 × 101 表 9 与参考文献中算法均值的对比
Table 9 Comparison of the mean with algorithm in references
算法 f1 f2 f3 f4 f5 f6 f7 MSNSSA 7.35 × 10−36 9.69 × 10−32 1.47×10−21 3.53 × 10−6 0 0 0 MFOA-SQP[18] 0 5.62 × 10−11 5.96 × 10−6 5.71 × 10−3 2.88 × 101 2.53 × 10−4 0 CSO[19] 0 1.79 × 10−9 1.63 × 10−5 6.15 × 10−4 1.65 × 102 6.06 × 10−3 0 HCPSO[20] 8.71 × 10−28 3.39 × 10−3 1.38 × 10−2 2.57 × 10−4 3.14×10−5 5.76 × 10−3 3.68 × 10−10 DMS-PSO[21] 4.29 × 10−12 4.54 × 10−6 2.06 × 101 1.07 × 10−2 2.77 × 101 5.68 × 10−2 7.31 × 10−4 PSO-SMS[11] 3.55 × 10−20 9.82 × 10−8 1.53 × 10−5 2.09 × 10−2 2.59 × 101 3.54 × 10−4 7.19 × 10−3 CASSA[22] 9.35 × 10−147 2.84×10−52 8.66 × 10−6 1.88 × 10−5 2.77 × 101 9.81 × 10−2 0 CESSA[23] 2.50 × 10−23 4.22 × 10−3 1.73 × 10−15 5.90 × 10−5 2.86 × 101 7.51 × 10−2 0 EHO[5] 9.63 × 10−7 4.71 × 10−4 6.93 × 10−1 1.25 × 10−5 2.85 × 101 6.55 × 100 6.30 × 10−5 EWA[6] 7.25 × 101 2.15 × 100 2.48 × 10−5 1.10 × 10−1 5.14 × 103 2.74 × 103 9.93 × 10−3 MBO[7] 8.53 × 10−3 4.17 × 10−4 2.66 × 10−1 4.46 × 10−1 2.05 × 10−7 1.42 × 100 1.52 × 10−2 MABC[24] 6.02 × 10−4 6.53 × 10−6 9.55 × 100 1.07 × 10−2 2.25 × 10−8 5.98 × 100 2.91 × 10−1 MIWO[25] 3.17 × 10−5 5.41 × 10−10 9.34 × 10−13 8.41 × 10−3 5.28 × 10−1 7.68 × 10−2 4.50 × 10−1 MPEA[26] 2.70 × 10−11 1.52 × 10−20 1.04 × 10−2 2.35 × 10−1 6.74 × 10−12 3.26 × 10−5 8.74 × 10−3 算法 f8 f9 f10 f11 f12 f13 f14 MSNSSA 9.98 × 10−1 3.08 × 10−4 0 8.88 × 10−16 0 1.39 × 10−34 3.27 × 10−30 MFOA-SQP[18] 9.98 × 10−1 1.06 × 10−3 0 3.55 × 10−15 0 3.71 × 10−6 7.53 × 10−10 CSO[19] 9.98 × 10−1 6.03 × 10−4 1.12 × 10−7 1.24 × 10−12 0 1.64 × 10−7 2.24 × 10−1 HCPSO[20] 9.98 × 10−1 1.40 × 10−2 2.49 × 10−5 2.26 × 10−4 8.67 × 10−5 2.69 × 10−13 4.18 × 10−3 DMS-PSO[21] 2.13 × 100 5.68 × 10−1 3.88 × 101 1.88 × 100 2.24 × 10−2 2.87 × 10−3 6.88 × 10−1 PSO-SMS[11] 9.98 × 10−1 2.09 × 10−2 1.53 × 101 2.99 × 100 7.23 × 10−2 1.12 × 10−5 1.76 × 10−8 CASSA[22] 9.98 × 10−1 4.81 × 10−3 0 8.88 × 10−16 0 2.33 × 10−20 1.68 × 10−2 CESSA[23] 9.98 × 10−1 2.59 × 10−3 1.48 × 101 1.06 × 10−2 2.88 × 10−1 5.68 × 10−18 2.62 × 101 EHO[5] 1.67 × 100 1.27 × 10−1 1.21 × 10−6 2.39 × 10−4 1.89 × 10−6 1.35 × 10−1 6.86 × 101 EWA[6] 1.50 × 100 1.76 × 10−3 3.10 × 101 3.05 × 100 1.53 × 100 5.77×10−1 1.35 × 10−3 MBO[7] 9.98 × 10−1 1.78 × 10−1 5.86 × 10−1 1.13 × 10−1 8.05 × 10−1 7.20 × 10−15 7.12 × 10−1 MABC[24] 1.41 × 100 4.32 × 10−4 4.15 × 10−2 2.05 × 10−1 5.63 × 10−2 8.05 × 10−9 1.18 × 10−2 MIWO[25] 1.89 × 100 1.01 × 10−2 4.62 × 10−1 1.86 × 10−1 3.29 × 10−2 1.98 × 10−1 1.35 × 10−3 MPEA[26] 9.98 × 10−1 1.46 × 10−3 6.38 × 10−6 2.84 × 10−1 4.38 × 10−7 2.01×10−6 2.27 × 10−5 表 10 与参考文献中算法标准差的对比
Table 10 Comparison of the standard deviation with algorithms in reference
算法 f1 f2 f3 f4 f5 f6 f7 MSNSSA 1.04 × 10−35 4.52 × 10−32 4.75×10−21 1.75 × 10−6 0 0 0 MFOA-SQP[18] 0 2.20 × 10−11 2.03 × 10−6 4.12 × 10−3 5.10 × 10−2 2.17 × 10−4 0 CSO[19] 0 1.04 × 10−9 4.73 × 10−6 3.12 × 10−2 7.39 × 102 4.75 × 10−3 0 HCPSO[20] 3.55 × 10−28 2.04 × 10−3 5.80 × 10−3 1.88 × 10−5 1.07 × 10−4 3.48 × 10−3 5.97 × 10−10 DMS-PSO[21] 3.00 × 10−11 2.23 × 10−5 7.48 × 100 1.03 × 10−3 2.69 × 100 4.87 × 10−2 3.81 × 10−1 PSO-SMS[11] 4.61 × 10−20 1.47 × 10−7 4.65 × 10−6 2.50 × 10−3 2.19 × 100 2.21 × 10−4 1.57 × 10−4 CASSA[22] 2.32 × 10−147 2.27×10−50 4.15 × 10−6 1.21 × 10−5 1.16 × 10−1 4.08 × 10−2 0 CESSA[23] 1.84 × 10−23 1.51 × 10 −2 1.25 × 10−13 5.08 × 10−5 4.89 × 10−2 3.11 × 10−2 0 EHO[5] 1.26 × 10−7 8.23 × 10−4 8.44 × 10−1 1.26 × 10−5 1.83 × 10−2 7.56 × 100 6.21 × 10−5 EWA[6] 7.43 × 101 1.54 × 100 7.37 × 10−6 8.73 × 10−2 8.93 × 103 2.58 × 10−3 1.93 × 10−4 MBO[7] 1.28 × 10−4 1.83 × 10−4 3.00 × 100 3.89 × 10−1 3.54 × 10−7 3.65 × 10−1 1.10 × 10−2 MABC[24] 7.23 × 10−3 3.63 × 10−3 1.18 × 100 1.77 × 10−1 3.87 × 10−7 1.21 × 10−1 1.55 × 10−1 MIWO[25] 4.32 × 10−6 1.28 × 10−5 2.21 × 10−12 2.63 × 10−3 7.54 × 10−1 1.82 × 10−2 2.09 × 10−2 MPEA[26] 5.74 × 10−10 4.13 × 10−18 1.80 × 10−1 5.22 × 10−2 3.19 × 10−10 2.63−6 3.56 × 10−1 算法 f8 f9 f10 f11 f12 f13 f14 MSNSSA 2.95 × 10−23 3.56 × 10−8 0 0 0 3.56 × 10−34 7.31 × 10−30 MFOA-SQP[18] 1.13 × 10−1 4.47 × 10−4 0 1.32 × 10−12 0 1.76 × 10−6 5.56 × 10−10 CSO[19] 8.01 × 100 9.92 × 10−4 3.16 × 10−5 1.01 × 10−11 0 4.74 × 10−7 1.17 × 10−1 HCPSO[20] 2.96 × 100 6.22 × 10−2 1.05 × 10−5 2.52 × 10−4 2.79 × 10−6 5.95 × 10−11 1.84 × 10−5 DMS-PSO[21] 5.94 × 10−1 8.04 × 10−1 2.80 × 100 2.46 × 10−1 1.77 × 10−2 7.54 × 10−1 5.02 × 10−1 PSO-SMS[11] 2.77 × 10−1 5.76 × 10−3 1.29 × 100 3.87 × 10−1 6.36 × 10−2 3.35 × 10−6 9.20 × 10−9 CASSA[22] 2.82 × 10−1 2.56 × 10−5 0 9.86 × 10−32 0 8.12 × 10−18 1.35 × 10−2 CESSA[23] 9.19×101 8.90 × 10−1 2.15 × 101 5.31 × 10−2 3.41 × 10−1 1.08 × 10−18 6.14 × 100 EHO[5] 8.37 × 10−1 1.62 × 100 2.30 × 10−7 1.37 × 10−5 3.17 × 10−7 2.20 × 100 3.37 × 101 EWA[6] 2.28 × 10−1 4.22 × 10−2 1.87 × 101 1.24 × 100 4.99 × 10−1 3.22 × 10−1 2.04 × 10−3 MBO[7] 3.95 × 100 4.65 × 100 4.17 × 10−1 7.19 × 100 8.32 × 10−1 1.27 × 10−12 2.27 × 10−1 MABC[24] 6.58 × 100 8.28 × 10−1 2.41 × 10−1 1.65 × 10−1 5.66 × 10−1 6.77 × 10−1 1.67 × 10−1 MIWO[25] 1.92 × 101 2.07 × 10−2 1.30 × 10−1 2.68 × 100 5.31 × 10−1 2.30 × 10−1 1.42 × 10−2 MPEA[26] 5.37 × 10−1 7.43 × 10−3 5.35 × 10−6 3.91 × 10−1 7.48 × 10−3 5.94 × 10−8 6.36 × 10−4 -
[1] Kennedy J, Eberhart R. Particle swarm optimization. In: Proceedings of the International Conference on Neural Networks. Perth, Australia: IEEE, 1995. 1942−1948 [2] Mirjalili S. SCA: a sine cosine algorithm for solving optimization problems. Knowledge Based Systems, 2016, 96(96): 120-133. [3] Arora S, Singh S. Butterfly optimization algorithm: a novel approach for global optimization. Soft Computing, 2019, 23(3): 715-734. doi: 10.1007/s00500-018-3102-4 [4] Mirjalili S. Moth-flame optimization algorithm: a novel nature-inspired heuristic paradigm. Knowledge-Based Systems, 2015, 89(11): 228-249. [5] Wang Gai-Ge, Deb S, Cui Zhi-Hua. Monarch butterfly optimization. Neural Computing and Applications, 2019, 31(7): 1-20. [6] Wang Gai-Ge, Suash D, Santos C L D. Earthworm optimization algorithm: a bio-inspired metaheuristic algorithm for global optimization problems. International Journal of Bio-Inspired Computation, 2018, 12(1): 1-22. doi: 10.1504/IJBIC.2018.093328 [7] Wang G G, Deb S, Coelho L D S. Elephant herding optimization. In: Proceedings of the International Symposium on Computational and Business Intelligence. Bali, Indonesia: IEEE, 2015. 1−5 [8] Mirjalili S, Gandomi A H, Mirjalili S Z, Saremi S, Faris H, Mirjalili S M. Salp swarm algorithm: a bio-inspired optimizer for engineering design problems. Advances in Engineering Software, 2017, 114(6): 163-191. [9] Hegazy A E, Makhlouf M A, Eltawel G S. Improved salp swarm algorithm for feature selection. Journal of King Saud University–Computer and Information Sciences, 2018, 6(3): 1-10. [10] Sayed G I, Khoriba G, Haggag M H. A novel chaotic salp swarm algorithm for global optimization and feature selection. Applied Intelligence, 2018, 48(3): 1-20. [11] 曾辉, 王倩, 夏学文, 方霞. 基于自适应多种群的粒子群优化算法. 计算机工程与应用, 2018, 54(10): 59-65. doi: 10.3778/j.issn.1002-8331.1711-0048Zeng Hui, Wang Qian, Xia Xue-Wen, Fang Xia. Particle swarm optimization algorithm based on self-adaptive multi-swarm. Computer Engineering and Applications, 2018, 54(10): 59-65. doi: 10.3778/j.issn.1002-8331.1711-0048 [12] 辛梓芸, 张达敏, 陈忠云, 张绘娟, 闫威. 多段扰动的共享型乌鸦算法. 计算机工程与应用, 2020, 56(02): 55-61.Xin Zi-Yun, Zhang Da-Min, Chen Zhong-Yun, Zhang Hui-Juan, Yan Wei. Shared crow algorithm using multi-segment perturbation. Computer Engineering and Applications, 2020, 56(02): 55-61. [13] Zhao Xin-Chao, Gao Xiao-Shan, Hu Ze-Chun. Evolutionary programming based on non-uniform mutation. Applied Mathematics and Computation, 2007, 192(1): 1-11. doi: 10.1016/j.amc.2006.06.107 [14] He Xing-Shi, Ding Wen-Jing, Yang Xin-She. Bat algorithm based on simulated annealing and Gaussian perturbations. Neural Computing and Applications, 2014, 25(2): 459-468. doi: 10.1007/s00521-013-1518-4 [15] Mirjalili S, Mirjalili S M, Yang Xin-She. Binary bat algorithm. Neural Computing and Applications, 2014, 25(3): 663-681. [16] Derrac J, Garcia S, Molina D, Herrera F. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm & Evolutionary Computation, 2011, 1(1): 3-18. [17] Emad N. A modified flower pollination algorithm for global optimization. Expert Systems with Applications, 2016, 57(9): 192-203. [18] 王英博, 王艺星. 基于SQP局部搜索的多子群果蝇优化算法. 计算机工程与科学, 2018, 40(05): 906-915. doi: 10.3969/j.issn.1007-130X.2018.05.020Wang Ying-Bo, Wang Yi-Xing. A multiple subgroups fruit fly optimization algorithm based on sequential quadratic programming local search. Computer Engineering & Science, 2018, 40(05): 906-915. doi: 10.3969/j.issn.1007-130X.2018.05.020 [19] Meng X B, Liu Y, Gao X Z, Zhang H Z. A new bio-inspired algorithm: Chicken swarm optimization. In: Proceedings of the International Conference in Swarm Intelligence. Hefei, China: Springer, 2014. 86−94 [20] 袁小平, 蒋硕. 基于分层自主学习的改进粒子群优化算法. 计算机应用, 2019, 39(01): 148-153.Yuan Xiao-Ping, Jiang Shuo. Improved particle swarm optimization algorithm based on hierarchical autonomous learning. Journal of Computer Applications, 2019, 39(01): 148-153. [21] Liang J J, Suganthan P N. Dynamic multi-swarm particle swarm optimizer. In: Proceedings of the Swarm Intelligence Symposium. Pasadena, USA: IEEE, 2005. 124−129 [22] 张达敏, 陈忠云, 辛梓芸, 张绘娟, 闫威. 基于疯狂自适应的樽海鞘群算法. 控制与策, 2020, 35(09):2112-2120Zhang Da-Min, Chen Zhong-Yun, Xin Zi-Yun, Zhang Hui-Juan, Yan Wei. Salp swarm algorithm based on craziness and adaptive. Controland Decision, 2020, 35(09): 2112-2120 [23] 陈忠云, 张达敏, 辛梓芸, 张绘娟, 闫威. 混沌精英质心拉伸机制的樽海鞘群算法. 计算机工程与应用, 2020, 56(10): 44-50Chen Zhong-Yun, Zhang Da-Min, Xin Zi-Yun, Zhang Hui-Juan,Yan Wei. Salp swarm algorithm using chaotic and elite centroidstretching mechanism. Computer Engineering and Applications,2020,56(10):44-50 [24] Zhang Li-Ming, Wang Sai-Sai, Zhang Kai, et al. Cooperative artificial bee colony algorithm with multiple populations for interval multiobjective optimization problems. IEEE Transactions on Fuzzy Systems, 2019, 27(5): 1052-1065. doi: 10.1109/TFUZZ.2018.2872125 [25] Naidu Y R, Ojha A K. Solving multiobjective optimization problems using hybrid cooperative invasive weed optimization with multiple populations. Systems man and Cybernetics, 2018, 48(6): 821-832. [26] Liu Hai-Tao, Du Wei, Guo Zhao-Xia. A multi-population evolutionary algorithm with single-objective guide for many-objective. Optimization. Information Sciences, 2019, 503(09): 39-60. 期刊类型引用(23)
1. 许家昌,江琳,苏树智. 融合组织P系统的自适应t分布蜣螂算法. 计算机工程与应用. 2025(04): 99-113 . 百度学术
2. 雷灏,赵品彰,汪东华,陈柏屹. 樽海鞘群算法基于动力学模型的改进. 系统工程与电子技术. 2024(01): 300-308 . 百度学术
3. 付华,管智峰,刘尚霖,刘昊,陈子林. 基于改进樽海鞘群算法的含瓦斯煤破裂过程信号特征识别. 传感技术学报. 2024(02): 256-267 . 百度学术
4. 杜晓昕,周薇,王浩,郝田茹,王振飞,金梅,张剑飞. 智能算法的亚群优化策略综述. 计算机应用. 2024(03): 819-830 . 百度学术
5. 李辉,殷文明. 探索者变异樽海鞘算法及其应用. 数学的实践与认识. 2024(03): 151-159 . 百度学术
6. 赵宏伟,董昌林,丁兵如,柴海龙,潘志伟. 路径规划问题的多策略改进樽海鞘群算法研究. 计算机科学. 2024(S1): 202-210 . 百度学术
7. 孙仟硕,王英博. 融合多策略的改进蜣螂优化算法及其应用. 信息与控制. 2024(05): 631-641+651 . 百度学术
8. 杨娜,刘晔. 自适应多点最优最小熵反褶积在风电齿轮箱轴承故障诊断中的应用. 计算机测量与控制. 2024(11): 34-40 . 百度学术
9. 都威,黄琦,刘妍. 基于混合多策略免疫算法的配送中心选址研究. 物流科技. 2024(23): 8-13 . 百度学术
10. 刘威,郭直清,姜丰,刘光伟,靳宝,王东. 协同围攻策略改进的灰狼算法及其PID参数优化. 计算机科学与探索. 2023(03): 620-634 . 百度学术
11. 周密,王潇棠,闫河,谢敏. 一种混沌映射动态惯性权重的樽海鞘群算法. 小型微型计算机系统. 2023(02): 313-318 . 百度学术
12. 唐延强,李成海,宋亚飞,陈晨,曹波. 自适应变异麻雀搜索优化算法. 北京航空航天大学学报. 2023(03): 681-692 . 百度学术
13. 邵艺璇,何振学,周宇豪,霍志胜,肖利民,王翔. 基于M-AFSA的MPRM逻辑电路面积优化. 北京航空航天大学学报. 2023(03): 693-701 . 百度学术
14. 陶新民,郭文杰,李向可,陈玮,吴永康. 基于密度峰值的依维度重置多种群粒子群算法. 软件学报. 2023(04): 1850-1869 . 百度学术
15. 李守玉,何庆,陈俊. 改进平衡优化器算法在约束优化问题中的应用. 计算机科学与探索. 2023(05): 1075-1088 . 百度学术
16. 胡竞杰,储昭碧,郭愉乐,董学平,朱敏. 基于自适应t分布与动态权重的樽海鞘群算法. 计算机应用研究. 2023(07): 2068-2074 . 百度学术
17. 顾嘉城,龙英文,吉明明,郑旸. 基于高斯云改进的混沌麻雀搜索算法与应用. 光电子·激光. 2023(10): 1047-1058 . 百度学术
18. 李明宇,张丹威. 高压辊磨运行工况识别算法研究. 金属矿山. 2022(04): 188-194 . 百度学术
19. 王立威,童林,邹圆. 一种求解数据特征选择问题的改进樽海鞘群算法. 六盘水师范学院学报. 2022(02): 112-120 . 百度学术
20. 金爱娟,冯雅茹,李少龙. 基于改进樽海鞘群算法的PMSM变论域模糊控制. 包装工程. 2022(13): 264-274 . 百度学术
21. 王宗山,丁洪伟,王杰,李波,侯鹏,杨志军. 基于正交设计的折射反向学习樽海鞘群算法. 哈尔滨工业大学学报. 2022(11): 122-136 . 百度学术
22. 王义,张达敏,邹诚诚. 增强全局搜索和自适应蜉蝣算法. 哈尔滨工业大学学报. 2022(11): 137-150 . 百度学术
23. 王义,张达敏,张琳娜,赵沛雯. 基于种群活跃与混沌变螺旋策略变色龙群算法及应用. 传感技术学报. 2022(10): 1382-1393 . 百度学术
其他类型引用(14)
-