之前,讲的下降方法以及Newton方法都是在无约束条件的前提下的。这里讨论的是在等式约束(线性方程)的前提下讨论的。我们研究的是下面的凸优化问题:
m
i
n
i
m
i
z
e
f
(
x
)
s
.
t
.
A
x
=
b
\begin{array}{ll} minimize & f(x) \\ s.t. & Ax=b \end{array}
minimizes.t.f(x)Ax=b
其中
f
:
R
n
→
R
,
A
∈
R
p
×
n
,
r
a
n
k
A
=
p
<
n
f:\mathbb{R}^n \rightarrow \mathbb{R}, A \in \mathbb{R}^{p\times n}, rank A = p<n
f:Rn→R,A∈Rp×n,rankA=p<n
请不要怀疑
r
a
n
k
A
=
p
<
n
rank A = p<n
rankA=p<n条件的可靠性,否则,只需找出其线性无关组即可。而且,显然,如果
A
x
=
b
Ax=b
Ax=b如果无解,那么优化问题同样无解。
通过对对偶问题,及KKT条件的分析,可以知道,该优化问题存在最优解的充要条件是,存在
v
∗
∈
R
p
v^* \in \mathbb{R}^p
v∗∈Rp满足:
A
x
∗
=
b
,
∇
f
(
x
∗
)
+
A
T
v
∗
=
0
Ax^*=b, \quad \nabla f(x^*) + A^Tv^*=0
Ax∗=b,∇f(x∗)+ATv∗=0
策略一 消除等式约束
我们首先确定矩阵
F
∈
R
n
×
(
n
−
p
)
F \in \mathbb{R}^{n \times (n-p)}
F∈Rn×(n−p)和向量
x
^
∈
R
n
\hat{x} \in \mathbb{R}^n
x^∈Rn,用以参数化可行集:
{
x
∣
A
x
=
b
}
=
{
F
z
+
x
^
∣
z
∈
R
n
−
p
}
\{x|Ax=b\} = \{Fz+\hat{x}|z \in \mathbb{R}^{n-p} \}
{x∣Ax=b}={Fz+x^∣z∈Rn−p}
只需,
x
^
\hat{x}
x^为
A
x
=
b
Ax=b
Ax=b的一个特解即可。
F
F
F是值域为
A
A
A的零空间的任何矩阵(满足
A
(
F
z
)
=
0
A(Fz)=0
A(Fz)=0,即
F
z
Fz
Fz可以取得所有
A
x
=
0
Ax=0
Ax=0的解)。于是等式约束问题就可以变为无约束问题:
m
i
n
i
m
i
z
e
f
~
(
z
)
=
f
(
F
z
+
x
^
)
minimize \quad \widetilde{f}(z) = f(Fz+\hat{x})
minimizef
(z)=f(Fz+x^)
我们也可以为等式约束构造一个最优的对偶变量
v
∗
v^*
v∗:
v
∗
=
−
(
A
A
T
)
−
1
A
∇
f
(
x
∗
)
v^*=-(AA^T)^{-1}A\nabla f(x^*)
v∗=−(AAT)−1A∇f(x∗)
另外需要注意的是,如果
F
F
F是一个消除矩阵,那么任意的
F
T
FT
FT同样也是合适的消除矩阵,其中
T
∈
R
(
n
−
p
)
×
(
n
−
p
)
T \in \mathbb{R}^{(n-p) \times (n-p)}
T∈R(n−p)×(n−p)是非奇异的。
策略二 Newton方向
我们希望导出等式约束问题:
m
i
n
i
m
i
z
e
f
(
x
)
s
.
t
.
A
x
=
b
\begin{array}{ll} minimize & f(x) \\ s.t. & Ax=b \end{array}
minimizes.t.f(x)Ax=b
在可行点
x
x
x处䣌Newton方向
Δ
x
n
t
\Delta x_{nt}
Δxnt,将目标函数换成在x附近的二阶泰勒近似:
m
i
n
i
m
i
z
e
f
^
(
x
+
v
)
=
f
(
x
)
+
∇
f
(
x
)
T
v
+
1
2
v
T
∇
2
f
(
x
)
v
s
.
t
.
A
(
x
+
v
)
=
b
\begin{array}{ll} minimize & \hat{f}(x+v)=f(x)+\nabla f(x)^{T}v + \frac{1}{2}v^T\nabla^2 f(x) v \\ s.t. & A(x+v)=b \end{array}
minimizes.t.f^(x+v)=f(x)+∇f(x)Tv+21vT∇2f(x)vA(x+v)=b
注意上述问题时关于
v
v
v的优化问题。
根据我们在文章开头提到的最优性条件,可以得到:
其中
Δ
x
n
t
\Delta x_{nt}
Δxnt表示Newton方向,
w
w
w是该二次问题的最优对偶变量。
另外一种解释
我们可以将Newton方向
Δ
x
n
t
\Delta x_{nt}
Δxnt及其相关向量
w
w
w解释为最优性条件
A
x
∗
=
b
,
∇
f
(
x
∗
)
+
A
T
v
∗
=
0
Ax^*=b, \quad \nabla f(x^*) + A^Tv^*=0
Ax∗=b,∇f(x∗)+ATv∗=0
的线性近似方程组的解。
我们用
x
+
Δ
x
n
t
x + \Delta x_{nt}
x+Δxnt代替
x
∗
x^*
x∗,用
w
w
w代替
v
∗
v^*
v∗,并将第二个方程中的梯度项换成其在
x
x
x附近的线性近似,从而得到:
A
(
x
+
Δ
x
n
t
)
=
b
,
∇
f
(
x
+
Δ
x
n
t
)
+
A
T
w
≈
∇
f
(
x
)
+
∇
2
f
(
x
)
Δ
x
n
t
+
A
T
w
=
0
A(x + \Delta x_{nt})=b, \quad \nabla f(x+\Delta x_{nt})+A^Tw\approx \nabla f(x) + \nabla^2 f(x) \Delta x_{nt} + A^Tw = 0
A(x+Δxnt)=b,∇f(x+Δxnt)+ATw≈∇f(x)+∇2f(x)Δxnt+ATw=0
利用
A
x
=
b
Ax = b
Ax=b,以上方程变成:
A
Δ
x
n
t
=
0
,
∇
2
f
(
x
)
Δ
x
n
t
+
A
T
w
=
−
∇
f
(
x
)
A\Delta x_{nt}=0, \quad \nabla^2 f(x) \Delta x_{nt} + A^Tw = -\nabla f(x)
AΔxnt=0,∇2f(x)Δxnt+ATw=−∇f(x)
这上面定义的一样。
Newton减量——停止准则
我们将等式约束问题的Newton减量定义为:
λ
(
x
)
=
(
Δ
x
n
t
T
∇
2
f
(
x
)
Δ
x
n
t
)
1
/
2
\lambda (x) = (\Delta x_{nt}^T \nabla^2 f(x) \Delta x_{nt})^{1/2}
λ(x)=(ΔxntT∇2f(x)Δxnt)1/2
这和无约束情况表示的是一样的,因此也可以进行同样的解释。
f
f
f在
x
x
x处的二阶泰勒近似为:
f
^
(
x
+
v
)
=
f
(
x
)
+
∇
f
(
x
)
T
v
+
(
1
/
2
)
v
T
∇
2
f
(
x
)
v
\hat{f}(x+v) = f(x) + \nabla f(x)^T v + (1/2) v^T \nabla^2 f(x) v
f^(x+v)=f(x)+∇f(x)Tv+(1/2)vT∇2f(x)v
f
(
x
)
f(x)
f(x)与二次模型之间的差值满足:
f
(
x
)
−
inf
{
f
^
(
x
+
v
)
∣
A
(
x
+
v
)
=
b
}
=
λ
(
x
)
2
/
2
f(x) - \inf \{\hat{f}(x+v) | A(x+v) = b\} = \lambda (x)^2/2
f(x)−inf{f^(x+v)∣A(x+v)=b}=λ(x)2/2
从上面可以看出,
λ
2
(
x
)
/
2
\lambda^2(x)/2
λ2(x)/2对
x
x
x处的
f
(
x
)
−
p
∗
f(x) - p^*
f(x)−p∗给出了基于二次模型的一个估计,这可以作为设计好的停止准则的基础。
可行下降方法的算法
注意,下面的算法初始点为可行点。
Newton方法和消除法
对原始问题采用Newton方法的迭代过程和对利用消除法简化后采用Newton方法过程完全一致,证明翻阅《凸优化》。