对偶问题
拉格朗日函数
L
(
x
,
u
,
v
)
=
f
(
x
)
+
u
T
g
(
x
)
+
v
T
h
(
x
)
,
u
≥
0
L\left( x,u,v\right)=f\left( x\right) +u^{T}g\left( x\right) +v^{T}h\left( x\right) \ ,u\geq 0
L(x,u,v)=f(x)+uTg(x)+vTh(x) ,u≥0
拉格朗日对偶函数
θ
(
u
,
v
)
=
inf
x
L
(
x
,
u
,
v
)
=
inf
x
(
f
(
x
)
+
u
T
g
(
x
)
+
v
T
h
(
x
)
)
,
u
≥
0
\begin{array}{l}\theta \left( u,v\right) =\inf\limits_x L\left( x,u,v\right) =\inf\limits_{x}\left( f\left( x\right) +u^{T}g\left( x\right) +v^{T}h\left( x\right) \right)\ ,u\geq 0 \end{array}
θ(u,v)=xinfL(x,u,v)=xinf(f(x)+uTg(x)+vTh(x)) ,u≥0
对偶问题的最优值给出了原问题最优值的一个下界,并且对于某些凸规划问题(满足强对偶定理条件),可以通过求解对偶问题得到原问题的最优解
弱对偶定理
弱对偶定理: 对于任意的 u , v u,v u,v,拉格朗日对偶函数给出了原优化问题最优值的一个下界,拉格朗日对偶问题的最优值给出了原问题最优值的最好下界。
令
x
~
\tilde{x}
x~是原问题的可行解,即
∀
x
~
∈
{
x
∣
x
∈
X
,
g
(
x
)
⩽
0
,
h
(
x
)
=
0
}
L
(
x
~
,
u
,
v
)
=
f
(
x
~
)
+
u
T
g
(
x
~
)
+
v
T
h
(
x
~
)
⩽
f
(
x
~
)
θ
(
u
,
v
)
=
inf
x
L
(
x
,
u
,
v
)
⩽
L
(
x
~
,
u
,
v
)
⩽
f
(
x
~
)
\begin{array}{l} \forall \tilde{x}\in \{x|x\in X,g(x) \leqslant 0,h\left( x\right) =0\}\\ L\left( \tilde{x},u,v\right) =f\left( \tilde{x}\right) +u^{T}g\left( \tilde{x}\right) +v^{T}h\left( \tilde{x}\right) \leqslant f\left( \tilde{x}\right) \\ \theta \left( u,v\right) =\inf\limits_{x}L\left( x,u,v\right) \leqslant L\left( \tilde{x},u,v\right) \leqslant f\left( \tilde{x}\right) \end{array}
∀x~∈{x∣x∈X,g(x)⩽0,h(x)=0}L(x~,u,v)=f(x~)+uTg(x~)+vTh(x~)⩽f(x~)θ(u,v)=xinfL(x,u,v)⩽L(x~,u,v)⩽f(x~)
由
x
~
\tilde{x}
x~的任意性可得
θ
(
u
,
v
)
⩽
f
(
x
∗
)
\theta(u,v)\leqslant f(x^*)
θ(u,v)⩽f(x∗),
x
∗
x^*
x∗为原问题的最优解。
强对偶定理
强对偶定理: 在目标函数
f
(
x
)
f(x)
f(x)与不等式约束条件
g
(
x
)
g(x)
g(x)为凸函数,等式约束条件
h
(
x
)
h(x)
h(x)为仿射函数时,且在可行域内存在一点
x
^
\hat{x}
x^使不等式约束严格成立
g
(
x
^
)
<
0
g(\hat{x})<0
g(x^)<0,则原问题与对偶问题的最优值相同。
inf
{
f
(
x
)
:
x
∈
X
,
g
(
x
)
⩽
0
,
h
(
x
)
=
0
}
=
sup
{
θ
(
u
,
v
)
:
u
⩾
0
}
\inf\{f(x):x\in X,g(x)\leqslant 0,h(x)=0\}=\sup\{\theta(u,v):u\geqslant 0\}
inf{f(x):x∈X,g(x)⩽0,h(x)=0}=sup{θ(u,v):u⩾0}
且如果下确界是有限值,则在
(
u
ˉ
⩾
0
,
v
ˉ
)
(\bar{u}\geqslant 0,\bar{v})
(uˉ⩾0,vˉ)点达到
sup
{
θ
(
u
,
v
)
:
u
⩾
0
}
\sup\{\theta(u,v):u\geqslant 0\}
sup{θ(u,v):u⩾0}
如果下确界在 x ˉ \bar{x} xˉ点达到,则 u ˉ T g ( x ˉ ) = 0 \bar{u}^T g(\bar{x})=0 uˉTg(xˉ)=0
强对偶定理说明对偶间隙为0,从对偶问题得到的原问题的最优下界是紧的,对偶问题的最优值即是原问题最优值
约束最优化方法
可行方向法
问题P:
min
f
(
x
)
,
g
(
x
)
⩽
0
\min f(x),g(x)\leqslant 0
minf(x),g(x)⩽0,设其可行域为
X
X
X,给定可行点
x
k
x_k
xk,为求其极小点,则应在点
x
k
x_k
xk处的可行下降方向中选取方向
d
k
d_k
dk,然后采用线搜索求步长,产生新的迭代点
{
x
k
+
1
=
x
k
+
λ
k
d
k
f
(
x
k
+
1
)
<
f
(
x
k
)
\begin{cases}x_{k+1}=x_{k}+\lambda _{k}d_{k}\\ f\left( x_{k+1}\right) <f\left( x_{k}\right) \end{cases}
{xk+1=xk+λkdkf(xk+1)<f(xk)
然后判断新点是否满足精度要求,满 足,则停止;不满足,则继续迭代或者迭代次数超过预定 次数也停止
增广拉格朗日法
增广拉格朗日法的解是原问题的解
原问题
min
f
(
x
)
s
.
t
.
c
(
x
)
=
0
\begin{array}{c} \min f\left( x\right) \\ s. t.\ c\left( x\right) =0 \end{array}
minf(x)s.t. c(x)=0
其KKT点
L
1
(
x
,
λ
)
=
f
(
x
)
+
λ
T
c
(
x
)
∇
x
L
1
(
x
1
∗
,
λ
1
∗
)
=
∇
f
(
x
1
∗
)
+
A
(
x
1
∗
)
λ
1
∗
=
0
(
1
)
其中
A
(
x
)
=
[
∇
c
1
(
x
)
…
∇
c
m
(
x
)
]
\begin{array}{l} \\L_{1}\left( x ,\lambda \right) =f\left( x\right) +\lambda ^{T}c\left( x\right) \\ \nabla _{x}L_{1}\left( x^{\ast }_1,\lambda ^{\ast }_1\right) =\nabla f\left( x ^{\ast }_1\right) +A\left( x ^{\ast }_1\right) \lambda^{\ast }_1=0 & (1)\\ 其中A\left( x\right) =\begin{bmatrix} \nabla c_{1}\left( x\right) &\ldots &\nabla c_{m}\left( x\right) \end{bmatrix} \end{array}
L1(x,λ)=f(x)+λTc(x)∇xL1(x1∗,λ1∗)=∇f(x1∗)+A(x1∗)λ1∗=0其中A(x)=[∇c1(x)…∇cm(x)](1)
增广拉格朗日函数对应的问题:
min
f
(
x
)
+
σ
2
∥
c
(
x
)
∥
2
2
s
.
t
.
c
(
x
)
=
0
\begin{array}{c}\min f\left( x\right) +\dfrac{\sigma }{2}\left\| c\left( x\right) \right\| _{2}^{2}\\ s. t.\ c\left( x\right) =0 \end{array}
minf(x)+2σ∥c(x)∥22s.t. c(x)=0
其KKT点
L
2
(
x
,
λ
)
=
f
(
x
)
+
σ
2
c
T
(
x
)
c
(
x
)
+
λ
T
c
(
x
)
∇
x
L
2
(
x
2
∗
,
λ
2
∗
)
=
∇
f
(
x
2
∗
)
+
A
(
x
2
∗
)
λ
2
∗
+
σ
A
(
x
2
∗
)
c
(
x
2
∗
)
=
∇
f
(
x
2
∗
)
+
A
(
x
2
∗
)
(
λ
2
∗
+
σ
c
(
x
2
∗
)
)
=
0
(
2
)
\begin{array}{l} L_{2}\left( x,\lambda \right) =f\left( x\right) +\dfrac{\sigma }{2}c^{T}\left( x\right) c\left( x\right) +\lambda ^{T}c\left( x\right) \\ \nabla _{x} L_{2}\left( x^{\ast }_2,\lambda ^{\ast }_2\right) =\nabla f\left( x ^{\ast }_2\right) +A\left( x^{\ast}_2\right) \lambda ^{\ast }_2+\sigma A\left( x^{\ast }_2\right) c\left( x^{\ast }_2\right) \\= \nabla f\left( x ^{\ast }_2\right) +A\left( x^{\ast}_2\right) \left(\lambda ^{\ast }_2+\sigma c\left( x^{\ast }_2\right)\right)=0&(2)\end{array}
L2(x,λ)=f(x)+2σcT(x)c(x)+λTc(x)∇xL2(x2∗,λ2∗)=∇f(x2∗)+A(x2∗)λ2∗+σA(x2∗)c(x2∗)=∇f(x2∗)+A(x2∗)(λ2∗+σc(x2∗))=0(2)
因为对于可行点
c
(
x
∗
)
=
0
c(x^*)=0
c(x∗)=0,故两个问题的KKT条件相同,比较上下式可得
{
x
1
∗
=
x
2
∗
λ
1
∗
=
λ
2
∗
\begin{cases} x_1^*=x_2^*\\ \lambda_1^*=\lambda_2^* \end{cases}
{x1∗=x2∗λ1∗=λ2∗
比较(1)式和(2)式得
λ
∗
=
λ
k
+
σ
k
c
(
x
k
)
\lambda^*=\lambda_k+\sigma_kc(x^k)
λ∗=λk+σkc(xk)
x
k
+
1
=
arg
min
x
L
2
(
x
,
λ
k
)
λ
k
+
1
=
λ
k
+
σ
c
(
x
k
+
1
)
\begin{array}{l} x^{k+1}=\arg \min\limits_x L_{2}\left( x,\lambda ^{k}\right) \\ \lambda ^{k+1}=\lambda ^{k}+\sigma c\left( x^{k+1}\right) \end{array}
xk+1=argxminL2(x,λk)λk+1=λk+σc(xk+1)
ADMM法
经典的ADMM法适用于求解N-Block的凸优化问题
以2-Block为例
min
f
(
x
)
+
g
(
z
)
s
.
t
.
A
x
+
B
z
=
c
\begin{array}{c} \min f\left( x\right)+g(z) \\ s. t.\ A x+Bz =c \end{array}
minf(x)+g(z)s.t. Ax+Bz=c
Block指我们可以将决策域分块,分成两组变量,对于每组变量分别求最优,不断迭代下降。这样就将一个大规模求解问题分解为多个小规模问题分别求解,这样的性质使得ADMM算法容易进行并行计算。
x
k
+
1
=
arg
min
x
L
(
x
,
z
k
,
y
k
)
z
k
+
1
=
arg
min
z
L
(
x
k
+
1
,
z
,
y
k
)
y
k
+
1
=
y
k
+
ρ
(
A
x
k
+
1
+
B
z
k
+
1
−
c
)
x^{k+1}=\arg\min_x L(x,z^k,y^k)\\ z^{k+1}=\arg\min_zL(x^{k+1},z,y^k)\\ y^{k+1}=y^k+\rho(Ax^{k+1}+Bz^{k+1}-c)
xk+1=argxminL(x,zk,yk)zk+1=argzminL(xk+1,z,yk)yk+1=yk+ρ(Axk+1+Bzk+1−c)