2025年7月一区SCI-基尔霍夫定律优化算法Kirchhoff’s law algorithm-附Matlab免费代码
引言
本期介绍一种受电路定律启发的创新算法——基尔霍夫定律优化算法Kirchhoff’s law algorithm,KLA 。KLA将元启发式原理与电路类比巧妙地交织在一起,编排出一曲进化适应和优化的交响乐。在算法始终追求成本最小化和效率最大化的指导下,每次迭代都进行着突变、选择和评估的和谐舞蹈。通过这种计算和电子领域的无缝融合,KLA成为聪明才智的灯塔,照亮了实现全局优化目标的道路。于2025年7月发表在JCR 1区,中科院1区 SCI 计算机领域期刊 Artificial Intelligence Review。
基尔霍夫电流定律KCL指出,进入和离开一个节点的总电流是守恒的。KLA利用电路分析原理来优化现实世界的问题。在这种方法中,电路中的节点电压充当算法中种群的位置。这些节点电压之间的电阻被视为目标函数的变量函数。优化目标是通过调整节点电压使能量损失最小化,类似于寻找优化问题的最优解。KLA基于KCL迭代更新节点电压,并将其与以前的解决方案结合以生成改进的种群。
1. 初始化:和其他群优化算法一样,采用随机初始化。
2. 在本算法中,每两个成员或节点电压之间的电阻,如i和j,被建模为这两个成员的目标函数值的变量和随机函数,如Eq.(5)所示。两个节点i和j之间的电能损失确定为电流平方乘以两个节点之间电阻的函数
为了适应优化过程,认为第i支路(进入到节点电流的支路)的电阻为1欧姆。在这种情况下,支路电压的变化等于支路电流的变化。该节点的KCL方程基于Eq. (6)
优化算法建立了节点电压与种群成员之间的对应关系,从而得到了变量的表示的矢量形式。在此步骤中,应用电流方向对等效电路中节点电压的影响和建模。其在式(7)中的位置小于节点j的电压,电流从节点j流向节点i,系数为正。另一方面,如果节点i的电压大于节点j的电压,则电流从节点i流向节点j,该系数为负。如果两个成员的目标函数相同,则系数为零。
新的位置更新方式为:
KLA算法伪代码:
03. 对比验证
原文作者使用实参数测试函数(包括CEC-2005、2014和2017)对KLA进行了评估,并将其性能与几种已建立的算法进行了比较。实参数和约束基准函数的结果证实了KLA的精度和收敛速度优于其他算法。值得注意的是,当应用于cec -2005基准(维度范围从30到100)时,KLA显示出在可行的搜索空间内,在整个搜索过程中保持种群多样性的卓越能力。基于平均排名标准,KLA一直优于其他算法,尽管它简单且缺乏控制参数(除了种群大小)。这种固有的简单性使KLA易于按原样使用、可适应并与其他优化技术兼容。
参考文献
Ghasemi, M., Khodadadi, N., Trojovský, P. et al. Kirchhoff’s law algorithm (KLA): a novel physics-inspired non-parametric metaheuristic algorithm for optimization problems. Artif Intell Rev 58, 325 (2025). https://doi.org/10.1007/s10462-025-11289-5.
Matlab代码下载
微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。
完整代码
KLA.zip
点击链接跳转:
390种优化算法免费下载-matlab
https://mp.weixin.qq.com/s/EzKqtSwR9r2DkGj-ozJXwA
求解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
仅需一行,可改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)
用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)21种混沌映射方法-混沌初始化,适用于所有优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd
【有经典,有最新】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
【分类新范式】27种一维数据转换成二维图像的方法-matlab代码
沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd