3.8基于线性规划的近似算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.8 基于线性规划的近似算法
前面已经介绍了近似算法能在多项式时间内找到许多NP 难问题的近似最优解,并且介绍了许多基本算法都可以用来设计近似算法。

本节我们将介绍另一类近似设计技术,即利用线性规划的有关理论与技术来设计近似算法。

3.8.1理论基础
设待求解的是最小化问题,对于最小化问题的一个实例I ,令,
则我们可以利用松弛技术,通过松弛对变元的约束,增大搜索空间的办法来获得最优解
的下界。

考虑相应的优化问题)(min )OPT(X f I S
X ∈=S )OPT(I )(min )LB(X g I S X ′
∈=,如果下列条件
1) ,
S S ′⊆2) 对任意的,有满足,则
S X ∈)()(X f X g ≤)OPT()(min )(min )LB(I X f X g I S
X S X =≤=∈′
∈.
整数规划问题及其相应的LP 问题就满足上述1)和2)两个条件,因此,任何IP 问题的可行解也是相应LP 问题的可行解。

而且,LP 的最优解也是IP 最优解的下界。

设LP 问题的最优解值为,IP 问题的最优解值,则
)(OPT LP I )(OPT IP I )(OPT )(OPT IP LP I I ≤.
如果设计的算法A 得到的解值满足
)(OPT )(LP I R I A ⋅≤,
则有,这样便可以设计出)(OPT )(IP I R I A ⋅≤−R 近似算法,从而,我们可以设计出基于线性规划的近似算法。

松弛技术是获得最优解下界的一种好方法,大多数经典的松弛主要通过线性规划来实现。

线性规划松弛技术是设计近似算法的一种非常有用的方法,其思路非常简单。

我们知道,许多实际问题能够很容易的形式化为整数规划问题,而整数规划问题是NP 完全的,这样所有的NP 完全问题都能够转化为整数规划问题,但是这里我们指的是一种自然转化,不是那种复杂的归约。

对于整数规划问题,我们无法有效求解,如果我们将它转化为线性规划问题,我们就可以利用解线性规划问题的方法,例如单纯型法,从而解决整数规划问题。

将整数规划问题转化为线性规划问题的思想主要就是松弛法,即放松对整数规划问题解的约束,将其转化为线性规划问题。

对线性规划问题,我们通常得到的是一个小数解,但是通过对解分量取整从而得到整数规划问题的解。

如果运气好的话,我们可能找到线性规划问题的整数解,这种情况下,我们也就相应地解决了整数规划问题。

通常,我们没有这么好的运气。

在这种情况下,我们必须想办法将线性规划问题的小数解转化为整数解,常用的方法就是凑整技术。

基于线性规划问题的近似算法的主要框架如图3.8.1所示。

图3.8.1.
因此,基于线性规划问题近似算法的基本设计步骤如下:
1) 将实际待求解问题形式化为整数规划(IP )问题; 2) 利用松弛技术,将IP 松弛为LP 问题; 3) 找出LP 的最优解;
4) 将最优解(一般是小数解)根据某种策略转化为整数解; 5) 把整数解重新形式化为IP 的解,从而得到原问题的解。

值得注意的是,所有的步骤都应该很简单,即都可以在多项式时间内完成,否则,这样做就没有什么意义。

基于线性规划问题近似算法的基本设计步骤中,最重要的一步是4),这一步常涉及两种主要的策略:
a) 凑整技术(包括随机凑整)
找到线性规划问题的最优解*
X ,将*
X 凑整得到整数规划问题的解X ′,从而有
)(OPT )(LB )(I R I R X f ⋅≤⋅≤′。

b) 主对偶技术
为了近似的目的,精确的求解线性规划问题常常是没有必要的,如果我们避免线性规划问题的精确求解,则可以设计出更快的近似算法。

对偶技术就能实现这一目的。

考虑线性规划问题的弱对偶形式,如果我们有)(min X g S X ′
∈)(max Y h D
Y ∈)(min )(max X g Y h S X D
Y ′
∈∈≤,根据对偶
问题的解,我们构造,使得
D Y ∈S X ∈)(OPT )()()()(min max I R X g R Y h R Y h R X f ⋅≤⋅≤⋅≤⋅≤。

便可以立即得到−R 近似算法。

在本章最后一节,我们将给出上述结论的证明,并给出对偶技术的应用。

上述两种方法可以解决许多NP 难问题的近似计算问题。

下面,先介绍凑整技术的应用,其基本思路如下:
找到LP 问题的最优解*X ,将其凑整得X ,将其代入待求问题的目标函数,若的值不超过,其解值也不会超过f )
(X f )(OPT LP I R ⋅)(OPT IP I R ⋅。

3.8.2 凑整技术的应用
本节将介绍凑整技术在覆盖问题以及SAT 问题中的应用。

1)带权顶点覆盖问题
前面我们介绍了顶点覆盖问题的近似算法,下面我们利用凑整技术,给出一般情形下带权顶点覆盖问题的近似算法。

考虑带权顶点覆盖问题,假如我们使图),(E V G =中的每个顶点对应一个变量,要求对每个顶点v ,x (v )∈{0, 1}。

由此可得到找出最小权值顶点覆盖(WVC )的0/1整数规划问题IP :
)(v x ∑∈V
v v x v w )()(min
并且满足
V v v x E
v u v x u x ∈∈∈≥+any for },
1,0{)(),(any for ,1)()(
松弛约束条件,得到相应的线性规划问题LP :
∑∈V
v v x v w )()(min
并且满足
V
v v x E
v u v x u x ∈≤≤∈≥+any for ,1)(0),(any for ,1)()(
由于线性规划问题与整数规划问题的目标函数一样,并且满足
)(OPT )(min )(min )(LB IP I X f X g I S
X S X =≤=∈′
∈,
因此任何IP 的可行解都是LP 的可行解。

因此,LP 问题的最优解是IP 问题最优解的下界,并记为。

)(OPT LP I )(LB I 下面,我们给出基于凑整技术的一个近似算法:
ApproxMinWVC(G , w )
1 C ← Ø
2 compute *X , an optimal solution to the linear program
3 for each v ∈V do
4 if 2
1)(*≥v x then
5 C ← C ∪{v }
6 return C
ApproxMinWVC(G , w )算法的运行时间主要取决于第2行,而求线性规划问题最优解的算法,例如单纯型算法,可以在多项式时间内找到最优解。

对于ApproxMinWVC(G , w )算法的近似比,我们有下列结果。

定理3.8.1 ApproxMinWVC(G , w )算法是最小带权顶点覆盖问题的多项式时间近似算法。

−2证明:由于任何IP 的可行解都是LP 的可行解,IP 的最优解也不例外,即
)(OPT IP I )(OPT )(OPT IP LP I I ≤.
首先我们证明ApproxMinWVC(G , w )算法获得的覆盖C 是一个顶点覆盖。

因为对的任意一条边,按照LP 的约束有G ),(v u 1)()(≥+v x u x ,可知和至少有一个其
值至少为)(u x )(v x 2
1
,这就表明边的两个端点至少有一个在C ,这表明G 的任意一条边被C 覆盖。

现在,我们只需要证明对),(v u *X 凑整后的获得的顶点覆盖C 的权和(简记为
)小于即可。

即证明)(C w )(I A )(OPT 2LP I )(OPT 2)(LP I I A ≤。

考虑覆盖的权值,有
).
(2
1
)(21
21
)( 2
1)( )(*)( )
(*)()(OPT 2
/1)*(:2
/1)*(:LP I A C w v w v w v x v w v x v w I C
v v x V v v x V v V
v ==⋅=⋅

≥=∑∑∑∑∈≥∈≥∈∈
将上式代入,得
)(OPT )(OPT IP LP I I ≤)(OPT 2)(IP I I A ≤.
故所证成立。

2)带权集合覆盖问题
对于带权集合覆盖问题,给每个子集赋予一个权值,目标是找出总权值最小的集合覆盖。

对每个子集,i S 令i y 表示一个整型变量,如果是覆盖的一部分则为1,否则为0。

于是,我们可以将带权集合覆盖描述为整数规划形式
i S i y ∑=m
j j j y w 1
min
并且满足
{}m
j y X
x y
j S x j i j
j
i ≤≤∈∈∀≥∑∈1 ,1,0 ,1:
松弛约束条件便可以转化为线性规划问题
∑=m
j j j y w 1
min
并且满足
m
j y X
x y
j S x j i j
j
i ≤≤≤≤∈∀≥∑∈1 ,10 ,1:
令{}
j i X x S x j f i ∈=∈:max ,也就是说,f 是所有子集中最常出现的元素的频率。

近似
算法如下:
ApproxMinWSC(G , w ) 1 C ← Ø
2 compute , an optimal solution to the linear program *
j y 3 for each do j S 4 if f
y j 1
*

then 5 C ← C ∪{j } 6 return C
类似ApproxMinWVC(G , w )算法的分析,ApproxMinWSC(G , w )是一个多项式时间算法。

定理3.8.2 ApproxMinWSC(G , w )算法返回的C 是一个集合覆盖。

证明:反证法,设X 中存在一个元素i x ,U C
j j
i S
x ∈∉
,对于任给的j ,如果j i S x ∈,则
f
y j 1
<
∗,因此有 {}1:1
:≤∈<
∑∈∗j i S x j j S x j f
y j
i , 这违反了LP 的约束条件。

因此假设不成立,故定理成立。

定理3.8.3 ApproxMinWSC(G , w )算法是f -近似算法。

证明:设表示ApproxMinWSC(G , w )算法所求得的解值,则有
)(I A
)
(OPT )(OPT )(IP LP I f I f y w f f y w w I A j j
j j
j j C
j j
⋅≤⋅≤=≤=∑∑∑∗∗∈
第一个不等式成立是因为当且仅当。

故所证成立。

C j ∈1≥∗
f y j
3)MAX-SAT 问题
前面我们介绍了MAX-SAT 问题的随机近似算法,近似比仍然太大。

事实上,我们能够将MAX-SAT 问题形式化为一个整数规划问题,从而可以构造一个更有效的近似算法。

假定命题公式含有布尔变元以及子句。

对每个变元,我们引进随机变量,对每个子句,我们引进一个随机变量,记
m x x x ,,,21L n C C C ,,,21L i x i y j C j z ⎩
⎨⎧=⎩⎨⎧=otherwise.0satisfied
is clause if 1 otherwise.0 true is 1j j i i C z x y
则最大可满足性问题可表示为如下整数规划问题
j j
j z w ∑max
并且满足
(3.8.4)
,1 ,1 },1,0{,
(3.8.3) ,1 ,)1( n j m i z y n j z
y y j j N i j
i
P i i j
j
≤≤≤≤∈≤≤≥−+
∑∑∈∈
其中表示子句中以正文字形式出现的变元下标的集合,表示子句中以负文字形式出现的变元下标的集合。

j P j C j N j C 如果子句为j C )(7542x x x x ∨∨∨,则}5,2{=j P ,}7,4{=j N ,约束(3.8.3)可表示为
j z y y y y ≥−++−+)1()1(7542,
如果子句不可满足,这将迫使为0。

j C j z 我们知道,上述整数规划问题的最优解一定是MAX-SAT 问题的最优解,因此求IP 问题的解并不会比直接求解MAX-SAT 问题容易。

因此,我们把约束条件(3.8.4)放松,便可以得到MAX-SAT 的线性规划形式。

j j
j z w ∑max
并且满足
(3.8.6)
,1 ,1 ,1,0
(3.8.5) ,1 ,)1( n j m i z y n j z
y y j i N i j
i
P i i j
j
≤≤≤≤≤≤≤≤≥−+
∑∑∈∈现在,我们将介绍怎样利用线性规划问题来构造求解MAX-SAT 问题的近似算法。

当我们求解线性规划问题时,我们可能得到7.0=i y 以及6.0=j z ,初看起来没有什么意义,但是如果我们采用凑整技术,例如如果2
1

i y ,则令1=i x ,否则,就可以将每个变元设置为0或1,从而得到原问题的一个解。

然而不幸的是,按照这种方法,会出现一些问题,例如,假定我们有子句为以及0=i x j C )(542x x x ∨∨4.0542===y y y ,按照上面简单的凑整方法,子句将是不可满足的,即使对于线性规划问题,它“似乎满足”
j C )1(=j z 。

如果我们有许多这样的子句,上面简单的凑整方法可能表现很差。

如果我们把看作相应变元为真的概率,则我们可以得到一种更好的凑整方法,即随机凑整,例如,我们令每个变元独立地以概率取值为1,以概率i y i y )1(i y −取值为0。

随机凑整有用的原因还在于,它能帮助我们证明子句可满足的数目是最优值的常数倍。


表示线性规划得出的最优解。

以表示为每个赋真值的概率。

下面我们给出
基于线性规划的随机取整算法:
><**,z y *i y i x
RandomRoundingLP(I ) 1 convert MAX-SAT into IP 2 convert IP into LP 3
compute the optimal solution *i y )1(m i ≤≤ to
LP 4 for i ←1 to m do
5 set with
probability 1←i x *i y 6 set with probability 0←i x *1i y −7 return )(I A
从直观上来看,这个算法总是尝试着尽量使构造的解分量i x 的期望值尽可能的接近,事实上我们有
*i y *}1Pr{][i i i y x x E ===。

在算法RandomRoundingLP 中,我们假定令变元独立地以概率取值为1,概率取值为0,我们给出下面的引理。

i x *i y *1i y −引理3.8.1 令表示子句中出现文字的个数,j l j C satisfied} is Pr{clause j C 表示子句可满足的概率,则
j C .11(1satisfied} is Pr{clause *
j l j j z l C j ⎥⎥⎦⎤⎢⎢⎣
⎡−−≥
证明:首先我们注意到下面两个显而易见的事实:
a )对于任何非负实数,有
k a a a ,,,21L ()k k
k a a a k
a a a +++≤
L L 21211
, 即几何平均不大于算术平均。

b )如果在区间[是一个凸函数,即)(x f ]b a ,0)(≤′′x f ,且,
,则对任意的,均有d ca a f +≥)(d cb b f +≥)([b a x ,∈]d cx x f +≥)(。

子句能够描述如下
j C .⎟⎠⎞⎜⎝
⎛∨∨⎟⎠⎞⎜⎝⎛∨=∈∈i N i i P i j x x C j j 因此,对于线性规划问题的一个最优解,它也满足约束条件(3.8.3),即
*i y . )1( **
*∑∑∈∈≥−+
j
j
N i j i P i i z y
y (3.8.7)
显然,子句j C 不可满足当且仅当j C 中每一个文字都取值为假。

令satisfied}not is Pr{clause j C 表示子句j C 不可满足的概率,则
()∏∏∈∈−=j
j
N i i P i i j y y C **1satisfied}not is Pr{clause .
根据事实a ),我们有
(
)
,))1((1 1satisfied}not is Pr{clause *
**
*
j
j j j
j
l P i N i i i i N i i
P i i j y y l y
y C ⎥⎥⎦
⎤⎢⎢⎣⎡+−≤−=∑∑∏∏∈∈∈∈
由上式可得
j
j j l P i N i i i i j y y l C ⎥⎥⎦
⎤⎢⎢⎣⎡−+−≤∑∑∈∈))1((11 satisfied}not is Pr{clause *
*,
根据上式以及(3.8.7),我们有
j l
j
j j l z C )1( satisfied}not is Pr{clause *−
≤.
因此,
(3.8.8)
)1(1 satisfied}
not is Pr{clause 1satisfied} is Pr{clause *j
l j
j j j l z C C −
−≥−=
按照事实b ),如图3.8.1所示,我们有
**)11(1)1(1j l j l
j j
z l l z j j ⎥⎥⎦
⎤⎢⎢⎣⎡−−≥−
−.
(3.8.9)
图3.8.1
将式(3.8.9)代入(3.8.8),我们得到
,
)11(1 )
1(1satisfied} is Pr{clause *
*j l j l j
j j z l l z C j j
⎥⎥⎦
⎤⎢⎢⎣⎡−−≥−
−≥
故所证成立。

在前面一章,我们已经得到求解MAX-SAT 问题的Johnson 算法是一个2-近似算法,现在利用线性规划的随机凑整技术,我们可以得到一个更好的近似算法。

定理3.8.4 求解MAX-SAT 问题的RandomRoundingLP(I )算法是一个
−−1
e e
近似算法,其中e 是自然对数的底。

证明:令j n
j j
y w
I A ∑==
1
)(,则
∑==n
j j j y E w I A E 1
][)]([
由于}satisfied is clause Pr{}1Pr{][j j j C y y E ===,因此我们有
satisfied} is clause Pr{)]([1
∑==n
j j j C w I A E
按照引理3.8.1,我们有
(3.8.10)
,)11(1 satisfied}
is clause Pr{)]([*
11j l j n
j j n
j j j z l w C w I A E j ⎥⎥⎦
⎤⎢⎢⎣⎡−−≥=∑∑==
令,由于函数}{max 1j n
j l l ≤≤=z z
z f )1
1(1)(−−=在区间),0(+∞上是单调递减的,因此有
l l j l
l j )1
1(1)11(1−−≥−
−, (3.8.11) 将(3.8.11)代入(3.8.10),因此有
∑∑==⎥⎦⎤⎢⎣

−−≥⎥⎥⎦⎤⎢⎢⎣⎡≥n j j
j l j
l j n
j j z w l z l --w I A E j 1**1)11(1 11(1 )]([ 又由于e
l
l 1
1)1
1(1−
≥−−对所有的都成立。

因此有 0>l ∑∑==−≥⎥⎦⎤⎢⎣

−−≥n
j j
j n j j
j l z w e z w l I A E 1
*1*)1
1( 11(1 )]([
又由于,因此有
)(OPT )(OPT IP LP I I ≥)(OPT 1
1()(OPT )11()11( )]([IP LP
1*I e
I e z w e I A E n j j j −≥−=−≥∑=, 即
582.11
))(()(OPT ≈−≤e e I A E I 。

故所证成立。

对于MAX–k -SAT 问题,每个子句的长度k l =,由上述定理,我们马上可以得到:
推论3.8.1应用于求解MAX–k -SAT 问题时,RandomRoundingLP(I )是一个
−−−k
k
)1
1(11近
似算法。

3.8.3混合近似算法
从前面的讨论我们可以看出,Johnson 抛硬币算法(见3.7节)与随机凑整算法各有优点,当子句很长时,Johnson 算法的计算效果比较好,其原因在于子句里的每个文字都等可能的使得该子句为真;当子句比较短时,RandomRoundingLP 算法的计算效果比较好,这是因为子句为真的概率))11(1(k
k

−会随着的增大而减少。

为了便于理解为什么会出现上述情况,我们考虑上述两个算法分别求解MAX–k -SAT ,得到表3.8.1。

k
从上表可以看出,Johnson(I )和RandomRoundingLP(I )这两个算法各有优势,能够互补,这启发我们可以将两个算法结合起来,从而可以得到一个更好的算法。

我们只需要按照下列步骤计算,便可以得到一个比较好的近似算法。

运行两个算法,输出较优的结果,详细地可以描述如下:
MAX-k -SATBestoftwo(I )
1 () ← Johnson()(,I A X ′′I )
2 () ← RandomRoundingLP()(,I A X ′′′′I )
3 if () then )()(I A I A ′′>′
4 return X ′
5 else
6 return X ′′
对混合算法MAX-k -SATBestoftwo(I )重新分析,便可以得到一个−3
4
近似算法。

在证明这个结果之前,我们先介绍一个引理。

引理3.8.2对每个整数,有
1≥l .2
3))11(1())21(1(*
*j j l l z z l ≥
−−+− 证明:现在我们对整数的取值情况分别证明。

l 1)当时,我们有
1=l .2
32121))11(1())21(1(**
***j j
j j j l l z z z z z l =+≥+=−−+− 2)当时,我们有
2=l .2
343434343))11(1())21(1(*
****j j j j j
l l z z z z z l =+≥+=−−+− 3)当时,我们有
3≥l .
2
3
85
87 11())21(1(])11(1[))21(1(***
3*j j
j j
l l z z z e
z l ≥+≥−+−≥−−+− 有了这个准备后,我们可以证明
定理3.8.5求解MAX-k -SAT 问题的混合算法MAX-k -SATBestoftwo(I )是一个−3
4
近似算法。

证明:
.algorithm} )dingLP(RandomRoun by satisfied is Pr{clause 21
algorithm} )Johnson(by satisfied is Pr{clause 21
)]
(21
)(21[))](),([max(∑∑+
=′′+′≥′′′j
j j j j j I C w I C w I A I A E I A I A E
根据引理3.7.1,引理3.8.1的结果,我们有
].))11(1())21(1[(21))]
(),([max(*j
l j l j
j z l w I A I A E j j −−+−≥′′′∑
根据引理3.8.2,有
).(OPT 4
3
)(OPT 43
)2
3(21]
)11(1())21(1[(21
))]
(),([max(IP LP *
*I I z w z l w I A I A E j j j
j l j l j j j j ≥≥
≥−−+−≥′′′∑∑

3
4
))](),([max()(OPT ≤′′′I A I A E I .
故所证成立。

从这个定理的证明可以知道,这个混合算法比Johnson(I )和RandomRoundingLP(I )两个算法中任意一个算法都具有更好的性能。

3.8.4 主对偶技术
基于线性规划的近似算法,它的解可能涉及很多的约束条件。

因此计算花费大。

著名的主对偶方法能更加有效地获得一个近似解。

其主要思想是,任何一个对偶可行解都是最小化主问题的下界。

现在,我们先介绍一些相关的概念。

主问题: 对偶问题:
j n
j j x c ∑=1
min
i m
i i y b ∑=1
max 并且满足 并且满足
.
,,1for
,,1for 1
n j x m
i b x a
j i
j n
j ij
L L =≥=≥∑=
.
,,1for 0
,,1for
1
m i y n
j c y a
i j
i m
i ij
L L =≥=≤∑=
现在假设我们想找到主问题最优解值的下界。

为达此目的,一个方法是用线性规划问题
中的约束条件,找到看起来像下式的约束条件:。

注意到线性规划中约束条件
的任意一个凸组合仍然是一个有效的约束。

因此,如果我们把约束乘上非负因子,可得到一个新的约束条件,使得主问题的所有可行解仍满足它。

即,如果对任意的i ,
,那么
Z x
c j
n
j j ≥∑=1
i y i j n
j ij
b x a
≥∑=1
∑∑∑≥⎟⎟⎠⎞
⎜⎜⎝⎛i
i i j j ij i i b y x a y ,
注意我们要求非负,因为不等式乘上一个负数要改变不等号。

考虑上面的不等式,如果我们能保证
i y ∑∑∑≤⎟⎟⎠⎞⎜⎜⎝⎛j
j j j j ij i i x c x a y , 我们将获得主问题最优解值的一个下界
∑i
i i b y 。

证明如下:
交换求和顺序,得到
∑∑∑∑=⎟⎟⎠⎞⎜⎜⎝⎛j i
j ij i j j ij i i x a y x a y )(, 根据对偶问题的约束条件
j i ij
i c a
y ≤∑=1
,
可得
∑∑∑∑∑≤=⎟⎟⎠
⎞⎜⎜⎝⎛j j j j i j ij i j j ij i i x c x a y x a y )(. 综合起来,如果非负,且满足约束条件,那么
i y ∑∑∑∑∑∑≤=⎟⎟⎠⎞
⎜⎜⎝⎛≤j j j j i
j ij i j j ij i i i i i x c x a y x a y b y )(.
由此马上可以得到弱对偶定理。

定理3.8.6对于每一个主可行解X 以及每一个对偶可行解Y ,有
∑∑≤j
j j
i
i i x c
b y .
我们从一个主对偶序对()开始,其中Y X ,X 是主变量,它可能不是可行解,Y 是对偶变量,它可能不是最优的。

在算法的每一步,我们试着让Y “更优”且X “更可行”;当X 成为可行解时算法停止。

这就是主对偶技术的主要思路,其算法描述如下:
PrimalDualAlgorithm()
1 write down an LP relaxation of the problem, and find its dual. Try to find some intuitive meaning for the dual variables
2 start with vectors X = 0, = 0, which will be dual feasible, but primal infeasible Y
3 until the primal is feasible
(a) increase the dual values in some controlled fashion until some dual constraint(s) goes tight, while always maintaining the dual feasibility of
i y Y
(b) select some subset of the tight dual constraints, and increase the primal variable
X corresponding to them by an integral amount
4 for the analysis, prove that the output pair of vectors () satisfies
Y X ,∑∑≤j
j j
i
i i x c
b y
for as small a value of as possible. Keep this goal in mind when deciding how to raise the dual and primal variables
ApproxMinWVC(G , w )算法虽然是−2近似算法,但是它的缺点是涉及到精确求解LP 问题,因此是相当耗费时间的,下面我们介绍一个基于主对偶技术的更快更简单的近似算法
−2对于一个带权的顶点覆盖问题,之前定义的线性规划的对偶形式如下:
∑∈E
v u uv
y
),(
max
并且满足
E
v u y V
v v w y
uv E
v u uv
∈≥∈≤∑∈),(any for ,0 any for ),(),(
考虑顶点覆盖问题。

如果我们可用对于某个对偶可行解y uv 的∑∈E
v u uv
y
),(
ρ来限界某个顶点
覆盖集合的权值,即C )(I A
)(OPT )(OPT )()(IP LP ),(I I y
v w I A E
v u uv
C
v ⋅≤⋅≤≤=∑∑∈∈ρρρ
.
那么我们立即可通过弱对偶性获得ρ=R 。

注意到所有y uv 为0的解是一个解值为0的对偶线性规划问题的可行解。

同时整数规划问题没有对偶形式,因此我们讨论的是原始整数规划问题松弛后的线性规划问题的对偶形式。

带权的顶点覆盖问题的主对偶算法如下:
PrimalDualWVC(G)
1 for each dual variable y uv do y uv ←0
2 C ←0
3 while C is not a vertex cover do
4 select some edge (u ,v ) not covered by C
5 increase y uv till one of the end-points is hit. i.e., y uv =w (v ) or y uv =w (u )
6 if y uv =w (v ) then C ← C ∪{v }
7 else C ← C ∪{u }
8 return C
定理3.8.7 给定一个带非负权值的图G ,主对偶算法PrimalDualWVC(G )是一个2-近似的算法。

证明:让C 为PrimalDualWVC(G )算法获得的解。

按照构造,C 为一个可行解,我们观察到对每个v ∈C ,我们有
)(),(v w y
E
v u uv
=∑∈.
因此

∑∑∈∈∈==C v E
v u uv
C
v y
v w I A ),()()(,
因为C 是V 的子集,

∑∑∑∈∈∈∈≤V v E
v u uv
C v E
v u uv
y
y
),(),(.
由上两式,可得

∑∈∈≤V v E
v u uv
y
I A ),()(,
因为
中E 的每条边会计算两次,即
∑∑∈∈V v E
v u uv
y
),(.2
),(),(∑∑∑∈∈∈=E
v u uv
V v E
v u uv
y
y
由上两式,可得
∑∑
∑∈∈∈≤≤E
v u uv
V v E
v u uv
y
y
I A ),(),(2
)(≤).(OPT 2)(OPT 2IP LP I I ⋅≤⋅
因此所证成立。

前面我们介绍了一些基于线性规划的近似算法,非常直观有效。

当然,基于线性规划问
题的近似算法,也有一个缺陷,就是不能找到任意好的近似算法,例如多项式时间近似策略的算法。

习题3.8
1. 证明推论3.8.1。

2. 请利用基于线性规划的随机近似算法求解MAX-3-SAT ,并分析其近似比。

3. 给定一个完全图,以及对任意一条边),(E V G =E e ∈,指定一个权值,为偶数,最小权的完美匹配问题就是找到一个完美匹配0)(>e w |
|V M 使得
∑∈M
e e w )(min .
请为该问题设计一个近似算法。

4. 请利用弱对偶定理为集合覆盖问题设计一个凑整近似算法。

5. 用主对偶技术为集合覆盖问题设计一个近似算法。

相关文档
最新文档