2026年2月一区SCI-交叉传播优化算法Propagation Alongside Crossover-附Matlab免费代码

引言

近年来,在合理框架内求解优化问题的元启发式算法的发展引起了全球科学界的极大关注。本期介绍一种新的创新算法------交叉传播优化算法Propagation Alongside Crossover,PAC。该算法于2026年2月最新发表 在 JCR 1区,中科院3区、新锐2区期刊 Journal of Bionic Engineering。

PAC算法是一种进化优化框架,专门用于解决传统元启发式算法在连续优化中的局限性。PAC的设计是建立在功能和数学原理之上的,而不仅仅是隐喻的灵感。该算法的每个组成部分都是为了解决特定的挑战而制定的,例如过早收敛、缺乏种群多样性以及低效的勘探-开采平衡。

1.初始化。 逻辑映射表现出众所周知的混沌行为,能够有效覆盖搜索空间,增强种群多样性。

  1. 传播策略。首先,计算每个种群成员的归一化适应度值,以便于传播算子的执行。这种归一化是使用Eq.(3)执行的:

在适应度值归一化之后,为每个种群成员分配一个传播大小(PS)。这决定了它在当前迭代中将产生的后代的数量。这个大小与成员的适合度成正比,范围从1到预定义的最大传播大小(MPS). 第i个成员的传播大小计算为:

每个粒子的子代位置

通过使用这些阈值,算法在局部细化和全局探索之间取得了自然的平衡,这对有效的搜索和收敛至关重要。

模式1:小随机传播

在这种模式下(𝑟1<1/3),即比例因子𝛼首先是根据人口分布确定的:

因此,在勘探和开采之间取得了平稳的平衡。由此产生的子代如下

模式2:向参考点线性传播。

该模式(1/3<𝑟1<2/3),传播沿着直线执行

模式3:在泪滴区内传播

在此模式下(2/3≤r1),传播发生在泪滴形区域内。一个枢轴点(P)轴上来自Xi到T首次选定为:

每个维度的最大半径(R)此时定义为

泪滴形半径通过正弦比例函数应用:

最终后代的决定方式如下:

总之,所提出的繁殖策略通过基于适应度的繁殖自适应调控后代生成,动态调整探索目标以维持多样性,并采用三模式算符以平衡局部细化与全局搜索。这些机制合起来不仅提供了有效的收敛,还明确解决了传统进化算法的局限性,体现了PAC方法的独特贡献。

3.交叉策略。在此阶段,通过合并现有个体生成新种群成员,保持跨代种群规模恒定。最初,父选采用轮盘法进行。随后,父母成对结合,每对产生两代后代。后代集通过交叉算符推导,该算符由方程定义:

每个后代随后被加入交叉种群类别:

4.突变策略。在此阶段,突变算符应用于当前种群中的每个成员。突变个体作为突变衍生的种群子集单独存储。为了实现突变,随机选取2%的问题维度,并记为集合。变异矢量Y是根据基于原始矢量X的以下方程生成的:

5.种群选择策略。在所提算法中,每一代初始种群规模被设定为最大允许成员数,随后在多次迭代中逐渐减少,以降低适应度函数评估相关的计算成本。将被转移到下一代的个体数量通过方程

为了保持多样性并利用所有搜索操作符的互补优势,算法在确定所选个体数量后,不会简单地从整个总体中选择最优秀的个体。相反,从每个操作员特定集合中独立选择预定义比例的顶尖成员------包括交叉生成的群体(CP),突变生成的种群(MP),首次传播(RP1),第二次传播(RP2),以及精英阶层(EP)------并传承给下一代。这种多源选择策略确保所有进化和传播机制的贡献得以保留,从而提供了更平衡、更具适应性的探索-利用权衡,解决了传统进化选择方法的局限性。重复解------即适应度值相同的成员------会从每个组中剔除。U为下一代创造的新个体总数计算如下:

如果U少于下一代所需的个体数(nPOPn+1),每个班级的所有可用成员都会被选中。额外个体的数量NEP需求则由方程

反之,如果 U 超过(nPOPn+1),每个班级中仅有表现最优异的个人根据以下分配方式被选中:

总体而言,这种多源、算符感知的选择策略增强了探索,保持多样性,减少了过早收敛,并发挥了所有进化和传播算符的优势,直接解决了进化算法中传统选择机制的局限性。


算法伪代码:

03. 对比验证

原文作者为PAC在51个基准函数和3个工程问题上进行了严格的评估,考虑了可扩展性、收敛性、灵敏度和计算效率。与已有优化算法的对比分析表明,PAC具有优越的性能,并得到了Wilcoxon sign -rank和Friedman统计检验的证实。此外,PAC作为一种特征选择方法应用于四个不同的数据集,实现了大量的降维,同时在分类精度上优于比较方法。这些结果突出了PAC的通用性、健壮性。

参考文献

Farzi-Veijouyeh, N., Sahargahi, V. & Matin, N. Propagation Alongside Crossover: An Evolutionary Algorithm for Continuous Optimization and Feature Selection. J Bionic Eng 23, 1112--1175 (2026). https://doi.org/10.1007/s42235-026-00840-x.

Matlab代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

PAC-Optimization-Algorithm.zip

链接:https://pan.quark.cn/s/29556d4fcd1c

点击链接跳转

400多种优化算法免费下载-matlab

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLihttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLi

求解cec测试函数-matlab

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载

绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

《一行破万法》:80余种改进策略仅需一行,可改进所有优化算法(附matlab代码)

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4Chttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4C

【有经典,有最新】24种信号分解方法(附matlab代码)

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

【分类新范式】28种一维数据转换成二维图像的方法-matlab代码

2025年故障诊断的创新思路在哪里?赶紧来学习这28种创新方法!https://mp.weixin.qq.com/s/EdRYeziIhnZE5zK0ZZhwmg

相关推荐
悠仁さん1 小时前
数据结构 图(代码实现篇 C语言版)
数据结构·算法·图论
aini_lovee1 小时前
多智能体粒子群优化(Multi-Agent Particle Swarm Optimization, MAPSO)
算法
A.零点1 小时前
【2个月 C 语言从入门到精通:零基础系统教程】第十二讲:深入了解指针(五)
c语言·开发语言·网络·笔记·visual studio
周末也要写八哥1 小时前
贪心法求经典算法题——最低加油次数
算法
飞天狗1111 小时前
零基础JavaWeb入门——第五课第一小节:九大内置对象 · 第1个:request(请求对象)
java·开发语言·前端·后端·servlet
z落落1 小时前
C#ToolStrip+StatusStrip 状态栏实时显示系统时间+NotifyIcon系统托盘
开发语言·c#
插件开发1 小时前
vs2015 cuda c++ 线程号的计算详解
开发语言·c++·算法
石山代码1 小时前
变量与解构
开发语言·前端·javascript
有点。1 小时前
C++(前缀和与差分)
c++·算法