融合振幅随机补偿与步长演变机制的改进原子搜索优化算法

news/2024/7/4 4:35:10

文章目录

  • 一、理论基础
    • 1、原子搜索优化算法(ASO)
    • 2、改进的原子搜索优化算法(IASO)
      • (1)初始原子种群的混沌优化
      • (2)振幅函数随机参数优化
      • (3)步长演变搜索机制
      • (4)IASO算法的实现
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、原子搜索优化算法(ASO)

请参考这里。

2、改进的原子搜索优化算法(IASO)

(1)初始原子种群的混沌优化

混沌序列具有的随机性和遍历性等特点使得生成的初始解在整个解空间中分布更加均匀,有利于求解最优问题的全局最优解,现已被广泛应用于元启发式优化算法的种群初始化中,故将混沌序列引入ASO算法用于初始化原子种群。使用Tent映射生成的混沌序列具有更好的均匀分布性,更符合元启发智能算法的初始种群生成,其序列生成函数为 x N + 1 = { 2 x N ,     x N ∈ ( 0 , 0.5 ] 2 ( 1 − x N ) , x N ∈ ( 0.5 , 1 ] (1) x_{N+1}=\begin{dcases}2x_N,\quad\quad\,\,\,\quad x_N\in(0,0.5]\\[2ex]2(1-x_N),\quad x_N\in(0.5,1]\end{dcases}\tag{1} xN+1= 2xN,xN(0,0.5]2(1xN),xN(0.5,1](1)对式(1)进行伯努利位移变化后,得 x N + 1 = ( 2 x N ) mod    1 (2) x_{N+1}=(2x_N)\text{mod}\,\,1\tag{2} xN+1=(2xN)mod1(2)其中, N N N为原子个数,初始种群的大小由原子个数和搜索空间维度 D D D决定。利用式(2)生成初始种群用以代替ASO算法中随机生成的初始种群从而丰富初始种群的多样性,促使算法寻优结果更接近于全局最优解。

(2)振幅函数随机参数优化

为提高算法的全局探索能力,受简谐振动启发影响引入振幅函数对算法参数 η ( t ) \eta(t) η(t) λ ( t ) \lambda(t) λ(t)进行修正,利用振幅函数波动跳跃的性质增强算法跳出局部最优的可能。引入的振幅函数 s ( t ) s(t) s(t)定义为 s ( t ) = rand ( ∣ cos ⁡ ( d t + N ) ∣ ) (3) s(t)=\text{rand}(|\cos(dt+N)|)\tag{3} s(t)=rand(cos(dt+N))(3)其中, N N N为原子个数; t t t为迭代次数; d d d为原子搜索空间维度; rand \text{rand} rand为随机函数,表示在振幅函数生成的数中随机选择一个作为最终作用于参数 η ( t ) \eta(t) η(t) λ ( t ) \lambda(t) λ(t)的波动因子。
由于引入的振幅因子属于 [ 0 , 1 ] [0,1] [0,1],导致搜索步长仅在原有解邻域内进行探索开发,对整个全局解空间的探索性不够强,故对式(3)进行修正,得到修正后振幅函数 s ( t ) = rand ( ∣ cos ⁡ ( d t + N ) ∣ ) + 1 (4) s(t)=\text{rand}(|\cos(dt+N)|)+1\tag{4} s(t)=rand(cos(dt+N))+1(4)式(4)是由式(3)经过平移后得到的,其不仅保留了振幅函数本身波动性质促使算法跳出局部最优,而且还加大了算法对解空间的搜索半径,增强了算法对全局的寻优能力。
经过振幅函数作用后的深度函数 η ( t ) \eta(t) η(t)与拉格朗日乘子 λ ( t ) \lambda(t) λ(t)可重新定义为 η ( t ) = α ( 1 − t − 1 T ) 3 e − 20 t s T (5) \eta(t)=\alpha\left(1-\frac{t-1}{T}\right)^3e^{-\frac{20ts}{T}}\tag{5} η(t)=α(1Tt1)3eT20ts(5) λ ( t ) = β e − 20 t s T (6) \lambda(t)=\beta e^{-\frac{20ts}{T}}\tag{6} λ(t)=βeT20ts(6)其中 s s s称为振幅因子,由式(4)计算得出。故第 i i i个原子在 t t t时刻加速度可被重新定义为 a i d ( t ) = − α ( 1 − t − 1 T ) 3 e − 20 t s T ( x i d ( t ) − x j d ( t ) ) ∣ ∣ x i ( t ) , x j ( t ) ∣ ∣ 2 η ( t ) = β e − 20 t s T ( x best d ( t ) − x i d ( t ) ) m i d ( t ) + α ( 1 − t − 1 T ) 3 × e − 20 t s T ∑ j ∈ K best rand j [ 2 ( h i j ( t ) ) 13 − ( h i j ( t ) ) 7 ] m i d ( t ) (7) a_i^d(t)=-\alpha\left(1-\frac{t-1}{T}\right)^3e^{-\frac{20ts}{T}}\frac{(x_i^d(t)-x_j^d(t))}{||x_i(t),x_j(t)||_2}\eta(t)=\\[2ex] \beta e^{-\frac{20ts}{T}}\frac{(x_{\text{best}}^d(t)-x_i^d(t))}{m_i^d(t)}+\alpha\left(1-\frac{t-1}{T}\right)^3\times\\[2ex]e^{-\frac{20ts}{T}}\sum_{j\in K_{\text{best}}}\frac{\text{rand}_j[2(h_{ij}(t))^{13}-(h_{ij}(t))^7]}{m_i^d(t)}\tag{7} aid(t)=α(1Tt1)3eT20ts∣∣xi(t),xj(t)2(xid(t)xjd(t))η(t)=βeT20tsmid(t)(xbestd(t)xid(t))+α(1Tt1)3×eT20tsjKbestmid(t)randj[2(hij(t))13(hij(t))7](7)

(3)步长演变搜索机制

为解决ASO算法收敛速度慢的问题,从原子位置更新过程出发,引入步长演变因子 ω ( t ) \omega(t) ω(t)对原子位置更新公式进行修正,使原子位置更新过程随算法迭代次数增加而逐渐变慢直至不再变化。 定义为 ω ( t ) = e − d × t T (8) \omega(t)=e^{-\frac{d\times t}{T}}\tag{8} ω(t)=eTd×t(8)其中, t t t为迭代次数; d d d为原子搜索空间维度; T T T为最大迭代次数。由式(8)可知, ω ( t ) ∈ [ 0 , 1 ] \omega(t)\in[0,1] ω(t)[0,1]且是一个随着解空间维度和算法迭代次数增加而快速演变的因子。
因此,得出新原子位置更新策略为 x i d ( t + 1 ) = ( x i d ( t ) + v i d ( t + 1 ) ) ω ( t ) (9) x_i^d(t+1)=\left(x_i^d(t)+v_i^d(t+1)\right)\omega(t)\tag{9} xid(t+1)=(xid(t)+vid(t+1))ω(t)(9)其中, x i d ( t ) x_i^d(t) xid(t)为第 i i i个原子第 t t t次迭代时位置; v i d ( t + 1 ) v_i^d(t+1) vid(t+1)为第 i i i个原子第 t + 1 t+1 t+1次迭代时的速度; ω ( t ) \omega(t) ω(t)为模拟原子位置更新过程的步长演变因子。
由于 ω ( t ) ∈ [ 0 , 1 ] \omega(t)\in[0,1] ω(t)[0,1],故式(9)的含义为:随着原子个体不断运动逐渐接近于原子最优个体时,其位置动态更新过程随着算法寻优过程逐渐变慢直至其位置与最优原子个体重合,此时得到的原子个体的位置分布即为原子群的最优解。

(4)IASO算法的实现

综上所述,IASO算法求解最优化问题的寻优过程如图1所示。
在这里插入图片描述

图1 IASO算法流程图

二、仿真实验与结果分析

将IASO与BOA、MFO、MVO、SSA和ASO进行对比,以文献[1]中表1的F1、F2、F3、F6、F7、F8(30维)为例,实验设置种群规模为50,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
BOA:最差值: 1.8688e-14, 最优值: 1.4027e-14, 平均值: 1.689e-14, 标准差: 1.0856e-15, 秩和检验: 3.0199e-11
MFO:最差值: 10000.0001, 最优值: 5.514e-06, 平均值: 2000, 标准差: 4068.381, 秩和检验: 3.0199e-11
MVO:最差值: 0.26453, 最优值: 0.095472, 平均值: 0.18267, 标准差: 0.04771, 秩和检验: 3.0199e-11
SSA:最差值: 1.1982e-08, 最优值: 5.1509e-09, 平均值: 8.6466e-09, 标准差: 1.899e-09, 秩和检验: 3.0199e-11
ASO:最差值: 1.349e-20, 最优值: 2.5348e-22, 平均值: 2.9352e-21, 标准差: 3.1822e-21, 秩和检验: 3.0199e-11
IASO:最差值: 7.1263e-193, 最优值: 6.7312e-197, 平均值: 5.8675e-194, 标准差: 0, 秩和检验: 1
函数:F2
BOA:最差值: 1.1352e-11, 最优值: 4.9879e-13, 平均值: 9.4157e-12, 标准差: 2.5471e-12, 秩和检验: 3.0199e-11
MFO:最差值: 70, 最优值: 0.0001011, 平均值: 29.002, 标准差: 17.0912, 秩和检验: 3.0199e-11
MVO:最差值: 0.40149, 最优值: 0.15021, 平均值: 0.27578, 标准差: 0.06647, 秩和检验: 3.0199e-11
SSA:最差值: 2.0636, 最优值: 0.00077882, 平均值: 0.64359, 标准差: 0.63389, 秩和检验: 3.0199e-11
ASO:最差值: 1.5339e-09, 最优值: 1.4117e-10, 平均值: 4.4661e-10, 标准差: 2.8889e-10, 秩和检验: 3.0199e-11
IASO:最差值: 4.714e-97, 最优值: 3.316e-100, 平均值: 6.124e-98, 标准差: 9.6993e-98, 秩和检验: 1
函数:F3
BOA:最差值: 1.9106e-14, 最优值: 1.4373e-14, 平均值: 1.6825e-14, 标准差: 1.1803e-15, 秩和检验: 3.0199e-11
MFO:最差值: 48687.7895, 最优值: 253.7468, 平均值: 17031.8514, 标准差: 12767.1835, 秩和检验: 3.0199e-11
MVO:最差值: 39.2598, 最优值: 12.1405, 平均值: 21.4204, 标准差: 7.2571, 秩和检验: 3.0199e-11
SSA:最差值: 153.6563, 最优值: 10.7688, 平均值: 40.1843, 标准差: 29.7752, 秩和检验: 3.0199e-11
ASO:最差值: 394.4463, 最优值: 61.8113, 平均值: 200.5536, 标准差: 98.2847, 秩和检验: 3.0199e-11
IASO:最差值: 3.3874e-187, 最优值: 3.7305e-193, 平均值: 1.5492e-188, 标准差: 0, 秩和检验: 1
函数:F6
BOA:最差值: 201.5523, 最优值: 0, 平均值: 25.4079, 标准差: 65.9302, 秩和检验: 0.021577
MFO:最差值: 206.2397, 最优值: 59.6974, 平均值: 138.7085, 标准差: 36.7501, 秩和检验: 1.2118e-12
MVO:最差值: 173.2921, 最优值: 48.831, 平均值: 103.8335, 标准差: 26.1058, 秩和检验: 1.2118e-12
SSA:最差值: 82.5814, 最优值: 20.8941, 平均值: 44.1429, 标准差: 15.5406, 秩和检验: 1.2118e-12
ASO:最差值: 46.763, 最优值: 15.9193, 平均值: 26.3001, 标准差: 7.8024, 秩和检验: 1.2098e-12
IASO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F7
BOA:最差值: 1.3739e-11, 最优值: 5.2447e-12, 平均值: 1.0484e-11, 标准差: 2.5455e-12, 秩和检验: 1.0149e-11
MFO:最差值: 19.9632, 最优值: 0.0010781, 平均值: 13.2368, 标准差: 8.2985, 秩和检验: 1.0149e-11
MVO:最差值: 2.7793, 最优值: 0.10722, 平均值: 0.64989, 标准差: 0.7122, 秩和检验: 1.0149e-11
SSA:最差值: 3.2839, 最优值: 2.2962e-05, 平均值: 1.7946, 标准差: 0.78737, 秩和检验: 1.0149e-11
ASO:最差值: 9.1643e-11, 最优值: 9.5293e-12, 平均值: 3.1487e-11, 标准差: 2.1176e-11, 秩和检验: 1.0149e-11
IASO:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 1.954e-15, 标准差: 1.6559e-15, 秩和检验: 1
函数:F8
BOA:最差值: 5.107e-15, 最优值: 0, 平均值: 9.3999e-16, 标准差: 1.3058e-15, 秩和检验: 1.9091e-09
MFO:最差值: 180.5201, 最优值: 6.3319e-06, 平均值: 18.043, 标准差: 43.6752, 秩和检验: 1.2118e-12
MVO:最差值: 0.59067, 最优值: 0.20723, 平均值: 0.44195, 标准差: 0.090428, 秩和检验: 1.2118e-12
SSA:最差值: 0.039299, 最优值: 1.7104e-08, 平均值: 0.010911, 标准差: 0.011743, 秩和检验: 1.2118e-12
ASO:最差值: 0.0098573, 最优值: 0, 平均值: 0.00032858, 标准差: 0.0017997, 秩和检验: 0.33371
IASO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN

实验结果表明:IASO相较于5种对比算法在求解精度、收敛速度、局部极值逃逸能力和算法稳定性方面均有显著性提高。

三、参考文献

[1] 刘威, 郭直清, 刘光伟, 等. 融合振幅随机补偿与步长演变机制的改进原子搜索优化算法[J]. 智能系统学报, 2022, 17(3): 602-616.


http://www.niftyadmin.cn/n/2132483.html

相关文章

JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数…

采用混合搜索策略的阿奎拉优化算法

文章目录一、理论基础1、AO算法2、HAO算法(1)动态调整(2)混沌自适应权重(3)改进型差分变异策略(4)HAO算法流程二、仿真实验与结果分析三、参考文献一、理论基础 1、AO算法 请参考这…

说一说MVC的MenuCard(五)

1.数据库设计 1 2 create database BookShop3 go4 5 use bookshop6 go7 8 --模块表9 create table Module 10 ( 11 ModuleID int not null primary key identity(1,1), 12 ModuleName varchar(50) not null unique, 13 ModuleIcon varchar(20) not null defa…

基于战争策略优化算法的函数寻优算法

文章目录一、理论基础1、战争策略优化算法(1)攻击策略(2)排名(军衔)和权重更新(3)防御策略(4)弱势士兵的替换/重新安置2、WSO算法伪代码二、仿真实验与结果分析三、参考文献一、理论…

HTTP 缓存验证

缓存验证 坑:缓存验证的时机 在用户点击刷新按钮时浏览器会进行缓存验证被缓存的response头部包含"Cache-Control:must-revalidate"ETags 作为缓存的一种强校验器,ETag 响应头是一个对用户代理(User Agent, 下面简称UA)不透明(译者…

基于非线性参数的海洋捕食者算法

文章目录一、理论基础1、海洋捕食者算法(MPA)2、非线性海洋捕食者算法(NMPA)二、仿真实验与结果分析三、参考文献一、理论基础 1、海洋捕食者算法(MPA) 请参考这里。 2、非线性海洋捕食者算法(NMPA) MPA算法根据各种研究的规则和要点以及自然界的实际行为模拟捕食者和猎物的…

基于北方苍鹰优化算法的函数寻优算法

文章目录一、理论基础1、北方苍鹰优化算法(1)初始化阶段(2)第一阶段:猎物识别(探索)(3)第二阶段:追逐和逃跑行为(开发)2、NGO算法伪代码二、仿真实验与结果分析三、参考文献一、理论…

BAT高级架构师分享系统化Java学习路线!

Java是目前使用最为广泛的网络编程语言之一。 它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。一般的JAVA程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA高级架构师&am…