Page 398 - 《软件学报》2025年第8期
P. 398
张子龙 等: 基于原生链的跨 Rollup 机制研究 3821
其中, CDO(i) 便是当前解集中第 i 个个体的拥挤度. M 是多目标优化的目标函数个数, 在本节中为 2. f j (x i+1 ) 和 f j (x i−1 )
j
分别为第 i 个粒子在目标空间上相邻的第 i+1 和第 i−1 个粒子在第 个目标函数上的取值. 需要说明的是解集中
第 1 个和最后一个节点不参与拥挤度的淘汰阶段, 不需要计算.
传统的拥挤度算子存在刻画不均的情况, 若存在一部分的目标函数的稀疏度过于分散的情况下, 累加并不能
直接反映出实际的系数效果, 因此需要在传统拥挤度的计算上再加入轮廓系数 [23] . 使得各目标函数都应该具有较
高的影响力, 这也符合本节希望均衡各目标函数的初衷. 改进后的 CDO 算子如公式 (13) 所示.
∗
CDO (i) = CDO(i)×σ(i)
M ∏ (13)
f j (x i+1 )− f j (x i−1 )
σ(i) =
max min
f − f
j=1 j j
3.3.3.4 精英策略
精英策略 (elitist strategy) 是一种在进化算法中广泛应用的策略, 旨在确保种群中最优秀的个体得以保留并在
后续进化过程中延续其优良特性. 这一策略的关键在于在每一代的进化过程中, 优秀的个体得以持续传递和传承,
从而避免因随机变异或交叉操作而损失重要的优势特征.
在本文中, 本文采用精英策略来优先选择快速非支配排序算法中排名靠前的解. 这些解在多个目标函数上均
具有较优的表现, 因此保留这些解有助于提高整体种群的适应度. 同时, 本文还引入拥挤度算子 (CDO) 来对解集
进行筛选, 淘汰拥挤程度较高的个体. 这样的操作有助于在解空间中维持多样性, 从而在多目标优化问题中寻找到
更广泛的非劣解集.
3.3.3.5 NSGA-II 算法流程
如图 11 所示, NSGA-II 算法的主要步骤包括以下几个方面.
开始
初始化种群
否
生成第1代子群 对目标函数值非支配排序
是
父子种群合并 选择, 交叉, 变异
否
生成新父种群 对目标函数值非支配排序
是
选择, 交叉, 变异 计算每个个体的拥挤度
是
选代代数小于最大值 用精英策略选择合适
父代种群
否
结束
图 11 NSGA-II 算法流程图

