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 算法流程图
   393   394   395   396   397   398   399   400   401   402   403