Page 156 - 《软件学报》2021年第12期
P. 156

3820                                Journal of Software  软件学报 Vol.32, No.12, December 2021

             10.  end
         2.5   选择算子
             选择算子是在候选解集中选择部分解进行真实评估,具体见算法 4.其先是找到每个解 x∈X 的邻居参考向
         量,然后根据是否存在活跃的邻居参考向量,把 x 加入 X a 或 X ia .这里的活跃与否是看该参考向量在种群 P 中是
         否有相关解,即该子问题上是否存在已经真实评估的解.接下来,算法对 X a 和 X ia 进行筛选,删除一些希望渺茫的
                                                                                       *
         解,见算法 5.然后,对解集 X 使用 Kmeans 方法聚类,划分成μ个簇,并在每个簇中选择一个与理想点 z 距离最小的
         解.与文献[17,18]中所说明的一致,在本文实验中,μ设置为 5.
             算法 4.  选择算子 Selection.
             输入:P:种群 P;
                 W:参考向量集;
                 X:候选解集;
                 μ:选出解的数量;
             输出:X:候选解集.
             1.  for  每个 x∈X do
             2.     设置与 x 相差角度小于θ th 的参考向量为 x 的邻居参考向量;
             3.     if x 存在活跃的邻居参考向量  then
             4.        X a =X a ∪x;
             5.     else
             6.        X ia =X ia ∪x;
             7.     end
             8.  end
             9.  对 X a 和 X ia 进行筛选;                                 //算法 5;
             10.  X=X a ∪X ia ;
             11.  对 X 使用 Kmeans 方法聚类,划分成μ个簇;
                                   *
             12.  对于每个簇,保留距离 z 最小的解;
             算法 5.  筛选.
             1.  Xr=MCS(P);                                         //计算 P 的最小相关解集,见算法 2
                       *
             2.  记 d(Xr,z )的最大值为 d th ;
                             *
             3.  删除 X ia 中 d(x,z )>d th 的 x;
             4.  for  每个 x∈X a  do
             5.     把 Xr 中对应 x 的邻居参考向量的解加入 Xr′;
                                  *
             6.     升序排序 d a =d(Xr′,z );
             7.     d =  d a ⎡  0.25 | a d×  |⎤ ⎢  ⎥  ;
                    th
                        *
             8.     若 d(x,z )>d th ,则在 X a 中删除 x;
             9.  end
             由于模型评估具有一定的误差,真实评估的函数值相对模型评估的函数值会发生一定程度的偏移.这里,我
         们根据解的不确定性来确定其邻居参考向量.算法 4 中的阈值θ th 的计算如公式(12):
                                                   ⎛   ˆˆ′  ⎞
                                                        ⋅ yy
                                           θ =  arccos ⎜    ⎟                                (12)
                                            th
                                                        ⋅
                                                    || ⎝  ˆ || || ′ y ˆ || ⎠ y
                                                     ,
                                          y ˆ′ = y ˆ +× ( s s s− ˆˆ ˆ , ,...,s ˆ )           (13)
                                                p
                                                            m
                                                         3
                                                     1
                                                       2
         其中, ˆ′ y 是在置信范围内距离 ˆ y 角度较大的一个解.
   151   152   153   154   155   156   157   158   159   160   161