基于线性规划的图最小支配集问题求解示例
题目描述
考虑一个无向图 \(G = (V, E)\),其中 \(V = \{1, 2, \dots, n\}\) 是顶点集,\(E\) 是边集。一个支配集 \(S \subseteq V\) 需满足:对于任意顶点 \(v \in V\),要么 \(v \in S\),要么 \(v\) 与 \(S\) 中的某个顶点相邻。图的最小支配集问题要求找到顶点数最少的支配集。该问题是NP难问题,但可以通过整数线性规划建模,并利用线性规划松弛与舍入策略近似求解。本示例将展示如何将问题转化为线性规划模型,并通过松弛和舍入得到近似解。
解题过程
- 整数线性规划建模
- 定义决策变量:对每个顶点 \(i \in V\),设 \(x_i \in \{0, 1\}\),其中 \(x_i = 1\) 表示顶点 \(i\) 被选入支配集,否则为0。
- 目标函数:最小化支配集的大小,即 \(\min \sum_{i \in V} x_i\)。
- 约束条件:对每个顶点 \(j \in V\),要求 \(j\) 或其至少一个邻居属于支配集。数学表达为:
\[ x_j + \sum_{i \in N(j)} x_i \geq 1 \quad \forall j \in V, \]
其中 $ N(j) $ 表示顶点 $ j $ 的邻居集合(不包括 $ j $ 自身)。
- 该模型为整数线性规划,直接求解计算困难。
- 线性规划松弛
- 将整数约束 \(x_i \in \{0, 1\}\) 松弛为连续约束 \(0 \leq x_i \leq 1\),得到线性规划问题:
\[ \begin{aligned} \min \quad & \sum_{i \in V} x_i \\ \text{s.t.} \quad & x_j + \sum_{i \in N(j)} x_i \geq 1, \quad \forall j \in V, \\ & 0 \leq x_i \leq 1, \quad \forall i \in V. \end{aligned} \]
- 该线性规划可在多项式时间内求解(如使用单纯形法或内点法),得到最优解 \(x^*\)。
-
舍入策略构建近似解
- 线性规划的解 \(x^*\) 是分数解,需通过舍入转化为整数解。采用阈值舍入法:
- 设定阈值 \(\theta \in (0, 1]\)(常见取值为 \(\theta = 0.5\) 或基于问题调整)。
- 构造支配集 \(S = \{ i \in V \mid x_i^* \geq \theta \}\)。
- 合理性验证:对任意顶点 \(j\),若 \(x_j^* \geq \theta\),则 \(j \in S\),满足支配条件;若 \(x_j^* < \theta\),则约束 \(x_j^* + \sum_{i \in N(j)} x_i^* \geq 1\) 要求存在邻居 \(i\) 满足 \(x_i^* \geq 1 - x_j^* > 1 - \theta\)。若取 \(\theta \leq 0.5\),则 \(1 - \theta \geq \theta\),因此该邻居必被选入 \(S\),确保 \(j\) 被支配。
- 线性规划的解 \(x^*\) 是分数解,需通过舍入转化为整数解。采用阈值舍入法:
-
近似比分析
- 设线性规划最优值为 \(\text{LP}^*\),整数规划最优值为 \(\text{OPT}\)。显然 \(\text{LP}^* \leq \text{OPT}\)。
- 舍入后解的大小满足 \(|S| \leq \frac{1}{\theta} \sum x_i^* = \frac{1}{\theta} \text{LP}^* \leq \frac{1}{\theta} \text{OPT}\)。
- 当取 \(\theta = 0.5\) 时,近似比为 2,即所得支配集大小最多是最优解的2倍。
-
示例计算
- 考虑一个简单图:顶点集 \(V = \{1, 2, 3\}\),边集 \(E = \{(1,2), (2,3)\}\)。
- 线性规划模型:
\[ \begin{aligned} \min \quad & x_1 + x_2 + x_3 \\ \text{s.t.} \quad & x_1 + x_2 \geq 1 \quad (\text{顶点1约束}), \\ & x_1 + x_2 + x_3 \geq 1 \quad (\text{顶点2约束}), \\ & x_2 + x_3 \geq 1 \quad (\text{顶点3约束}), \\ & 0 \leq x_i \leq 1. \end{aligned} \]
- 求解得最优解 \(x^* = (0.5, 0.5, 0)\)(目标值1.5)。取 \(\theta = 0.5\),舍入得 \(S = \{1, 2\}\)。验证可知 \(S\) 是支配集,大小为2,而最优解为 \(\{2\}\)(大小1),满足近似比2。
总结
通过线性规划松弛与舍入,可将NP难的最小支配集问题转化为可高效求解的近似算法,平衡计算复杂度与解的质量。该方法可扩展至更复杂的图结构或加权版本。