原始问题:
min
x
f
(
x
)
\min\limits_xf(x)
xminf(x)
s
.
t
.
g
(
x
)
≤
0
s.t.~g(x)\leq0
s.t. g(x)≤0。
原始问题转化为对偶问题求解的整体思路就是构造原问题最优值的下界(即拉格朗日对偶函数)。然后考虑如何确定原问题最优值的最大下界(最大化拉格朗日对偶函数)即可。
构造拉格朗日函数:
L
(
x
,
λ
)
=
f
(
x
)
+
λ
g
(
x
)
,
λ
≥
0
L(x,\lambda)=f(x)+\lambda g(x),~~~\lambda\geq0
L(x,λ)=f(x)+λg(x), λ≥0
则有:
d
∗
=
max
λ
min
x
L
(
x
,
λ
)
≤
L
(
x
,
λ
)
≤
min
x
max
λ
L
(
x
,
λ
)
=
p
∗
d_*=\max\limits_\lambda\min\limits_x L(x,\lambda)\leq L(x,\lambda)\leq \min\limits_x\max\limits_\lambda L(x,\lambda)=p_*
d∗=λmaxxminL(x,λ)≤L(x,λ)≤xminλmaxL(x,λ)=p∗
或者
d
∗
=
max
λ
min
x
L
(
x
,
λ
)
≤
L
(
x
,
λ
)
≤
min
x
f
(
x
)
=
p
∗
d_*=\max\limits_\lambda\min\limits_x L(x,\lambda)\leq L(x,\lambda)\leq \min\limits_xf(x)=p_*
d∗=λmaxxminL(x,λ)≤L(x,λ)≤xminf(x)=p∗
(因为
f
(
x
)
=
max
λ
L
(
x
,
λ
)
f(x)=\max\limits_\lambda L(x,\lambda)
f(x)=λmaxL(x,λ))。
拉格朗日对偶函数
θ
D
(
λ
)
=
min
x
L
(
x
,
λ
)
\theta_D(\lambda)=\min\limits_x L(x,\lambda)
θD(λ)=xminL(x,λ)。
θ
D
(
λ
)
\theta_D(\lambda)
θD(λ)为原始问题的最优值
p
∗
p_*
p∗的下界。
考虑求解对偶函数
θ
D
(
λ
)
\theta_D(\lambda)
θD(λ)的最好(优、大)下界即可得到对偶问题。
对偶问题:
max
λ
θ
D
(
λ
)
\max\limits_\lambda\theta_D(\lambda)
λmaxθD(λ)
s
.
t
.
λ
≥
0
s.t.~~\lambda\geq0
s.t. λ≥0
需要注意到,目前为止,对偶问题的最优值 d ∗ d_* d∗仅是原始问题的最优值 p ∗ p_* p∗的一个下界。但是在一定条件下有 d ∗ = p ∗ d_*=p_* d∗=p∗。此时对偶问题的解也是原问题的解,这样原问题得以求解。这个一定条件就是原目标函数 f ( x ) f(x) f(x)是凸的,不等式约束函数 g ( x ) 是 凸 的 g(x)是凸的 g(x)是凸的并且严格可行,等式约束函数 h ( x ) h(x) h(x)是仿射函数。
最终求解就是对拉格朗日函数的原变量 x x x和对偶变量 λ \lambda λ求导。即可得到对偶变量 λ \lambda λ的解,以及原变量 x x x和对偶变量 λ \lambda λ的关系,根据其关系的到原变量 x x x的解。
注:之所以转化为对偶问题是因为,不论原问题的凸性如何,对偶问题始终是一个凸优化问题,更容易求解。另外转化为对偶问题可能导致优化变量的减少等。