投影梯度法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由 PM 是投影矩阵知, PMT = PM , PM2 = PM ,因此 PM = PMT PM ,于是
∇f ( xk )T sk = −∇f ( xk )T PM ∇f ( xk ) = −∇f ( xk )T PMT PM ∇f ( xk ) = − PM ∇f ( xk ) 2 < 0
由此知 sk 是 f 在 xk 处的下降方向。
⎟ ⎠
。
PM = 0 , s1 = −PM ∇f ( x1) = 0 。
u1
=
⎛ ⎜ ⎝
u2 u3
⎞ ⎟ ⎠
=
−(MM
T
)−1
M
∇f
(
x1)
=
(0,
−2)T
,
u3
<0 , 所 以 令
M = A11 = (1
1) 。 PM
=
1⎛ 1
2
⎜ ⎝
−1
−1⎞
1
⎟ ⎠
,
s1
=
− PM
∇f
( x1)
=
⎛ ⎜ ⎝
1⎞ −1⎟⎠
再由(5.6)、 Msk = 0 和 ∇f ( xk )T sk < 0 得
ai0T sk = −[∇f ( xk )T sk − wT Msk ] ui0 = − ∇f ( xk )T sk ui0 < 0 再根据(5.7)得知 sk 满足(5.1)。由此知 sk 是在(LNP1)在 xk 处的可行下降方向。证毕。
矩阵,我们通过投影矩阵 PM 将 −∇f ( xk ) 投影到 LM 上由此构造可行下降方向。
1
定理 5.1 设 xk ∈ S 是 S 的正则点,M 和 PM 如上定义, −PM ∇f ( xk ) ≠ 0 ,则 sk = −PM ∇f ( xk ) 是
(LNP1)在 xk 处的可行下降方向。
证明:显然 sk ≠ 0 。
4
k=2: ∇f
(x2)
=
⎛ −1⎞
⎜ ⎝
−1⎟⎠
,M
=
A11
=
(1
⎛2
1) ,
A12
=
⎜ ⎜
−1
⎜⎝ 0
−1⎞
⎛1⎞
0
⎟ ⎟
,
b11
=
(2)
,
b12
=⎜ ⎜0Fra bibliotek⎟ ⎟。
−1⎟⎠
⎜⎝ 0⎟⎠
PM
=
1⎛ 1
2
⎜ ⎝
−1
−1⎞
1
⎟ ⎠
,
s2 = −PM ∇f ( x2 ) = 0
。
u = u2 = −(MM T )−1 M ∇f ( x2 ) = 1 > 0 , 因 此
x2 = (1/ 2, 3 / 2)T 为 K-T 点。由于原问题为凸规划,因此 x* = x2 = (1/ 2, 3 / 2)T 为最优解。
注 5.2 当用 Rosen 投影梯度法求解(LNP1)时,其中 ε =0,若产生有限序列 x1,", xK 时,xK 是(LNP1)
的 K-T 点,但是若产生无限序列 x1, x2 ,",则不能保证{xk }的聚点是(LNP1)的 K-T 点。
证明:(1)由(5.4)知 ∇f ( xk ) + A1T1u + A2T v = 0 ,再由 u ≥ 0 得 xk 是(LNP1)的 K-T 点。
(2)记 M
中与 ui0
对应的行为
aT i0
,并且不妨设 u
=
⎛ ⎜
ui0
⎝u
⎞ ⎟ ,A11 ⎠
=
⎛ ⎜⎜⎝
aT i0
A11
⎞ ⎟⎟⎠
,w
=
⎛ ⎜
ui0
*§6 Wolfe 既约梯度法
本节考虑含标准线性约束的非线性规划问题
min f ( x) s.t. Ax = b
x ≥0
(LNP2)
其 中 f ( x) 是 可 微 函 数 , A ∈ Rm×n , A 行 满 秩 , b ∈ Rm , m<n 。 记 (LNP2) 的 可 行 域
(xk
)
。
若 u ≥ 0 则停,否则令 ui0 = min{ui} ,转 4。
4. 重新构造搜索方向。令 M 是从 M 中去掉与 ui0 对应的行后得到的矩阵,求 sk = −PM ∇f ( xk ) 。
5. 确定步长。令 λmax
=
min
⎧⎪ ⎨ ⎪⎩
(b12 (
− A12 xk A12 sk )i
> 0⎫⎪⎬ 。 ⎪⎭
下面给出 Rosen 投影梯度法的具体步骤。
算法 5.1:Rosen 投影梯度法
1. 初始步。给出初始点 x0 ∈ S ,精度参数 ε >0。令 k=0。
2. 构造搜索方向。对
A1 和 b1 进行分块,使
A1
=
⎛ ⎜
⎝
A11 A12
⎞ ⎟ ⎠
,
b1
=
⎛ ⎜ ⎝
b11 b12
⎞ ⎟ ⎠
5.2 Rosen 投影梯度法
利用投影矩阵得到可行下降方向 sk 后,同 Zoutendijk 可行方向法一样,需求解一维搜索问题
min
0≤λ ≤λmax
f (xk
+ λ sk ) ,其中 λmax
=
min
⎧⎪ ⎨ ⎪⎩
(b12 (
− A12 xk A12 sk )i
)i
∀i : ( A12sk )i
⎛ −1
⎜ ⎝
0
0⎞ −1⎠⎟
,
A12
=
⎛2
⎜ ⎝
1
−1⎞
1
⎟ ⎠
,
b11
=
⎛0⎞
⎜ ⎝
0
⎟ ⎠
,
b12
=
⎛1⎞
⎜ ⎝
2
⎟ ⎠
。
PM
= 0 ,s0
= −PM ∇f ( x0 ) = 0 。
u
=
⎛ ⎜ ⎝
u3 u4
⎞ ⎟ ⎠
=
−(
MM
T
)−1
M
∇f
(
x
0
)
=
∇f
(
x
0
)
=
(−2,
−4)T
,u4 <0,
§5 Rosen 投影梯度法
本节同样考虑含一般线性约束的非线性规划问题
min f ( x)
s.t. A1x ≤ b1 A2 x = b2
(LNP1)
其中 f ( x) 是连续可微函数,矩阵 A1 ∈ Rm×n , A2 ∈ R p×n ,向量 b1 ∈ Rm , b2 ∈ R p 。记(LNP1)的可行域
PA x =0。
设
xk
∈S
是当前迭代点,同
Zoutendijk
法一样,对
A1 和 b1 进行分块,使
A1
=
⎛ ⎜ ⎝
A11 A12
⎞ ⎟ ⎠
,
b1
=
⎛ ⎜ ⎝
b11 b12
⎞ ⎟ ⎠
,
A11 ∈ Rl1×n , b11 ∈ Rl1 ,其中
A11 xk = b1, A12 xk < b12 s ≠ 0 是 S 在 xk 处的可行方向当且仅当 s 满足条件
负梯度在可行域边界上的投影作为搜索方向。无论何种情况,所构造的方向都是可行下降方向。然后在
可行域内沿该方向进行最优一维搜索得到新的迭代点。
5.1 负梯度在边界上的投影
先介绍投影矩阵的概念及其构造。
定义 5.1 设矩阵 P ∈ Rn×n 。若 PT = P, P2 = P ,则称 P 为投影矩阵。
设 矩 阵 A ∈ Rl×n 行 满 秩 , 记 A 的 零 空 间 为 LA = {x ∈ Rn | Ax =0} , LA 的 正 交 空 间 为 LA 丄 ={AT y | y ∈ Rl} 。对 x ∈ Rn 进行正交分解 x = x1 + x2 ,使 x1 ∈ LA , x2 ∈ LA 丄,则 x1 = PA x ,其中 PA = I − AT ( AAT )−1 A 。则 PA 是投影矩阵,称为 A 的投影矩阵。当 x ∈ LA 时, PA x = x , x ∈ LA 丄时,
3
λk
=
min
⎧⎨− ⎩
∇f ( xk )T skT Hsk
sk
,
λmax
⎫ ⎬
⎭
例 5.1 用 Rosen 投影梯度法求解下列问题:
取 x0 = (0, 0)T 。
min f ( x) = x12 + x22 − 2x1 − 4x2 + 6 s.t. 2x1 − x2 ≤ 1
x1 + x2 ≤ 2 x1, x2 ≥ 0
所以令
M = A11 = (−1
0)
。
PM
=
⎛ ⎜ ⎝
0 0
0⎞
1
⎟ ⎠
,
s0
=
−PM ∇f
(x0)
=
⎛0⎞
⎜ ⎝
4
⎟ ⎠
,取
s0
=
⎛0⎞
⎜ ⎝
1
⎟ ⎠
。
b12 − A12 x0 = (1, 2)T
,
A12s0 = (−1,1)T
,
λmax
=
min
⎧2⎫
⎨ ⎩
1
⎬ ⎭
=
2
。
− ∇f ( x0 )T s0 s0T Hs0
(5.3)
我们记
其中 u ∈ Rl1 , v ∈ R p 。由(5.3),
w
=
⎛ ⎜ ⎝
u v
⎞ ⎟ ⎠
=
−(MM
T
)−1 M
∇f
(
xk
)
( ) 0 = ∇f ( xk ) + M T w = ∇f ( xk ) + A1T1
A2T
⎛ ⎜ ⎝
u v
⎞ ⎟ ⎠
=
∇f
(
xk
)
+
A1T1u
+
A2T
v
(5.4)
=
4 2
=
2
,得
λ0 = min {2, 2} = 2 , x1 = x0 + λ0s0 = (0, 2)T 。
k=1: ∇f
( x1)
=
⎛ ⎜ ⎝
−2 0
⎞ ⎟ ⎠
,
M
=
A11
=
⎛1
⎜ ⎝
−1
1⎞
0
⎟ ⎠
,
A12
=
⎛2
⎜ ⎝
0
−1⎞ −1⎟⎠
,
b11
=
⎛2⎞
⎜ ⎝
0
⎟ ⎠
, b12
=
⎛1⎞
⎜ ⎝
0
,其中
A11 xk
=
b1, A12 xk
<
b12
。令
M
=
⎛ ⎜
⎝
A11 A2
⎞ ⎟ ⎠
。若
M
空,则令 sk
=
−∇f
( xk ) ,否则令 sk
=
−PM ∇f
(xk ) 。
3. 终止判别。若 sk
> ε ,转 5。若 sk
≤
ε
,则当
M 空时停,当 M 非空时求
⎛u⎞
⎜ ⎝
v
⎟ ⎠
=
−(MM
T
)−1 M ∇f
)i
∀i : ( A12sk )i
> 0⎫⎪⎬ ,求解 min
⎪⎭
0≤λ ≤λmax
f (xk
+ λ sk ) 得最优解 λk 。
6. 确定新的迭代点。令 xk+1 = xk + λk sk ,k=k+1,转 2。 注 5.1 若 f(x)是严格凸二次函数, H = ∇2 f ( x) ,则上述算法中的最优步长为
解: ∇f
(x)
=
⎛ ⎜ ⎝
2 x1 2 x2
− −
2 4
⎞ ⎟ ⎠
,
H
=
∇2
f
(x)
=
⎛2
⎜ ⎝
0
⎛2
0⎞
2
⎟ ⎠
,
A1
=
⎜ ⎜ ⎜ ⎜
1 −1
⎝0
−1⎞
⎛1⎞
1 0
⎟ ⎟ ⎟
, b1
=
⎜ ⎜
1
⎟ ⎟
。
⎜0⎟
−1⎟⎠
⎜ ⎝
0
⎟ ⎠
k=0: ∇f
(x0)
=
⎛ ⎜ ⎝
−2 −4
⎞ ⎟ ⎠
,
M
=
A11
=
另一方面,由 MPM = 0 知 Msk = 0 ,即 sk ∈ LM ,因此 sk 是 S 在 xk 处的可行方向。由此得 sk 是(LNP1)
在 xk 处的可行下降方向。证毕。
如果 −PM ∇f ( xk ) =0,则
∇f ( xk ) − M T (MM T )−1 M ∇f ( xk ) = 0
(5.5)
再由(5.4),
2
0 = ∇f ( xk ) − M T w = ∇f ( xk ) + ui0 ai0 + M T w
(5.6)
(5.6)减去(5.5)得 ui0 ai0
+
M T (w
− w′)
=
0 ,因此由 ui0
<0
知M
=
⎛ ⎜⎜⎝
aT i0
M
⎞ ⎟⎟⎠ 的行向量线性相关,与
M
行满秩
A11s ≤ 0, A2s = 0
(5.1)
记M
=
⎛ ⎜ ⎝
A11 A2
⎞ ⎟ ⎠
,
LM
= {s ∈ Rn
| Ms
= 0} 为
M
的零空间,由(5.1)知,当 s ∈ LM
\ {0} 时, s 是
S
在 xk 处
的可行方向。由假设条件知 xk 是 S 的正则点,因此 M 行满秩, PM = I − M T (MM T )−1 M 为 M 的投影
的条件矛盾。因此 sk ≠ 0 。
同定理 5.1 可知 ∇f ( xk )T sk < 0 ,即 sk 是 f 在 xk 处的下降方向。下面证明 sk 是 S 在 xk 处的可行方
向,即 sk 满足(5.1)。同定理 5.1 一样,有 Msk = 0 ,即
A11sk = 0 A2sk = 0
(5.7)
下面的定理分别对 u ≥ 0 是否成立的情况进行讨论。
定理 5.2 设 xk ∈ S 是 S 的正则点,M、 PM 、 u 和 v 如上定义, −PM ∇f ( xk ) =0。
(1)若 u ≥ 0 ,则 xk 是(LNP1)的 K-T 点。
(2)若 u 中有负分量,设 ui0 = min{ui} <0, M 是从 M 中去掉与 ui0 对应的行后得到的矩阵,则 sk = −PM ∇f ( xk ) 是(LNP1)在 xk 处的可行下降方向。
S = {x ∈ Rn | A1x ≤ b1, A2 x = b2} 。
假设条件:(LNP1)的任一可行解为正则点。
对于(LNP1),Rosen 将求界无约束非线性规划的最速下降法推广到(LNP1)中。它的基本思想是,当