【算法精解】CEC2021竞赛亚军算法-MadDE框架及代码实现(Matlab)
2026/4/6 6:58:41 网站建设 项目流程
本文核心内容 MadDE算法主要框架及该算法创新点 Matlab代码实现可免费获取包括代码及原文献不少同学改进算法有时缺乏可落地思路或从文献获得灵感却苦于写不出代码。为此KAU 推出【算法精解】将定期拆解一区创新算法或应用方面的文献解析改进逻辑、复现可执行代码助你逐步搭建思维库与代码库。话不多说这次【算法精解】就从CEC2021竞赛第二名MadDE入手对该算法进行开展解析与代码复现。1 MadDE算法框架及其主要特点为了提升DE的优化性能 Biswas S等于2021年提出了多重自适应差分进化算法Multiple Adaptation based Differential Evolution, MadDE[1]。该算法在 CEC2021竞赛中获得亚军其主要改进包括 类似于LSAHDEMadDE对传统DE算法中的种群规模NP、缩放因子F、交叉率Cr进行自适应调整。 改进了交叉策略MadDE提出了概率交叉机制。 MadDE引入了三种差分变异算子并基于历史成功率选择算子。下面KAU将对MadDE算法的改进策略进一步介绍。1.1 参数自适应调整与LSAHDE、LSAHDE-epsin和IMODE等算法类似MadDE也引入了这种可显著提升进化算法性能的调整策略其基本公式与LSAHDE类似但MadDE的设计与LSHADE有一些差异 记忆库大小LSHADE为固定值通常是5而MadDE虽然也是固定的但它会随问题维度变化通常为10*D可使其适配高维度优化场景。 无历史成功解的处理MadDE在无历史成功解时会重置MF和MCr为0.5以避免其参数停滞而LSHADE则保持不变。1.2 变异策略变异策略是决定DE优化性能的核心环节其设计范式也可为我们进行算法的改进研究提供重要参考效。MadDE设计了3种互补的变异算子包括DE/current-to-pbest/1archive与LSHADE、JADE一样DE/current-to-rand/1archive和DE/weighted-rand-to-qbest/1。下面具体介绍其公式 DE/current-to-pbest/1archive DE/current-to-rand/1 archive上面两个公式中pbest是从前p%的个体中随机选择的r1、r2是从当前种群中随机选择的而r3则是从外部存档中随机选择的可增强种群多样性。 DE/weighted-rand-to-qbest/1其中qbest是种群前q%中随机选择这种概念有点类似精英池的处理不过它是动态的q的公式为同时公式中Fa为1.3 交叉策略在变异操作后根据目标向量x和变异向量v进行交叉操作产生实验向量u。常见的交叉包括指数交叉和二项式交叉两种方式。但MadDE采用了一种概率交叉的机制 二项式交叉(BX) qbest二项式交叉(qBX)该算子是二项交叉的一种贪心变体其设计灵感来源于 DE/current-to-pbest/1变异策略。在qBX中其将二项式交叉公式中的目标向量替换为从外部存档与当前种群并集中排名前q%的解里随机选取的一个解。可以看到MadDE一方面设计了互补的变异算子池另一方面在交叉策略上也有互补设计精确的解决了DE及其变体算法在某些场景中失效的问题其改进思路也值得借鉴学习。2 代码实现KAU提供的源码初始版本是文献作者开源版本KAU对其进行了详细的注释以及小改动以便于我们在函数对比时对其进行调用。KAU提供资源如下资源包括 KAU注释以及改动后便于调用的版本以及原作者提供的原始版本 MadDE文献3 资源获取此为免费资源GZH(KAU的云实验台) 回复“MadDE”即可参考文献[1] Biswas S , Saha D , De S ,et al.Improving Differential Evolution through Bayesian Hyperparameter Optimization[J].IEEE, 2021.DOI:10.1109/CEC45853.2021.9504792.

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询