2025年10月一区SCI-中心碰撞优化算法Centered Collision Optimizer-附Matlab免费代码

引言

本期介绍一种新的创新算法------中心碰撞优化算法Centered Collision Optimizer,CCO。该算法该的灵感来自经典物理中的正面碰撞方程,于2025年10月最新在线发表 在 JCR 1区,中科院1区期刊 Computer Methods in Applied Mechanics and Engineering 。

数学建模

基于物体之间正面碰撞的物理规律,并推导出完全弹性、完全非弹性和部分非弹性正面碰撞的方程。受这些公式的启发-以及它们在不同参考系中的转换和通过空间转换-建立了全局优化的CCO算法模型。CCO采用一种统一的位置更新策略,称为中心碰撞策略,该策略在原始解空间和去相关解空间中同时运行。这种双空间方法大大提高了算法的全局搜索能力,提高了算法逃避局部最优的能力。此外,还引入了空间分配策略,加快了收敛速度,进一步提高了搜索效率。

  1. 初始化:和其他群优化算法一样,采用随机初始化。
  1. 中心碰撞策略:迎面碰撞中粒子的速度矢量被解释为群体中个体的位置矢量。然后通过模拟个体之间的随机成对碰撞来更新种群:
  1. 去相关空间:在当智能体种群仅在原始空间(Original Space, OS)中执行中心碰撞策略时,收敛速度往往较慢,种群更容易陷入局部最优。为了解决这个问题,我们考虑将碰撞操作扩展到额外的空间,以加速优化并增强逃离局部最优的能力。通过应用正交变换,种群可以映射到可选的基空间中,其中个体使用中心碰撞策略更新,然后映射回OS。具体来说,我们通过对个体子集的协方差矩阵进行特征值分解来构造一个新的空间。得到的特征向量作为正交基的变换矩阵。这个过程部分地消除了数据的不同维度之间的相关性,从而增强了种群避免局部最优的能力。我们将新构建的空间称为去相关空间(DS)。
  1. 选位策略:在不同的优化问题中,甚至在同一问题的不同阶段,操作系统和DS的优化性能可能会有所不同。为了自适应地利用这两个空间的优势,我们提出了一种空间分配策略,使种群能够动态调整在OS和DS中执行的碰撞操作的比例。他的目标是使种群更有效地偏向于产生更好后代的空间,从而加速收敛,提高优化效率。在优化过程中,对每个空间分别进行贪婪选择,记录产生较优子代的个体比例。

在OS中,更新过程定义为:

类似地,在DS中:

基于式(30)和式(31),可以得到每个空间中成功更新的原始数量。然而,为了公平地评估每个空间的探索能力,成功率必须通过前一代分配给每个空间的种群比例进行归一化。规范化更新规则定义为


算法伪代码:

为了评估其性能,对三个具有挑战性的基准套件(CEC2017、CEC2019和CEC2022)在多个维度上的广泛评估表明,CCO在准确性、稳定性和统计显著性方面始终优于25种高性能算法------包括两个CEC2017冠军算法。在6个约束工程设计问题和5个光伏电池参数识别任务中,CCO算法的准确率最高,在9个竞争算法中始终排名第一。在33个实际约束优化问题上验证了CCO的泛化性。即使只使用一个简单的外部惩罚函数进行约束处理,CCO在23个问题上取得了最好的结果,在21个问题上取得了100%的成功率,超过了三种具有专门约束处理机制的高级算法。这些结果表明,CCO在基准测试和实际场景中都提供了前所未有的优化性能

参考文献

Yifan Lang, Yuelin Gao, Tiantian Chen, Huimin Wang,Centered Collision Optimizer: A novel and efficient physics-based metaheuristic optimization algorithm for solving complex real-world engineering optimization problems,Computer Methods in Applied Mechanics and Engineering,Volume 448, Part B,2026,118491,

https://doi.org/10.1016/j.cma.2025.118491.

Matlab代码下载

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

完整代码

2025-Centered Collision Optimizer.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

相关推荐
rgeshfgreh1 小时前
C++字符串处理:STL string终极指南
java·jvm·算法
LawrenceLan1 小时前
Flutter 零基础入门(十二):枚举(enum)与状态管理的第一步
开发语言·前端·flutter·dart
Protein_zmm1 小时前
【算法基础】二分
算法
Lips6112 小时前
2026.1.11力扣刷题笔记
笔记·算法·leetcode
charlie1145141912 小时前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
catchadmin3 小时前
Laravel12 + Vue3 的免费可商用商业级管理后台 CatchAdmin V5 正式发布
开发语言·php
袁气满满~_~3 小时前
Python数据分析学习
开发语言·笔记·python·学习
执携3 小时前
算法 -- 冒泡排序
数据结构·算法
寻星探路3 小时前
【算法专题】滑动窗口:从“无重复字符”到“字母异位词”的深度剖析
java·开发语言·c++·人工智能·python·算法·ai
程序员小白条3 小时前
面试 Java 基础八股文十问十答第八期
java·开发语言·数据库·spring·面试·职场和发展·毕设