高效局部搜索解决部分拉丁方扩展问题
1. 相关定义与操作
在解决部分拉丁方扩展问题(PLSE)时,提出了更通用的交换操作。给定一个解 $S$,定义如下:
- 设 $R \subseteq S$ 是一个最大子集,其中所有节点都包含在一个二维平面中,该平面由对于某个 $d \in [3]$ 和 $k \in [n]$ 设置 $v_d = k$ 生成。
- 用 $F_1$(分别地,$F_2$)表示所有 1 - 紧(分别地,2 - 紧)节点的集合,使得唯一的解邻域包含在 $R$ 中(分别地,两个解邻域都包含在 $R$ 中)。
- 由 $R \cup F_1 \cup F_2$ 诱导的子图称为网格(相对于 $R$)。
所有在 $R \cup F_2$ 中的节点都在同一个二维平面上,而 $F_1$ 中的一些节点也在该平面上,但其他节点可能像悬挂的藤蔓一样在平面之外。从 $S$ 中移除 $R$ 会使网格中的所有节点变为自由节点。解 $S$ 的网格邻域定义为通过从 $S$ 中移除任何 $R$,然后将网格中的一个独立集插入到 $S \setminus R$ 中可以得到的所有解的集合。
2. 定理及证明
定理 5 表明,给定一个解 $S$,可以在 $O(n^{3.5})$ 时间内找到网格邻域中的改进解,或者得出不存在这样的解的结论。证明步骤如下:
1. 对于给定的 $R$,将 $F_1$ 划分为 $F_1 = F_1’ \cup F_1’‘$,使得 $F_1’$(分别地,$F_1’‘$)是位于(分别地,不在)所考虑的二维平面上的节点子集。
2. 节点集 $F_1’‘$ 诱导出一个由团组成的子图,每个团由垂直于二维平面的网格线上
超级会员免费看
订阅专栏 解锁全文
8196

被折叠的 条评论
为什么被折叠?



