差异创意搜索算法(DCS)-2024年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取

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

目录

原理简介

一、种群初始化

二、差异化知识获取(DKA)

三、收敛性思维

四、发散性思维

五、团队多样化

六、回顾性评估

算法流程图和伪代码

性能测评

参考文献

完整代码


        差异创意搜索算法(DCS)是一种新型的元启发式算法(智能优化算法),灵感来源于差异化知识获取和创造性现实主义的概念,具有强大的进化能力、快速的搜索速度和出色的寻优能力!该成果由Poomin Duankhan等人于2024年3月发表在SCI人工智能一区顶刊《Expert Systems With Applications》上。

        由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

原理简介

        灵感:利用差异化知识获取和创造性现实主义的概念,作者提出了差异化创意搜索(DCS)的创新优化模型。DCS是一种迭代优化团队绩效的模型。它将团队成员分为三类,根据他们的表现分配他们的职责:

        1.高成就者:这些创意创造者在他们的发散思维和自我驱动学习方面表现突出。他们在创造各种创新解决方案时大放异彩。

        2. 表现一般的人:他们是想法提炼者,使用聚合思维将各种想法塑造成可行的解决方案。

        3. 低绩效:这些成员就像新招募的士兵。他们为团队带来了多样性,促进了探索并增加了想法池。

        发散思维和收敛思维的作用如下图所示。高成就者擅长创造不同的解决方案和探索不同的区域,以防止过早地确定次优解决方案。相反,表现一般的人擅长在有前景的领域改进解决方案。

一、种群初始化

        在DCS中,优化过程从一组候选解(团队成员)𝑋开始,该解在优化问题的上界𝑈和下界𝐿之间随机生成。

        其中𝑈(0,1)表示区间(0,1)上的均匀分布,𝐿𝑑和𝑈𝑑分别表示优化问题规定的第d维的下界和上界。

二、差异化知识获取(DKA)

        DKA与DE交叉的区别主要在于它的基本概念,它植根于人类获取知识的不同潜力,这个概念更类似于自然过程,而不是DE中体现的随机原则。

        差异化知识获取(DKA)关注的是新知识获取的速度,它对个体的影响是多方面的。这种变化可以从个人现有知识的多少属性或维度被新知识改变中看出。

        数学公式中,参数𝜂,𝑡为个体在第t次迭代时的量化知识获取率(qKR)。计算公式如下:

        符号[∙]代表一种表示将给定值四舍五入到最接近的整数的符号,其中,φi,t是个体在第t次迭代时的变量φ的系数值,其计算方法如下:

        其中,φi,t是个体在第t次迭代时变量φ的值。𝑅,𝑡是第i个个体在第t次迭代开始时的排名(顺序)。

        φ系数是衡量一个人的知识不完善程度的定量决定因素,这个术语指的是与他人相比,一个人在理解、经验或信息方面的缺陷或不完整。φ系数随知识差距的大小而变化;值越高,意味着知识差距越大,表明个人更需要学习、吸收和整合新的知识或经验。反之,φ值越小,知识不完善程度越小,说明个人的知识基础更全面、更扎实。φ系数可以突出需要改进的领域,确定学习需求,甚至指导有针对性的干预措施,以增强个人解决问题的能力。图(a)给出了个体的阶数与变量的关系,秩越低的个体,其变量的值越高。

        DKA过程对每个个体𝑋的作用可以使用下式来执行:

        式中𝑣i,𝑑为试验成员的第d个位置(维度)上的元素𝑣it,𝑣it为第t次迭代的试验成员𝑣i。其中,xi𝑑表示𝑋中第d个位置(维度)的元素。𝑈(0,1)表示区间(0,1)上的均匀分布。nit表示个体在第t次迭代时的量化知识获取率(qKR)。𝑗𝑟𝑎𝑛𝑑是一个从1到𝐷之间随机选择的整数,并为每个样本生成一次。

        图(a)给出了DCS算法中个体的阶数与变量的关系。(b)差别化知识获取策略根据个人的能力和表现水平,将个人随机分为三类,目的是为每个人量身定制知识修改的程度。每个人通常都会经历一半的变化。这些变化在一个或所有方面的程度取决于个人的表现;与那些表现较好的人相比,表现较差的人更需要吸收新的知识或经验。

三、收敛性思维

        本节介绍DCS/Xbest/current -to- rand策略。该策略依赖于顶级执行者的知识库,并结合了来自两个不同团队成员的随机贡献,这是由当前个人带来的。因此,它在生成的解决方案中促进了多样性和收敛性。这种方法反映了不同团队之间的相互作用,如图所示。

        这个策略(DCS/Xbest/Current-to-2rand)的公式如下:

        其中,λ𝑡是个体在第t次迭代时的系数值λ。系数的表达式为:

        其中,NFE𝑡表示在时间t的当前函数求值的次数,而NFEmax表示函数计算的最大次数。

        在上面的例子中,X𝑏𝑒𝑠𝑡𝑑是当前迭代中表现最好的个体中的第d个位置。𝑤表示表现最好的认知权重,默认值为1。𝜔i𝑡为个体i在第t次迭代时的𝜔系数值。其中,X𝑟1𝑑是在{1,2,…,NP}中随机选择的个体的第d个位置且𝑋𝑟1≠𝑋≠𝑋𝑏𝑒𝑠𝑡表示三个不同的个体(或索引);λt为第t次迭代时的系数值λ。X𝑟2𝑑是从{𝑛𝑔𝑠+1,…,𝑁𝑃}中随机选择的个体的第d个位置且𝑋𝑟2≠𝑋𝑟1≠𝑋𝑖≠𝑋𝑏𝑒𝑠𝑡。参数𝑛𝑔𝑠表示高成就者的数量,由100p%决定。对于较大的群体,覆盖20%的人口,'p'设置为0.2;对于人口规模不超过30的群体,'ngs'的最小值为6。

四、发散性思维

        本节提出了一种新的策略DCS/Xrand/Linnik(α,σ),并用下式表示。DCS/Xrand/Linnik(α,σ)策略的行为如下图所示。在图中,𝑋演示了两种可能的转变。首先,𝑋在𝑋𝑒和Linnik(α,σ)的影响下,可能会在发散区域内移动到一个新的位置。或者,它可能被吸引到𝑋𝑒附近的一点。

        式中𝑣i𝑑表示向量(称为成员)的第d个位置(维度)上的元素,是𝑋的试验成员,在中。表示团队𝑋的试验成员集合。X𝑟1𝑑是在{1,2,…,NP}中随机选择的个体的第d个位置且𝑋𝑟1≠𝑋≠𝑋𝑏𝑒𝑠𝑡表示三个不同的个体(或索引);换句话说,这些个体一定是不同的。𝑋𝑏𝑒𝑠𝑡表示第t次迭代中目标值最佳的团队成员,Lk(α,σ)表示控制参数为α和σ的林尼克分布随机数生成器。

五、团队多样化

        成员不断变化的团队会产生更多样化的想法。因此,我们的算法系统地用新成员替换表现不佳的成员。生成新成员的公式如下:

        其中,Vnp表示第np个向量。𝑈(0,1)表示区间(0,1)上的均匀分布,𝐿和𝑈是优化问题的下界和上界。

六、回顾性评估

        回顾评估(RA)是团队开发的关键工具。它建立评价标准作为衡量成功的基准,然后分析过去的绩效数据,以确定趋势和改进领域。这种反思允许团队认识到他们的优势、劣势、决策、个人贡献和沟通动态。RA培养了一种持续改进的文化,使团队能够从经验中学习,做出明智的决策,并优化协作。因此,RA的系统实施可以改善团队动态并获得更好的结果。本研究简化了RA框架,主要关注选择和最佳表现跟踪,这是元启发式算法中一个基本但必不可少的过程。选择过程的方程如下:

        式中,𝑋i,𝑡+1表示𝑋在𝑡+1次迭代时中的第i个个体。

算法流程图和伪代码

        为了使大家更好地理解,这边给出算法流程和伪代码,非常清晰!

        DCS围绕三个核心流程构建:

        1. 差异化知识获取(DKA):这个过程不仅将团队成员分成三个小组,而且根据每个成员的技能量身定制学习计划,促进成长并促进个人贡献。

        2. 创造性现实主义:这种方法通过利用现有的知识、创造力和想象力来促进创新。它采用了高绩效者的发散思维和普通绩效者的收敛思维。

        3. 回顾性评估(RA):这是一个跟踪过程,用于监视执行者之间的改进,并识别最优秀的执行者。它为未来的决策提供了必要的数据,推动了整个团队的绩效提升。

        如果实在看不懂,不用担心,可以看下代码,再结合上文公式理解就一目了然了!

性能测评

        原文作者在CEC2017的30个函数、经典的传感器选择问题、汽车侧面碰撞设计、齿轮系设计和调频声波参数估计等实际应用,证明了本文的贡献。结果表明,与现有算法相比,DCS具有良好的性能。

        这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与经典的粒子群算法PSO进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

        可以看到,DCS的效果还是非常不错的!在大部分函数上都超过了PSO算法,收敛速度也非常快,大家应用到各类预测、优化问题中是一个不错的选择~

参考文献

        [1]Duankhan P, Sunat K, Chiewchanwattana S, et al. The Differentiated Creative search (DCS): Leveraging Differentiated knowledge-acquisition and Creative realism to address complex optimization problems[J]. Expert Systems with Applications, 2024: 123734.

完整代码

        如果需要免费获得图中的完整测试代码,只需后台回复关键字:

DCS

        也可后台回复个人需求(比如DCS-LSSVM)定制差异创意搜索算法DCS优化模型(看到秒回):

        1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN等等均可~

        2.组合预测类:CNN/TCN/BiTCN/DBN/Adaboost结合SVM/RVM/ELM/LSTM/BiLSTM/GRU/BiGRU/Attention机制类等均可(可任意搭配非常新颖)~

        3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVF-EMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可~

        4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

        5.原创改进优化算法(适合需要创新的同学):2024年的差异创新搜索算法DCS以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ThinkPHP代码审计(1) 不安全的SQL注入PHP反序列化链子phar利用简单的CMS审计实例

ThinkPHP代码审计(1) 不安全的SQL注入&PHP反序列化链子phar利用&简单的CMS审计实例 文章目录 ThinkPHP代码审计(1) 不安全的SQL注入&PHP反序列化链子phar利用&简单的CMS审计实例一.Thinkphp5不安全的SQL写法二.Thinkphp3 SQL注入三.Thinkphp链5.1.x结合phar实现…

可变参数模板

可变参数模板的概念 可变参数模板是C11新增的最强大的特性之一,它对参数高度泛化,能够让我们创建可以接受可变参数的函数模板和类模板。 在C98/03中,类模板和函数模板中只能包含固定数量的模板参数,可变模板参数无疑是一个巨大的…

MicroPython 树莓派 RP2 入门教程

系列文章目录 前言 Raspberry Pi Pico 开发板(图片来源:Raspberry Pi 基金会)。 以下是 Raspberry Pi RP2xxx 板的快速参考资料。如果您是第一次使用该开发板,了解微控制器的概况可能会对您有所帮助: 一、关于 RP2xxx…

MPLS-基础、LSR、LSP、标签、体系结构

MPLS技术 MPLS基础 MPLS:转发数据时,只在网络边缘分析IP报文头,不在每一跳都分析,节约了转发时间。 MPLS:Multiprotocol Label Switching,多协议标签交换骨干网技术。主要应用:VPN、流量工程…

Day5-Hive的结构和优化、数据文件存储格式

Hive 窗口函数 案例 需求:连续三天登陆的用户数据 步骤: -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…

小程序如何设置余额充值和消费功能

小程序中设置余额充值和消费功能非常重要的,通过让客户在小程序中进行余额充值,不仅可以提高用户粘性,还可以促进消费,增加用户忠诚度。以下是如何在小程序中设置余额充值和消费功能的步骤: 1. **设计充值入口**&…

Web3 革命:揭示区块链技术的全新应用

随着数字化时代的不断发展,区块链技术作为一项颠覆性的创新正在改变着我们的世界。而在这一技术的进步中,Web3正逐渐崭露头角,为区块链技术的应用带来了全新的可能性。本文将探讨Web3革命所揭示的区块链技术全新应用,并展望其未来…

【Redis】Redis群集的三种模式(主从、哨兵、群集)

redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集 ●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主…

【性能优化】查询性能优化

目录 1. 精简字段给前端2. SQL优化3. 多级缓存4. IO连接优化之外考虑计算操作优化5. 请求层配置6. 使用更快的框架 服务器推荐 2核4g 1核2g 2核2g 的服务器,4000 - 5000 qps 就非常不错了。 1. 精简字段给前端 字段信息太多会影响下载内容的速度 2. SQL优化 例如…

基于springboot的学校访客登记系统

基于SpringBoot的学校访客登记系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 功能需求 本学校访客登记系统通过信息化的技术实现了访客管理流程的信息化的管理操作。平…

iOS开发之Swift标识符

iOS开发之Swift标识符 在iOS开发中,使用Swift语言时,标识符是用来命名变量、常量、函数、类、结构体、枚举等程序实体的; 这些标识符使得Swift代码更加清晰、易于理解和维护。 一、变量与常量:var、let var代表variable&#…

C++:函数重载和引用

hello,各位小伙伴,本篇文章跟大家一起学习C:函数重载和引用,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 文章目录 函数重载1.函数重载的概念为什么C支持函数重载 引用引用的概念引…

基于SpringBoot+Vue的儿童书法机构管理系统

一、项目背景介绍: 儿童书法机构的管理是一个具有挑战性的任务,需要有效的信息管理和资源分配。传统的手动管理方式存在着效率低下、易出错等问题。为了解决这些问题,基于SpringBootVue的儿童书法机构管理系统应运而生。该系统利用现代化的技…

代码随想录第三十一天 | 贪心算法P1 | ● 理论基础 ● 455. ● 376. ● 53.

理论基础 题目分类 一般解题步骤 贪心算法一般分为如下四步: 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解 这个四步其实过于理论化了,我们平时在做贪心类的题目 很难去按照这四步去思考&…

数据结构:顺序表的基本操作!(C语言)

一、静态存储 #include <stdio.h> #include <stdlib.h>/*[1].定义静态顺序表的最大容量*/ #define MaxSize 10/*[2].自定义数据元素的数据类型*/ typedef int ElemType; 1. 静态分配的定义结构体 /*[3].静态分配的结构体定义*/ typedef struct {ElemType data[M…

最新AI创作系统ChatGPT网站系统源码+Ai绘画网站源码+Suno-v3-AI音乐生成大模型(sparkAi系统V6版本)

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

rt-thread的nfs如何实现软硬件对接

rt-thread&#xff08;下面简称rtt&#xff09;有一个封装好的的虚拟文件系统&#xff0c;提供了一套通用的io文件接口例如 open,write,read这些&#xff0c;从没看过rtt的代码也没用过&#xff0c;文件系统在刚毕业的时候只是用过fatfs但没去纠结过。今年1月份听同事说只需要打…

C++(语法以及易错点2)

1.内联函数 1.1 概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调 用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 ​int ADD(int a,int b) {return ab; }​ 1.2 特性 1. inline是一种以空间换时间…

Java数据结构栈

栈&#xff08;Stack&#xff09; 概念 栈是一种先进后出的数据结构。 栈的使用 import java.util.Stack; public class Test {public static void main(String[] args) {Stack<Integer> s new Stack();s.push(1);s.push(2);s.push(3);s.push(4);System.out.println(s…

精密电阻阻值表和电容容值表

前面2张是电阻阻值表&#xff08;E-96/0603/1%&#xff09; 常见贴片电容的容值表