第三章 一维搜索(线性搜索)
合集下载
第三章一维搜索方法
y3
所以
p
a1
/
2a2
1 2
a22 a32 a2 a3
y1 y1
a32 a12 a3 a1
y2 a12 a22 y2 a1 a2
y3 y3
令
c1
y3 a3
y1 a1
c2
y2 a2
y1 a1
c1
a2 a3
则
ap
1 2
a1
a3
c1 c2
(ap a2 )h 0
(ap a2 )h 0
k 0,1, 2,...
牛顿法的几何解释:
牛顿法的计算步骤:
给定初始点 0 ,控制误差 ,并令k=0。
1)计算 f k f k
2)求
k 1
k
f k f k
3)若 ak1 ak 则求得近似解 a* ak 1 ,停止计算,
a1
a22 a32 y1 a32 a12 y2 a12 a22 a1 a2 a2 a3 a3 a1
y3
a2
a2 a3 y1 a3 a1 y2 a1 a2
a1 a2 a2 a3 a3 a1
第三章一维搜索
2019年2月18日11时21分
16
3.3 一维搜索的试探方法——0.618法
概述
在搜索区间 内适当插入两点 ,并计算其 函数值。 将区间分成三段。应用函数的单谷性 质,通过函数值大小的比较,删去其中一段,使搜索区 间得以缩短。然后再在保留下来的区间上作同样的处置, 如此迭代下去,使搜索区间无限缩小,从而得到极小点 的数值近似解。
返回
2019年2月18日11时20分 4
上页
下页 末页 结束
3.2 搜索区间的确定与区间消去法原理
欲求一元函数 首先必须先确定 的极小点 , 所在的区间。 确定搜索区间的外推法
在一维搜索时,我们假设 函数 具有如右图所示 的单谷性,即在所考虑的 区间内部,函数 有唯 一的极小点 。
为了确定极小点 所在 的区间 ,应使函数 的 值在 区间 里形成“高-低-高”趋 势。
首页
上页
下页 末页 结束
2019年2月18日11时21分
14
程序设计技巧
为了避免多计算函数值,我们把第三种情形合并到前面两种情形中去。 例如,可以把前面三种情形改为下列两种情形:
1.若
2.若
,则取
,则取
为缩短后的搜索区间。
为缩短后的搜索区间。
从上述的分析中可知,为了每次缩短区间,只需要在区间内再插 入一点并计算其函数值。如此反复进行下去,当搜索区间长度足 够小时,可用区间内的某点作为极小点的近似值。
第三章 一维搜索法
3-2 黄金分割法
黄金分割法的计算步骤: 黄金分割法的计算步骤: (1)给定初始区间 [a, b ] 和收敛精度 ε ) (2)产生中间插入点并计算其函数值 )
x1 = a + 0.382(b − a ), f1 = f ( x1 ) x2 = a + 0.618(b − a ), f 2 = f ( x2 ) 确定区间的取舍: (3)比较函数值 f1 和 f 2 ,确定区间的取舍: ) 若 f1 < f 2 ,则新区间 [a, b ] = [a, x2 ] 令 b = x2 , x2 = x1 , f 2 = f1 记 N0 = 0
2 例题:求 的极小点, 例题 求 f ( x ) = 3 x − 4 x + 2 的极小点,给定 x0 = 0 , h = 1
(1)确定初始区间 [a, b ] = [0,2] ) (2)用黄金分割法缩小区间 ) Matlab函数文件: 函数文件: 函数文件
%golden_setion_method function goldensection(a0,b0,eps) a=a0;b=b0; x1=a+0.382*(b-a);f1=f(x1); x2=a+0.618*(b-a);f2=f(x2); if f1<f2 n0=0;b=x2;x2=x1;f2=f1; else n0=1;a=x1;x1=x2;f1=f2; End
最优化方法 第三章第二讲 一维搜索
算法 3.2.2 黄金分割法
给定 a , b(a b)及 0 。
step 1 令 x2 a 0.618(b a ) , f 2 f ( x2 ) 转 step 2。
step 2 令 x1 a 0.382(b a ), f1 f ( x1 ) 转 step 3。
1 5 1 5 解得: , 故 0.618 2 2
每次迭代的试点分别为 x1 a 0.382(b a ), x2 a 0.618(b a ) 。
对于预先给定的精确度 0 ,当保留的区间长度 b a 时,停止迭代。此时可取保留区间 a, b 内任 一点作为极小点的近似值。
。
Fn1 Fn 2 1, n 2 ,3,… Fn Fn
1 2 3
5
8
13
21
试点个数 n 确定之后,区间缩短后的长度与缩短前的 长度之比(即区间缩短率)依次为 Fn1 Fn 2 3 2 1 , ,…, , , Fn Fn1 5 3 2 且有 Fn1 Fn 2 1, n 2 ,3,… Fn Fn
如果极小点位于 x1 , b 内,则包括 x 2 在内还可以有
n 1个试点,因此 b x1 Ln1 。
因为 Ln b a (b x1 ) ( x1 a ) Ln1 Ln 2 , Ln Ln1 Ln 2 。 所以
3一维搜索
5 1 0.618 2
黄金分割法的搜索过程是: 1)给出初始搜索区间 a, b 及收敛精度 ,将 赋以0.618。 f 2)计算1和 2,并计算起对应的函数值 f 1 , 2 。 3)根据期间消去法原理缩短搜索区间,为了能用 原来的坐标点计算公式,需进行区间名称的代换,并 在保留区间中计算一个新的试验点及其函数值。 4)检查区间是否缩短到足够小和函数值收敛到足 够近,如果条件不满足则返回到步骤2。 5)如果条件满足,则取最后两试验点的平均值 作为极小点的数值近似解。
一点二次插值法(切线法)
利用函数在单谷区间中的一个点:
P a0 a1 a2 2
P 1 a0 a11 a212 f 1 P1 a1 2a21 f 1 P1 2a2 f 1
a1 f 1 p 1 2a2 f 1
为便于计算,可写为:
1 c1 p 1 3 2 c2 y3 y1 c1 3 1 c2
y2 y1 2 1 c1
2 3
a)
b)
h对应于求初始搜索空间 过程中所形成的最后步长, h的正负对应于沿a正向或 负向进行的一维搜索
f 3) a1 f b1 ,如图3-5c所示,这时极小点 应在 a1 , b1 内。
a)
b)
图3-5
黄金分割法的搜索过程是: 1)给出初始搜索区间 a, b 及收敛精度 ,将 赋以0.618。 f 2)计算1和 2,并计算起对应的函数值 f 1 , 2 。 3)根据期间消去法原理缩短搜索区间,为了能用 原来的坐标点计算公式,需进行区间名称的代换,并 在保留区间中计算一个新的试验点及其函数值。 4)检查区间是否缩短到足够小和函数值收敛到足 够近,如果条件不满足则返回到步骤2。 5)如果条件满足,则取最后两试验点的平均值 作为极小点的数值近似解。
一点二次插值法(切线法)
利用函数在单谷区间中的一个点:
P a0 a1 a2 2
P 1 a0 a11 a212 f 1 P1 a1 2a21 f 1 P1 2a2 f 1
a1 f 1 p 1 2a2 f 1
为便于计算,可写为:
1 c1 p 1 3 2 c2 y3 y1 c1 3 1 c2
y2 y1 2 1 c1
2 3
a)
b)
h对应于求初始搜索空间 过程中所形成的最后步长, h的正负对应于沿a正向或 负向进行的一维搜索
f 3) a1 f b1 ,如图3-5c所示,这时极小点 应在 a1 , b1 内。
a)
b)
图3-5
工程优化 第三章 一维搜索
3 2 3 2 ( x ) 12 x 48 x 60 x 24 12( x 4 x 5x 2) . 解 * (0) 24, (3) 48 [0,3] ( x ) x 又 ,故在 内有 的极小点 ,取 a 0, b 3 , 0.1 .
最优化问题的求解步骤: 1 x (1)选取初始点 ,令 k 1 ; k k f ( x ) d x ( 2 )构造搜索方向 . 依照一定的规则,构造 在点 k d 处的下降方向或可行下降方向作为搜索方向 ; k k (3)确定搜索步长 k .以 x 为起点沿搜索方向 d 选取适当步 长 k ,使得目标函数值有某种意义的下降,通常使 f ( x k k d k ) f ( x k ) . k 1 k k k 1 x x d x (4)求出新的迭代点 ,令 k
* [ a , b ] ( x ) x 设 在 上是单峰函数,最小点为 .在 (a, b) 内任取
两点 x1 和 x2 ,且 x1 x2 ,并计算 ( x1 ), ( x2 ) .0.618 法使用的主要 规则如下: “去坏留好原则” 、对称原则、等比收缩原则 主要公式:
x1 a b x2 x1 a (1 w)(b a) a 0.382(b a) x2 a b x1 a w(b a) a 0.618(b a)
2. 终止准则
最优化问题的求解步骤: 1 x (1)选取初始点 ,令 k 1 ; k k f ( x ) d x ( 2 )构造搜索方向 . 依照一定的规则,构造 在点 k d 处的下降方向或可行下降方向作为搜索方向 ; k k (3)确定搜索步长 k .以 x 为起点沿搜索方向 d 选取适当步 长 k ,使得目标函数值有某种意义的下降,通常使 f ( x k k d k ) f ( x k ) . k 1 k k k 1 x x d x (4)求出新的迭代点 ,令 k
* [ a , b ] ( x ) x 设 在 上是单峰函数,最小点为 .在 (a, b) 内任取
两点 x1 和 x2 ,且 x1 x2 ,并计算 ( x1 ), ( x2 ) .0.618 法使用的主要 规则如下: “去坏留好原则” 、对称原则、等比收缩原则 主要公式:
x1 a b x2 x1 a (1 w)(b a) a 0.382(b a) x2 a b x1 a w(b a) a 0.618(b a)
2. 终止准则
《现代机械优化设计》第3章 一维搜索
b 2a
ax12 bx1 c f1 ax22 bx2 c f2 ax32 bx3 c f3
a f1(x2 x3) f2(x3 x1) f3(x1 x2) (x1 x2 )(x2 x3)(x3 x1) b f1(x22 x32 ) f2 (x32 x12 ) f3(x12 x22 ) (x1 x2 )(x2 x3)(x3 x1)
前进计算
x1 x2 x
x3 x2 x1 x3 x2 x1
后退计算
二) 迭代步骤
给定x1、h0 h=h0
初始进退距
f
y1 y2 y3
h= -h
x3=x1 y3=y1
y1=f(x1)、x2=x1+h、y2=f(x2)
否
y1≥y2
是
h=2h
x1 x2 x3
x
x1 x2 x3
前进计算
f
x1=x2 y1=y2 x2=x3 y2=y3
得
2B 4B2 12 AC B B2 3AC
xa
6A
3A
* 如何选取?
因有极小,其二阶导数应大于0:
p'' (x) 6 A(x a) 2B 0 xa B
3A
应取“+”号
故有
xp a B
B2 3AC a
3A
B
C B2 3AC
03 一维搜索方法
1
☼一维优化一般可分为两大步骤: ➢确定初始搜索区间[a,b]; 该区间应为包含一维优化目标函数的极小点在内的单 峰区间。 ➢在搜索区间[a,b]内寻找极小点。
优化算法的基本迭代公式:
X k1 X k k S k , k 0,1, 2,
当迭代初始点 X k 及搜索方向S k 确定后,迭代所得的新点 X k1 取
第3章 一维搜索方法 3. 1 引言
一维无约束优化问题:
min F()
求解一维目标函数 f () 的极小点和极小值的数值 迭代方法即为一维搜索方法。
☼ 一维优化方法是优化方法中最基本的方法。该类 方法不仅用来解决一维目标函数的求优问题,而且更 常用于多维优化问题中在既定方向上寻求最优步长的 一维搜索。
a=min( α1 ,α3 ), b=max ( α1 ,α3 )
h=2h, α3= α2+h, 计算f(α3)
N
作代换 α1 =α2 , α2 =α3 , f(α1)= f(α2) , f(α2)= f(α3) , α3= α2+h, 计算f(α3)
结束
10
进退法确定搜索区间的步骤:
2. 方法二 (1) 给定初始点α0和初始步长h0; (2) 令α1 =α0, h=h0, α2 =α1+h, 得: 两试点α1 ,α2 ,计算 f1 =f(α1), f2 =f(α2);
☼一维优化一般可分为两大步骤: ➢确定初始搜索区间[a,b]; 该区间应为包含一维优化目标函数的极小点在内的单 峰区间。 ➢在搜索区间[a,b]内寻找极小点。
优化算法的基本迭代公式:
X k1 X k k S k , k 0,1, 2,
当迭代初始点 X k 及搜索方向S k 确定后,迭代所得的新点 X k1 取
第3章 一维搜索方法 3. 1 引言
一维无约束优化问题:
min F()
求解一维目标函数 f () 的极小点和极小值的数值 迭代方法即为一维搜索方法。
☼ 一维优化方法是优化方法中最基本的方法。该类 方法不仅用来解决一维目标函数的求优问题,而且更 常用于多维优化问题中在既定方向上寻求最优步长的 一维搜索。
a=min( α1 ,α3 ), b=max ( α1 ,α3 )
h=2h, α3= α2+h, 计算f(α3)
N
作代换 α1 =α2 , α2 =α3 , f(α1)= f(α2) , f(α2)= f(α3) , α3= α2+h, 计算f(α3)
结束
10
进退法确定搜索区间的步骤:
2. 方法二 (1) 给定初始点α0和初始步长h0; (2) 令α1 =α0, h=h0, α2 =α1+h, 得: 两试点α1 ,α2 ,计算 f1 =f(α1), f2 =f(α2);
第三节 一维搜索方法
之上的点,用以控制 t k 不太小.
Goldstein法-步骤
第 1 步 给定满足 0 m 1 m 2 1 的正数 m 1 , m 2 ,增大探索点系数 1 ; 初始探索点 t 0 ( 0 , ) (或 ( 0 , t max ] )。令 a 0 : 0 , b 0 : (或 t max ), k : 0 第 2 步 计算 ( t k ) 若 ( t k ) ( 0 ) m 1 t k ( 0 ) ,进行第 3 步;否则,令 a k 1 : a k , b k 1 : t k 转第 4 步; 第 3 步 若 ( t k ) ( 0 ) m 2 t k ( 0 ) ,停止迭代,输出 t k 。否则,令
( t 0 ) 5 (0) m1t 0 (0) 0.2
令
a1 : a 0 0 b1 : t 0 2
由于 b1 2 ,选取新探索点
t1 a 1 B1 2 1
并计算 ( t1 ) 0 ,因为有
( t1 ) 0 (0) m 1t1 (0) 0.6
• Goldstein法
a
b
c
d
Goldstein法思想
预先指定两个数 m 1 , m 2 满足 0 m 1 m 2 1 ,用一下两个式子限定 t k
( t k ) (0) m 1t k (0)
第三章 一维搜索(线性搜索)
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);
第三章 一维搜索方法
3.1 概述 3.2 确定初始区间 3.3 缩小区间 3.4 黄金分割法(0.618法) 3.5 一维搜索的插值方法
第3章 一维搜索方法
3.1 概述
3.1.1 一维问题是多维问题的基础
求目标函数 f (X)的极小点,从理论上说需要求解方程:
f (X ) 0
其中
X
(
x 1
,
x2
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]。
第三章 一维搜索
定 理 若 目 标 函 数 f (x) 具 有 连 续 的 偏 导 数 , 并 设
xk1 xk kd k ,其中 xk1 是从 xk 出发沿搜索方向 d k 作一维精
确搜索得到的,则 f (xk1)T d k 0
(3.5)
证明:设() f (xk d k ) ,对 求导数,有
2) 试探.令 xk1 xk hk ,计算k1 (xk1) ; 3) 比较目标函数值.若k1 k (即搜索成功),转 4);否
则,转 5); 4) 加速探索.令 hk1 hk , x xk , xk xk1,k k1, k k 1, 转 2); 5) 反向探索.若 k 0 ,转换搜索方向,令 hk hk , x xk1 , 转 2);否则,停止迭代.令 a min{x, xk1},b max{x, xk1} ,输 出搜索区间[a,b] ,计算结束.
(3)确定搜索步长 k .以 xk 为起点沿搜索方向 d k 选取适当步 长 k ,使得目标函数值有某种意义的下降,通常使
f (xk kd k ) f (xk ) . (4)求出新的迭代点 xk1 ,令 xk1 xk kd k (5)检验终止条件.判定 xk1 是否满足终止条件,若满足, 停止迭代,输出近似最优解 xk1 ;否则,令 k : k 1,转(2).
第三节 0.618 法(黄金分割法)
第3章一维搜索方法综述
(k )
机械优化设计
解析解法对于函数关系复杂、求导困难等情况难以 实现。在实际优化设计中,数值解法的应用更为有效, 且适合计算机的运算特点。 数值解法基本思路: 先确定 k 所在的搜索区间,然后根据区间消去法原理 不断缩小此区间,从而获得 k 的数值近似解。 一维搜索一般分为两大步骤: (1)确定初始搜索区间[a,b],该区间应是包括一维函数 极小点在内的单谷区间。 (2)在单谷区间[a,b]内通过缩小区间寻找极小点。 一维搜索也称直线搜索。这种方法不仅对于解决一 维最优化问题具有实际意义,而且也是求解多维最优化 问题的重要支柱。
机械优化设计
这里是直接利用函数 而不需要把它化成步长因 子 。的函数 。不过,此时需要计算 点 处的梯度 和海赛矩阵 。 解析解法的缺点——需要进行求导计算。 对于函数关系复杂、求导困难或无法求导的情况,使 用解析法将是非常不便的。 因此,在优化设计中,求解最佳步长因子 主要采用数值 解法,利用计算机通过反复迭代计算求得最佳步长因子的近 似值。 数值解法的基本思路是:首先确定 所在的搜索区间, 然后根据区间消去法原理不断缩小此区间,从而获得 的数值近似解。
机械优化设计
§第二节 搜索区间的确定与区间消去法原理
1、确定搜索区间的外推法
在给定区间内仅有一个谷值(或有唯一的极小点)的 函数称为单谷函数,其区间称为单谷区间。 函数值:“大—小—大” 图形:“高—低—高” 单谷区间中一定能求得一个极小点。
机械优化设计
解析解法对于函数关系复杂、求导困难等情况难以 实现。在实际优化设计中,数值解法的应用更为有效, 且适合计算机的运算特点。 数值解法基本思路: 先确定 k 所在的搜索区间,然后根据区间消去法原理 不断缩小此区间,从而获得 k 的数值近似解。 一维搜索一般分为两大步骤: (1)确定初始搜索区间[a,b],该区间应是包括一维函数 极小点在内的单谷区间。 (2)在单谷区间[a,b]内通过缩小区间寻找极小点。 一维搜索也称直线搜索。这种方法不仅对于解决一 维最优化问题具有实际意义,而且也是求解多维最优化 问题的重要支柱。
机械优化设计
这里是直接利用函数 而不需要把它化成步长因 子 。的函数 。不过,此时需要计算 点 处的梯度 和海赛矩阵 。 解析解法的缺点——需要进行求导计算。 对于函数关系复杂、求导困难或无法求导的情况,使 用解析法将是非常不便的。 因此,在优化设计中,求解最佳步长因子 主要采用数值 解法,利用计算机通过反复迭代计算求得最佳步长因子的近 似值。 数值解法的基本思路是:首先确定 所在的搜索区间, 然后根据区间消去法原理不断缩小此区间,从而获得 的数值近似解。
机械优化设计
§第二节 搜索区间的确定与区间消去法原理
1、确定搜索区间的外推法
在给定区间内仅有一个谷值(或有唯一的极小点)的 函数称为单谷函数,其区间称为单谷区间。 函数值:“大—小—大” 图形:“高—低—高” 单谷区间中一定能求得一个极小点。
第03章一维搜索方法
。
0.01
2 a (b a) 3 0.618 (5 3) 1.944
y1 f (1 ) 0.115, y2 f ( 2 ) 7.667
y2 y1 , 所以消去区间 [ 2 , b] 则新的搜索区间 [a, b]
的端点 a 3 不变,而端点 b 2 1.944
x
的函数值为该方向上的最小。
( k ) 为变量的一维优化问题的极值: 即求
f (x
( k 1)
) f ( x d ) min f ( x d )
(k ) * (k ) (k ) (k ) (k )
*
一维搜索最优化方法:
1)解析法:利用一元函数的极值条件
f ( ) 0 求
*
f ( * ) 1.0007
解析解法可求得其精确解
* 1, f ( * ) 1
第三章 第三节 一维搜索的试探方法
第四节 一维搜索的插值方法
插值法是利用若干试验点的函数值,利用插值方法建 立函数的某种近似表达式,并求出该函数的极小点,用 作原来函数极小点的近似值,逐步逼近极值点。
(k =0,1,2,…)
牛顿法的几何意义如图3—9所示:
第三章 第四节 一维搜索的插值方法
*应为 f ( ) 0 的根,过 [ 0 , f ( 0 )] 点的切线方程 为 f ( 0 ) f ( 0 )( 0 ) ,由 0 ,得解 1 ,再由 [1, f (1 )] 作切线与横坐标的交点 2 ...
0.01
2 a (b a) 3 0.618 (5 3) 1.944
y1 f (1 ) 0.115, y2 f ( 2 ) 7.667
y2 y1 , 所以消去区间 [ 2 , b] 则新的搜索区间 [a, b]
的端点 a 3 不变,而端点 b 2 1.944
x
的函数值为该方向上的最小。
( k ) 为变量的一维优化问题的极值: 即求
f (x
( k 1)
) f ( x d ) min f ( x d )
(k ) * (k ) (k ) (k ) (k )
*
一维搜索最优化方法:
1)解析法:利用一元函数的极值条件
f ( ) 0 求
*
f ( * ) 1.0007
解析解法可求得其精确解
* 1, f ( * ) 1
第三章 第三节 一维搜索的试探方法
第四节 一维搜索的插值方法
插值法是利用若干试验点的函数值,利用插值方法建 立函数的某种近似表达式,并求出该函数的极小点,用 作原来函数极小点的近似值,逐步逼近极值点。
(k =0,1,2,…)
牛顿法的几何意义如图3—9所示:
第三章 第四节 一维搜索的插值方法
*应为 f ( ) 0 的根,过 [ 0 , f ( 0 )] 点的切线方程 为 f ( 0 ) f ( 0 )( 0 ) ,由 0 ,得解 1 ,再由 [1, f (1 )] 作切线与横坐标的交点 2 ...
04 第三章 第四节一维搜索
情况一
f(a)>f(x1)<f(x2)<f(b), 则x*必在[a, x2]内。
f(b) f(a) f(x2 ) f(x1 )
a
x* x1 x2 b
因而应舍去[x2,b],保留 [a,x2]并继续在[a,x2]内任 选一点,再对比与决定新 一轮区间的取舍;
情况二
f(a)>f(x1)>f(x2 )<f(b),
例: 试用0.618求min f ( x) x 10 x 36, 已知 =0.2,0 x 20 。
2
ln 0.2 5 解:①初始区间 :[0,20] ,搜索点数: n 1 ln 0.618
f (0) 36, f (20) 236
②第一次搜索要在区间[0,20]中找两点: 左点: x1 0.382(20 0) 0 7.64, f ( x1 ) 17.67 右点:x2 0.618(20 0) 0 12.36, f ( x2 ) 65.17
1 b0
令线段 a0b0 1, a0 a1 b1b0 0.382 即 a0 b1 a1b0 0.618 ,若经计算f(a1)与f(b1)后,知 f (a1)<f (b1),则保留[a0,b1]区间。此时 a0 a1 0.382 0.618 a0 b1 0.618 即a1在新区间地位等同于目前b1在原区间地位,于是在新 区间[a0,b1]中只需取点b2,使 a0b2 0.382a0b1 ,便又可 进行下一步计算。该法每迭代一次,使区间缩小到原来 的0.618倍,故又称0.618法。
第三节 一维搜索方法
第1步 第2步
第3步 第4步
第5步
确定单谷区间[a,b], 确定单谷区间[a,b],给定最后区间精度 ε > 0 ; [a,b] 计算最初两个探索点 t 1 = a + 0.382(b − a ) = b − 0.618( b − a ) t 2 = a + 0.618(b − a ) 并计算 ϕ 1 = ϕ ( t 1 ) , ϕ 2 = ϕ ( t 2 ) ; 若 ϕ 1 ≤ ϕ 2 ,转第 4 步。否则转第 5 步; 停止迭代, 若 t 2 − a ≤ ε ,停止迭代,输出 t 1 。否则令 b := t 2 , t 2 := t 1 , t 1 := b − 0.618(b − a ) , ϕ 2 := ϕ 1 ,计算 ϕ 1 = ϕ ( t 1 ) ,转第 3 步; 停止迭代, 若 b − t 1 ≤ ε ,停止迭代,输出 t 2 。否则令 a := t 1 , t 1 := t 2 , t 2 := a + 0.618(b − a ) , ϕ 1 := ϕ 2 ,计算 ϕ 2 = ϕ ( t 2 ) ,转第 3 步。
ϕ (tk ) ≥ ϕ (0) + m2tkϕ ′(0)
之下的点, (4.3.10)式所限定的 tk 是使 ϕ (tk ) 位于直线 y = ϕ (0) + m1ϕ ′(0)t 之下的点, 4.3.10) 用 以 控 制 tk 不 太 大 ; 4.3.11 ) 用 于 限 定 tk 使 ϕ (tk ) 位 于 直 线 (
第二部分:03第三章 一维搜索方法
2013/9/24
第 2 部分:优化设计
第 2 部分:优化设计
第三章 一维搜索方法
第三章 一维搜索方法
主要内容:
一维搜索的基本思想 0.618法(黄金分割法) 二次插值法 实例分析
一、一维搜索的基本思想
在多维优化问题的迭代过程中,每次迭代寻优下一 点(新点)xk+1时,根据基本迭代公式可知:需在已经 确定的搜索方向Sk上求一个步长因子,并使这新点的目 标函数值下降最多,即f(xk+1)<f(xk)。 这样的步长因子k就是一维搜索的最优化步长因子, 求k值的方法叫做一维搜索最优化方法。 求解最优步长因子实质上是求单变量k的极值问题。 也就是寻求一个最优步长因子k使f(xk+kSk)沿给定方向 Sk为极小。这个过程叫做一维最优化搜索。
昆明理工大学机电工程学院
一、一维搜索的基本思想
一维最优化搜索是要在单峰区间求单峰函数的极小 点,通常分两步进行: 确定一个最小值所在的区间; 求出该区间内的最优步长因子k值。 确定搜索区间的外推法 在一维搜索时,假设函数f()具有单谷性,即在所考 虑的区间内部,函数f()有唯一得极小点*。为了确定 极小点*所在得区间[a, b],应使函数f()在[a, b]区间形 f() 成“高-低-高”趋势。 对于一般情况,分正向 搜索和反向搜索的外推法。
根据某些点处的某些信息,如函数值、一阶导数、 二次插值法、三次插值法等 二阶导数等,构造一个插值函数来逼近原来函数,用 插值函数的极小点作为区间的插入点。
第 2 部分:优化设计
第 2 部分:优化设计
第三章 一维搜索方法
第三章 一维搜索方法
主要内容:
一维搜索的基本思想 0.618法(黄金分割法) 二次插值法 实例分析
一、一维搜索的基本思想
在多维优化问题的迭代过程中,每次迭代寻优下一 点(新点)xk+1时,根据基本迭代公式可知:需在已经 确定的搜索方向Sk上求一个步长因子,并使这新点的目 标函数值下降最多,即f(xk+1)<f(xk)。 这样的步长因子k就是一维搜索的最优化步长因子, 求k值的方法叫做一维搜索最优化方法。 求解最优步长因子实质上是求单变量k的极值问题。 也就是寻求一个最优步长因子k使f(xk+kSk)沿给定方向 Sk为极小。这个过程叫做一维最优化搜索。
昆明理工大学机电工程学院
一、一维搜索的基本思想
一维最优化搜索是要在单峰区间求单峰函数的极小 点,通常分两步进行: 确定一个最小值所在的区间; 求出该区间内的最优步长因子k值。 确定搜索区间的外推法 在一维搜索时,假设函数f()具有单谷性,即在所考 虑的区间内部,函数f()有唯一得极小点*。为了确定 极小点*所在得区间[a, b],应使函数f()在[a, b]区间形 f() 成“高-低-高”趋势。 对于一般情况,分正向 搜索和反向搜索的外推法。
根据某些点处的某些信息,如函数值、一阶导数、 二次插值法、三次插值法等 二阶导数等,构造一个插值函数来逼近原来函数,用 插值函数的极小点作为区间的插入点。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 。
解析解法的缺点——需要进行求导计算。
对于函数关系复杂、求导困难或无法求导的情况,使 用解析法将是非常不便的。
第三章 一维搜索方法
3.1 概述 3.2 确定初始区间 3.3 缩小区间 3.4 黄金分割法(0.618法) 3.5 一维搜索的插值方法
第3章 一维搜索方法
3.1 概述
3.1.1 一维问题是多维问题的基础
求目标函数 f (X)的极小点,从理论上说需要求解方程:
f (X ) 0
其中
X
(
x 1
,
x2
,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方向上的任何一点可以表示为
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]为
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
可得初始搜索区间 a, b 0.4, 1.6.
运用进退法确定出初始搜索区间[a,b]后,便可采用一维优化方 法来求出函数f(x)在区间内的最优点x*。
20
2. 程序框图
初始进退距
给定x1、h0 h=h0
h=-h
x3=x1 y3=y1
y1=f(x1)、x2=x1+h、y2=f(x2)
否
y1≥y2
是
二次插值法
3.4 黄金分割法(0.618法)
1. 黄金分割法 2. 黄金分割法的搜索过程
3.4 黄金分割法(0.618法)
概述
在实际计算中,最常用的一维搜索试探方法是黄金分割法, 又称作0.618法。我们可以通过学习黄金分割法来了解一 维搜索试探方法的基本思想。
在搜索区间 [a,b]内适当插入两点α1、α2,并计算其函 数值。α1、α2将区间分成三段。应用函数的单谷性质,
, 假定在搜索区间 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]内;
解:
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
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 黄金分割法
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 区间消去方法
搜索区间确定之后,采用区间消去法逐步缩 短搜索区间,从而找到极小点的数值近似解。
④ 求得最优步长
(k)
[
[f ( S ( k ) ]T
x(k ) G(
)]T x(k
S ))
(k
S
) (k
)
解析解法对于函数关系复杂、求导困难等情况难以 实现。在实际优化设计中,数值解法的应用更为有效, 且适合计算机的运算特点。 数值解法基本思路:
先确定 k 在的搜索区间,然后根据区间消去法原理
不断缩小此区间所,从而获得 k 的数值近似解。
一维搜索一般分为两大步骤: (1)确定初始搜索区间[a,b],该区间应是包括一维函数 极小点在内的单谷区间。 (2)在单谷区间[a,b]内通过缩小区间寻找极小点。
一维搜索也称直线搜索。这种方法不仅对于解决 一维最优化问题具有实际意义,而且也是求解多维最优 化问题的重要支柱。
3.2 确定初始区间
1、确定搜索区间的外推法
在给定区间内仅有一个谷值(或有唯一的极小点)的函 数称为单谷函数,其区间称为单谷区间。
函数值:“大—小—大” 图形:“高—低—高” 单谷区间中一定能求得一个极小点。
从
开始,以初始步长 向前试探。
如果函数值上升,则步长变号,即改变试探方向。
如果函数值下降,则维持原来的试探方向,并将步长加倍。
区间的始点、中间点依次沿试探方向移动一步。
此过程一直进行到函数值再次上升时为止,即可找到搜索 区间的终点。
最后得到的三点即为搜索区间的始点、中间三点和终点, 形成函数值的“高-低-高”趋势。
单谷区间
说明:单谷区间内,函数可以有不可微点,也可以是不 连续函数;
f (x)
f (x)
0 α1
α
α3
因此,在优化设计中,求解最佳步长因子 主要采用数 值解法,利用计算机通过反复迭代计算求得最佳步长因子 的近似值。
数值解法的基本思路是:首先确定 所在的搜索区间, 然后根据区间消去法原理不断缩小此区间,从而获得 的数 值近似解。
f ( xk1) f ( xk k sk ) (k )
解析法:
① f(X(k) + αS(k) ) 沿S(k) 方向在x(k) 点泰勒展开;
通过函数值大小的比较,删去其中一段,使搜索区间得以 缩短。然后再在保留下来的区间上作同样的处置,如此迭 代下去,使搜索区间无限缩小,从而得到极小点的数值近 似解。
1.黄金分割法
黄金分割法是建立在区间消去法原理基础上的试探方法。
适用于[a,b]区间上的任何单谷函数求极小值问题。
对函数除要求“单谷”外不作其它要求,甚至可以不 连续。因此,这种方法的适应面相当广。 黄金分割法对插入点的要求:
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.
缩小后的搜索区间。 ② 若 f (a1) f (b1) ,则取[a1,b]为
缩小后的搜索区间。
3 一维搜索方法分类
从前面的分析可知,每次缩短区间,只需要在区间 内再插入一点并计算其函数值。
而插入点的位置,可以由不同的方法来确定。就形 成了不同的一维搜索方法。
试探法
黄金分割法
一维搜索方法分类
插值法
这个过程称为一维搜索过程。
如: F(X ) x12 x22 8x1 12x2 52
当
X 0 0 0T , d0 1 1T
X
0 0
1 1
则 F x12 x22 8x1 12x2 52 22 20 52
X k1 X k S k (k 0,1,2 )
一维搜索示意图
3.1.2 的确定方法
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);
1)要求插入点α1、α2 的位置相对于区间[a,b]两端
点具有对称性,即
1 b (b a) 2 a (b a)
其中 为待定常数。
2)黄金分割法还要求在保留下来的区间内再插入一点所 形成的区间新三段,与原来区间的三段具有相同的比 例分布。
即每次缩小所得的新区间长度与缩小前区间长度 之比(即:区间收缩率)为定值。
y1
y2→y1 y3→y2
(进行换名)。经过三步最
后确定搜索间 1,3 ,
并且得到区间始点、中间点
O
a1 a2→a1 a3→a2
a
a3
和终点 1 2 3
Hale Waihona Puke Baidu
所对
h0
h0
2h0
应的函数值 y1 y2 y3 。 图3-2 正向搜索的外推法
右图所表示的情况是:开始 是沿 的正方向试探,但 y3 由于函数值上升而改变了试 探方向,最后得到始点,中
② 取二次近似:
f x(k) S (k) f (x(k) ) [f (x(k) )]T S (k) 1 2[S (k) ]T G(x(k) )S (k) 2
③ 对α求导,令其为零。 d f (x(k ) S (k ) ) 0 d
[f ( x(k ) )]T S (k ) [S (k ) ]T G( x(k ) )S (k ) 0
求多元函数极值点,需要进行一系列的一维搜索。可见一 维搜索是优化搜索方法的基础。
求解一元函数 ( )的极小点 *,可采用解析解法, 即利用一元函数的极值条件 '( *) 0 求 * 在用函数 ( ) 的导数求 * 时,所用的函数( )
是仅以步长因子 为变量的一元函数,而不是以
设计点 x 为变量的多元函数 f (x) 。
y1←y2←y1 y2←y3
y1←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
设原区间[a,b]长度为1如下图所示,保留下来的区间
[a,α2]长度为 ,区间缩短率为 。为了保持相
同的比例分布,新插入点 α3应在
位
置上,α1 在原区间的
位置应相当于在保
留区间的 位置。故有
取方程正数解,得
α1、α2将区间分成三段
1
2
a
b
1
黄金分割法要求在 保留下来的区间内再
插入一点所形成的区
解:
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.