Page 248 - 《软件学报》2025年第8期
P. 248

李睿智 等: 局部搜索算法求解最小弱连通支配集问题                                                       3671


                 (ALS) 之间进行比较时, APLS    算法在多个经典基准测试实例上均表现出更好的性能. 这表明扰动策略提高了算法
                 在寻找最小弱连通支配集问题上解的质量.

                                              表 6 扰动策略有效性验证实验结果

                                                                   ALS               APLS
                                实例           |V|      |E|
                                                               Best     Avg      Best     Avg
                              ba_1k_30k     1 000    30 039    21       21.0     21       21.0
                              ba_1k_6k      1 000    5 964     80       80.0     80       80.0
                              c-fat200-1     200     1 534     18       18.0     18       18.0
                              DD_g140        560     2 710     118     118.6     118     118.9
                              DD_g142        288     1 290     64       64.0     64       64.0
                              DD_g143        414     2 088     84       84.7     83       84.7
                              DD_g144        288     1 514     56       56.1     56       56.5
                              DD_g145        404     2 320     70       70.9     71       71.1
                              DD_g146        327     1 506     70       70.0     69       69.9
                             delaunay_n11   2 048    6 127     334     337.3     333     337.1
                             delaunay_n12   4 096    12 264    690     693.6     683     687.2
                             delaunay_n13   8 192    24 547   1 403    1 407.3  1 376    1 381.8
                              DSJC500-5      500    125 248     5       5.0       5       5.0
                            er_graph_1k_6k  1 000    6 000     109     109.6     107     108.9
                           socfb-Haverford76  1 446  59 589    58       58.5     58       58.5
                                str_0        363     2 454     55       55.3     55       55.2
                               str_200       363     3 068     47       47.0     47       47.0
                               str_400       363     3 157     46       46.0     46       46.0
                               str_600       363     3 279     41       41.0     41       41.0
                          SW-1000-6-0d3-trial3  1 000  3 000   167     168.8     166     168.1
                           SW-100-6-0d3-trial3  100   300      16       16.0     16       16.0
                                t3dl_a      20 360  265 113   1 171    1 182.4  1 052    1 057.3
                                tube1       21 498  459 277    634     637.1     644     648.5
                               vibrobox     12 328  177 578    790     794.9     780     786.1
                                        最小值                     5       5.0       5       5.0
                                        最大值                   1 403    1 407.3  1 376    1 381.8
                                        平均值                   256.13   257.63   249.54   251.16
                                        标准差                   380.60   382.81   365.31   367.21
                          注: 加粗数值是对应算法找到的最优值

                 5.1.3    避免循环方法的有效性
                    为了验证基于年龄属性, 双层格局检测策略与禁忌策略的避免循环方法的有效性, 对                            ALS  算法进行了改写,
                                      2
                 得到了算法    LS_Tabu  和  CC LS_Tabu. LS_Tabu  算法和  ALS  算法的区别在于  LS_Tabu  算法仅使用基于禁忌策略
                                       2
                 的方法来避免循环问题, CC LS_Tabu       算法使用基于禁忌策略和双层格局检测策略的方法来避免循环问题, 而在
                 ALS  算法中则结合了年龄属性, 双层格局检测策略与禁忌策略一起来减少循环问题. 具体而言, 在                          ALS  算法中, 刚
                 加入解的顶点被放置在禁忌列表中, 以防止其被移出解, 从而避免循环问题的发生. 同时, 每个顶点都具有一个格
                 局值和年龄值, 在选择要加入解的顶点时, 考虑了这两个值, 若顶点的格局值为                       1, 则允许将其加入解中, 否则不允
                 许. 在选择加入或移出解的顶点时, ALS          算法会选择具有最大        Dscore 值或最小  Nscore 值的顶点, 若存在多个满足
                                                               2
                 条件的顶点, 则选择年龄值最大的顶点. 通过对比              ALS、CC LS_Tabu  和  LS_Tabu  算法的求解效果, 可以评估年龄
                 属性和双层格局检测策略结合禁忌策略对算法性能的影响.
                                2
                    LS_Tabu、CC LS_Tabu  和  ALS  算法的实验结果如表      7  所示. 在此表中, 每列和每行的含义与表          2  中的含义
                 相同. 从表   7  中可以看出, 在实例“ba_1k_30k”“c-fat200-1”“DSJC500_5”和“SW-100-6-0d3-trial3”上, LS_Tabu、
                   2
                 CC LS_Tabu  和  ALS  算法可以找到相同的最小解. 在其他        18  个实例上, ALS  算法能够找到优于其他两种算法的
   243   244   245   246   247   248   249   250   251   252   253