第三章 一维搜索(线性搜索)
合集下载
最优化方法 第三章第二讲 一维搜索

第三次迭代
令 x1 0.538, f1 1.751,取 F3 x2 0.077 (1.462 0.077) 0.846, F4 f 2 1.870。
因为 f 1 f 2 ,所以新区间为 0.077,0.846。
第四次迭代
令 x 2 0.538, f 2 1.751,取 F1 x1 0.077 (0.846 0.077) 0.231, F3 则 f 1 1.822。
设其最优解为 k ,得到 xk 1 xk k pk ,
一维搜索是求解一元函数 ( ) 的最优化问题(也叫 一维最优化问题) ,仍表示为 min f ( x ) 或 min f ( x )。 1
xR
a xb
定义:若在 a, b内 f ( x )有唯一极小点 x* ,在 x* 的左边 f ( x )严格下降,在 x* 的右边 f ( x )严格上升, 则称 f ( x )在区间 a, b上是下单峰函数。
step 6 令 k k 1,若 k n 2,则转 step 5; 若 k n 2,则转 step 7。
step 7 若 f1 f 2 , 则令 b x2 ,x2 x1 ,f 2 f1 , 转 step 8; 若 f1 f 2 ,则令 a x1,转 step 8。 step 8 令 x1 x2 0.1(b a ) , f1 f ( x1 ) 1 * 若 f1 f 2 ,则 x (a x2 ), 2 1 * 若 f1 f 2 ,则 x ( x1 x2 ), 2 1 * 若 f1 f 2 ,则 x ( x1 b ) 。 2
ab step 3 若 b a ,则 x ,停。否则转 step 4。 2
第三章 一维搜索法

x
0
x1 x2
x3
3-1 确定初始区间的进退法
探测初始空间的进退法步骤: 探测初始空间的进退法步骤 (1)给定初始点 x0 ,初始步长 h ,令 x1 = x0 ,记: f1 = f ( x1 ) 给定初始点 初始步长 令 记 (2)产生新的探测点 x2 = x1 + h ,记 f 2 = f ( x2 ) 产生新的探测点 (3)比较函数值 f1 和 f 2 的大小 确定向前或向后探测的策略 比较函数值 的大小,确定向前或向后探测的策略 则加大步长,令 若: f1 > f 2 则加大步长 令 h = 2h ,转(4)向前探测 转 向前探测 (4)产生新的探测点 x3 = x0 + h ,令 f 3 = f ( x3 ) 产生新的探测点 令 (5)比较函数值 f 2 和 f 3 的大小 比较函数值 则调转方向,令 若: f1 < f 2 则调转方向 令 h = − h ,转(4)向后探测 转 向后探测
3-1 确定初始区间的进退法
f (x ) f ( x1 )
f ( x2 )
f ( x1 ) > f ( x2 ) > f ( x3 )
极小点在右端点的
f (x3 ) (x
x
x3 右侧
0
x1
x2 x3
3-1 确定初始区间的进退法
f (x ) f ( x1 ) f ( x2 )
f ( x3 )
f ( x1 ) < f ( x2 ) < f ( x3 )
h=-h;x2=x0+h;f2=f(x2); ; ; ; End
3-2 黄金分割法
一维搜索试探方法的基本思想: 一维搜索试探方法的基本思想:在确定了搜索区间的 前提下,不断缩小搜索区间, 前提下,不断缩小搜索区间,同时保持搜索区间内函数值 “大-小-大”的走势,直到区间的宽度小于预定的精度。 小 大 的走势,直到区间的宽度小于预定的精度。 黄金分割法基本思想: 黄金分割法基本思想 : 在搜索区间内插入两个黄金分 割点,将区间分成三段。利用函数的单谷性质,通过函数值 割点,将区间分成三段。利用函数的单谷性质, 大小的比较,删去其中一段。 大小的比较,删去其中一段。在保留下来的区间上作同样的 处置,如此往复送代,使搜索区间缩小到精度范围内, 处置,如此往复送代,使搜索区间缩小到精度范围内,得到 极小点的近似解。 极小点的近似解。
0
x1 x2
x3
3-1 确定初始区间的进退法
探测初始空间的进退法步骤: 探测初始空间的进退法步骤 (1)给定初始点 x0 ,初始步长 h ,令 x1 = x0 ,记: f1 = f ( x1 ) 给定初始点 初始步长 令 记 (2)产生新的探测点 x2 = x1 + h ,记 f 2 = f ( x2 ) 产生新的探测点 (3)比较函数值 f1 和 f 2 的大小 确定向前或向后探测的策略 比较函数值 的大小,确定向前或向后探测的策略 则加大步长,令 若: f1 > f 2 则加大步长 令 h = 2h ,转(4)向前探测 转 向前探测 (4)产生新的探测点 x3 = x0 + h ,令 f 3 = f ( x3 ) 产生新的探测点 令 (5)比较函数值 f 2 和 f 3 的大小 比较函数值 则调转方向,令 若: f1 < f 2 则调转方向 令 h = − h ,转(4)向后探测 转 向后探测
3-1 确定初始区间的进退法
f (x ) f ( x1 )
f ( x2 )
f ( x1 ) > f ( x2 ) > f ( x3 )
极小点在右端点的
f (x3 ) (x
x
x3 右侧
0
x1
x2 x3
3-1 确定初始区间的进退法
f (x ) f ( x1 ) f ( x2 )
f ( x3 )
f ( x1 ) < f ( x2 ) < f ( x3 )
h=-h;x2=x0+h;f2=f(x2); ; ; ; End
3-2 黄金分割法
一维搜索试探方法的基本思想: 一维搜索试探方法的基本思想:在确定了搜索区间的 前提下,不断缩小搜索区间, 前提下,不断缩小搜索区间,同时保持搜索区间内函数值 “大-小-大”的走势,直到区间的宽度小于预定的精度。 小 大 的走势,直到区间的宽度小于预定的精度。 黄金分割法基本思想: 黄金分割法基本思想 : 在搜索区间内插入两个黄金分 割点,将区间分成三段。利用函数的单谷性质,通过函数值 割点,将区间分成三段。利用函数的单谷性质, 大小的比较,删去其中一段。 大小的比较,删去其中一段。在保留下来的区间上作同样的 处置,如此往复送代,使搜索区间缩小到精度范围内, 处置,如此往复送代,使搜索区间缩小到精度范围内,得到 极小点的近似解。 极小点的近似解。
3一维搜索

三点二次插值法(抛物线法)
利用函数在单谷区间中的三点1 2 3
P a0 a1 a2 2
P 1 a0 a11 a212 y1 f 1
2 P 2 a0 a1 2 a2 2 y2 f 2
牛顿法程序流程:
(1)给定x0、、,令x1 x0 (2)令x0 x1 f ' ( x 0) (3)计算x1 x0 f ' ' ( x 0) (4)判断是否 | f ' ( x1) | 或 1 x0 | |x (5)否,则转(2) (6)结束,结果为x x1
平分法
取具有极小点的单峰函数的搜索区间 a, b 的中点 a b 2 ,计算目标函数在该点的导数来 判断舍去的区间。(函数在极值点导数为零,在 其左侧为负、右侧为正)
格点法(全面搜索法)
插值法 (函数逼近法、曲线拟合法)
在某一确定区间内寻求函数的极小点位置, 可以根据某些点处的函数值,利用插值方法建立函 数的某种近似表达式,进而求出函数的极小点,并 用它作为原来函数极小点的近似值。
1 2 f பைடு நூலகம் f 0 f 0 0 f 0 0 2 1 0
f 0 f 0 1 0 0 f 0 1 0 f 0
f 1 f 2 f 1 1 2 a 解之,得: 1 2 1 2 f 1 f 2 f 1 1 2 1 2 a2 f 1 2 1 2
2 a1 1 f 1 1 2 p 1 2a2 2 f 1 f 2 f 1 1 2 f 1 1 2 1 f 1 f 2 2 f 1 1 2
第三章 一维搜索方法

直 接 法
假定在搜索区间[a, b]内任取两点a1和b1,且a1 b1, 并计算f (a1 )和f (b1 ),可能出现三种情况:
1. f (a1 ) f (b1 ),由于函数的单峰性, 极小点一定在[a, b1 ]内; 2. f (a1 ) f (b1 ),极小点一定在[a1 , b]内; 3. f (a1 ) f (b1 ),极小点一定在[a1 , b1 ]内。
第二节 搜索区间的确定与区间消去法原理
确定搜索区间的外推法的程序流程图:
3 1.用进退法确定函数 f ( x) 3x 3 8 x 9的一维优化初始区间 , 给定 初始点x1 0, 初始进退距h0 0.1.
解:
k
1 2 3 4
h
0.1 0.2 0.4 0.8
x1
0 0.1 0.2 0.4
确定搜索区间的外推法的基本步骤:
3.若y1 y2,则试探方法错误,需要反向,即令h0 h0, 并且将1和 2交换,同时交换y1和y2,在程序中,如果用 替换,则另一个函数值就没有了,所以加入 3和y3做中间 变量,即: 3 1 , y3 y1;1 2 , y1 y2; 2 3 , y2 y3。然后得到新的1和 2后,用新 2的向前推出
第三章 一维搜索方法
第三节 一维搜索的试探法 黄金分割法(0.618法):
计算步骤:
4)进行迭代终止条件检验,检查区间是否缩短到足够小和 y2 y1 ba 函数值是否收敛到足够近,即 和 ,如果 b y2 不满足条件,则转到第3)步;满足条件则继续执行下一步。 1 5)输出最优解x (a b)和最优函数值y* f ( x* )。 2
而另一个试验点可按下式1 b (b a )算出,它的函数值 为y1 f (1 ); 若y1 y2,则极小点必在区间[1 , b]内,即[1 , b]为新区间,则
《现代机械优化设计》第3章 一维搜索

a xp, f (a) f (xp ), f (a) f (xp )
b xp, f (b) f (xp ), f (b) f (xp )
计算 f (x*p ), f (x*p )
否
f (x*p ) 0 是
否
f (x*p )
x xp , f f (xp )
是
结束
否
是
K>0
否
xp-xp0 ≤ε
是
x*=x2, f*=f2
是
x*=xp,f*=fp
xp
1 2
f1(x22 x32 ) f2 (x32 x12 ) f3(x12 x22 ) f1(x2 x3) f2 (x3 x1) f3(x1 x2 )
结束
由于区 间缩到很 小时因计 算机舍入 误差引起, 可取中间 点输出。
x3
ⅱ) (xP x1)(x3 xP ) 0
f1
x1
f2
f3
x2 x3
补充 §3-5 格点法
一)基本思路
先将搜索区间分成若干等分,计算出当中的n个等分 点的目标函数值. 再通过比较,找出其中的最小点,则该 点的两个邻近点围成缩短了的新区间。
f
a
xmx1 m xm1 b
x
二)每轮迭代区间的缩短率
ⅰ)A=0
f1(x2 x3 ) f2 (x3 x1) f3 (x1 x2 ) 0
f1[( x2 x1) (x3 x1)] f2 (x3 x1) f3(x1 x2 ) 0
f2 f1 f3 f1 这表明此时三个插值点共线。 x2 x1 x3 x1
f2
f3
f1
x1
x2
a=x3、b=x1
x3=x2+h、y3=f(x3)
常用的一维搜索方法

称为搜索方向;
k 称为步长或步长因子。
图1
线搜索迭代法的步骤
0 x (1) 选定某一初始点 ,并令 k : 0;
(2) 确定搜索方向 d
k
k
;
k
(3) 从 x 出发,沿方向 d x k 1; (4) 检查得到的新点
求步长 λ
k
,以产生下一个迭代点
x
k 1
是否为极小点或近似极小点。
若是,则停止迭代。 否则,令 k :k1,转回(2)继续进行迭代。 在以上步骤中,选取搜索方向是最关键的一步。 各种算法的区分,主要在于搜索方向 d
最优解
从当前点出发,按照某 种规则找下一个迭代点 注:迭代格式 不同,对应着 不同的算法
找下一个迭代点
迭代法的分类
可 行 算 法 : 所 有 迭 代 点 都 是 可 行 点 据 迭 代 点 初始点不好找 的 可 行 性 不 可 行 算 法 : 至 少 有 一 个 迭 代 点 不 是 可 行 点 初始点任意选取
k k k Tk kk
T k T k g d g k 1 k d,
其中
(, 1 ) ,0 1 .
常用的一维搜索方法
我们主要介绍下面几种方法
“成功—失败”法 0.618法(黄金分割法) 二分法 牛顿法(Newton)和插值法 Armiji-Goldstein 准则 Wolfe-Powell 准则
注意: 1. h 选择要适当.(太大含多个单峰区间,太小迭代次数多); 2. f (x)单调时无结果, (加迭代次数限制);
“成功—失败”法----算例
3 例 :利用“成功-失败”法求函数 f( x )x 2 x 1 的搜索区间, 1 取初始点 x 1 ,步长 h . 2 21 1 h , 解:取初始点 x ,步长 2 2 1 1 5 11 f (x ) f ( ) , f ( x h ) f ( ) f ( 0 ) 1 , 2 8 22 搜 索 成 功 , 步 长 加 倍 ; 因 为 f () x f ( x h ) , 1 1 计 算 f ( x h + 2 h ) f ( x 3 h ) f ( 3 ) f ( 1 ) 0 , 2 2 搜 索 成 功 , 步 长 加 倍 ; 因 为 fxh ( ) fx ( 3 h ) , 1 1 计 算 f ( x 3 h + 4 h ) f ( x 7 h ) f ( 7 ) f ( 3 ) 2 2 , 2 2 搜 索 失 败 , 停 止 迭 代 ; 因 为 fx ( 3 h ) fx ( 7 h ) ,
常用的一维搜索方法

0
x
解: f ′ (x) =arctan x , f ″(x)=1/(1+ x2) 迭代公式: xk +1= xk - (1+ xk 2) arctan xk 取 x1= 1,计算结果: f′ (xk) 1/f″(xk ) k xk 1 1 0.7854 2 2 -0.5708 -0.5187 1.3258 3 0.1169 -0.1164 1.0137 4 -0.001095 -0.001095 x4≈ x* =0 取 x1=2,计算结果如下:
Proof. 1°反证法:设 x* ∈[a, b]为最小点, z 若x* ∈[a, x1],由定义 知 f (x1)< f (x2 ),矛盾 (假设); 2 °若x* ∈[x2 , b ],由定义知 f (x1 ) > f (x2 ), 矛盾(条件); 结论成立。 注:上述定理为缩短区间的算法提供了理论根据。
( x12 − x22 ) g ( x3 ) + ( x22 − x32 ) g ( x1 ) + ( x32 − x12 ) g ( x2 ) b= ( x1 − x2 )( x2 − x3 )( x3 − x1 )
x = −
−
b 2a
算法思路: 1. 寻找满足如下条件的点,成为两头大中间小的点: x 1 < x 2 < x3,f (x1 ) > f (x2 ), f (x2 ) < f (x3 ) 2. 两头大中间小,可得a>0, 则 x 为g(x)的极小值 点,且 x ∈ [ x1 , x3 ] 3.若 x2 − x < ε ,则迭代结束,取 x* = x ,否则在点 中 x1 , x2 , x3 , x ,选取使f (x) 最小的点作为新的x2, 并使新的x 1 , x3各是新的x2近旁的左右两点,继续 进行迭代,直到满足终止准则。
x
解: f ′ (x) =arctan x , f ″(x)=1/(1+ x2) 迭代公式: xk +1= xk - (1+ xk 2) arctan xk 取 x1= 1,计算结果: f′ (xk) 1/f″(xk ) k xk 1 1 0.7854 2 2 -0.5708 -0.5187 1.3258 3 0.1169 -0.1164 1.0137 4 -0.001095 -0.001095 x4≈ x* =0 取 x1=2,计算结果如下:
Proof. 1°反证法:设 x* ∈[a, b]为最小点, z 若x* ∈[a, x1],由定义 知 f (x1)< f (x2 ),矛盾 (假设); 2 °若x* ∈[x2 , b ],由定义知 f (x1 ) > f (x2 ), 矛盾(条件); 结论成立。 注:上述定理为缩短区间的算法提供了理论根据。
( x12 − x22 ) g ( x3 ) + ( x22 − x32 ) g ( x1 ) + ( x32 − x12 ) g ( x2 ) b= ( x1 − x2 )( x2 − x3 )( x3 − x1 )
x = −
−
b 2a
算法思路: 1. 寻找满足如下条件的点,成为两头大中间小的点: x 1 < x 2 < x3,f (x1 ) > f (x2 ), f (x2 ) < f (x3 ) 2. 两头大中间小,可得a>0, 则 x 为g(x)的极小值 点,且 x ∈ [ x1 , x3 ] 3.若 x2 − x < ε ,则迭代结束,取 x* = x ,否则在点 中 x1 , x2 , x3 , x ,选取使f (x) 最小的点作为新的x2, 并使新的x 1 , x3各是新的x2近旁的左右两点,继续 进行迭代,直到满足终止准则。
第三章 一维搜索方法

α2
α2
图3-1 具有单谷性的函数
说明:
单峰区间内,函数可以有不可微点,也可以是不连续
函数;
确定的搜索区间必定是一个含有最优点α*的单峰区间。
f (x) f (x)
0
α1
α3
α
0
α1
α3
α
2.进退法的基本思路:
由单峰函数的性质可知,在极小点α*左边函 数值应严格下降,而在极小点右边函数值应严格 上升,因此可以从某一个给定初始点α1出发,以 初始步长h0沿着目标值的下降方向,逐步前进或 后退,直至找到相继的3个试点的函数值按“大小-大”变化为止。
3 . 进退法的步骤:
(1)给定初始点α0和初始步长h0;
(2)令α1 α0 , h h0 , α2 α1 h, 得到两试点α1、α2, 并计算函数值f1 f ( α1 ) , f 2 f ( α2 ) ;
(3)比较f1与f2,存在两种情况:
1)若f1 f 2 , 则作前进运算, 取第三个点α3 α2 h, 计算f 3 f ( α3 ) , 比较f 2与f 3
① 若f 2
f 3,则搜索区间 [a, b] [3 , 1 ];
② 若f 2
f 3 , 则步长加倍,继续作后 退运算,即令 h 2h,
1 2、 2 3、 3 2 h计算f 2与f 3直到找到“大
小 大”搜索区间 [a, b] [ 3 , 1 ]
2 2 2
所以
p a1 / 2a2
y3 y1 c1 a3 a1
1 a 2 a
2 a3 y1 a32 a12 y2 a12 a22 y3
a3 y1 a3 a1 y2 a1 a2 y3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f 1 f (a1) f 2 f (b1)
(1)f(a1)<f(b1), (2)f(a1)>f(b1), (3)f(a1)=f(b1),
则极小点必在区间[a,b1]内; 则极小点必在区间[α1,b]内; 则极小点必在区间[α1,b1]内
可以总结为两种情况: ① 若 f (a1) f (b1) , 则取[a,b1]为
h=2h
x1=x2 y1=y2 x2=x3 y2=y3
a=x3、b=x1
x3=x2+h、y3=f(x3)
是 y2≥y3
否是
否
h>0
a=x1、b=x3
结束
f
y1 y2 y3
x1 x2 x3
x
x1 x2 x3
前进计算
f
x1 x2 x x3 x2 x1
x3 x2 x1
后退计算
21
3.3 区间消去方法
搜索区间确定之后,采用区间消去法逐步缩 短搜索区间,从而找到极小点的数值近似解。
y1←y2←Leabharlann 1 y2←y3y1←y2间点和终点
及它
们的对应函数值
a3
a2←a3
O a1←a2 a
从而形成单谷区间为一维搜
a1←a2←a1
索区间
。
2h0
h0 h0
图3-3 反向搜索的外推法
前进搜索步骤表
kh
x1
x2
x3
0 h0
初始点
初始点+ h0
1 2h0 初始点
初始点+ h0 初始点+3h0
2 4h0 初始点+ h0 初始点+3h0 初始点+7h0
,L
, xn )T
那么如何来求 f (X)的极小点呢?
基本思想:
X 0 , X1,L , X k , X k1
f ( X 0 ) f ( X1) ,L , f ( X k ) f ( X k1)
这种方法是逐次迭代的方法,在电子计算机上很容易实现,
因此它在优化设计中被广泛地采用。
2
Sk方向上的任何一点可以表示为
解:
kh
x1 y1
x2 y2
x3 y3
0.1 0 1
0.2
9 0.1 8.203 0.3 6.681
2 0.4 0.1 8.203 0.3 6.681 0.7 4.429
3 0.8 0.3 6.681 0.7 4.429 1.5 7.125
可得初始搜索区间 a, b 0.3, 1.5.
19
例3 2:用进退法确定函数f (x) 3x3 8x 9的一维优化初始区间, 给定初始点x1 1.8, 初始进退距h0 0.1.
区间的始点、中间点依次沿试探方向移动一步。
此过程一直进行到函数值再次上升时为止,即可找到搜索 区间的终点。
最后得到的三点即为搜索区间的始点、中间三点和终点, 形成函数值的“高-低-高”趋势。
单谷区间
说明:单谷区间内,函数可以有不可微点,也可以是不 连续函数;
f (x)
f (x)
0 α1
α
α3
y1
y2→y1 y3→y2
(进行换名)。经过三步最
后确定搜索间 1,3 ,
并且得到区间始点、中间点
O
a1 a2→a1 a3→a2
a
a3
和终点 1 2 3
所对
h0
h0
2h0
应的函数值 y1 y2 y3 。 图3-2 正向搜索的外推法
右图所表示的情况是:开始 是沿 的正方向试探,但 y3 由于函数值上升而改变了试 探方向,最后得到始点,中
缩小后的搜索区间。 ② 若 f (a1) f (b1) ,则取[a1,b]为
缩小后的搜索区间。
3 一维搜索方法分类
从前面的分析可知,每次缩短区间,只需要在区间 内再插入一点并计算其函数值。
而插入点的位置,可以由不同的方法来确定。就形 成了不同的一维搜索方法。
试探法
黄金分割法
一维搜索方法分类
插值法
0
α1
α3
外推方法
基本思想:对 f (x)任选一个初始点 a1 及初始步长 h ,
通过比较这两点函数值的大小,确定第三点位置,比较这 三点的函数值大小,确定是否为“高—低—高”形态。
步骤:
1)选定初始点a1,初始步长h=h0,计算y1=f(a1)和y2=f(a1+h) 2)比较y1和y2; a)如果y1>y2,向右前进,加大步长h=2h0,转(3)向前; b)如果y1<y2,向左后退, h=-2h0,将a1和a2,y1和y2的值互 换。转(3)向后探测; c)如果y1=y2,极小点在a1和a1+h之间。 3)产生新的探测点a3=a2+h,y3=f(a3);
X k1 X k ak S k
其中α是步长因子,为实系数,此时 Sk 方向上任何一点的目标函数值
为f X k k S k ,它是参数α的一元函数。那么在沿 Sk 方向求 f (X )
的极小点,这就是求一元函数 f X k k S k 的极小问题,它可表示为:
: min f X k k S k
解:
kh
x1
y1
x2
y2
x3
y3
0.1 1.8 12.096 1.9 14.377 1
-0.2 1.9 14.377 1.8 12.096 1.6 8.488
2 -0.4 1.8 12.096 1.6 8.488 1.2 4.584
3 -0.8 1.6 8.488 1.2 4.584 0.4 5.992
, 假定在搜索区间 a,b 内任取两点 a1,b1 ,且
f 1 f (a1) f 2 f (b1)
f 1 f (a1) f 2 f (b1)
(1)f(a1)<f(b1), 则极小点必在区间[a,b1]内;
f 1 f (a1) f 2 f (b1)
(1)f(a1)<f(b1), 则极小点必在区间[a,b1]内; (2)f(a1)>f(b1), 则极小点必在区间[α1,b]内;
通过函数值大小的比较,删去其中一段,使搜索区间得以 缩短。然后再在保留下来的区间上作同样的处置,如此迭 代下去,使搜索区间无限缩小,从而得到极小点的数值近 似解。
1.黄金分割法
黄金分割法是建立在区间消去法原理基础上的试探方法。
适用于[a,b]区间上的任何单谷函数求极小值问题。
对函数除要求“单谷”外不作其它要求,甚至可以不 连续。因此,这种方法的适应面相当广。 黄金分割法对插入点的要求:
求多元函数极值点,需要进行一系列的一维搜索。可见一 维搜索是优化搜索方法的基础。
求解一元函数 ( )的极小点 *,可采用解析解法, 即利用一元函数的极值条件 '( *) 0 求 * 在用函数 ( ) 的导数求 * 时,所用的函数( )
是仅以步长因子 为变量的一元函数,而不是以
设计点 x 为变量的多元函数 f (x) 。
3 8h0 初始点+3h0 初始点+7h0 初始点+15h0
后退搜索步骤表
kh
x1
0
h0
初始点
1 2h0 初始点+ h0
2
4h0
初始点
3 8h0 初始点-2h0
x2 初始点+ h0
初始点 初始点-2h0 初始点-6h0
x3
初始点-2h0 初始点-6h0 初始点-14h0
例3 1: 用进退法确定函数f (x) 3x3 8x 9的一维优化初始区间, 给定初始点x1 0, 初始进退距h0 0.1.
1
间新三段,与原来区
a
3
1
(1 )
2
2 1
间的三段具有相同的 比例分布 。
两内分点值:
2
5 1 0.618 2
1 b (b a) b 0.618(b a) 2 a (b a) a 0.618(b a)
图2-5 黄金分割法
设原区间[a,b]长度为1如下图所示,保留下来的区间
[a,α2]长度为 ,区间缩短率为 。为了保持相
同的比例分布,新插入点 α3应在
位
置上,α1 在原区间的
位置应相当于在保
留区间的 位置。故有
取方程正数解,得
α1、α2将区间分成三段
1
2
a
b
1
黄金分割法要求在 保留下来的区间内再
插入一点所形成的区
不断缩小此区间所,从而获得 k 的数值近似解。
一维搜索一般分为两大步骤: (1)确定初始搜索区间[a,b],该区间应是包括一维函数 极小点在内的单谷区间。 (2)在单谷区间[a,b]内通过缩小区间寻找极小点。
一维搜索也称直线搜索。这种方法不仅对于解决 一维最优化问题具有实际意义,而且也是求解多维最优 化问题的重要支柱。
4)比较函数值y2和y3:
a)如果y2>y3 ,加大步长h=2h,a1=a2,a2=a3,转(3)继 续探测; b)如果y2<y3,则初始区间得到: a=min[a1,a3],b=max[a1,a3],函数最小值所在区间为 [a,b]。
右图表示沿 的正向试探。
每走一步都将区间的始点、 中间点沿试探方向移动一步
为了直接利用
的函数式求解最佳步长因子 。
把
或它的简写形式
进行泰勒展开,
取到二阶项,即
将上式对 进行微分并令其等于零,给出 极值点 应满足的条件
从而求得
这里是直接利用函数 而不需要把它化成步长因
子 。的函数
。不过,此时需要计算
点处
梯度
和海赛矩阵 H 。
解析解法的缺点——需要进行求导计算。
对于函数关系复杂、求导困难或无法求导的情况,使 用解析法将是非常不便的。