“原始变量表示是否购买顶点,对偶变量把预算装入边;每个顶点承受的相邻边总价不能超过其权重。任何合法装价都给出整数顶点覆盖成本的下界,因为整数可行域包含在 LP 松弛中。原始—对偶方法会提高这些…”
形式陈述
证明模板
考虑具有有限非负最优值的最小化问题,写出所用的 LP 松弛及其对偶。例如一对标准形式为
算法给出原整数问题的可行解,成本记为
原始
这就是 dual fitting 的证明链。对偶目标应按实际右端项
直觉
算法运行时产生的收费往往已经解释了 ALG 的成本,却未必满足每条对偶容量限制。Dual fitting 不强迫过程始终可行,而是度量最坏一条约束被挤爆了多少;若所有违反都能被同一个
图示采用单位右端的收费形式:某条集合约束收到
例子与边界
Set Cover 收费例子
设有限全集
贪心每次选择“成本除以新覆盖元素数”最小的集合,把这个单位成本记为每个新覆盖元素的收费
Set Cover 对偶正是
与 primal–dual 的差别
经典 primal–dual 算法通常在运行中始终保持对偶可行,约束变紧时选原始对象;dual fitting 允许先“过度收费”,事后证明存在统一缩放。二者都用弱对偶,却有不同不变量。收费法若未写出具体对偶 LP 和违反因子,不能只因出现价格就称 dual fitting。
局部比率法有时产生同一个算法和近似常数,但它构造的是递归权重分解,而不是 LP 对偶证书。收费形式相似,不能代替对证明对象的辨认。
失败边界
若各约束需要不同且无统一上界的缩放,无法得到全局
推论与应用
证书审计清单
一份完整 dual-fitting 证明必须依次给出原始 LP 与对偶 LP、算法成本和收费总和的关系、所有对偶约束的统一违反上界,以及缩放后变量的符号合法性。只证明算法成本可以“分摊”给若干对象,还没有得到最优值下界;只检查算法选中的约束,也不能推出整个对偶解可行。
这套证书可以直接核对。以 Set Cover 为例,记录各元素收费
取
参考资料
- David P. Williamson and David B. Shmoys, The Design of Approximation Algorithms, Cambridge, 2011,§1.6:贪心集合覆盖的逐元素收费与统一缩放。
- Vijay Vazirani, Approximation Algorithms, Springer, 2001.