北核论文完美复现:自适应t分布与动态边界策略改进的算术优化算法

       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 

目录

原始算术优化算法

改进点1:引入余弦控制因子的动态边界策略

改进点2:自适应t分布变异策略

改进算法流程图

结果展示

参考文献

完整代码获取


        ​很多小伙伴问我,某某算法到底该怎么改效果比较好。实话讲,如果不经过实验,我随便说一个策略,效果能好吗?至于加什么策略,怎么加策略,为什么加这个策略,都是需要经过实验才能得出来的。        

        对于那些初学智能优化算法的小伙伴,我的建议还是要多看论文进行学习和复现。相信没有小伙伴是不看文献直接就能想出来创新点的吧,如果有,那大概率是闭门造车。

        当然,我相信大部分小伙伴代码水平没那么高,复现论文仍有一定难度。因此,我也会不断推出一些复现改进算法的文章。大家也可以用这些改进的算法应用到各类预测、优化、故障诊断、路径优化等等任务中,我之前的推文里也有很多,都可以套用。

        今天为大家带来一篇北大核心+CSCD扩展上的一篇论文完美复现。这是一篇是2022年发表在《计算机应用研究》上的一篇文章,级别还是很高的,改进的算法叫算术优化算法。

原始算术优化算法

        算术优化算法也是一种新颖的2021年提出的基于群体的元启发式算法,包括勘探阶段和开发阶段。勘探阶段的算子为乘法M(Multiplication) 和除法D(Division) ,这两个算子(D和M) 分散性高,有利于全局勘探;而开发阶段的算子为加法A( Addition) 和减法S(Subtraction),这两个算子(A和S)具有显著的低分散性,可以容易地接近目标,因此S和A的联系来支持开发阶段,有利于更快地接近最优解。

        为了避免推文中出现繁冗的公式,这边仅仅列出公式及其序号,方便大家在后续改进过程中查看公式序号从而对应改进点。

        不得不说,原始AOA算法操作简单且寻优时间较短,同时寻优精度良好,超过了大部分传统启发式算法,但仍存在易陷入局部最优等问题。

        针对这些问题,文章提出了一种自适应t分布变异和动态边界策略改进的算术优化算法(t-CAOA)。

        这是2022年发表在《计算机应用研究》上的一篇文章,级别还是很高的,改进的算法叫算术优化算法。

改进点1:引入余弦控制因子的动态边界策略

        与其他群智能优化算法类似,基本算术优化算法在寻优过程中同样会遇到全局搜索能力和局部开发能力不平衡的现象。在基本算术优化算法中,MOA的取值决定了算法优化过程中的阶段选择,MOA越大,算法的局部搜索能力越强;MOA越小,算法的全局搜索能力越强,式(2)描述的MOA是线性增长的,即算法的全局搜索能力线性减小。然而,AOA在进化探索过程中却是非线性变化的,线性增长的MOA不能准确贴近实际迭代过程,引入余弦控制因子将MOA的变化转换为非线性,可以更贴近算法实际的迭代过程,以下将引入余弦控制因子的自适应系数命名为CMOA。引入余弦控制因子的CMOA在算法迭代前期,CMOA较小并缓慢增大以充分进行全局搜索;在算法后期,CMOA急速增大以进行局部搜索。AOA作为一种新型群体智能算法,如何平衡其全局搜索和局部搜索对提高算法的性能至关重要。若全局搜索和局部搜索协调不好,在进化过程中可能会导致算法出现早熟收敛现象。因此,本文在MOA更新公式中加入由余弦因子控制的非线性惯性权重来动态调节算法全局搜索与局部搜索的平衡,提高算法寻优精度和稳定性。公式如下:

改进点2:自适应t分布变异策略

        t分布又称学生分布,含有参数自由度,当t(n→∞)→N(0,1),当t(n=1)=C(0,1),其中N(0,1)为高斯分布,C(0,1)为柯西分布,即标准高斯分布和柯西分布是t分布的两个边界特例分布,三者函数的分布图像如下图所示。其中,柯西变异的全局搜索能力较强,能够有效地保持种群的多样性;而高斯变异的局部开发能力较强,可以保证进化后期的收敛速度。t分布综合了柯西分布和高斯分布的优点,本文采用以迭代次数iter为t分布的自由度参数的t分布变异算子对解的位置进行扰动,使得算法在迭代前期具有较好的全局开发能力,在迭代后期具有良好的局部探索能力,并提高算法的收敛速度,具体的位置更新方式如下:

        其中:Xji+1为自适应t分布变异扰动后最优解在第j维的位置;Xjbest为变异扰动前最优解在第j维的位置,迭代次数作为t分布的自由度参数。

改进算法流程图

        t-CAOA的具体执行流程如下图所示:

        1)初始化参数,包括种群规模为30,迭代次数为500;

        2)随机生成初始解和计算适应度值;

        3)根据式(6)更新CMOA的参数值,使得勘探和开发阶段之间的转换动态且非线性;

        4)若r1<CMOA,根据式(3)实行勘探并更新位置;若r1≥CMOA,根据式(5)实行开发并更新位置。

结果展示

        原文作者选取了 10 个不同特点的基准测试函数与基本算术优化算法AOA、海洋捕食者算法MPA、灰狼优化算法GWO、鲸鱼优化算法WOA进行对比。

        这边为了方便大家对比,选取23个基准测试函数,与基本算术优化算法AOA进行对比。

        可以看到,选取的前11个函数里(没有故意遗漏!),在大部分函数上都优于原来的AOA算法,且收敛速度大幅提高,是一种不错的改进方法!

        当然,部分函数上该算法已经直接找到最优值,如F9,因此迭代曲线上没有显示(至于这种策略好不好仁者见仁智者见智,由于不是我改进的方法我这边不做过多评判)。

        ​其他的函数小伙伴们可以自行尝试,总体上效果明显优于原有的算术优化算法!

参考文献

        [1]郑婷婷,刘升,叶旭.自适应t分布与动态边界策略改进的算术优化算法[J].计算机应用研究,2022,39(05):1410-1414.

完整代码获取

         点击下方小卡片,后台回复关键字,不区分大小写:

TCAOA

         其他更多需求或想要的代码均可点击下方小卡片后后台私信,看到后会秒回~

         更多代码链接:更多代码链接

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

那智不二越机器人维修案例分享

那智不二越工业机器人在工业范围内广泛应用于各种生产领域。其示教器作为人机交互的重要设备,常常需要定期维护和Nachi不二越机械手示教盒修理。 【Nachi不二越机器人示教器维修步骤】 1. 关闭电源 在进行任何那智不二越机器人维修操作之前,务必确保机器…

IDEA打开项目报错

IDEA打开项目报错: Cannot read scheme C:\Users\xxxxxx\AppData\Roaming\JetBrains\IntelliJIdea2023.2\qaplug_profiles\Default.xmljava.lang.AbstractMethodError: Receiver class com.soldevelo.qaplug.scanner.AnalysisProfileManager$2 does not define or i…

单条16g和双条8g哪个好

单条16g和双条8g各有优劣,具体选择要根据个人需求和电脑配置来决定。 以下是一些参考信息: •单条16g内存的价格比双条8g内存的价格低,而且16g的内存容量大,一条内存十分的方便。 •两条8g内存可以组成双通道,电脑运行速度要快一些。 •对于普通使用电脑的人群与热衷于…

项目管理-人力资源管理

目录 一、概述 二、人力资源计划编制 2.1 概述 2.2 层次结构图 2.3 分配任务矩阵 三、组建项目团队 3.1 概述 3.2 内部谈判 3.3 事先分派 3.4 外部招聘 3.5 虚拟团队 3.6 总结 四、项目团队建设 4.1 概述 4.2 团队发展过程 4.2.1 概述 4.2.2 形成期 4.2.3 震…

vue3 ts问题 找不到模块“@/views/home/index.vue”或其相应的类型声明。

1. 找不到模块“/views/HomeView.vue”或其相应的类型声明 今天帮同事看了一个问题,他尝试用vitevue3tspinia创建项目,结果刚上来就遇到这么一个问题 2. 解决办法 出现这个问题的原因就是:ts只支持导出导入模块,但是vue不是模块…

红蓝对抗-HW红蓝队基本知识(网络安全学习路线笔记)

第一, 什么是蓝队 蓝队,一般是指网络实战攻防演习中的攻击一方。 蓝队一般会采用针对目标单位的从业人员,以及目标系统所在网络内的软件、硬件设备同时执行多角度、全方位、对抗性的混合式模拟攻击手段;通过技术手段实现系统提权、控制业务、…

利用Python去除PDF水印

摘要 本文介绍了如何使用 Python 中的 PyMuPDF 和 OpenCV 库来从 PDF 文件中移除水印,并将每个页面保存为图像文件的方法。我们将深入探讨代码背后的工作原理,并提供一个简单的使用示例。 导言 简介:水印在许多 PDF 文件中都很常见&#x…

自建公式,VBA在Excel中轻松获取反义词

自建公式,VBA在Excel中轻松获取反义词 文章目录 前言一、爬取网站数据二、代码1.创建数据发送及返回方法2.汉字转UTF8编码2.获取反义词 三、运行效果截图 前言 小学语文中,近义词、反义词是必考内容之一。家长不能随时辅导怎么办?有VBA&…

脚注:书籍的小秘密,躲藏在脚注间

脚注:书籍的小秘密,躲藏在脚注间 脚注是一种在文本中提供补充信息、引用出处或注解的方式,有助于读者更全面地理解文中内容,并为进一步研究提供参考和跳转点。 在一书本中,脚注是额外提供给读者的文字信息&#xff0…

自动化您的任务——crewAI 初学者教程

今天,我写这篇文章是为了分享您开始使用一个非常流行的多智能体框架所需了解的所有信息:crewAI。 我将在这里或那里跳过一些内容,使本教程成为一个精炼的教程,概述帮助您入门的关键概念和要点 今天,我写这篇文章是为了…

RedHat9 | DNS剖析-配置主DNS服务器实例

一、实验环境 1、BIND软件包介绍 BIND软件是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护,全称为Berkeley Internet Name Domain。该软件在DNS(域名系统)领域具有重要地位,是目前世界上使用最…

[数组查找]1.图解线性查找及其代码实现

线性查找 线性查找是一种在数组中查找数据的算法。与二分查找不同,即便数据没有按顺序存储,也可以应用线性查找。线性查找的操作很简单,只要在数组中从头开始依次往下查找即可。虽然存储的数据类型没有限制,但为了便于理解&#x…

stm32学习-流水灯

接线 注意:LED灯长一点的引脚是正极。 配置GPIO 1.使用RCC开启GPIO时钟 void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); void RCC_APB1Perip…

【credit_based流控机制】

credit_based流控机制 1 credit_based way1.1 Principle1.3 DFD1.4 Module1.4.1 Interface1.4.2 Code Block 在网络芯片处理大流量报文中,一般主要是两种机制:1.valid–ready反压(backpressure)机制;2.credit信用机制; credit机制…

软件设计师干货资料分享

从2月份备考,到5月份结束,满打满算四个月准备时间。在此我想提醒一句,世界上没有什么不劳而获的事情,never,只要你是一个普通人,但凡你想索取一些什么,无一例外你都需要付出,而且是踏…

Pytorch深度学习实践笔记6(b站刘二大人)

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

浏览器下载文件被拦截删除-关闭实时保护

关键字: 下载、拦截、删除、杀毒、浏览器、病毒、激活、序列号、keygen、KMS、不安全、Windows Defender Win10关闭实时保护功能的方法 浏览器下载的文件被系统删除,下载失败 问题描述 由于系统原因,下载文件已被删除(edge&…

【python】python 全国5A级景区数据采集与pyecharts可视化(源码+数据+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

vue深度选择器(:deep​)

处于 scoped 样式中的选择器如果想要做更“深度”的选择&#xff0c;也即&#xff1a;影响到子组件&#xff0c;可以使用 :deep() 这个伪类&#xff1a; <style lang"scss" scoped> .evaluation-situation-details :deep .cl-icon-arrow-right {display: none…

基于Matplotlib包实现可视化①——折线图绘制

Matplotlib 是一个用于创建静态、动画、 和交互式可视化的第三方库&#xff0c;也是我们在借助Python进行数据可视化时经常使用到的库&#xff0c;具有较强的可视化能力。 为让大家有一个更为直观的认识&#xff0c;这里我随机从其官方网页中摘取了几张图片。 按照惯例&#x…