组合最优化算法(二)

不精确一维搜索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)

算法步骤

  1. 给定 μ ∈ ( 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
  2. 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
  3. b = α , α = a + α 2 b=\alpha,\alpha=\frac{a+\alpha}{2} b=αα=2a+α,转步骤2
  4. 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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值