文章目录

  • 一、理论基础
    • 1、基本鲸鱼优化算法
    • 2、基于分段式随机惯性权重和最优反馈机制的鲸鱼优化算法(FWOA)
      • (1)基于最优解反馈机制的随机游走觅食
      • (2)分段式非线性递减惯性权重
      • (3)修正且改进的边界处理
      • (4)FWOA算法流程
  • 二、仿真实验与分析
    • 1、函数测试与数值分析
    • 2、求解压力容器优化设计问题
  • 三、参考文献

一、理论基础

1、基本鲸鱼优化算法

请参考这里。

2、基于分段式随机惯性权重和最优反馈机制的鲸鱼优化算法(FWOA)

(1)基于最优解反馈机制的随机游走觅食

在随机游走觅食过程中,可以通过反馈机制,使得鲸鱼并不仅进行无目的游走,还与当前最优位置的鲸鱼进行信息交流,这种方式不仅可以保持种群的多样性,还可避免随机选择个体的盲目性,本文引入的反馈数学模型如下: X n e w _ r a n d = X r a n d + r a n d × ( X r a n d − X b e s t ) (1) \boldsymbol X_{new\_rand}=\boldsymbol X_{rand}+rand\times(\boldsymbol X_{rand}-\boldsymbol X_{best})\tag{1} Xnew_rand​=Xrand​+rand×(Xrand​−Xbest​)(1)其中, X r a n d \boldsymbol X_{rand} Xrand​为随机选择的个体; X b e s t \boldsymbol X_{best} Xbest​为最优鲸鱼位置。
由式(1)可以看出,新鲸鱼的位置是由随机鲸鱼位置和最优鲸鱼位置共同决定的,在保证种群活跃性的同时加快了收敛速度。引入反馈机制后的鲸鱼随机游走公式为: X t + 1 = X n e w _ r a n d − A × D (2) \boldsymbol X_{t+1}=\boldsymbol X_{new\_rand}-\boldsymbol A\times\boldsymbol D\tag{2} Xt+1​=Xnew_rand​−A×D(2)

(2)分段式非线性递减惯性权重

本文将鲸鱼优化算法的收缩包围策略和螺旋捕食策略都分为前期、中期、后期3个进化阶段。在进化前期算法的惯性权重不变,即仍采用较大固定值,使算法在全局空间中进行充分搜索;而在中后期则引入非线性递减的动态惯性权重,使得鲸鱼向全局最优解附近靠近,加快算法收敛速度,引入的权重公式为: ω = { 1 t < 1 3 M a x _ i t e r 1 − e r a n d × ( t M a x _ i t e r − 1 ) o t h e r w i s e (3) \omega=\begin{dcases}1\quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\,\, t<\frac13Max\_iter\\1-e^{rand\times\left(\frac{t}{Max\_iter}-1\right)}\quad otherwise\end{dcases}\tag{3} ω=⎩ ⎨ ⎧​1t<31​Max_iter1−erand×(Max_itert​−1)otherwise​(3)式(3)中,惯性权重 ω \omega ω保持从1到0整体递减趋势的同时,也呈现出一定的随机性,这种随机性降低了算法如在中前期未能搜索到理论最优值附近,而在后期因惯性权重的单调递减直接陷入局部极值无法跳出的风险,有利于算法摆脱局部最优。加入惯性权重后,收缩包围策略与螺旋捕食策略的公式如下: X ( t + 1 ) = ω × X b e s t − A × D (4) \boldsymbol X(t+1)=\omega\times\boldsymbol X_{best}-\boldsymbol A\times\boldsymbol D\tag{4} X(t+1)=ω×Xbest​−A×D(4) X ( t + 1 ) = ω × X b e s t + D × e b l × cos ⁡ ( 2 × π × l ) (5) \boldsymbol X(t+1)=\omega×\boldsymbol X_{best}+\boldsymbol D\times e^{bl}\times\cos(2\times\pi\times l)\tag{5} X(t+1)=ω×Xbest​+D×ebl×cos(2×π×l)(5)

(3)修正且改进的边界处理

本文算法在进行边界条件处理时,会选择在靠近相应边界的区域内随机产生一个数值代替越界值,如果在某个维度上低于该维度的边界下限,就产生一个靠近此下限的值代替其值,如果在某维度上大于此维度的边界上限,则产生一个接近该上限的值代替其值,代码如下:

for i=1:Nfor j=1:dimif (u(i,j)<Xmin)u(i,j)=unifrnd(0,0.05)*(Xmax-Xmin)+Xmin;end ifif (u(i,j)>Xmax)u(i,j)=unifrnd(0.95,1)*(Xmax-Xmin)+Xmin;end ifend
end

由上述代码可以看出,改进公式不仅能增强种群的活跃性,还能提高算法的稳定性,符合改进规律,使边界处理更加合理和有效。

(4)FWOA算法流程

FWOA算法描述如下:

初始化鲸鱼种群Xi(i=1,2,...,N)
设置最优鲸鱼位置与适应度的初值
while (t<=Max_iter)由式(3)计算非线性惯性权重wfor i=1:N由相应公式更新系数向量A和C的值if p<0.5if |A|>=1由反馈公式(1)更新随机鲸鱼位置以随机鲸鱼位置为基础解,依据式(2)进行随机游走觅食else由式(4)以当前最优解为基础进行收缩包围猎物end ifelse由式(5)以当前最优解为基础进行螺旋捕食end if进行边界条件处理计算新的适应度值,确定当前最优值和最优值位置end for
end while

二、仿真实验与分析

1、函数测试与数值分析

为了验证本文算法FWOA的整体性能,将其与WOA、AWOA[2]、A-CWOA[3]进行对比,以文献[1]中表1的30维的12个测试函数为例。仿真实验中,4种算法的运行次数、种群规模、空间维度和最大迭代次数都保持一致,即 N = 30 , d i m = 30 , M a x _ i t e r = 1000 N=30,dim=30,Max\_iter=1000 N=30,dim=30,Max_iter=1000,每种算法分别独立运行30次。结果显示如下:

函数:F1
WOA:最差值: 9.6985e-149,最优值:1.2624e-165,平均值:3.2329e-150,标准差:1.7707e-149
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 8.579e-246,最优值:2.5388e-293,平均值:2.8597e-247,标准差:0
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F2
WOA:最差值: 1.3519e-101,最优值:2.2422e-112,平均值:5.2171e-103,标准差:2.4777e-102
AWOA:最差值: 3.1987e-290,最优值:3.0137e-305,平均值:1.067e-291,标准差:0
A-CWOA:最差值: 2.2545e-132,最优值:5.6579e-149,平均值:1.1924e-133,标准差:4.533e-133
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F3
WOA:最差值: 1.2785e-59,最优值:1.4112e-65,平均值:1.5641e-60,标准差:3.7632e-60
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 2.7585e-67,最优值:1.1206e-74,平均值:1.5297e-68,标准差:5.1674e-68
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F4
WOA:最差值: 3.1363e-52,最优值:2.0994e-74,平均值:1.1086e-53,标准差:5.7209e-53
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 8.5782e-219,最优值:1.6496e-239,平均值:5.4326e-220,标准差:0
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F5
WOA:最差值: 0.2678,最优值:1.6653e-16,平均值:0.15498,标准差:0.080057
AWOA:最差值: 1.6653e-16,最优值:1.6653e-16,平均值:1.6653e-16,标准差:0
A-CWOA:最差值: 0.20439,最优值:1.6653e-16,平均值:0.025956,标准差:0.060734
FWOA:最差值: 1.6653e-16,最优值:1.6653e-16,平均值:1.6653e-16,标准差:0
函数:F6
WOA:最差值: 86.1946,最优值:0.040401,平均值:36.4322,标准差:28.5546
AWOA:最差值: 1.7489e-273,最优值:3.7118e-289,平均值:7.4498e-275,标准差:0
A-CWOA:最差值: 2.6827e-113,最优值:1.8751e-127,平均值:9.7135e-115,标准差:4.8939e-114
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F7
WOA:最差值: 4.8426e-149,最优值:3.3567e-168,平均值:2.2224e-150,标准差:9.3325e-150
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 1.2378e-247,最优值:3.9085e-284,平均值:7.1833e-249,标准差:0
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F8
WOA:最差值: 1.2934e-05,最优值:1.0599e-36,平均值:1.3451e-06,标准差:3.1128e-06
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 1.069e-96,最优值:1.3506e-272,平均值:3.5635e-98,标准差:1.9518e-97
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F9
WOA:最差值: 0.0071748,最优值:1.161e-06,平均值:0.0020759,标准差:0.0019943
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 3.8063e-212,最优值:2.302e-252,平均值:1.2688e-213,标准差:0
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F10
WOA:最差值: 9.5848e-61,最优值:1.642e-67,平均值:4.4349e-62,标准差:1.7475e-61
AWOA:最差值: 0,最优值:0,平均值:0,标准差:0
A-CWOA:最差值: 1.1528e-63,最优值:1.3692e-77,平均值:4.2397e-65,标准差:2.1084e-64
FWOA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F11
WOA:最差值: 0.75845,最优值:0.0089816,平均值:0.11116,标准差:0.14342
AWOA:最差值: 0.11417,最优值:0.00049178,平均值:0.034273,标准差:0.031793
A-CWOA:最差值: 0.09673,最优值:0.00023318,平均值:0.012868,标准差:0.028159
FWOA:最差值: 0.23175,最优值:0.0047657,平均值:0.054654,标准差:0.058854
函数:F12
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:4.6777e-15,标准差:2.6279e-15
AWOA:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0
A-CWOA:最差值: 4.4409e-15,最优值:8.8818e-16,平均值:1.125e-15,标准差:9.0135e-16
FWOA:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0

实验充分说明FWOA具有出色的寻优性能,其寻优精度、收敛速度、跳出局部极值的能力和求解稳定性均优于AWOA、W-CWOA和WOA三种对比算法。

2、求解压力容器优化设计问题

压力容器设计问题具体请参考这里。仿真实验中,4种算法的运行次数、种群规模、空间维度和最大迭代次数都保持一致,即 N = 30 , M a x _ i t e r = 1000 N=30,Max\_iter=1000 N=30,Max_iter=1000,每种算法分别独立运行30次。结果显示如下:

WOA:最差值: 7581.6434,最优值:4631.6055,平均值:6354.6713,标准差:996.2371
AWOA:最差值: 7584.8163,最优值:4587.8158,平均值:6430.7318,标准差:1134.4121
ACWOA:最差值: 7540.2554,最优值:4890.3955,平均值:6527.8395,标准差:1049.8239
FWOA:最差值: 5683.8182,最优值:4620.93,平均值:5384.711,标准差:328.3436

实验充分说明FWOA在求解此类工程设计约束优化问题时具有优越的性能。

三、参考文献

[1] 刘景森, 马义想, 李煜. 改进鲸鱼算法求解工程设计优化问题[J]. 计算机集成制造系统, 2021, 27(7): 1884-1897.
[2] Wei Sun, Chongchong Zhang. Analysis and forecasting of the carbon price using multi—resolution singular value decomposition and extreme learning machine optimized by adaptive whale optimization algorithm[J]. Applied Energy, 2018, 231: 1354-1371.
[3] Mostafa A. Elhosseini, Amira Y. Haikal, Mahmoud Badawy, et al. Biped robot stability based on an A–C parametric Whale Optimization Algorithm[J]. Journal of Computational Science, 2019, 31: 17-32.

基于分段式随机惯性权重和最优反馈机制的鲸鱼优化算法相关推荐

  1. 基于自适应权重和Levy飞行的改进鲸鱼优化算法

    文章目录 一.理论基础 1.基本鲸鱼优化算法 2.改进的鲸鱼优化算法 (1)自适应权重方法 (2)Levy飞行策略 (3)改进WOA的算法流程图 二.实验测试及分析 三.参考文献 一.理论基础 1.基 ...

  2. 【蝴蝶算法】基于随机惯性权重策略+最优邻域扰动策略+动态转换概率策略的蝴蝶算法求解单目标优化问题附matlab代码IBOA...

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  3. 基于拉丁超立方抽样与自适应策略的改进鲸鱼优化算法

    文章目录 一.理论基础 1.基本鲸鱼优化算法 2.改进的鲸鱼优化算法 (1)LHS方法初始化种群 (2)收敛因子的改进 (3)非线性惯性权重 (4)改进的鲸鱼优化算法流程 二.仿真实验测试与分析 三. ...

  4. 基于精英反向学习和Lévy飞行的鲸鱼优化算法

    文章目录 一.理论基础 1.鲸鱼优化算法 2.改进鲸鱼优化算法 (1)基于精英反向学习的种群初始化 (2)自适应权重 (3)Lévy飞行 二.实验结果与分析 三.参考文献 一.理论基础 1.鲸鱼优化算 ...

  5. 基于自适应调整权重和搜索策略的鲸鱼优化算法

    文章目录 一.理论基础 1.鲸鱼优化算法 2.鲸鱼优化算法的改进 (1)自适应调整权重 (2)自适应调整搜索策略 (3)AWOA流程图 二.仿真对比与分析 三.参考文献 一.理论基础 1.鲸鱼优化算法 ...

  6. 基于自适应调整权重和搜索策略的鲸鱼优化算法-附代码

    基于自适应调整权重和搜索策略的鲸鱼优化算法 文章目录 基于自适应调整权重和搜索策略的鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 自适应调整权重 2.2 自适应调整搜索策略 3.实验 ...

  7. 基于自适应权重和柯西变异的鲸鱼优化算法

    文章目录 一.理论基础 1.鲸鱼优化算法 2.鲸鱼优化算法的改进 (1)柯西分布的逆累积分布函数 (2)自适应权重 (3)算法流程图 二.函数测试与结果分析 三.参考文献 一.理论基础 1.鲸鱼优化算 ...

  8. 【智能优化算法】基于分段权重和变异反向学习的蝴蝶优化算法求解单目标优化问题附matlab代码

    1 简介 针对原始蝴蝶优化算法容易陷入局部最优解,收敛速度慢及寻优精度低等问题,提出分段权重和变异反向学习的蝴蝶优化算法.通过飞行引领策略来矫正邻域内蝴蝶的自身飞行,降低盲目飞行,增强算法跳出局部最优 ...

  9. 基于混沌的正余弦鲸鱼优化算法-附代码

    基于混沌的正余弦鲸鱼优化算法 文章目录 基于混沌的正余弦鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 混沌初始化种群和参数优化 2.2 正余弦鲸鱼优化算法 2.3 混沌自适应的惯性权 ...

最新文章

  1. celldex包使用
  2. 美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...
  3. [导入]ASP.NET断点续传和多线程下载
  4. Ubuntu 16.04 安装 Gazebo
  5. 【ASP.NET MVC 学习笔记】- 06 在MVC中使用Ninject
  6. 谁来代替博客园——寄生博客
  7. 微信小程序开发demo-地图定位
  8. LeetCode MySQL 1045. 买下所有产品的客户
  9. Chrome“无法添加来自此网站的应用、扩展程序和应用脚本”的解决办法
  10. oracle数据库连接不稳定,Oracle数据库自连接查询的缺点及解决方法
  11. java 哈希表入门
  12. KindEditor 基本的使用
  13. 蚂蚁金服高要求的领域建模能力,对研发来说到底指什么?
  14. U盘中的文件夹被病毒隐藏,生成了同名的.exe后缀的可执行文件
  15. NIOS II入门学习笔记【一】--- NIOS II软核处理器开发入门
  16. .NetCore基于SignalR、Reids实现客服WebIM系统
  17. DSP学习(5)—— Timer的使用
  18. 中创软件哪个部分是外包_什么是外包| 第1部分
  19. vivoX9手机拆解
  20. 网路损伤仪可以帮助测试网络游戏

热门文章

  1. 计算机基础文化的读书报告,计算机导论读书报告样稿.doc
  2. 关于ar9331 gpio调试遇到的问题
  3. VSCODE使用技巧:解决每次推送代码都要输入用户名密码的繁琐过程(非ssh)
  4. Matlab验算拉格朗日中值定理
  5. 长链接转短链接的一次尝试
  6. 高数_证明_极限的唯一性
  7. 微博数据爬虫——获取用户基本信息(三)
  8. Qml 图像缩放,坐标灰度显示,鸟瞰图
  9. 6月26日第壹简报,星期日,农历五月廿八
  10. Goal: Sociology