融合改进天牛须和正余弦的双重搜索优化算法
文章目录
- 一、理论基础
- 1、正余弦优化算法
- 2、天牛须搜索算法
- 3、融合改进天牛须和正余弦的优化算法
- (1)引入自适应权重
- (2)递减参数r1r_1r1的改变
- (3)变步长搜索机制
- (4)算法流程图
- 二、仿真实验与分析
- 三、参考文献
一、理论基础
1、正余弦优化算法
请参考这里。
2、天牛须搜索算法
请参考这里。
3、融合改进天牛须和正余弦的优化算法
(1)引入自适应权重
受蚁群优化算法的启发,在正余弦优化算法的位置更新公式中引入动态自适应权重www。随着正余弦优化算法迭代次数ttt改变的自适应惯性权重如式(1)所示:w(t)=0.2cos(π2⋅(1−tT))(1)w(t)=0.2\cos\left(\frac\pi2\cdot(1-\frac tT)\right)\tag{1}w(t)=0.2cos(2π⋅(1−Tt))(1)其中,TTT为最大迭代次数,ttt为当前迭代次数。在正余弦中
引入自适应惯性权重之后,随着迭代次数的改变,每个位置上对下个寻优位置的影响将不再是固定的,而是由一种非线性的规律变化,对该函数分析可以看出,前期在寻找最优值中,权重较低,对下次更新位置影响较小,但是随着迭代次数的增加,权重会逐渐变大,这样之后的迭代位置变化范围就会逐渐变小,能够最大限度保证算法的收敛性。
(2)递减参数r1r_1r1的改变
为了进一步加强迭代后期局部搜索能力,用更加灵活的搜索方式寻找,引入动态变化的思想,将线性递减函数r1r_1r1变成指数型递减函数,同时引入余弦函数,提出了一种新的转换参数模型,表达式如下:r1=αecos(π⋅tT+t)(2)r_1=\alpha e^{\cos(\pi\cdot\frac{t}{T+t})}\tag{2}r1=αecos(π⋅T+tt)(2)其中,α\alphaα为常数,本文取0.05。
引入自适应权重和指数型递减函数之后,正余弦算法位置更新公式如式(3):Xit+1={w(t)⋅Xit+r1×sin(r2)×∣r3Pit−Xit∣,r4<0.5w(t)⋅Xit+r1×cos(r2)×∣r3Pit−Xit∣,r4≥0.5(3)X_i^{t+1}=\begin{dcases}w(t)\cdot X_i^t+r_1×\sin(r_2)×|r_3P_i^t-X_i^t|,\, r_4<0.5\\w(t)\cdot X_i^t+r_1×\cos(r_2)×|r_3P_i^t-X_i^t|,\, r_4≥0.5\end{dcases}\tag{3}Xit+1={w(t)⋅Xit+r1×sin(r2)×∣r3Pit−Xit∣,r4<0.5w(t)⋅Xit+r1×cos(r2)×∣r3Pit−Xit∣,r4≥0.5(3)
(3)变步长搜索机制
为了使天牛须搜索能够更好的在正余弦上寻优,结合动态变化思想,将其搜索的固定步长改为变步长搜索,变化步长为公式(4):δt=s1×(s0s1)TT+10t(4)\delta^t=s_1×\left(\frac{s_0}{s_1}\right)^{\frac{T}{T+10t}}\tag{4}δt=s1×(s1s0)T+10tT(4)其中,TTT为最大迭代次数,s0s_0s0和s1s_1s1为常数,本文取0.9和0.4,ttt为当前迭代次数。经过天牛须的二次搜索得到的值为X∗t+1X_*^{t+1}X∗t+1。
改进的天牛须算法对改进正余弦优化算法搜索出的最佳位置进行二次寻优,再在计算适应度值的基础上用贪婪策略判断两次位置最优情况,得到更新的位置。
根据贪婪策略来对搜索的值进行判断,具体公式如式(5)所示:Xt+1~={Xit+1,f(Xit+1)<f(X∗t+1)X∗t+1,f(X∗t+1)<f(Xit+1)(5)\widetilde{X^{t+1}}=\begin{dcases}X_i^{t+1},f(X_i^{t+1})<f(X_*^{t+1})\\X_*^{t+1},f(X_*^{t+1})<f(X_i^{t+1})\end{dcases}\tag{5}Xt+1={Xit+1,f(Xit+1)<f(X∗t+1)X∗t+1,f(X∗t+1)<f(Xit+1)(5)其中,f(X)f(X)f(X)为在位置XXX处求得的适应度函数,比较原正余弦位置和天牛须二次搜索位置的适应度值,若二次搜索更优则替换原位置,反之则不替换。
(4)算法流程图
图1 算法流程图
二、仿真实验与分析
本文选取改进算法(BAS-SCA)与标准SCA、粒子群算法(PSO)、改进的抛物线函数正余弦算法(PSCA)和改进的指数正余弦算法(ESCA)作为比较对象进行实验。几种算法的参数设置相同:种群规模设置为30,最大迭代次数为500,每种算法都独立运行50次,函数维度为30。以文献[1]中的f1~f5为例。
结果显示如下:
函数:F1
SCA:最优值: 0.0015173,最差值:107.1038,平均值:16.4455,标准差:26.2158
PSO:最优值: 0.045929,最差值:0.3233,平均值:0.11933,标准差:0.060985
BAS-SCA:最优值: 0,最差值:0,平均值:0,标准差:0
PSCA:最优值: 0.14138,最差值:521.7467,平均值:71.5145,标准差:110.2236
ESCA:最优值: 6.6098e-05,最差值:3.1276,平均值:0.43403,标准差:0.78649
函数:F2
SCA:最优值: 0.00026852,最差值:0.43915,平均值:0.023406,标准差:0.062639
PSO:最优值: 1.3672,最差值:7.2764,平均值:3.2122,标准差:1.3477
BAS-SCA:最优值: 0,最差值:0,平均值:0,标准差:0
PSCA:最优值: 0.0033107,最差值:0.50267,平均值:0.11746,标准差:0.11901
ESCA:最优值: 1.5551e-06,最差值:0.0034327,平均值:0.00051028,标准差:0.00083077
函数:F3
SCA:最优值: 245.3718,最差值:20865.3343,平均值:8141.1753,标准差:4888.6753
PSO:最优值: 9.7541,最差值:63.5944,平均值:26.305,标准差:12.2649
BAS-SCA:最优值: 0,最差值:0,平均值:0,标准差:0
PSCA:最优值: 781.5141,最差值:25654.2985,平均值:9949.071,标准差:6333.9848
ESCA:最优值: 177.3687,最差值:39844.1789,平均值:12117.2578,标准差:9543.3642
函数:F4
SCA:最优值: 5.5645,最差值:59.5933,平均值:35.3357,标准差:12.723
PSO:最优值: 0.87302,最差值:6.2476,平均值:3.0341,标准差:1.3389
BAS-SCA:最优值: 0,最差值:0,平均值:0,标准差:0
PSCA:最优值: 11.043,最差值:58.4541,平均值:36.121,标准差:10.9069
ESCA:最优值: 3.2674,最差值:86.2684,平均值:37.5128,标准差:18.1281
函数:F5
SCA:最优值: 121.5999,最差值:48208710.2849,平均值:5646772.1591,标准差:11617875.9485
PSO:最优值: 40.7983,最差值:4791.523,平均值:367.4966,标准差:741.8107
BAS-SCA:最优值: 28.8561,最差值:28.9922,平均值:28.9711,标准差:0.024156
PSCA:最优值: 12572.3135,最差值:463000496.9565,平均值:21160115.0306,标准差:72751412.6805
ESCA:最优值: 31.0039,最差值:66473656.0298,平均值:1810294.4613,标准差:9537173.7326
仿真结果表明,所提双重搜索优化算法BAS-SCA相较于其它现有优化算法,具有更高的寻优精度和更快的收敛速度。
三、参考文献
[1] 姚信威, 王佐响, 姚远, 等. 融合改进天牛须和正余弦的双重搜索优化算法[J]. 小型微型计算机系统, 2022, 43(8): 1644-1652.
融合改进天牛须和正余弦的双重搜索优化算法相关推荐
- 【智能优化算法】基于融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法求解单目标优化问题附matlab代码
1 简介 针对基本海鸥算法存在的缺陷,提出一种融合改进Logistics混沌和正弦余弦算子的自适应t分布海鸥算法(ISOA).首先,采用改进Logistics混沌映射初始化种群,使海鸥更加均匀地分布于 ...
- 融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法-附代码
融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法 文章目录 融合改进 Logistics 混沌和正弦余弦算子的自适应 t 分布海鸥算法 1.海鸥优化算法 2. 改进海鸥优化算 ...
- 融合最优邻域扰动和反向学习策略的蝴蝶优化算法
文章目录 一.理论基础 1.基本BOA 2.ORBOA 2.1 基于改进Tent混沌映射的蝴蝶位置初始化 2.2 混合最优邻域扰动策略和透镜成像反向学习策略 2.2.1 最优邻域扰动策略 2.2.2 ...
- C语言正余弦函数定点查表算法原理及实现
如果用数学库中的sin和cos函数计算,可能涉及浮点.乘法.除法运算,运行速率较低.这里介绍一种正余弦查表算法. 参考代码:SMT32 FOC电机库的mc_math.c. 首先我们知道正弦和余弦的函数 ...
- 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法-附代码
融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 文章目录 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 1.蝴蝶优化算法 2. 改进蝴蝶优化算法 2.1 无限折叠迭代混沌映射的种群初始化 2.2 ...
- 正余弦函数的matlab仿真,实现正余弦信号的算法比较
实现正余弦函数的几种算法记录 1.几种算法的理论推导与matlab仿真 (1)Taylor级数逼近正余弦函数的推导 精度要求为20bit,其对应误差为9.536e-7,所以泰勒函数逼近的误差值要小于9 ...
- 【文献阅读】多目标优化算法改进-Part1
一.改进NSGA-Ⅱ算法 文献:改进NSGA-Ⅱ算法的动力总成悬置系统怠速振动优化 摘要:在NSGA-Ⅱ算法的基础上引入自适应遗传因子以提高其寻优性.收敛性,基于改进的NSGA-Ⅱ算法,使用 振型叠加 ...
- 黏菌优化算法SMA与算术优化算法AOA及其联合改进
0.简介 黏菌优化算法(Smile Mould Algorithm, SMA)和算术优化算法(Arithmetic Optimization Algorithm,AOA)是最近提出的新型元启发式优化算 ...
- 【蝗虫算法】基于混合柯西变异和均匀分布改进蝗虫优化算法求解单目标优化问题matlab代码
1 简介 传统蝗虫优化算法在处理优化问题时依然存在收敛速度慢,易陷入局部最优的不足.为此,提出了融合混沌映射和柯西变异机制的非线性蝗虫优化算法CCGOA.通过融合混沌Tent映射与反向学习机制,对种群 ...
最新文章
- 【机器学习】基于人工鱼群算法的非线性函数寻优
- c#中在规定时间弹出窗体
- 前两天谁要的抢红包利器,给你安排了
- listview条目用状态选择器没反应
- python numpy库中省略号...的一些用法
- Missing artifact net.sf.json-lib:json-lib:jar:2.4错误和Eclipse安装Maven插件错误
- 网页版四则运算(未全部完成)
- Cenos 7修改时区的方法
- TCP/IP详解学习笔记(1)
- inDesign教程,如何将内容与参考线对齐?
- visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决
- SVN仓库解决APIcloud2检出错误
- 电子报纸的分析即制作
- Java 读取p12 证书私钥
- 港口水域电子海图数据快速检索算法及应用
- 如何下载最新Windows10镜像文件(.iso文件)
- AG-DST论文笔记
- linux 系统基本设置
- 酷派手机(Coolpad 8297-T01)在Android开发工具如AndroidStudio、Eclipse中无法打印Log
- 零基础的小明要如何成为前端工程师?
热门文章
- 保序加密OPE 算法 BCLO09及python仿真
- 如何编写好的代码/成为一个更好的程序员
- cat全链路监控_CAT分布式监控系统(一):CAT功能介绍 CAT监控系统是什么、能做什么?...
- 笔记《基于无人驾驶方程式赛车的传感器融合目标检测算法研究及实现》
- PIL批量更改图片像素大小,python
- ccc 邮箱_CCC的完整形式是什么?
- python多进程编程_【玩树莓】编程篇(八)Python多线程、多进程编程
- 家用电器的CCC认证流程
- python——pandas展示所有列
- 我的世界java版1.12.2版_我的世界Minecraft Java版1.12.2 pre2 发布