差异创意搜索算法(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等任意优化算法均可,保证测试函数效果!

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

  • 38
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数学建模算法与应用是指应用数学模型来解决实际问题的过程。而MATLAB是一种功能强大的数学计算软件,广泛用于科学计算和工程领域。 在数学建模中,我们通常需要通过MATLAB编写代码来实现模型的求解。MATLAB提供了丰富的函数库和工具箱,可以方便地进行数值计算、符号计算、数据可视化等操作。 对于不同的数学建模问题,可以使用不同的算法来解决。比如线性规划问题可以使用线性规划算法,优化问题可以使用优化算法,微分方程可以使用数值解法等。 在MATLAB中,我们可以使用线性规划工具箱中的linprog函数来求解线性规划问题。这个函数可以通过输入目标函数和约束条件,自动进行求解,并给出最优解。 对于优化问题,可以使用优化工具箱中的fmincon函数来进行求解。该函数可以通过输入目标函数、约束条件和初始值,来寻找最优解。 对于微分方程,可以使用ode45函数来进行数值解法。这个函数可以通过输入微分方程、初始条件和求解区间,来给出微分方程的解。 除了这些基本函数,MATLAB还提供了大量的工具和函数,可以用于数据处理、数据可视化、曲线拟合等操作,帮助我们更好地进行数学建模。 总之,数学建模算法与应用和MATLAB代码密切相关。在实际应用中,我们可以通过编写MATLAB代码来实现各种数学建模算法,更高效地解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值