鲸鱼优化算法与其他算法对比_鲸鱼优化算法百度百科

鲸鱼优化算法与其他算法对比_鲸鱼优化算法百度百科文章目录一、理论基础1、鲸鱼优化算法2、鲸鱼优化算法的改进(1)自适应调整权重(2)自适应调整搜索策略(3)AWOA流程图二、仿真对比与分析三、参考文献四、Matlab仿真程序一、理论基础1、鲸鱼优化算法请参考这里。2、鲸鱼优化算法的改进(1)自适应调整权重由于WOA在优化求解的过程中,线性的惯性权重调整策略若选择不合适,将影响算法的收敛速度。因此,本文提出了一种根据当前鲸鱼种群分布情况来自适应改变权值的大小,公式如下:w=d1⋅(Piworst−Pibest)+d2⋅(xiupper−xilo

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、理论基础

1、鲸鱼优化算法

请参考这里。

2、鲸鱼优化算法的改进

(1)自适应调整权重

由于WOA在优化求解的过程中,线性的惯性权重调整策略若选择不合适,将影响算法的收敛速度。因此,本文提出了一种根据当前鲸鱼种群分布情况来自适应改变权值的大小,公式如下: w = d 1 ⋅ ( P i worst − P i best ) + d 2 ⋅ ( x i upper − x i lower ) / n g (1) w=d_1\cdot(P_{i\text{worst}}-P_{i\text{best}})+d_2\cdot(x_i^{\text{upper}}-x_i^{\text{lower}})/n_g\tag{1} w=d1​⋅(Piworst​−Pibest​)+d2​⋅(xiupper​−xilower​)/ng​(1)其中, n g n_g ng​表示当前种群的迭代次数; x i upper x_i^{\text{upper}} xiupper​和 x i lower x_i^{\text{lower}} xilower​分别为变量 x i x_i xi​的上界和下界; P i worst P_{i\text{worst}} Piworst​和 P i best P_{i\text{best}} Pibest​分别为当前鲸鱼种群中最差鲸鱼的位置向量和最优鲸鱼的位置向量; d 1 d_1 d1​和 d 2 d_2 d2​是两个常数。因此,当前鲸鱼个体自适应调整权重收缩包围更新位置和自适应调整权重螺旋更新位置公式如下: X ( t + 1 ) = w ⋅ X ∗ ( t ) − A ⋅ D (2) X(t+1)=w\cdot X^*(t)-A\cdot D\tag{2} X(t+1)=w⋅X∗(t)−A⋅D(2) X ( t + 1 ) = w ⋅ X ∗ ( t ) + D p ′ ⋅ e b l ⋅ cos ⁡ ( 2 π l ) (3) X(t+1)=w\cdot X^*(t)+D’_p\cdot e^{bl}\cdot\cos(2\pi l)\tag{3} X(t+1)=w⋅X∗(t)+Dp′​⋅ebl⋅cos(2πl)(3)这样设计自适应调整权重 w w w的好处在于,其值由两部分决定,前半部分对种群迭代次数过大时起主要调节作用,后半部分对种群陷入局部最优时起主要调节作用。权重 w w w前后两部分会根据当前种群位置的变化情况而发生变化,不拘于某种固定的形式,具有很强的自适应性。

(2)自适应调整搜索策略

为防止算法陷入局部最优,随机搜索阶段,个体根据概率阈值 Q Q Q来选取随机搜索的更新方式,概率阈值定义为 Q = ∣ f ˉ − f min ⁡ ∣ ∣ f max ⁡ − f min ⁡ ∣ (4) Q=\frac{|\bar f-f_{\min}|}{|f_{\max}-f_{\min}|}\tag{4} Q=∣fmax​−fmin​∣∣fˉ​−fmin​∣​(4)其中, f ˉ \bar f fˉ​表示当前鲸鱼种群的平均适应度值; f min ⁡ f_{\min} fmin​为当前鲸鱼种群中最好的适应度值; f max ⁡ f_{\max} fmax​为当前鲸鱼种群中最差的适应度值。对于每个鲸鱼个体,以一个 [ 0 , 1 ] [0,1] [0,1]之间的随机数 q q q与计算出的概率阈值 Q Q Q进行数值比较。若 q < Q q<Q q<Q,随机选取的鲸鱼个体 X rand X_{\text{rand}} Xrand​根据式(5)更新其位置,其他鲸鱼个体位置不变;否则,其他鲸鱼个体根据基本公式更新其位置。这样设计使得算法在迭代前期能以较大的概率在全局范围内随机产生一组解,避免鲸鱼因聚集在一起而导致种群多样性的缺失,增强了算法的全局搜索能力。 X rand = X j min ⁡ + r ⋅ ( X j max ⁡ − X j min ⁡ ) (5) X_{\text{rand}}=X_{j\min}+r\cdot(X_{j\max}-X_{j\min})\tag{5} Xrand​=Xjmin​+r⋅(Xjmax​−Xjmin​)(5)其中, r r r为 [ 0 , 1 ] [0,1] [0,1]之间的随机数; X j min ⁡ X_{j\min} Xjmin​和 X j max ⁡ X_{j\max} Xjmax​分别为变量 X rand X_{\text{rand}} Xrand​取值的最小值和最大值。

(3)AWOA流程图

综上所述,本文提出的AWOA执行过程中的流程图如图1所示。
在这里插入图片描述


图1 AWOA流程图

二、仿真对比与分析

本文测试函数以文献[1]中的f1~f3为例,以30维为例。经过反复多次仿真,对AWOA算法的最优参数设置如下:常数 b = 1 b=1 b=1, d 1 = 1 × 1 0 − 4 d_1=1×10^{-4} d1​=1×10−4, d 2 = 1 × 1 0 − 4 d_2=1×10^{-4} d2​=1×10−4,标准WOA[2]、CWOA[3]、IWOA[4]、CPWOA[5]和WOAWC[6]中的其他参数均按照其对应参考文献设置。种群规模 N = 30 N=30 N=30,最大迭代次数 M a x _ i t e r = 500 Max\_iter=500 Max_iter=500,每个算法独立运算30次。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

函数:F1
WOA:最优值: 1.0275e-88,最差值:2.2887e-70,平均值:7.6347e-72,标准差:4.1784e-71
CWOA:最优值: 0,最差值:0,平均值:0,标准差:0
IWOA:最优值: 5.8869e-128,最差值:3.9601e-115,平均值:1.6159e-116,标准差:7.3161e-116
CPWOA:最优值: 7.5304e-40,最差值:2.4677e-31,平均值:1.5636e-32,标准差:5.1077e-32
WOAWC:最优值: 0,最差值:0,平均值:0,标准差:0
AWOA:最优值: 0,最差值:0,平均值:0,标准差:0
函数:F2
WOA:最优值: 197.2851,最差值:198.0525,平均值:197.7349,标准差:0.18177
CWOA:最优值: 197.236,最差值:197.8923,平均值:197.5488,标准差:0.15479
IWOA:最优值: 197.4065,最差值:198.1475,平均值:197.7051,标准差:0.17241
CPWOA:最优值: 0.27532,最差值:197.4893,平均值:55.9569,标准差:80.772
WOAWC:最优值: 197.0951,最差值:197.1861,平均值:197.1288,标准差:0.021044
AWOA:最优值: 197.0692,最差值:197.4661,平均值:197.2064,标准差:0.098759
AWOA:最优值: 196.9541,最差值:197.2277,平均值:197.1117,标准差:0.057015
函数:F3
WOA:最优值: 0.080895,最差值:0.99112,平均值:0.43008,标准差:0.26211
CWOA:最优值: 0.33137,最差值:1.4031,平均值:0.75583,标准差:0.27682
IWOA:最优值: 0.72263,最差值:4.3749,平均值:2.7275,标准差:1.0025
CPWOA:最优值: 0.038945,最差值:0.21567,平均值:0.11654,标准差:0.0511
WOAWC:最优值: 0.045654,最差值:0.21824,平均值:0.11793,标准差:0.044555
AWOA:最优值: 0.14015,最差值:0.75181,平均值:0.44644,标准差:0.16601

仿真结果表明,AWOA在收敛精度和收敛速度方面总体上优于其他多种改进的鲸鱼优化算法。

三、参考文献

[1] 孔芝, 杨青峰, 赵杰, 等. 基于自适应调整权重和搜索策略的鲸鱼优化算法[J]. 东北大学学报(自然科学版), 2020, 41(1): 35-43.
[2] Seyedali M, Andrew L. The whale optimization algorithm[J]. Advances in Engineering Software, 2016, 95: 51-67.
[3] 王坚浩, 张亮, 史超, 等.基于混沌搜索策略的鲸鱼优化算法[J]. 控制与决策, 2019, 34(9): 1893-1900.
[4] 龙文, 蔡绍洪, 焦建军, 等. 求解大规模优化问题的改进鲸鱼优化算法[J]. 系统工程理论与实践, 2017, 37(11): 2983-2994.
[5] 黄清宝, 李俊兴, 宋春宁, 等.基于余弦控制因子和多项式变异的鲸鱼优化算法[J]. 控制与决策, 2020, 35(3): 559-568.
[6] 郭振洲, 王平, 马云峰, 等. 基于自适应权重和柯西变异的鲸鱼优化算法[J]. 微电子学与计算机, 2017, 34(9): 20-25.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185640.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++11新特性之线程操作

    C++11之前没有对并发编程提供语言级别的支持,这使得我们在编写可移植的并发程序时,存在诸多的不便。现在C++11增加了线程以及线程相关的类,很方便地支持了并发编程,使得编写的多线程程序的可移植性得到

    2021年12月28日
  • F5 在 Gartner 魔力象限中被评为 Web 应用防火墙领导者

    F5 在 Gartner 魔力象限中被评为 Web 应用防火墙领导者F5Networks(NASDAQ:FFIV)今天宣布,F5公司在Gartner公司于2017年8月7日公布的“Web应用防火墙(WAF)魔力象限”中被列入“领导者”象限。F5执行副总裁兼首席营销官BenGibson表示:“我们的应用安全管理器,即WAF,一直是F5最受欢迎的产品之一。许多客户都依靠它来保护应用免…

    2022年5月23日
  • 网络虚拟化和SDN

    1、什么是虚拟化2、服务器虚拟化3、网络虚拟化4、云计算跟网络虚拟化的结合5、SDN在网络虚拟化和云计算中的作用一、什么是虚拟化虚拟化技术,就是将一个物理实体,通过一些复用的技术,克隆出多个虚拟的等价物,这些虚拟的等价物依附于物理的实体之上,共享物理实体的各种资源。类似于进程与线程的关系,在一个进程内可以fork出多个线程,所有线程共享进程的内存资源。提到虚拟化技术,现在通常是指服…

    2022年4月7日
  • ebpf简介_ebpf编程

    ebpf简介_ebpf编程@TOC[]什么是eBPFeBPF是什么呢?从它的全称“扩展的伯克利数据包过滤器(ExtendedBerkeleyPacketFilter)”来看,它是一种数据包过滤技术,是从BPF(BerkeleyPacketFilter)技术扩展而来的。顾名思义BPF来源于伯克利大学,最早应用于网络数据包过滤器,它比当时最先进的抓包技术快20倍,其主要得利于它的两个设计:内核态引入一个新的虚拟机,所有指令都在内核虚拟机中运行。用户态使用BPF字节码来定义过滤表达式,然后传递给内核

    2022年9月21日
  • js 的forEach 如何跳出循环「建议收藏」

    js 的forEach 如何跳出循环「建议收藏」forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数回调函数的参数function(currentValue,index,arr)currentValue必需。当前元素index可选。当前元素的索引值…

    2022年6月4日
  • podman快速入门详解与实践

    podman快速入门详解与实践

    2021年6月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号