当前位置:
文档之家› 一维搜索最优方法(黄金分割法)
一维搜索最优方法(黄金分割法)
称为一维搜索问题。
min ()=f ( X (k) (k) S(k) )
◎在极小点附近,函数呈现“大-小-大”
y
y f (x)
y
y f (x)
一维搜索的思路
(1)确定极小点α*所在的区 间[a, b],在此区间内,函数呈 现“大-小-大”变化趋势。 搜速区间。
x
(2)在[a, b]内找α*-将区
;f3, 重排顺序
(3) (2), f3 f2 ;
(2)+h (3)。计算( f ( 3 )),令( f ) (3) f3 (1) 若f3 f1,则[a,b]=[(3),(2)],停止计算。 (2) 若f3 f1,则 2h h,(2) (1),f2 f1,
(3) (2),f3 f2 (2) h (3),计算( f ( 3 )),令( f ) (3) f3 ,
设一元函数f (a )的起始搜索区间为[a ,b], *是
函数的极小点。
在搜索区间[ a,b ]内任取两点 (1)、 ( 2 )。且 a (1) ( 2 ) b,计算f ( (1) )、f ( ( 2 ) )。将f ( (1) )与 f ( ( 2 ) )进行比较,可能出现三种情况:
(3) (2),f3 f2 (2) h (3),计算( f ( 3 )),令( f ) (3) f3 ,
返回( 1 )重新开始。
进退试算法步骤
step4. 若在步2中,f2 f1,后退运算
以(1)为起始点,步长反号,反方向搜索。
-h
h; (1) (3), (2) (1), f2
f1 f1
1=2=1, 2=3=2, 3=2 h=4
f1 f (1 ) 10 f2 f (2 ) 4
作前进运算
f3 f (3 ) 0
再作前进运算
f1 f (1 ) 4 f2 f (2 ) 0 f3 f (3 ) 2
d . 比较 f2 f3 再作前进运算
h 22 4
1=2=2,
f( )
பைடு நூலகம்
(1) f ( (1) ) f ( ( 2 ) ).取区间[ a, ( 2 ) ]; ( 2 ) f ( (1) ) f ( ( 2 ) ).取区间[ (1) ,b ]。
a a(1)
b * a( 2 )
二、0.618的由来
1. (1),(2)在[a,b]中位置对称
2. 每次缩短的区间缩短率不变,减少计算量。
f1 f (1 ) 0
2=
=4
3
,
f2 f (2 ) 2
3=2 h=8 f3 f (3 ) 18
e. 此时有 f1 f2,f2 f3 ,故a=1 2,b 3 .即初始搜索
区间为[2,8].
§4-2 黄金分割法(0.618法)
一、消去法的基本原理
基本思路:逐步缩小搜索区间,直至最小点存在的区 间达到允许的误差范围为止。
的修正量,它们是决定最优化算法好坏的重要因素。
假定给定了搜索方向S(k),从点X(k)出发沿S(k)方向
进行搜索,要确定步长(k),使得 f ( X (k1) ) f ( X (k ) (k) S(k) ) f ( X (k ) )
记
()=f ( X (k ) (k) S(k) ) 即确定步长(k),就是单变量函数()的搜索问题。
间长度逐步缩短。
0.618法与二次插值法就是解 决第二个步骤的方法
a
b
x
在极小点附近,函数呈现“大-小-大”
y
y f (x)
x
y
y f (x)
x
二、确定搜索区间的进退法
• 基本思想
从一点出发,按一定的步长,试图确定出函数值 呈现出”高-低-高“的三个点。一个方向不成功,就 退回来沿相反方向搜索。
(1) f ((1) ) f (( 2 ) ).在这种情况下,可以丢掉(( 2 ) ,b] 部分,而最小点必定在[a,( 2 )]内。
f( )
f( )
a
b a(1 ) *
a( 2 )
a
b * a(1 ) a( 2 )
( 2 ) f ((1) ) f (( 2 ) ).在这种情况下,可以丢掉[ a,(1) ) 部分,而最小点必定在[(1) ,b ]内。
一元函数的极小值问题,就是一维最优化 问题,其数值迭代方法亦称为一维搜索方法。
一维搜索最优化是优化方法中最简单、最基 本的方法。
主要方法有:0.618法、牛顿法、二次插值法 等。
§4-1 一维搜索的搜索区间
一、一维搜索的概念
迭代计算的基本格式
X X S (k1)
(k)
(k) (k)
显然,搜索方向S(k)和步长因子(k)构成了每一次迭代
具体作法:
给出初始点0,初始步长h0 0,若(0+h0)<(0),
则下一步从新点0+h0出发,加大步长向前搜索,直到目标
函数上升就停止。若(0+h0)>(0),则下一步仍然从点
出发,沿反方向搜索,直到目标函数上升就停止。这样就
0
可以得到一个搜索区间。
进退法步骤
step1. 给定初始值。给定初始点 ( 0 ),初始步长h 0。
返回( 1 )重新开始。
例4.1 用进退法确定函数
f ( a ) a2 7a 10 的一维优化初始搜索区间[a,b]。
设初始点0 0,初始步长h 1。
解:按顺序进行计算,有
a. 1 0 0 2 1 h 1
b. 比较 f2 f1
3 2 h 2
c. 比较 f2 f3 h 21 2
step2. 令 ( 0 ) (1), (1) h ( 2 )。计算( f (1)),( f ) (2) 令( f ) (1) f1,( f ) (2) f2
step3. 若f2 f1,前进运算,(2) h (3)。计算( f ( 3 )) 令( f ) (3) f3
(1) 若f2 f3,则[a,b]=[(1),(3)],停止计算 (2) 若f2 f3,则 2h h,(2) (1),f2 f1,
f( )
f( )
a a(1)
b * a( 2 )
a a(1 ) a( 2 ) *
b
( 3 ) f ( (1) ) f ( ( 2 ) ).在这种情况下,可以丢掉[ a, (1) ) 部分,也可以丢掉( ( 2 ) ,b ]部分,而最小点必定在[ (1) , ( 2 ) ]
内。因此这种情况可以并入上面的任意一种情况。