一维搜索

穆学文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 时变成精确一维搜索,且该方法不需要预先时变成近似精确一维搜索。此方法一般经。

相关主题
相关文档
最新文档