利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。
原始问题
考虑原始问题:
假设
f
(
x
)
f(x)
f(x)、
c
i
(
x
)
c_i(x)
ci(x)、
h
j
(
x
)
h_j(x)
hj(x)是定义在
R
n
\mathbf{R}^n
Rn上的连续可微函数,考虑约束最优化问题
min
x
∈
R
n
f
(
x
)
s
.
t
.
c
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
l
\begin{aligned}\min_{x\in \mathbf{R}^n}\quad &f(x)\\ s.t. \quad & c_i(x)\leq 0,\quad i=1,2,\cdots,k\\ & h_j(x)=0, \quad j=1,2,\cdots,l \end{aligned}
x∈Rnmins.t.f(x)ci(x)≤0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
首先,我们引入广义拉格朗日函数(generalized Lagrange function)
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k \alpha_ic_i(x)+\sum_{j=1}^l \beta_jh_j(x)
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
其中
x
=
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
n
)
)
T
∈
R
n
x=(x^{(1)},x^{(2)},\cdots, x^{(n)})^T \in \mathbf{R}^n
x=(x(1),x(2),⋯,x(n))T∈Rn,
α
i
≥
0
,
β
j
\alpha_i\geq 0,\beta_j
αi≥0,βj是拉格朗日乘子。考虑
x
x
x的函数:
θ
P
(
x
)
=
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x)=\max_{\alpha,\beta;\alpha_i\geq 0}L(x,\alpha,\beta)
θP(x)=α,β;αi≥0maxL(x,α,β)
下标P表示原始问题。
假设给定某个
x
x
x,如果
x
x
x违反原始问题的约束条件,即存在某个
i
i
i使得
c
i
(
w
)
>
0
c_i(w)>0
ci(w)>0或者存在某个
j
j
j使得
h
j
(
w
)
≠
0
h_j(w)\neq 0
hj(w)=0,则有
θ
P
(
x
)
=
max
α
,
β
;
α
i
≥
0
[
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
\theta_P(x)=\max_{\alpha,\beta;\alpha_i\geq 0}\left[f(x)+\sum_{i=1}^k \alpha_ic_i(x)+\sum_{j=1}^l \beta_jh_j(x)\right]=+\infty
θP(x)=α,β;αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
因为某个
i
i
i使得约束
c
i
(
x
)
>
0
c_i(x)>0
ci(x)>0,故我令
α
i
→
+
∞
\alpha_i\rightarrow +\infty
αi→+∞,则可得到上式;同理,若某个
j
j
j使得约束
h
j
(
x
)
≠
0
h_j(x)\neq 0
hj(x)=0,则令
β
j
h
j
(
x
)
→
+
∞
\beta_jh_j(x)\rightarrow +\infty
βjhj(x)→+∞,也可得到上式。
相反地,如果约束条件均满足,则
θ
P
(
x
)
=
f
(
x
)
\theta_P(x)=f(x)
θP(x)=f(x),因此
θ
P
(
x
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
约
束
+
∞
,
其
他
\theta_P(x)=\begin{cases}f(x ), & x 满足原始问题约束\\+\infty, & 其他\end{cases}
θP(x)={f(x),+∞,x满足原始问题约束其他
所以考虑极小化问题
min
x
θ
P
(
x
)
=
min
x
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\min_x \theta_P(x)=\min_x\max_{\alpha,\beta; \alpha_i\geq 0}L(x,\alpha,\beta)
xminθP(x)=xminα,β;αi≥0maxL(x,α,β)
它与原始问题是等价的,即具有相同的解,我们把问题
min
x
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\min\limits_x\max\limits_{\alpha,\beta; \alpha_i\geq 0}L(x,\alpha,\beta)
xminα,β;αi≥0maxL(x,α,β)称为广义拉格朗日函数的极小极大问题,这样以来就将原始问题转化为广义拉格朗日函数的极小极大问题。
对偶问题
定义
θ
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
\theta_D(\alpha,\beta)=\min_x L(x,\alpha,\beta)
θD(α,β)=xminL(x,α,β)
再考虑极大化
θ
D
(
α
,
β
)
\theta_D(\alpha,\beta)
θD(α,β)
max
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
=
max
α
,
β
;
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
\max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha,\beta)=\max_{\alpha,\beta;\alpha_i\geq0}\min_x L(x,\alpha,\beta)
α,β;αi≥0maxθD(α,β)=α,β;αi≥0maxxminL(x,α,β)
该问题称为广义拉格朗日问题的极大极小问题。
可以将广义拉格朗日的极大极小问题表示为约束最优化问题:
max
α
,
β
θ
D
(
α
,
β
)
=
max
α
,
β
min
x
L
(
x
,
α
,
β
)
s
.
t
.
α
i
≥
0
,
i
=
1
,
2
,
⋯
,
k
\begin{aligned}\max_{\alpha,\beta}\theta_D(\alpha,\beta)=&\max_{\alpha,\beta}\min_x L(x,\alpha,\beta)\\ s.t. \quad &\alpha_i\geq 0,i=1,2,\cdots, k\end{aligned}
α,βmaxθD(α,β)=s.t.α,βmaxxminL(x,α,β)αi≥0,i=1,2,⋯,k
称为原始问题的对偶问题。
原始问题与对偶问题的关系
Theorem1. 若原始问题和对偶问题都有最优值,则
d
∗
=
max
α
,
β
;
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
≤
min
x
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
p
∗
d^*=\max_{\alpha,\beta;\alpha_i\geq0}\min_x L(x,\alpha,\beta)\leq \min_x\max_{\alpha,\beta;\alpha_i\geq 0} L(x,\alpha,\beta)=p^*
d∗=α,β;αi≥0maxxminL(x,α,β)≤xminα,β;αi≥0maxL(x,α,β)=p∗
Proof.
θ
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
≤
L
(
x
,
α
,
β
)
≤
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
=
θ
P
(
x
)
\theta_D (\alpha,\beta)=\min_x L(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \max_{\alpha,\beta;\alpha_i\geq 0} L(x,\alpha,\beta)=\theta_P(x)
θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β;αi≥0maxL(x,α,β)=θP(x)
则
θ
D
(
α
,
β
)
≤
θ
P
(
x
)
\theta_D(\alpha,\beta)\leq \theta_P(x)
θD(α,β)≤θP(x)
由于原始问题和对偶问题均有最优值,则
max
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
≤
min
x
θ
P
(
x
)
\max_{\alpha,\beta;\alpha_i\geq 0} \theta_D(\alpha,\beta)\leq \min_x \theta_P(x)
α,β;αi≥0maxθD(α,β)≤xminθP(x)
故
d
∗
≤
p
∗
d^*\leq p^*
d∗≤p∗
换句话说,对偶问题的最优值小于等于原问题的最优值。
Corollary 1. 设 x ∗ x^* x∗ 和 α ∗ \alpha^* α∗ , β ∗ \beta^* β∗分别表示原始问题和对偶问题的可行解,并且 d ∗ = p ∗ d^*=p^* d∗=p∗,则 x ∗ x^* x∗ 和 α ∗ \alpha^* α∗ , β ∗ \beta^* β∗分别是原始问题和对偶问题的最优解。
在这种条件下,原始问题和对偶问题的最优值相等,这时可以用解对偶问题代替解原始问题。
Theorem 2. 考虑原始问题和对偶问题。假设函数
f
(
x
)
f(x)
f(x) 和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数;假设不等式约束
c
i
(
x
)
c_i(x)
ci(x) 是严格可行的,即存在
x
x
x,对所有的
i
i
i有
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗,使得
x
∗
x^*
x∗是原始问题的解,
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗是对偶问题的解,并且
p
∗
=
d
∗
=
L
(
x
∗
,
α
∗
,
β
∗
)
p^*=d^*=L(x^*,\alpha^*,\beta^*)
p∗=d∗=L(x∗,α∗,β∗)
Theorem 3. 对原始问题和对偶问题,假设函数
f
(
x
)
f(x)
f(x) 和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数,并且不等式约束
c
i
(
x
)
c_i(x)
ci(x) 是严格可行的,则
x
∗
x^*
x∗和
α
∗
,
β
∗
\alpha^*,\beta^*
α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足Karush-kuhn-Tucker(KKT)条件:
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
α
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
∇
β
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
α
i
∗
c
i
(
x
∗
)
=
0
,
i
=
1
,
2
,
⋯
,
k
c
i
(
x
∗
)
≤
0
,
i
=
1
,
2
,
⋯
,
k
α
i
∗
≥
0
,
i
=
1
,
2
,
⋯
,
k
h
i
(
x
∗
)
=
0
\begin{aligned}\nabla_x L(x^*,\alpha^*,\beta^*)=0\\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0\\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0\\ \alpha^*_ic_i(x^*)=0, i=1,2,\cdots, k\\ c_i(x^*)\leq 0, i=1,2,\cdots, k\\ \alpha_i^*\geq 0,i=1,2,\cdots,k\\ h_i(x^*)=0 \end{aligned}
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,i=1,2,⋯,kci(x∗)≤0,i=1,2,⋯,kαi∗≥0,i=1,2,⋯,khi(x∗)=0
特别指出, α i ∗ c i ( x ∗ ) = 0 \alpha^*_ic_i(x^*)=0 αi∗ci(x∗)=0称为KKT的对偶互补条件,此条件可知: 若 α ∗ > 0 \alpha^*>0 α∗>0,则 c i ( x ∗ ) = 0 c_i(x^*)=0 ci(x∗)=0。