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

田新亮 等: 一种高效的求解最小负载着色问题的局部搜索算法                                                   3685



                 算法  4. TSBMS  策略.
                 输入: 邻域空间    N, 临界值  maxT, 采样个数  bmsLen;
                 输出: 选择的最优邻居解       S.

                 1. if |N| < maxT then
                 2.  S ← 遍历的方式从    N  中选择质量最优的一个解
                 3. else
                 4.  S ← 从  N  中随机选择  bmsLen  个解, 然后从  bmsLen  个解中选择质量最优的解
                 5. return S

                    如算法    4  所示, TSBMS  策略根据解空间的大小选择不同的方式寻找最优邻居解. 当解空间的规模小于
                 maxT  时, TSBMS  策略利用遍历搜索的方式来寻找最优邻居解. 由于解空间的规模较小, 遍历搜索的方式既可以找
                 到最高质量的邻居解, 也不会花费太多的时间. 当解空间的规模大于                     maxT  时, TSBMS  策略采用  BMS  策略以采样
                 择优的方式选择质量较优的邻居解, 该策略可以避免遍历搜索导致的大量时间耗费, 快速地返回一个质量较优的
                 邻居解.

                 3.3   IRLTS  算法
                    在数据的预处理阶段, IRLTS       算法利用一度顶点规则来约简数据的规模, 进而达到减小解空间规模的目的. 此
                 外, TSBMS  策略被用来改进     RLTS  算法中的局部搜索过程, 改进后的局部搜索过程如算法                5  所示.

                 算法  5. IRLTS  算法的局部搜索过程.
                 输入: 初始解   S initial , 局部搜索最大迭代次数  T r , 触发扰动的迭代次数   T p ;
                 输出: 发现的最优解      S best .

                 1. S best  ← S initial
                 2. S ← S initial
                 3. Iter ← 0
                 4. Noimprove ← 0
                 5. while Iter < T r  do
                 6.  if 小于概率值  p then
                 7.   构造当前解     S  的邻域空间  N 1
                 8.   在  N 1 中根据  TSBMS  策略选择未被   tabu  禁止的最优解   S  ′
                 9.   S ←  S  ′
                 10.  else
                 11.   构造当前解     S  的邻域空间  N 2
                 12.   在  N 2 中根据  TSBMS  策略选择未被   tabu  禁止的最优解   S  ′
                 13.   S ←  S  ′
                 14.  if f(S) > f(S best ) then
                 15.   S best  ← S
                 16.   Noimprove ← 0
                 17.  else
                 18.   Noimprove ← Noimprove + 1
                 19.  Iter ← Iter + 1
   257   258   259   260   261   262   263   264   265   266   267