Singer混沌映射与莱维飞行改进灰狼算法

news2025/1/24 14:42:30

目录

一、灰狼算法

二、改进策略

2.1 混沌初始化种群

2.2 非线性收敛因子

 三、引入莱维飞行

四、运行结果


   

       从改进运行结果来看,效果非常好,在f_{5}f_{6}f_{8}等极易陷入局部最优的测试函数上都取到了最优值,收敛速度也得到极大提升。

一、灰狼算法

http://t.csdn.cn/nG9Xo

二、改进策略

2.1 singer混沌初始化种群

          初始种群位置均匀分布于搜索空间,有助于增强算法全局搜索能力,提高搜索效率。标准灰狼算法随机初始化种群,存在降低种群多样性的风险,而混沌映射生成的混沌序列,具有遍历性、非线性和不可预测性等特征,常用于替代随机序列初始化种群。本文采用singer映射初始化灰狼种群。作为混沌映射的典型形式,singer映射具有参数简单,分布均匀等优点,其数学表达形式如下:

s_{k+1}=\lambda (7.86s_{k}-23.31s_{k}^{2}+28.75s_{k}^{3}-13.302875s_{k}^{4})

 其中\lambda \in [0.9,1.08]singer映射具有混沌行为。生成混沌序列s_{k}\in [0,1],用于初始化灰狼种群位置,如下式所示:

X_{k}=ub+s_{k}(ub-lb)

其中ublb为搜索空间上界与下界。

2.2 非线性收敛因子

        标准GWO算法通过收敛因子 a 调节参数 A ,从而平衡算法的全局搜索与局部搜索能力。复杂优化问题往往存在多个局部最优值,线性递减的更新策略决定了算法的全局搜索过程仅为全期过程的一半,算法跳出局部最优值的能力较弱。基于此,本文提出一种新的非线性收敛因子更新公式:

        上述非线性收敛因子 a 的仿真如图1所示。由图1收敛曲线可以看出:与其他更新策略相比,在迭代的前期,a 取值较大且衰减速度较慢,全局搜索能力较强,促使种群在搜索空间内广泛搜索,有利于避免种群陷入局部最优值。在迭代后期,a 迅速衰减至较少的值,局部搜索能力较强,在小范围内精细搜索,有利于加速种群收敛。因此本文提出的非线性收敛因子更新策略可以更好地应用于非线性复杂优化问题的求解。

图1 非线性收敛因子曲线

 三、引入莱维飞行

       标准GWO算法种群位置更新公式仅由三头精英狼主导,在搜索过程中,当精英狼陷入局部最优时,种群搜索将陷入停滞。但是算法跳出局部最优的能力较弱。布谷鸟算法中 Levy 飞行策略,可以增强算法的全局搜索能力,其特征是搜索范围远近交替地随机飞行。将 Levy 飞行引入粒子群优化(particle swarm optimization,PSO)算法,避免算法早熟收敛。引入Levy飞行策略帮助灰狼算法增大搜索范围,跳出局部最优,改进后的位置更新公式为:

X_{t+1}=\lambda L_{V}(X_{\alpha }(t)-X_{t})+X_{t}

       其中,X_{t+1}为采用Levy飞行策略更新后的灰狼个体位置;\lambda为步长调节系数,将非线性调节策略应用于\lambda的更新,\lambda _{max}=1,\lambda _{min}=0。在迭代前期,较大的 \lambda扩宽Levy飞行在解空间的搜索路径。在迭代后期,较小的 \lambda有利于提高算法的局部搜索能力,加速算法收敛。

      L_{V}为飞行步长,计算公式如下:

L_{V}=\frac{u}{v^{\frac{1}{\beta }}} 

其中,\beta通常取值于[0,2]之间,这里取值1.5。 

四、运行结果

F5:

 The best optimal value of the objective funciton found by GWO is : 26.1565
The best optimal value of the objective funciton found by LGWO is : 28.6354
The best optimal value of the objective funciton found by L1GWO is : 0

F6:

The best optimal value of the objective funciton found by GWO is : 0.24963
The best optimal value of the objective funciton found by LGWO is : 1.0624
The best optimal value of the objective funciton found by L1GWO is : 0
F8: 

The best optimal value of the objective funciton found by GWO is : -6330.3164
The best optimal value of the objective funciton found by LGWO is : -5844.2913
The best optimal value of the objective funciton found by L1GWO is : -12569.4866

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数学模型:Python实现整数规划

上篇文章:线性规划 文章摘要:整数规划的Python实现。 参考书籍:数学建模算法与应用(第3版)司守奎 孙玺菁。 PS:只涉及了具体实现并不涉及底层理论。学习底层理论以及底层理论实现:可以参考1.最优化模型与算法——基于P…

谷粒商城学习笔记(三):简介-项目微服务划分图

目录 一、微服务划分图二、前后端分离三、网关四、业务微服务群五、第三方服务六、服务治理七、状态监控八、数据层 一、微服务划分图 二、前后端分离 这个项目是基于前后端分离的开发,需要创建一些前端项目,admin-vue是面向工作人员的后台管理系统&…

论文笔记--SimCSE: Simple Contrastive Learning of Sentence Embeddings

论文笔记--SimCSE: Simple Contrastive Learning of Sentence Embeddings 1. 文章简介2. 文章概括3 文章重点技术3.1 对比学习 Contrastive Learning3.2 Unsupervised SimCSE3.3 Supervised SimCSE3.4 Anisotropy3.5 Alignment and Uniformity 4. 文章亮点5. 原文传送门6. Refe…

Spring中Aop实现日志功能

文章目录 前言1.环境搭建2.设计日志记录表3.aop需要引入aspectj依赖4.日志实体类设计5.自定义日志BusiLog注解6.定义日志切面6.1 此处只使用了环绕通知6.2 Aspect中有5种通知 7.业务中使用注解8.测试8.1 测试查询8.2 测试删除 前言 上篇分享了jdk动态代理以及cglib代理&#x…

SQL注入总结

Sql注入定义: 就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的sql命令的目的。 sql注入分类: 基于联合查询 基于错误回显 基于盲注,分时间盲注和布尔型的盲注 基于user-agen…

NIN(Network In Network)

目录 论文信息摘要批注 主要工作1. MLPCONV结构1.1为什么11卷积层可以代替MLP层1.2 批注2. Global Average Pooling(GAP)3、NIN网络结构NIN论文解读及个人理解NIN网络的代码实现(pytorch) 参考文献 论文信息 论文名称:Network In Network 论…

SQL注入—报错注入

0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利用报错注入的方式来进行SQL注入了。这篇文章会讲…

SpringBoot集成WebSocket的两种方式

本站在2014年4月时曾全面的学习HTML5的技术,特写过HTML5的WebSocket示例,当时使用的Servlet3.0规范中的API,需要Tomcat7的支持(貌似在Tomcat6的后期维护版本也增加了WebSocket的支持),早在当初该示例还是本…

SVN注册下载安装以及使用一气呵成

本博客根据SVNbucket官方视频学习制作的,这里记录本人操作的记录 视频链接: https://www.bilibili.com/video/BV1k4411m7mP?vd_sourcea4c65e14d1ff11ea858cadc164fbb59e 一 .SVN的介绍 1.SVN是什么 查阅资料可以知道 ,这是一个开放源代码的版本控制系统,管理着随时间改变的…

docsify项目部署(华为云+宝塔+centos+docker+nginx)踩坑指南

docsify部署(华为云宝塔centosdockernginx) 🗡1、安装docker 首先在服务器中安装docker sudo yum install -y yum-utils由于之前我的python默认版本升级到了python3,但yum执行使用的是python2,就遇到报错 File &quo…

Hbase架构

HBase 系统遵循 Master/Salve 架构,由三种不同类型的组件组成: client 提供了访问hbase的接口提供cache缓存提高访问hbase的效率 , 比如region的信息 Zookeeper保证任何时候,集群中只有一个 Master;存储所有 Region 的寻址入口&…

基于深度学习的高精度工人阶梯检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度工人阶梯检测识别系统可用于日常生活中或野外来检测与定位工人阶梯目标,利用深度学习算法可实现图片、视频、摄像头等方式的工人阶梯目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

Verilog基础:标识符的层次名引用

相关文章 Verilog基础:表达式位宽的确定(位宽拓展) Verilog基础:表达式符号的确定 Verilog基础:数据类型 Verilog基础:位宽拓展和有符号数运算的联系 Verilog基础:case、casex、ca…

Java8 Stream详解及创建流方法使用示例(二)

本章介绍Stream 创建流的操作:创建流指的是将一个集合或其他数据源转换为 Stream 流对象的过程。通常情况下,我们可以使用 Stream 类的静态方法来创建流对象,如 Stream.of()、Collections.stream() 等。这些方法将返回一个 Stream 流对象&…

【模块三:职业成长】35|模块导读:回过头来看,你觉得架构师到底是做什么的?

你好,我是郭东白。我们今天就正式进入模块三的学习了。 我们在开篇词里面介绍了,模块三的目的是向你介绍架构师的能力维度,以及获取这些能力的方法。既然是总结架构师成长的课程,那么“什么是架构师”就是一个绕不过去的话题。 …

操作系统-内存管理-虚拟内存管理

目录 一、虚拟内存定义和特征 二、请求分页管理 页表机制 缺页中断机构 地址变换机构 三、页面置换算法 3.1最佳置换算法(OPT) 3.2先进先出置换算法(FIFO) 3.3最近最久未使用置换算法(LRU) 3.4时钟置换算法(CLOCK) 3.4.1简单时钟置换算法 3.4.2改进型时钟置换算法 四、…

数据库—mysql、数据库编程(API)

1. Linux平台准备 &#xff08;1&#xff09;安装SDK开发包的命令 sudo apt-get install libmysqlclient-dev &#xff08;2&#xff09;编译时需要链接的库:-lmysqlclient 2. mysql 的初始化和清理 #include <mysql/mysql.h> MYSQL mysql1; //创建句柄 mysql_init(&…

springboot+java高校图书馆图书借阅挂失崔还系统

功本次设计任务是要设计一个图书借阅系统&#xff0c;通过这个系统能够满足图书借阅系统的管理及用户的图书借阅功能。系统的主要功能包括&#xff1a;主页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;借阅证件管理&#xff0c;挂失信息管理&#xff0c;图书信息管理…

华为OD机试真题 JavaScript 实现【快速寻找某字符】【牛客练习题】

一、题目描述 给定一个一个目标值 target和一个 元素升序的无重复数字字符串 &#xff0c;写一个函数搜索 字符串 中的 target&#xff0c;如果目标值存在返回下标&#xff08;下标从 0 开始&#xff09;&#xff0c;否则返回 -1。 二、输入描述 第一行输入一个目标值target…

pullup和pulldown在verilog中的使用方法

0 前言 这段时间涉及到了IO-PAD&#xff0c;在IO-PAD的RTL的时候注意到了pullup和pulldown&#xff0c;对这个知识比较好奇&#xff0c;就研究了一下&#xff0c;顺便记录下来&#xff0c;IO-PAD的内容等我再研究研究再考虑记录吧 >_< 1 pullup和pulldown的介绍 pullu…