黄金正弦混合原子搜索优化算法
文章目录
- 一、理论基础
- 1、基本原子搜索优化算法
- (1)相互作用力Fid\boldsymbol{F_i^d}Fid
- (2)共价键约束力Gid\boldsymbol{G_i^d}Gid
- (3)原子加速度aid\boldsymbol{a_i^d}aid
- (4)位置xid\boldsymbol{x_i^d}xid更新
- 2、黄金正弦原子搜索优化算法(GSASO)
- 二、实验仿真及结果分析
- 三、参考文献
一、理论基础
1、基本原子搜索优化算法
原子搜索优化(Atom search optimization, ASO)算法是根据原子的运动规律,通过种群中各个原子之间的相互作用力来指导群体进行智能优化搜索。算法结构简单,参数较少。根据牛顿第二定律,如果FiF_iFi是作用在第iii个原子上的相互作用力,而GiG_iGi是作用在第iii个原子上的约束力,该原子的质量为mim_imi,那么第iii个原子的加速度公式如式(1)所示:ai=Fi+Gimi(1)a_i=\frac{F_i+G_i}{m_i}\tag{1}ai=miFi+Gi(1)下面对FiF_iFi、GiG_iGi、mim_imi三个值的求解进行阐述。
(1)相互作用力Fid\boldsymbol{F_i^d}Fid
相互作用力FidF_i^dFid表示周围原子对当前原子iii的作用力之和,其求解公式如式(2)所示:Fid(t)=∑j∈KbestrandjFijd(t)(2)F_i^d(t)=\sum_{j\in K_{best}}rand_jF_{ij}^d(t)\tag{2}Fid(t)=j∈Kbest∑randjFijd(t)(2)其中,ttt是当前迭代次数;randjrand_jrandj是[0,1][0,1][0,1]上的随机数;ddd表示原子所在的维数;KbestK_{best}Kbest是对原子iii产生作用力的原子的集合;Fijd(t)F_{ij}^d(t)Fijd(t)表示第ttt次迭代中第jjj个原子对原子iii的伦纳德·琼斯(L-J)势作用力。
KbestK_{best}Kbest的定义如式(3)所示:Kbest(t)=N−(N−2)×tT(3)K_{best}(t)=N-(N-2)\times\sqrt{\frac tT}\tag{3}Kbest(t)=N−(N−2)×Tt(3)其中,NNN表示原子总个数;TTT表示总迭代次数。
Fijd(t)F_{ij}^d(t)Fijd(t)定义如式(4)所示:Fijd(t)=−η(t)[2(hij(t))13−(hij(t))7](4)F_{ij}^d(t)=-\eta(t)\left[2(h_{ij}(t))^{13}-(h_{ij}(t))^7\right]\tag{4}Fijd(t)=−η(t)[2(hij(t))13−(hij(t))7](4)其中,η(t)\eta(t)η(t)是用于调整排斥区域或吸引区域的深度函数,它的定义如式(5)所示:η(t)=−α(1−t−1T)3e−20tT(5)\eta(t)=-\alpha\left(1-\frac{t-1}{T}\right)^3e^{-\frac{20t}{T}}\tag{5}η(t)=−α(1−Tt−1)3e−T20t(5)其中,α\alphaα是深度权重。
hijh_{ij}hij的标准定义如式(6)所示:hij=rij(t)σ(t)(6)h_{ij}=\frac{r_{ij}(t)}{\sigma(t)}\tag{6}hij=σ(t)rij(t)(6)其中,σ\sigmaσ是长度尺度,它表示碰撞直径,rrr是两个原子之间的欧几里得距离。
rij(t)r_{ij}(t)rij(t)和σ(t)\sigma(t)σ(t)的定义如式(7)所示:rij(t)=∣∣xi(t),xj(t)∣∣2r_{ij}(t)=||x_i(t),x_j(t)||_2rij(t)=∣∣xi(t),xj(t)∣∣2σ(t)=∣∣xi(t),∑j∈Kbest(t)xj(t)Kbest(t)∣∣2(7)\sigma(t)=\left|\left|x_i(t),\frac{\sum_{j\in K_{best}(t)}x_j(t)}{K_{best}(t)}\right|\right|_2\tag{7}σ(t)=∣∣∣∣∣∣∣∣∣∣xi(t),Kbest(t)∑j∈Kbest(t)xj(t)∣∣∣∣∣∣∣∣∣∣2(7)其中,xix_ixi和xjx_jxj分别表示原子iii和原子jjj的位置。
实际上hijh_{ij}hij的值是在一定的范围内取值,为了改善勘探范围,将表现为斥力的hhh的下限设置为hmin=1.1h_{\min}=1.1hmin=1.1,上限设置为hmax=2.4h_{\max}=2.4hmax=2.4,并且在hminh_{\min}hmin的基础上增加了一个正弦扰动函数g(t)g(t)g(t),具体定义如式(8)所示:hij(t)={hmin+g(t)rij(t)σ(t)<hminrij(t)σ(t)hmin≤rij(t)σ(t)≤hmaxhmaxrij(t)σ(t)>hmax(8)h_{ij}(t)=\begin{dcases}h_{\min}+g(t)\quad \frac{r_{ij}(t)}{\sigma(t)}<h_{\min}\\\frac{r_{ij}(t)}{\sigma(t)}\quad\quad\quad\,\, h_{\min}≤\frac{r_{ij}(t)}{\sigma(t)}≤h_{\max}\\h_{\max}\quad\quad\quad\,\,\,\,\, \frac{r_{ij}(t)}{\sigma(t)}>h_{\max}\end{dcases}\tag{8}hij(t)=⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧hmin+g(t)σ(t)rij(t)<hminσ(t)rij(t)hmin≤σ(t)rij(t)≤hmaxhmaxσ(t)rij(t)>hmax(8)其中,g(t)g(t)g(t)的定义如式(9)所示:g(t)=0.1×sin(π2×tT)(9)g(t)=0.1\times\sin\left(\frac\pi2\times\frac tT\right)\tag{9}g(t)=0.1×sin(2π×Tt)(9)
(2)共价键约束力Gid\boldsymbol{G_i^d}Gid
在分子动力学中的几何约束在原子运动中也起着重要作用。 在ASO中,为了突出种群最佳原子的引导作用,假设每个原子与种群最佳原子具有一个共价键,因此每个原子都要受到最佳原子的约束力作用,其求解公式如式(10)所示:Gid=βe−20tT(xbestd(t)−xid(t))(10)G_i^d=\beta e^{-\frac{20t}T}(x_{best}^d(t)-x_i^d(t))\tag{10}Gid=βe−T20t(xbestd(t)−xid(t))(10)其中,β\betaβ是系数因子,xbestd(t)x_{best}^d(t)xbestd(t)是第ttt次迭代中种群最佳原子位置;xid(t)x_i^d(t)xid(t)是原子第ttt次迭代的当前位置。
(3)原子加速度aid\boldsymbol{a_i^d}aid
结合相互作用力和几何约束力,在第ttt次迭代的第iii个原子在第ddd维上的加速度如式(11)所示:aid=Fid+Gidmi(t)=−α(1−t−1T)3e−20tT∑j∈Kbestrandj[2(hij(t))13−(hij(t))7]mi(t)+βe−−20tT(xbestd(t)−xid(t))mi(11)a_i^d=\frac{F_i^d+G_i^d}{m_i(t)}\newline=-\alpha\left(1-\frac{t-1}T\right)^3e^{-\frac{20t}{T}}\sum_{j\in K_{best}}\frac{rand_j\left[2(h_{ij}(t))^{13}-(h_{ij}(t))^7\right]}{m_i(t)}\newline+\beta e^{-\frac{-20t}{T}}\frac{(x_{best}^d(t)-x_i^d(t))}{m_i}\tag{11}aid=mi(t)Fid+Gid=−α(1−Tt−1)3e−T20tj∈Kbest∑mi(t)randj[2(hij(t))13−(hij(t))7]+βe−T−20tmi(xbestd(t)−xid(t))(11)第ttt次迭代中第iii个原子的质量mi(t)m_i(t)mi(t)由当前种群个体的适应度值大小决定,其定义如式(12)所示:Mi(t)=e−fi(t)−fmin(t)fmax(t)−fmin(t)M_i(t)=e^{-\frac{f_i(t)-f_{\min}(t)}{f_{\max}(t)-f_{\min}(t)}}Mi(t)=e−fmax(t)−fmin(t)fi(t)−fmin(t)mi(t)=Mi(t)∑i=1NMi(t)(12)m_i(t)=\frac{M_i(t)}{\displaystyle\sum_{i=1}^NM_i(t)}\tag{12}mi(t)=i=1∑NMi(t)Mi(t)(12)其中fi(t)f_i(t)fi(t)表示第iii个原子的适应度值,fmax(t)f_{\max}(t)fmax(t)和fmin(t)f_{\min}(t)fmin(t)分别表示原子种群中最大适应度值和最小适应度值。
(4)位置xid\boldsymbol{x_i^d}xid更新
在每一次迭代过程中,根据得到的加速度更新物原子i的速度和位置,更新公式为如式(13)所示:vid(t+1)=randidvid(t)+aid(t)v_i^d(t+1)=rand_i^dv_i^d(t)+a_i^d(t)vid(t+1)=randidvid(t)+aid(t)xid(t+1)=xid(t)+vid(t+1)(13)x_i^d(t+1)=x_i^d(t)+v_i^d(t+1)\tag{13}xid(t+1)=xid(t)+vid(t+1)(13)其中,vidv_i^dvid是原子的速度;xidx_i^dxid是原子位置;randidrand_i^drandid是[0,1][0,1][0,1]之间的随机数。
ASO算法流程图如图1所示:
图1 ASO算法流程图
2、黄金正弦原子搜索优化算法(GSASO)
本文将黄金正弦作为局部优化算法融入基本ASO中,即在算法的每一次迭代的后期对整个原子个体进行黄金正弦操作。黄金正弦操作的引人可以促进信息在种群中的迅速传播,使一般原子个体与最优个体进行信息交流,充分吸收与最优个体位置差信息,优化算法的寻优方式。基本ASO算法前期倾向于全局搜索,黄金正弦算法的引入可以弥补收敛速度慢的缺陷,ASO算法后期集中于局部开发通过对个体进行黄金正弦的操作可以增加种群的多样性,使个体跳出局部最优,减少算法陷入局部最优的可能性。
GSASO的算法流程如图2所示:
图2 GSASO算法流程图
二、实验仿真及结果分析
本文选取了基本原子搜索优化算法(ASO)、黄金正弦原子搜索优化算法(GSASO)、粒子群优化算法(PSO)进行对比,为了保证实验的客观性和公平性,本文将所有算法的种群规模统一设为50,最大迭代次数设为200,所有算法共有参数保持一致,各测试算法的参数设置如文献[3]中表1所示,以文献[3]中表2的6个测试函数为例。为了避免偶然性带来的结果偏差,算法在每个函数上独立运行30次,结果显示如下:
函数:F1
PSO:最差值: 18430.5268,最优值: 3381.9258,平均值: 8949.13,标准差: 3126.6687,秩和检验: 3.0199e-11
ASO:最差值: 27883.4878,最优值: 9027.602,平均值: 15685.7135,标准差: 4092.8891,秩和检验: 3.0199e-11
GSASO:最差值: 9.5225e-59,最优值: 3.5697e-109,平均值: 3.2981e-60,标准差: 1.7369e-59,秩和检验: 1
函数:F2
PSO:最差值: 1059,最优值: 206,平均值: 499.0667,标准差: 197.0472,秩和检验: 1.2118e-12
ASO:最差值: 9,最优值: 0,平均值: 1.2333,标准差: 1.9061,秩和检验: 2.8125e-07
GSASO:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
函数:F3
PSO:最差值: 118.0827,最优值: 53.2737,平均值: 83.2024,标准差: 16.5066,秩和检验: 1.2118e-12
ASO:最差值: 47.758,最优值: 15.9193,平均值: 32.8784,标准差: 8.2605,秩和检验: 1.2118e-12
GSASO:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
函数:F4
PSO:最差值: 10.0432,最优值: 2.2611,平均值: 5.1689,标准差: 1.743,秩和检验: 1.2118e-12
ASO:最差值: 0.30087,最优值: 1.2212e-15,平均值: 0.020159,标准差: 0.057657,秩和检验: 1.2118e-12
GSASO:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
函数:F5
PSO:最差值: 10.5879,最优值: 4.6619,平均值: 7.035,标准差: 1.2704,秩和检验: 1.2118e-12
ASO:最差值: 0.93148,最优值: 1.391e-07,平均值: 0.098401,标准差: 0.23145,秩和检验: 1.2118e-12
GSASO:最差值: 8.8818e-16,最优值: 8.8818e-16,平均值: 8.8818e-16,标准差: 0,秩和检验: NaN
函数:F6
PSO:最差值: -2.6305,最优值: -10.1532,平均值: -5.808,标准差: 3.4725,秩和检验: 0.076441
ASO:最差值: -2.6305,最优值: -10.1532,平均值: -7.0137,标准差: 3.4001,秩和检验: 0.84054
GSASO:最差值: -5.9251,最优值: -9.7845,平均值: -8.0436,标准差: 1.1261,秩和检验: 1
通过对6个标准测试函数的仿真实验表明,本文所提出的黄金正弦原子优化算法比基本原子优化算法具有更优秀的寻优性能。
三、参考文献
[1] Weiguo Zhao, Liying Wang, Zhenxing Zhang. Atom search optimization and its application to solve a hydrogeologic parameter estimation problem[J]. Knowledge-Based Systems, 2019, 163: 283-304.
[2] 李建锋, 卢迪, 李贺香. 一种改进的原子搜索算法[J]. 系统仿真学报, 2022, 34(3): 490-502.
[3] 肖子雅, 刘升. 黄金正弦混合原子优化算法[J]. 微电子学与计算机, 2019, 36(6): 21-25.
黄金正弦混合原子搜索优化算法相关推荐
- 原子搜索优化算法ASO
目录 主函数 结果 各种算法的比较 结果 函数1 函数2 函数3 函数4 函数5 函数6 函数7 函数8 函数9 函数-粒子群优化算法 函数10 函数11 函数12 原子搜索算法(atom searc ...
- 多目标优化算法:多目标黄金搜索优化算法MOGSO(提供MATLAB代码)
一.算法简介 黄金搜索优化算法(Golden Search Optimization Algorithm,GSO)由MOHAMMAD NOROOZI等人于2022年提出,该算法原理简单,快捷高效. 二 ...
- 混沌麻雀搜索优化算法-附代码
混沌麻雀搜索算法 文章目录 混沌麻雀搜索算法 1.麻雀搜索算法 2.Tent 混沌及高斯变异 2.1 Tent 混沌 2.2 高斯变异 3.混沌麻雀搜索优化算法 4.实验结果 5.参考文献 6.Mat ...
- 融合改进天牛须和正余弦的双重搜索优化算法
文章目录 一.理论基础 1.正余弦优化算法 2.天牛须搜索算法 3.融合改进天牛须和正余弦的优化算法 (1)引入自适应权重 (2)递减参数r1r_1r1的改变 (3)变步长搜索机制 (4)算法流程图 ...
- 基于回溯搜索优化算法的WSN覆盖优化
文章目录 一.理论基础 1.回溯搜索优化算法 (1)种群初始化 (2)选择Ⅰ (3)变异 (4)交叉 (5)选择Ⅱ 2.BSA算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.回溯搜 ...
- 自适应变异麻雀搜索优化算法
文章目录 一.理论基础 1.麻雀搜索算法 2.改进麻雀搜索算法 2.1 猫映射混沌初始化种群 2.2 Tent混沌和柯西变异扰动策略 2.2.1 Tent混沌扰动 2.2.2 柯西变异 2.3 改进探 ...
- 混沌麻雀搜索优化算法
文章目录 一.理论基础 1.麻雀搜索算法 2.Tent混沌及高斯变异 2.1 Tent混沌 2.1.1 Tent混沌序列 2.1.2 Tent混沌扰动 2.2 高斯变异 3.改进麻雀搜索算法 二.仿真 ...
- 浅谈数据挖掘——频繁模式、序列挖掘与搜索优化算法
本系列将从下面几方面谈谈最近的一点点收获 令声明:本文主要是对我找到的一个莫名其妙国外英文pdf文件的学习与解读,因为我也没有找到他的出处(也没作者也没学校),所以我仅以此段文字向这个未知的作者致敬. ...
- 混合灰狼和布谷鸟搜索优化算法(Matlab完整代码实现)
目录 0 先看看运行结果 1 灰狼优化算法 1.1 灰狼优化算法基本思想
最新文章
- 自定义windows下自动清除文件夹或者文件的只读属性的脚本
- php变量名当文件命_php基础教程 第二步 通俗易懂的学习变量、常量与数据类型...
- PHP 手册 参考文档
- Bzoj4818--Sdoi2017序列计数
- rabbitMQ教程 一篇文章看懂rabbitMQ
- 【Solr专题之九】SolrJ教程
- [Leedcode][JAVA][第1300题][转变数组后最接近目标值的数组和][前缀和][二分法][暴力]
- 爬取100页京东商品评论
- 2016年最值得学习的五大开源项目
- 计算机组成原理——第八章
- C语言:大小字母转换(ASCII码)
- Opencv3.4.6+VS2019+win10安装教程
- windows 清除记录ftp账号
- FZU 2122 又见LKity
- 武林外传服务器时间修改,浅谈武林外传关于2021年4月29日大合区
- 设置Mysql数据库的默认编码为utf8
- python处理can协议文件_用Python处理CAN数据库
- android app套壳马甲开发,Android应用开发最佳实践:马甲包配置管理
- 百看不如一练 100道python经典题目,拿去参考学习练手(附答案)可复制
- 租用稳定的网通服务器,网通租用服务器