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

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

相关文章

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、