我觉得这篇文章写的还行
min
f
(
x
)
=
x
2
+
y
2
s
.
t
.
x
+
y
≥
1
\min\quad f(x)=x^2+y^2\\ s.t.\quad x+y≥1
minf(x)=x2+y2s.t.x+y≥1
显然当
x
=
y
=
0.5
x=y=0.5
x=y=0.5时有最小值,且
∇
f
(
x
)
=
(
2
x
1
2
x
2
)
\nabla f(x)= \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 2x_1 \\ %第一行元素 2x_2 \\ %第二行元素 \end{array} \right)
∇f(x)=(2x12x2)这里我们假设初始点
x
(
1
)
=
(
3
,
−
2
)
x^{(1)}=(3,-2)
x(1)=(3,−2),积极约束矩阵
A
=
(
1
1
)
,
b
=
(
1
)
A=(1 \ \ \ 1),b=(1)
A=(1 1),b=(1)
该例的等高面如图所示
那么,为什么是这样呢?
因为
A
A
A是积极约束的矩阵,
A
A
A的每一行都是一个向量(行向量),而
A
A
A的零空间里的向量与这些向量都正交,该投影矩阵又恰好是
A
A
A的零空间投影矩阵,能够把任何向量投影到零空间中(在此题中就是把梯度投影到零空间中)。比如,在上面的例子中,
A
A
A的一个行向量是
(
1
1
)
(1\ \ \ \ 1)
(1 1),与其正交的向量是
(
−
k
k
)
,
k
∈
R
\left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 -k \\ %第一行元素 k \\ %第二行元素 \end{array} \right) ,k\in R
(−kk),k∈R
也即下降可行方向。
如果梯度方向在约束范围的内部,会减速。比如在此例中如果把约束改为 x > − 1 x>-1 x>−1,初始点为 x ( 1 ) = ( − 1 , 2 ) x^{(1)}=(-1,2) x(1)=(−1,2)时,梯度方向只需一次迭代,而梯度投影则还需要进行进一步判断(待更新)
上海交大最优化讲义
陈宝林 《最优化理论与算法》
因篇幅问题不能全部显示,请点此查看更多更全内容