一维搜索
穆学文2
常用的一维搜索方法
一元函数求极小及线性搜索均为一维搜索。常用于求:
φ(λ) ,+∞)或[a , b ]。一般∞), 例x b others
≤()
F x 穆学文
3
)和插值法我们主要介绍如下一些搜索方法:
穆学文
4
法(进退法):
初始步长h > 0及精度ε> 0,
转步骤4;否则,搜索失败,
停止迭代,;否则令
缺点:效率低。优点:可以求搜索区间2h
**x x =穆学文
5
f (a+h ), 则步长加倍, 计c=a, d=a+3h;否则将步则将步长缩为原来的1/4并改变符号,即),则c=a-h /4,d=a+h ; 否则太大含多个单峰区间,太小迭代次多);
加迭代次数限制);可与中点法结合寻找单调区间(思考)。
穆学文6
0.618法是求单峰函数极值的一种试探法.所谓的单峰函数是指只有一个峰值的函数,其严格定义有]上的函数,如果a, b ]上的最小点,< x 2≤b , 满足:) > f (x 2);) 穆学文70 t f x* 穆学文8 上是单峰函数, x 1, b ] ,如左下图a, x 2], 如右下图 x 1x 2 b 穆学文 9 为最小点, f (x 1)< f (x 2 ),矛盾f (x 1 ) > f (x 2), 注:上述定理为缩短区间的算法提供了理论根据。 穆学文 10 f (x 1 )与f (x 2 ),可去掉……①的情况去掉,区间长度不小于“好”的情况)保留的区间长度/原区间长度) 不变。x 2 ,在下一次的比较中成)。a, x 2] (去掉[x 2, b]), 那么第212(2)x x b x αα αα ??= =??""穆学文 11 )α) 故有 )(2 51舍去负值±?=t 穆学文 12 a, b ], ε>0 2/)15?(1-t )(b -α)+t (b -α) α<ε? STOP; x *=(α+b)/2 yes )-f (x 2)>0? No x 1= x 2 +t ( b –α) yes αx 1x 2b α x 1 穆学文 13 优点:不要求函数可微,且每次迭代只需计算一 个函数值,计算量小,程序简单法)的优缺点 穆学文 14 上可微,且当导数为零时是解。取x= x *; x *< x ,去掉[x ,b ];x *> x ,去掉[a, x ].α x b tg α<0 f ′( x ) 穆学文15 ,且时, ,函数递增,即满足性质,且,为找此中有极小点,这时 ,继续这个过程,逐步将区间的长度充分小时,或者当的中点取做极小点的近似点,这0=* x x <*x >()()'0,'0 f a f b <>()* '0f x =* x ]0,x ()0'f x 穆学文 16 一般可采用下述方法: ,则在右方取点也是事先给定的步长);若, 则 ,则取 ),若, 则以;否则继续下去。 的情况,可类似于上面在左侧取点,此优点:计算量较少,而且总能收敛到一个局部极小点。0x ()1'0f x >21x x x =+Δx ()2'0 f x >0x 穆学文 17 通过等比收缩原则,不断缩短区间找到极小值点法不要求函数可微,而二分法需要函数的一0.618法的收缩比例是倍。二分法的速度要快一些。 穆学文 18 ″(x k )(x-x k )2+ o ||(x-x k ) 2 ||) + (1/2)f ″(x k )(x-x k ) 2 ) > 0时,其驻点为极小点: )(x -x k )=0 为新的迭代点。特点:收敛速度快,二阶收敛。缺点:须计算二次导数,对初 穆学文 19 >0 停;解x k y ″(x k ) | x k +1 -x k |< ε2 Y N k =k +1 穆学文 20 )=1/(1+ x 2) k 2) arctan x k ′(x k ) 1/f ″(x k )1 1 0.7854 22 -0.5708 -0.5187 1.32583 0.1169 -0.1164 1.0137 4 -0.001095 -0.001095 穆学文 21 1/f ″( x k )1 2 1.1071 52 -3.5357 -1.2952 13.50个点的函数值或导数值,构造2 次或3次多项的近似值,以这多项式的极小点为新的迭代点。次,2点3次等f (x 3)(利用“成功-失败”法) 穆学文22 +b x +c= g(x) ) 解得: a , b 131231)()() )() x x x g x x x +??22131231)()() ) x x g x x +??穆学文23寻找满足如下条件的点,成为两头大中间小的点:x 2 ) < f (x 3) 则为g (x )的极小值,则迭代结束,取,否则在点最小的点作为新的x 2,近旁的左右两点,继续进行迭代,直到满足终止准则。 x *x x =穆学文24 算法的终止条件可能无法保证算法一定收敛。若算法收敛,则在一定条件下,是超线性收敛的失败”法产生。其他的插值法原理很接近,可自己看 穆学文 25 寻找新迭代点: λk d (k) (k)); 每一步不要求达到精确最小,单虽然迭代步数增加,但整个收敛达到穆学文 26 d , 满足:▽f T (x)d<0 αλ▽f T (x)d +(1-α) λ▽f T (x)d 为取定参数。实际中常α=0.1 。表示λ的取值应使f (x+ λd) 的值的下方, f (x+ λd) 的值在(x)d 的上方> (1-α)▽f T (x)d 西安电子科技大学 穆学文 27 x (k)) 穆学文 28 No Yes 停;λk = λ λ=(1/2)λ 注:只需要几步就可以得到步长 不少算法利用这个准则可以得到全局收敛的结果 穆学文 29 αλ▽f T (x)d μαλ▽f T (x)d ∈(5 ,10)提出更一般的方法αλ▽f T (x)d σλ▽f T (x)d ∈(α,1) 穆学文30 Wolfe(1969)-Powell(1976)法 °的要求改为对导数的要求。αλ▽f T (x)d σλ▽f T (x)d ∈(α,1)为取定σ=0.7 附近。 穆学文 31 x (k)) β=σλ▽f T (x)d β β 穆学文 32 No Yes 停;λk = λ λ=(1/2)λ 2到3次函数值的计算。对某些线性搜索可得到全局收敛性的结果。 穆学文33 γλ▽f T (x) d d ) d |≤-γλ▽f T (x) d 时变成精确一维搜索,且该方法不需要预先时变成近似精确一维搜索。此方法一般经。