当前位置:文档之家› 第三章 一维搜索(线性搜索)

第三章 一维搜索(线性搜索)



的正向试探。
y1 y2→y1 y3→y2
每走一步都将区间的始点、
中间点沿试探方向移动一步
(进行换名)。经过三步最 后确定搜索间 1 , 3
1 2 3

O
并且得到区间始点、中间点 和终点 所对
a1 h0
a2→a1 a3→a2 h0 2h0
a
a3
应的函数值 y1 y2 y3
3)产生新的探测点a3=a2+h,y3=f(a3);
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]。
右图表示沿
图3-3 反向搜索的外推法
前进搜索步骤表 k 0 1 2 3 h h0 2h0 4h0 8h0 x1 初始点 初始点 初始点+ h0 初始点+3h0 x2 初始点+ h0 初始点+ h0 初始点+3h0 初始点+7h0 初始点+3h0 初始点+7h0 初始点+15h0 x3
后退搜索步骤表 k
0
h
x3=x2+h、y3=f(x3)
f
y1
y2
y3
x1 x2 x3
x
x1 x2 x3
前进计算
f
x1=x2 y1=y2 x2=x3 y2=y3 a=x3、b=x1

y2≥y3 否 是 a=x1、b=x3

h>0
x1 x2 x3 x2 x1 x3 x2 x1
后退计算
x
结束
21
3.3 区间消去方法
搜索区间确定之后,采用区间消去法逐步缩
解:
k 1 2
h 0.1 0.2 0.4
x1 0 0.1
y1 9 8.203
x2 0.1 0.3
y2 8.203
x3 0.3
y3 6.681 4.429
6.681
0.7
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) 3x 3 8 x 9的一维优化初始区间 , 给定初始点x1 1.8, 初始进退距h0 0.1.

若 f (a1 ) f (b1 ) , 则取[a,b1]为
缩小后的搜索区间。 若 f (a1 ) f (b1 ) ,则取[a1,b]为

缩小后的搜索区间。
3 一维搜索方法分类
从前面的分析可知,每次缩短区间,只需要在区间
内再插入一点并计算其函数值。
而插入点的位置,可以由不同的方法来确定。就形 成了不同的一维搜索方法。
* ( ) 求解一元函数 的极小点 ,可采用解析解法,
' * ( )0 即利用一元函数的极值条件
求 *
在用函数 ( ) 的导数求 * 设计点 x 为变量的多元函数
时,所用的函数 ( )
是仅以步长因子 为变量的一元函数,而不是以
f ( x)

为了直接利用 的函数式求解最佳步长因子 。 把 或它的简写形式 进行泰勒展开, 取到二阶项,即
单谷区间
说明:单谷区间内,函数可以有不可微点,也可以是不 连续函数;
f (x)
f (x)
0
α1
α3
α
0
α1选一个初始点 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之间。
数值解法的基本思路是:首先确定 所在的搜索区间, 然后根据区间消去法原理不断缩小此区间,从而获得 的数 值近似解。
f ( x ) f ( x k s ) ( k )
k 1 k k
解析法:
① ②
f x
f(X(k) + αS(k) ) 沿S(k) 方向在x(k) 点泰勒展开; 取二次近似:
2 F x12 x2 8 x1 12 x2 52 2 2 20 52
X k 1 X k S k (k 0,1,2 )
一维搜索示意图
3.1.2 的确定方法
求多元函数极值点,需要进行一系列的一维搜索。可见一 维搜索是优化搜索方法的基础。
一维搜索一般分为两大步骤: (1)确定初始搜索区间[a,b],该区间应是包括一维函数 极小点在内的单谷区间。 (2)在单谷区间[a,b]内通过缩小区间寻找极小点。
一维搜索也称直线搜索。这种方法不仅对于解决 一维最优化问题具有实际意义,而且也是求解多维最优 化问题的重要支柱。
3.2 确定初始区间
1、确定搜索区间的外推法
解:
k 1 2 3
h 0.1 -0.2 -0.4 -0.8
x1
y1
x2 1.9 1.8 1.6 1.2
y2 14.377 12.096 8.488 4.584
x3 1.6 1.2 0.4
y3 8.488 4.584 5.992
1.8 12.096 1.9 14.377 1.8 12.096 1.6 8.488

图3-2 正向搜索的外推法
右图所表示的情况是:开始 是沿 的正方向试探,但
y1←y2 y3 y1←y2←y1 y2←y3
由于函数值上升而改变了试
探方向,最后得到始点,中
间点和终点 们的对应函数值 从而形成单谷区间为一维搜 索区间 。
2h0
及它
a3 a2←a3
O
a1←a2
a
a1←a2←a1
h0 h0
其中
为待定常数。
1 b (b a) 2 a (b a)
2)黄金分割法还要求在保留下来的区间内再插入一点所 形成的区间新三段,与原来区间的三段具有相同的比 例分布。 即每次缩小所得的新区间长度与缩小前区间长度 之比(即:区间收缩率)为定值。
第三章
3.1 概述
一维搜索方法
3.2 确定初始区间
3.3 缩小区间 3.4 黄金分割法(0.618法) 3.5 一维搜索的插值方法
第3章 一维搜索方法
3.1 概述
3.1.1 一维问题是多维问题的基础
求目标函数 f (X)的极小点,从理论上说需要求解方程:
f ( X ) 0
基本思想:
其中
X ( x1 , x2 ,, xn )T
④ 求得最优步长
(k )
[f ( x ( k ) )]T S ( k ) [ S ( k ) ]T G ( x ( k ) ) S ( k )
解析解法对于函数关系复杂、求导困难等情况难以 实现。在实际优化设计中,数值解法的应用更为有效, 且适合计算机的运算特点。 数值解法基本思路: 先确定 k 在的搜索区间,然后根据区间消去法原理 不断缩小此区间所,从而获得 k 的数值近似解。
f 2 f (b1 )
(1)f(a1)<f(b1), 则极小点必在区间[a,b1]内; (2)f(a1)>f(b1), 则极小点必在区间[α 1,b]内;
f 1 f (a1 )
f 2 f (b1 )
(1)f(a1)<f(b1), 则极小点必在区间[a,b1]内; (2)f(a1)>f(b1), 则极小点必在区间[α 1,b]内; (3)f(a1)=f(b1), 则极小点必在区间[α 1,b1]内 可以总结为两种情况:
a, b 0.4, 1.6. 可得初始搜索区间
运用进退法确定出初始搜索区间[a,b]后,便可采用一维优化方 法来求出函数f(x)在区间内的最优点x*。
20
2. 程序框图
初始进退距
给定x1、h0 h=h0 y1=f(x1)、x2=x1+h、y2=f(x2) h=-h x3=x1 y3=y1 否 y1≥y2 是 h=2h
试探法 一维搜索方法分类
插值法
黄金分割法
二次插值法
3.4 黄金分割法(0.618法)
1. 黄金分割法 2. 黄金分割法的搜索过程
3.4 黄金分割法(0.618法)
概述
在实际计算中,最常用的一维搜索试探方法是黄金分割法, 又称作0.618法。我们可以通过学习黄金分割法来了解一 维搜索试探方法的基本思想。 在搜索区间 [a,b]内适当插入两点α 1、α 2,并计算其函 数值。α 1、α 2将区间分成三段。应用函数的单谷性质, 通过函数值大小的比较,删去其中一段,使搜索区间得以 缩短。然后再在保留下来的区间上作同样的处置,如此迭 代下去,使搜索区间无限缩小,从而得到极小点的数值近 似解。
h0
x1 初始点
x2 初始点+ h0
x3
1
2h0
初始点+ h0
初始点 初始点-2h0
初始点
初始点-2h0 初始点-6h0
初始点-2h0
初始点-6h0 初始点-14h0
2
4h0
3
8h0
例3 1 : 用进退法确定函数 f ( x) 3x 3 8 x 9的一维优化初始区间 , 给定初始点x1 0, 初始进退距h0 0.1.
相关主题