不精确一维搜索Wolfe算法
Wolfe原则
设
f
(
x
)
f\left(x\right)
f(x)可微,取
μ
∈
(
0
,
1
2
)
,
σ
∈
(
μ
,
1
)
\mu\in\left(0,\frac{1}{2}\right),\sigma\in\left(\mu,1\right)
μ∈(0,21),σ∈(μ,1),选取
α
k
>
0
\alpha_k\gt0
αk>0,使
(1.6)
f
(
x
k
)
−
f
(
x
k
+
α
k
p
k
)
≥
−
μ
α
k
g
k
T
p
k
f\left(x_k\right)-f\left(x_k+\alpha_kp_k\right)\ge-\mu\alpha_kg_k^Tp_k
f(xk)−f(xk+αkpk)≥−μαkgkTpk
(1.7)
∇
f
(
x
k
+
α
k
p
k
)
T
p
k
≥
σ
g
k
T
p
k
\nabla f\left(x_k+\alpha_kp_k\right)^Tp_k\ge\sigma g_k^Tp_k
∇f(xk+αkpk)Tpk≥σgkTpk
或用下面更强的条件代替(1.7)式:
(1.8)
∣
∇
f
(
x
k
+
α
k
p
k
)
T
p
k
∣
≤
−
σ
g
k
T
p
k
\left|\nabla f\left(x_k+\alpha_kp_k\right)^Tp_k\right|\le-\sigma g_k^Tp_k
∣∣∣∇f(xk+αkpk)Tpk∣∣∣≤−σgkTpk
关于满足Wolfe原则的步长
α
k
\alpha_k
αk的存在性:
设
f
(
x
)
f\left(x\right)
f(x)有下界且
g
k
T
p
k
<
0
g_k^Tp_k\lt0
gkTpk<0,令
μ
∈
(
0
,
1
2
)
,
σ
∈
(
μ
,
1
)
\mu\in\left(0,\frac{1}{2}\right),\sigma\in\left(\mu,1\right)
μ∈(0,21),σ∈(μ,1),则存在区间
[
c
1
,
c
2
]
\left[c_1,c_2\right]
[c1,c2],使得任意的
α
∈
[
c
1
,
c
2
]
\alpha\in\left[c_1,c_2\right]
α∈[c1,c2],均满足式(1.6)和(1.7)(也满足(1.8))
问题: 设已知 x k x_k xk和下降方向 p k p_k pk,求问题 m i n f ( x k + α k p k ) , α > 0 minf\left(x_k+\alpha_kp_k\right),\alpha\gt0 minf(xk+αkpk),α>0的近似值 α k \alpha_k αk,使 α k \alpha_k αk满足(1.6)和(1.7)
算法步骤
- 给定 μ ∈ ( 0 , 1 ) , σ ∈ ( μ , 1 ) \mu\in\left(0,1\right),\sigma\in\left(\mu,1\right) μ∈(0,1),σ∈(μ,1),令 a = 0 , b = ∞ , α = 1 , k = 0 a=0,b=\infty,\alpha=1,k=0 a=0,b=∞,α=1,k=0;
-
x
k
+
1
=
x
k
+
α
k
p
k
x_{k+1}=x_k+\alpha_kp_k
xk+1=xk+αkpk,计算
f
k
+
1
,
g
k
+
1
f_{k+1},g_{k+1}
fk+1,gk+1;
若 α \alpha α满足(1.6)和(1.7)式,则令 α k = α \alpha_k=\alpha αk=α;
若 α \alpha α不满足(1.6),则令 k : = k + 1 k:=k+1 k:=k+1,转步骤3;
若 α \alpha α不满足(1.7)式,则令 k : = k + 1 k:=k+1 k:=k+1,转步骤4; - 令 b = α , α = a + α 2 b=\alpha,\alpha=\frac{a+\alpha}{2} b=α,α=2a+α,转步骤2
- 令 a = α , α = m i n ( 2 α , α + b 2 ) a=\alpha,\alpha=min\left(2\alpha,\frac{\alpha+b}{2}\right) a=α,α=min(2α,2α+b),转步骤2