2026年SEVC SCI2区,基于k均值聚类和自适应双群策略的粒子群算法,深度解析+性能实测

目录

---

1.摘要

针对传统粒子群算法(PSO)易陷入局部最优、后期搜索效率低以及参数依赖性强等问题,本文提出了一种融合 k-means 聚类 与 自适应双群策略 的粒子群算法(PSO-KCAD),该方法通过双粒子群协同进化,在搜索初期强化全局探索能力,在后期提升局部开发效率。引入综合学习机制和精英--普通粒子分层策略,加强粒子间的信息交互,加速算法收敛。为了维持种群多样性并提高解的精度,算法进一步采用自适应精英替换机制与竞争干扰机制。

2.PSO-KCAD算法

双群协同搜索策略

双群协同搜索策略将种群按索引划分为开发群(TS)与探索群(RS),其中 TS 由前 5 个粒子组成,其余粒子进入 RS。随后,RS 通过 k-means 聚类进一步分成 5 个子群,子群规模固定但成员随进化动态替换,以强化协同学习与信息共享。

综合学习

CL-PSO 通过自适应地从多种学习示例(个体最优、邻域最优、历史最优等)中选择参考对象,从而降低对全局最优的依赖。在 TS 子群中引入多学习示例,包括来自不同子群的最优解和历史精英解,使粒子能够从更广泛的区域获取信息并摆脱局部陷阱。

V i d = w V i d + c 1 ∗ r a n d 1 i d ∗ ( p b e s t f i ( d ) d − X i d ) + c 2 ∗ r a n d 2 t d ∗ ( T S b e s t d − X i d ) V_i^d=wV_i^d+c_1^*rand1_i^d*\left(pbest_{fi(d)}^d-X_i^d\right)+c_2^*rand2_t^d*\left(TSbest^d-X_i^d\right) Vid=wVid+c1∗rand1id∗(pbestfi(d)d−Xid)+c2∗rand2td∗(TSbestd−Xid)

精英--普通粒子分层策略

为增强粒子协作与信息交流,本文在 RS 经 k-means 划分后的子群中构建了精英--普通粒子分层策略(SEO)。每个子群按适应度划分出一名精英粒子(EP),其余为普通粒子(OP)。EP 负责在高质量区域进行深度开发,OP 在 EP 的引导下扩大搜索范围或探索新的区域,从而保持多样性并提升全局搜索能力。

V i , j d = w V i , j d + c 1 ∗ r a n d 1 i d ∗ ( p b e s t i , j d − X i , j d ) + c 2 ∗ r a n d 2 l d ∗ ( g b e s t − a ν g j d − X i , j d ) V_{i,j}^d=wV_{i,j}^d+c_1^*rand1_i^d*\left(pbest_{i,j}^d-X_{i,j}^d\right)+c_2^*rand2_l^d*\left(gbest_-a\nu g_j^d-X_{i,j}^d\right) Vi,jd=wVi,jd+c1∗rand1id∗(pbesti,jd−Xi,jd)+c2∗rand2ld∗(gbest−aνgjd−Xi,jd)

V i , j d = w V i , j d + c 1 ∗ r a n d 1 i d ∗ ( p b e s t i , j d − X i , j d ) + c 2 ∗ r a n d 2 i d ∗ ( T S b e s t d − X i , j d ) V_{i,j}^d=wV_{i,j}^d+c_1^*rand1_i^d*\left(pbest_{i,j}^d-X_{i,j}^d\right)+c_2^*rand2_i^d*\left(TSbest^d-X_{i,j}^d\right) Vi,jd=wVi,jd+c1∗rand1id∗(pbesti,jd−Xi,jd)+c2∗rand2id∗(TSbestd−Xi,jd)

3.结果展示

4.参考文献

1\] Fan Y, Tian D, Xu Q, et al. Particle swarm optimization based on K-means clustering and adaptive dual-groups strategy\[J\]. Swarm and Evolutionary Computation, 2026, 100: 102226. ### 5.代码获取 xx ### 6.算法辅导·应用定制·读者交流 xx

相关推荐
mmz12073 分钟前
差分数组(二维)(c++)
c++·算法
YGGP8 分钟前
【Golang】LeetCode 45. 跳跃游戏 II
算法·leetcode·游戏
闻缺陷则喜何志丹10 分钟前
【计算几何 化环为链】P14165 [ICPC 2022 Nanjing R] 清空水箱|普及+
c++·数学·算法·计算几何·洛谷·化环为链
爱吃生蚝的于勒12 分钟前
【Linux】深入理解软硬链接
linux·运维·服务器·c语言·数据结构·c++·算法
YGGP14 分钟前
【Golang】LeetCode 763. 划分字母区间
算法·leetcode
Heath03315 分钟前
BGE-M3个人理解
python·算法
Hello.Reader15 分钟前
Flink ML Bucketizer 连续特征分桶(多列映射、splitsArray、handleInvalid)+ Java 示例解读
java·算法·flink
先做个垃圾出来………17 分钟前
1611. 使整数变为 0 的最少操作次数
算法
ctrigger22 分钟前
监理工程师考试题型有哪些?4科题型+分值表
大数据·javascript·算法
YGGP25 分钟前
【Golang】LeetCode 1143. 最长公共子序列
算法·leetcode