高斯同余理论_高斯模糊算法

高斯同余理论_高斯模糊算法针对鲸鱼优化算法在处理高维问题时存在收敛速度慢、容易陷入局部最优和收敛精度低等问题,提出一种基于对数惯性权重和高斯差分变异的鲸群优化算法。通过高斯差分变异对鲸鱼位置更新方程进行变异,增加了种群多样性,提高了鲸群算法的全局搜索能力,防止早熟现象发生;将对数惯性权重引入搜寻猎物阶段,平衡全局搜索和局部开发能力,提高了算法寻优精度。通过测试函数优化实验对算法进行测试,实验结果表明,改进算法具有更高的寻优精度和更快的收敛速度。

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

Jetbrains全系列IDE稳定放心使用

一、理论基础

1、鲸群优化算法

请参考这里

2、改进鲸群优化算法

(1)高斯差分变异策略

利用当前最优鲸的位置、当前鲸的位置与鲸群中随机个体进行高斯差分,由于高斯差分变异可以在当前变异个体附近生成更大的扰动,使得算法更容易跳出局部极值,其数学表达式如下: X ( t + 1 ) = p 1 ⋅ f 1 ⋅ ( X ∗ − X ( t ) ) + p 2 ⋅ f 2 ⋅ ( X r a n d − X ( t ) ) (1) \boldsymbol X(t+1)=p_1\cdot f_1\cdot(\boldsymbol X^*-\boldsymbol X(t))+p_2\cdot f_2\cdot(\boldsymbol X_{rand}-\boldsymbol X(t))\tag{1} X(t+1)=p1f1(XX(t))+p2f2(XrandX(t))(1)其中, p 1 p_1 p1 p 2 p_2 p2为权重系数,取值均为0.5; f 1 f_1 f1 f 2 f_2 f2是以产生均值为0、方差为1的高斯分布随机数函数作为高斯分布函数系数; X ∗ \boldsymbol X^* X为当前最优个体位置; X r a n d \boldsymbol X_{rand} Xrand为随机选择鲸的位置向量; X ( t ) \boldsymbol X(t) X(t)为当前鲸的个体位置。
在算法迭代过程中根据式(1)对鲸群个体进行扰动,算法迭代前期,由于种群分布不均,所以个体位置分布差距较大,因此算法主要通过差分变量对个体进行扰动,从而产生多样性个体,使算法能够快速收敛;随着算法迭代的不断进行,鲸群大多数个体位置不会发生太大变化,此时算法主要通过高斯分布函数系数对种群进行扰动,从而帮助算法降低陷入局部最优
的可能性,避免发生早熟。将引入高斯差分变异策略的鲸群算法命名为GWOA。

(2)对数惯性权重策略

对数惯性权重策略如下: w = ( t / M a x _ i t e r ) × ( lg ⁡ w m a x / lg ⁡ w m i n ) − lg ⁡ w m a x (2) w=(t/Max\_iter)×(\lg w_{max}/\lg w_{min})-\lg w_{max}\tag{2} w=(t/Max_iter)×(lgwmax/lgwmin)lgwmax(2)其中, t t t为当前迭代次数; M a x _ i t e r Max\_iter Max_iter为最大迭代次数; w m a x w_{max} wmax表示惯性权重最大值, w m i n w_{min} wmin表示惯性权重最小值。权重将随着迭代次数增加而增加。新的位置更新公式如下: X ( t + 1 ) = w ⋅ X ∗ − A ⋅ D (3) \boldsymbol X(t+1)=w\cdot\boldsymbol X^*-\boldsymbol{A\cdot D}\tag{3} X(t+1)=wXAD(3)所以,本文采用对数惯性权重策略,迭代前期,惯性权重提高鲸群全局搜索能力,使鲸群个体能够更快地搜寻到最优猎物;迭代后期,通过惯性权重线性增长策略,使惯性权重增大,从而使算法在后期局部开发过程中更易跳出局部极值,从而寻找到最优值。将引入对数惯性权重和高斯差分变异策略的鲸群算法命名为IGWOA。

(3)IGWOA算法步骤

对原始WOA进行高斯差分变异与对数惯性权重两方面改进,得到的IGWOA的算法伪代码,如下所示:
在这里插入图片描述


图1 IGWOA算法伪代码

二、实验测试及分析

IGWOA与WOA和GWOA对24个测试函数进行算法比较,与WOA和GWOA进行比较,各算法的参数设置为:种群规模均设置为30, p 1 = 0.5 , p 2 = 0.5 , w m a x = 0.9 , w m i n = 0.4 , M a x _ i t e r = 500 p_1=0.5,p_2=0.5,w_{max}=0.9,w_{min}=0.4,Max\_iter=500 p1=0.5,p2=0.5,wmax=0.9,wmin=0.4,Max_iter=500,3种算法对每个函数独立运行30次,记录它们的最大值、最小值、平均值与标准差。以F1~F3为例。
下图为对F1的测试寻优曲线。
在这里插入图片描述最大值、最小值、平均值与标准差显示如下:

函数:F1
WOA:最大值: 7.8859e-66,最小值:6.4042e-86,平均值:2.6287e-67,标准差:1.4398e-66
GWOA:最大值: 2.2057e-193,最小值:4.1476e-219,平均值:7.3525e-195,标准差:0
IGWOA:最大值: 0,最小值:0,平均值:0,标准差:0

下图为对F2的测试寻优曲线。
在这里插入图片描述最大值、最小值、平均值与标准差显示如下:

函数:F2
WOA:最大值: 1.5564e-49,最小值:4.3065e-58,平均值:8.7126e-51,标准差:2.9127e-50
GWOA:最大值: 1.1184e-101,最小值:4.7713e-110,平均值:6.4373e-103,标准差:2.1564e-102
IGWOA:最大值: 6.9392e-185,最小值:3.5595e-198,平均值:3.1056e-186,标准差:0

下图为对F3的测试寻优曲线。
在这里插入图片描述最大值、最小值、平均值与标准差显示如下:

函数:F3
WOA:最大值: 60074.57,最小值:44313.3563,平均值:50857.0743,标准差:3582.8828
GWOA:最大值: 1.5995e-183,最小值:1.3018e-221,平均值:5.3318e-185,标准差:0
IGWOA:最大值: 0,最小值:0,平均值:0,标准差:0

综上,IGWOA在收敛精度、收敛速度、个体多样性以及鲁棒性方面与其他改进群智能优化算法相比具有优势。

三、参考文献

[1] 陈雷, 尹钧圣. 高斯差分变异和对数惯性权重优化的鲸群算法[J]. 计算机工程与应用, 2021, 57(2): 77-90.

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

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

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


相关推荐

  • SSE的学习

    SSE的学习看到intel向量化指令在矩阵乘应用中的评估_softee的专栏-CSDN博客中描述的效果而心动,然后咨询了下博客园博主,我稍微看了下《simdforc++developers》感觉SSE这些指令更像一种寄存器语言,乍一接触略不适应。然而我的疑问是:1、如果对一个步骤我用了TBB/MKL/CILK这种易操作的并行指令,内部能否再用SSE指令,能否性能进一步提升?或者像OMP一样不适合嵌套并行?2、这种向量化指令是否只对无依赖性流程可用?对dst(i)=src(i)+dst(i-1);…

    2025年6月17日
    3
  • 经典递归解决汉诺塔_c语言汉诺塔递归算法

    经典递归解决汉诺塔_c语言汉诺塔递归算法算法:当只有一个盘子的时候,只需要从将A塔上的一个盘子移到C塔上。当A塔上有两个盘子是,先将A塔上的1号盘子(编号从上到下)移动到B塔上,再将A塔上的2号盘子移动的C塔上,最后将B塔上的小盘子移动到C塔上。当A塔上有3个盘子时,先将A塔上编号1至2的盘子(共2个)移动到B塔上(需借助C塔),然后将A塔上的3号最大的盘子移动到C塔,最后将B塔上

    2022年10月12日
    2
  • Android Studio安装教程(超级详细)「建议收藏」

    Android Studio安装教程(超级详细)「建议收藏」AndroidStudio安装教程(超级详细)欢迎使用Markdown编辑器获取AndroidStudio安装AndroidStudio欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。获取AndroidStudio安装前提(系统安装了jdk,并且版本在1.8以上)官网下载AndroidDevTools下载AndroidStudio

    2022年7月15日
    14
  • Decorator 单一职责模式[通俗易懂]

    Decorator 单一职责模式[通俗易懂]单一职责模式动机模式定义案例结构要点总结笔记动机在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多的子类的膨胀如何使“对象功能的扩展”能够根据需要来动态实现?同时避免”扩展功能的增多“带来的子类膨胀问题?从而使得任何任何”功能扩展变化“所导致的影响将为最低?模式定义动态(组合)地给一个对象增加一些额外的职责。就增加功能而言Decorator模式比生成子类

    2022年8月9日
    4
  • 随机漫步理论_随机漫步理论与巴菲特

    随机漫步理论_随机漫步理论与巴菲特理论部分:代码部分:https://www.jianshu.com/p/numpy_test

    2022年8月5日
    4
  • linux中用户态和内核态是什么_用户态内核

    linux中用户态和内核态是什么_用户态内核内核态:操作系统在内核态运行——运行操作系统程序用户态:应用程序只能在用户态运行——运行用户程序当一个进程在执行用户自己的代码时处于用户运行态(用户态),此时特权级最低,为3级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态。Ring3状态不能访问Ring0的地址空间,包括代码和数据;当一个进程因为系统调用陷入内核代码中执行时处于内核运行态(内核态),此时特权级最高,为0级。执行的内核代码会使用当前进程的内核栈,每个进程都有自己的内核栈。…

    2025年12月11日
    3

发表回复

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

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