Skip to content

方法Method

原始—对偶方法

施工中 · 内容逐步修订

Primal-dual method

联合构造原始方案与对偶界,并通过可行性及计费关系证明最优或近似保证的算法框架。

形式陈述 ​

原始—对偶方法联合构造原问题的方案与对偶问题的界,具体算法必须声明每一步维护哪一侧的可行性。例如覆盖问题常始终保持对偶可行,而原始解从空集合开始,到终止时才覆盖全部需求;不能要求两侧从一开始都可行。

依据弱对偶与互补松弛,对最小化问题,任意原始可行解 x 与对偶可行解 y 满足 D(y)≤OPTLP≤P(x),其中 P,D 分别为两侧目标值。两值相等给出精确最优证书。对具有有限非负最优值的整数最小化问题,取 α≥1。若 x 是整数可行解,且能证明 P(x)≤αD(y),由 D(y)≤OPTLP≤OPTint 得到 P(x)≤αOPTint。近似算法未必消除整个对偶间隙,而是控制这个倍数。

直觉

原始解给出可实现方案,对偶解给出任何方案都不能突破的界。原始—对偶方法不先完整求出原问题再检查对偶,而是在构造原始可行解的同时提升对偶变量;当某些约束变紧时,算法据此选择原始对象,最终用互补松弛或近似版本比较两边成本。两者相遇时就得到可验证的最优性。对偶变量常可解释为资源价格,价格上涨直到某个选择“付得起”。

例子与边界

匈牙利算法维护顶点势与紧边匹配;最短路和最小费用流也可用势函数解释。仅写出一个对偶变量并不构成算法,必须说明如何更新和为何终止。原始—对偶内点法给出连续优化中的具体实现:联合线性化原始、对偶和互补残差,再用保正步长更新;它不同于下面逐边抬价、在顶点约束变紧时选点的组合构造。对整数规划,分数原始解与 LP 对偶相等只证明松弛最优;若相等的原始解本身整数可行,则同时证明整数最优。

顶点覆盖:从抬价到证书 ​

给无向图每个顶点一个非负权重 wv,选点集 S 使每条边至少有一个端点入选。其 LP 对偶给每条边 e 一个非负价格 ye,要求每个顶点的负载 ∑e∋vye≤wv,目标为最大化 ∑eye。

从 y=0,S=∅ 开始,选一条尚未覆盖的边 uv,把 yuv 增加两个端点剩余预算的较小值。至少一个端点于是变紧,把这样的端点加入 S;预算已为零时直接选点即可。每步新增顶点,至多 |V| 步结束。后续只抬未覆盖边的价格,故不会再改变已选顶点的负载。

例如路径 a—b—c,权重分别为 2、3、2。先把边 ab 的价格升到 2,选入 a;再把 bc 的价格升到 1,b 的总负载变为 3,选入 b。所得覆盖成本为 5,对偶总价为 3,且每个顶点都没有超预算。只选 b 的成本为 3,说明过程不一定精确最优。

对一般输出,每个已选顶点都保持变紧,于是 ∑v∈Swv=∑v∈S∑e∋vye≤2∑eye≤2OPTint. 中间的 2 来自每条边最多被两个已选端点计费;最后一步来自对偶可行性。这样,可行覆盖与合法下界共同给出可检查的 2-近似证书,无须先把 LP 完整求到最优。

原始可行、对偶可行与互补松弛三者必须分清;只让目标值接近却违反约束,不构成证书。整数问题的 LP 对偶可能有 integrality gap,因此原始—对偶算法常给近似而非精确解。

推论与应用

该框架统一匹配、覆盖与流算法,也出现在设施选址和网络设计的近似方案中,常能同时产生构造解、对偶下界和近似比证明。不同问题里“价格变紧”对应的对象并不相同:可以是匹配边、被覆盖约束、流的势,或开放设施与连接客户的费用,因此仍须逐题证明可行性和计费关系。对偶拟合允许构造过程中暂时得到不可行对偶,再按统一因子缩放成合法下界;Christofides 算法则把 MST 与最小权完美匹配组合成度量 TSP 的 3/2-近似,其下界与奇度修补分析不等同于逐约束抬价。

Goemans–Williamson Max-Cut先解 SDP 松弛,再做随机超平面舍入,近似比来自角度概率与松弛值,而不是线性互补松弛。packing/covering 线性规划中,乘法权重更新又可通过可分离 oracle 调整权重。原始—对偶、对偶拟合、SDP 舍入和乘法更新都借助下界证书,但其可行性不变量、随机性和保证类型必须分别陈述。

参考资料
  • David P. Williamson and David B. Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011,§7.1、Algorithm 7.1 与 Theorem 7.1:保持对偶可行、由紧约束选择原始对象及按出现频率计费;顶点覆盖中该频率为 2。

  • Bernhard Korte and Jens Vygen, Combinatorial Optimization, 6th ed., Springer, 2018,Chs. 4–11。

关系图谱4 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系