基于混沌收敛因子和惯性权重的鲸鱼优化算法

2024-01-28 13:30

本文主要是介绍基于混沌收敛因子和惯性权重的鲸鱼优化算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、理论基础
    • 1、鲸鱼优化算法
    • 2、改进的鲸鱼优化算法
      • (1)增强种群多样性的初始化策略
      • (2)混沌收敛因子和惯性权重协同更新策略
      • (3)多项式变异策略
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、鲸鱼优化算法

请参考这里。

2、改进的鲸鱼优化算法

(1)增强种群多样性的初始化策略

采用随机方法产生初始种群不能保证初始种群较好地覆盖待优化问题的寻优空间,导致初始种群分布性较差,所以本文采用一种均匀化与随机化相结合的初始化方法。
假设种群规模为 N N N,解空间的维度为 d d d,解空间中各维变量 x j ( j ∈ [ 1 , d ] ) x_j(j\in[1,d]) xj(j[1,d])的寻优区间为 [ l j , u j ] [l_j,u_j] [lj,uj]。将区间 [ l j , u j ] [l_j,u_j] [lj,uj]均匀划分成 N N N个等长的子区间,初始个体在每一维上的取值需要首先通过随机选定子区间、然后在该子区间内产生随机值而获得。均匀划分后的各子区间有且仅有一次被选取的机会,这样可在最大程度上保证初始群体的多样性。具体流程如下。
在这里插入图片描述

(2)混沌收敛因子和惯性权重协同更新策略

在标准WOA算法中,收敛因子 a a a随迭代次数的增加从2线性减小到0,然而这种简单的参数调整策略不能完全体现实际的鲸鱼群体狩猎过程。因此,本文设计一种带混沌扰动的收敛因子非线性变化策略,混沌收敛因子更新公式为 a = 2 [ 1 − ( t t max ⁡ ) 1 4 ] + 2 ∣ h t ∣ { 1 − ( t t max ⁡ ) 2 − [ 1 − ( t t max ⁡ ) 1 4 ] } (1) a=2\left[1-\left(\frac{t}{t_{\max}}\right)^{\frac14}\right]+2|h_t|\left\{1-\left(\frac{t}{t_{\max}}\right)^2-\left[1-\left(\frac{t}{t_{\max}}\right)^{\frac14}\right]\right\}\tag{1} a=2[1(tmaxt)41]+2ht{1(tmaxt)2[1(tmaxt)41]}(1)其中, h t = 1 − 2 ( h t − 1 ) 2 h_t=1-2\left(h_{t-1}\right)^2 ht=12(ht1)2,且 h t ∈ [ 0 , 1 ] , h 0 ≠ 0.5 h_t\in[0,1],h_0\neq0.5 ht[0,1],h0=0.5
收敛因子 a a a的衰减趋势如图1所示。在搜索前期,收敛因子整体较大,算法注重于全局寻优,但由于混沌扰动因素的存在,在某些寻优迭代中,收敛因子取值较小,算法进行局部寻优,可以提高收敛速度。在搜索后期,收敛因子整体较小,算法注重于局部寻优,同样由于混沌扰动,收敛因子在部分寻优迭代中取值较大,算法可在较大空间中寻优,有助于跳出局部最优。
在这里插入图片描述

图1 混沌收敛因子 a a a的变化曲线

为了进一步平衡算法的全局寻优和局部探索能力,本文引入了惯性权重策略 ,让其配合混沌收敛因子共同协调算法的全局寻优和局部开发能力。惯性权重更新公式为 w = w initial − ( w initial − w final ) sin ⁡ ( π 2 ⋅ t t max ⁡ ) (2) w=w_{\text{initial}}-(w_{\text{initial}}-w_{\text{final}})\sin\left(\frac\pi2\cdot\frac{t}{t_{\max}}\right)\tag{2} w=winitial(winitialwfinal)sin(2πtmaxt)(2)其中, w initial w_{\text{initial}} winitial w final w_{\text{final}} wfinal分别为惯性权重 w w w的初始值和终止值,其取值分别为0.9和0.2。
加入惯性权重更新策略后,当前个体包围猎物时的位置更新公式以及螺旋式运动时的位置更新公式分别为 X ( t + 1 ) = w ⋅ X ∗ ( t ) − A ∣ C ⋅ X ∗ ( t ) − X ( t ) ∣ (3) X(t+1)=w\cdot X^*(t)-A\left|C\cdot X^*(t)-X(t)\right|\tag{3} X(t+1)=wX(t)ACX(t)X(t)(3) X ( t + 1 ) = w ⋅ X ∗ ( t ) + D ′ e b l cos ⁡ ( 2 π l ) (4) X(t+1)=w\cdot X^*(t)+D'e^{bl}\cos(2\pi l)\tag{4} X(t+1)=wX(t)+Deblcos(2πl)(4)

(3)多项式变异策略

在标准鲸鱼优化算法的迭代后期,由于搜索策略的原因,种群中所有鲸鱼个体都会向最优个体聚集,导致种群多样性降低。如果此时最优个体为局部最优解,则算法将出现早熟收敛。为了防止出现这类问题,本文对当前最优鲸鱼位置引入了多项式变异,多项式变异算子形式如下 X i ′ = X i + δ i ( u i − l i ) (5) X_i'=X_i+\delta_i(u_i-l_i)\tag{5} Xi=Xi+δi(uili)(5)其中, δ i = { ( 2 r i ) 1 / ( η + 1 ) r i < 0.5 1 − [ 2 ( 1 − r i ) ] 1 / ( η + 1 ) r i ≥ 0.5 (6) \delta_i=\begin{dcases}(2r_i)^{1/(\eta+1)}\quad\quad\quad\quad\quad\, r_i<0.5\\[2ex]1-\left[2(1-r_i)\right]^{1/(\eta+1)}\quad r_i\geq0.5\end{dcases}\tag{6} δi=(2ri)1/(η+1)ri<0.51[2(1ri)]1/(η+1)ri0.5(6)式(5)~(6)中, u i u_i ui l i l_i li分别为变量 X i X_i Xi的上、下界; r i r_i ri为区间 [ 0 , 1 ] [0,1] [0,1]的随机数; η \eta η为变异分布指数,本文取值为30。

二、仿真实验与结果分析

将CWOA与WOA和IWOA[2]进行对比,以文献[1]中表1的30维的12个函数为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算100次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
WOA:最差值: 5.0552e-71, 最优值: 6.1844e-86, 平均值: 6.8793e-73, 标准差: 5.1233e-72, 秩和检验: 5.64e-39
IWOA:最差值: 3.5475e-113, 最优值: 3.8653e-128, 平均值: 6.8774e-115, 标准差: 4.4571e-114, 秩和检验: 5.64e-39
CWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F2
WOA:最差值: 4.2265e-50, 最优值: 4.1969e-59, 平均值: 1.2205e-51, 标准差: 5.8304e-51, 秩和检验: 2.5621e-34
IWOA:最差值: 1.3079e-65, 最优值: 6.5135e-75, 平均值: 4.2263e-67, 标准差: 1.8921e-66, 秩和检验: 2.5621e-34
CWOA:最差值: 1.8783e-173, 最优值: 6.4264e-205, 平均值: 1.8783e-175, 标准差: 0, 秩和检验: 1
函数:F3
WOA:最差值: 90.4992, 最优值: 0.0091817, 平均值: 47.8724, 标准差: 28.7591, 秩和检验: 2.5621e-34
IWOA:最差值: 66.9236, 最优值: 0.00023752, 平均值: 22.1856, 标准差: 17.7885, 秩和检验: 2.5621e-34
CWOA:最差值: 9.1379e-175, 最优值: 5.5243e-196, 平均值: 1.7891e-176, 标准差: 0, 秩和检验: 1
函数:F4
WOA:最差值: 28.7528, 最优值: 26.8789, 平均值: 27.7583, 标准差: 0.43217, 秩和检验: 0.68953
IWOA:最差值: 28.891, 最优值: 3.6695, 平均值: 28.0532, 标准差: 4.1215, 秩和检验: 1.6116e-30
CWOA:最差值: 28.268, 最优值: 27.0873, 平均值: 27.7422, 标准差: 0.22632, 秩和检验: 1
函数:F5
WOA:最差值: 0.01963, 最优值: 5.0594e-05, 平均值: 0.0037346, 标准差: 0.0040676, 秩和检验: 8.2533e-32
IWOA:最差值: 0.0088257, 最优值: 6.7849e-05, 平均值: 0.0020315, 标准差: 0.0020893, 秩和检验: 4.5902e-29
CWOA:最差值: 0.00053376, 最优值: 8.5821e-09, 平均值: 0.00010664, 标准差: 0.0001123, 秩和检验: 1
函数:F6
WOA:最差值: 8.657, 最优值: 0, 平均值: 0.08657, 标准差: 0.8657, 秩和检验: 0.013271
IWOA:最差值: 5.6843e-14, 最优值: 0, 平均值: 1.7053e-15, 标准差: 9.7456e-15, 秩和检验: 0.082738
CWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F7
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.0856e-15, 标准差: 2.4994e-15, 秩和检验: 3.0982e-24
IWOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.2277e-15, 标准差: 2.3041e-15, 秩和检验: 2.8564e-27
CWOA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
函数:F8
WOA:最差值: 0.15504, 最优值: 0, 平均值: 0.0030291, 标准差: 0.018558, 秩和检验: 0.082748
IWOA:最差值: 1.0064, 最优值: 0, 平均值: 0.055566, 标准差: 0.22215, 秩和检验: 0.013273
CWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F9
WOA:最差值: 2.3543e-103, 最优值: 1.0294e-142, 平均值: 2.6804e-105, 标准差: 2.3685e-104, 秩和检验: 5.64e-39
IWOA:最差值: 2.4773e-178, 最优值: 3.3018e-228, 平均值: 3.5105e-180, 标准差: 0, 秩和检验: 5.64e-39
CWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F10
WOA:最差值: 3.7908e-65, 最优值: 2.4301e-82, 平均值: 4.5778e-67, 标准差: 3.8628e-66, 秩和检验: 5.64e-39
IWOA:最差值: 4.4858e-107, 最优值: 2.7888e-126, 平均值: 4.507e-109, 标准差: 4.4857e-108, 秩和检验: 5.64e-39
CWOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
函数:F11
WOA:最差值: 0.099295, 最优值: 0.0041727, 平均值: 0.023861, 标准差: 0.018302, 秩和检验: 0.69494
IWOA:最差值: 0.61227, 最优值: 0.034846, 平均值: 0.19255, 标准差: 0.12939, 秩和检验: 6.6809e-34
CWOA:最差值: 0.045748, 最优值: 0.0053462, 平均值: 0.0201, 标准差: 0.0083432, 秩和检验: 1
函数:F12
WOA:最差值: 1.233, 最优值: 0.096915, 平均值: 0.51947, 标准差: 0.24064, 秩和检验: 2.2364e-32
IWOA:最差值: 2.6685, 最优值: 0.36372, 平均值: 1.4356, 标准差: 0.52229, 秩和检验: 2.5621e-34
CWOA:最差值: 0.22319, 最优值: 0.046715, 平均值: 0.10708, 标准差: 0.038974, 秩和检验: 1

实验结果表明:CWOA在寻优精度、收敛速度和鲁棒性方面均有明显优势。

三、参考文献

[1] 邹浩, 李维刚, 李阳, 等. 基于混沌收敛因子和惯性权重的鲸鱼优化算法[J]. 武汉科技大学学报, 2022, 45(4): 304-313.
[2] 龙文, 蔡绍洪, 焦建军, 等. 求解大规模优化问题的改进鲸鱼优化算法[J]. 系统工程理论与实践, 2017, 37(11): 2983-2994.

这篇关于基于混沌收敛因子和惯性权重的鲸鱼优化算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653757

相关文章

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6