优化设计一维搜索方法第03章-2

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
p
f ( x p )
-65.4648 -134.5394 -146.7761 -153.1043 -154.9771 -155.6850 -155.8969
6 6 6 6 6 6 6
1.9545 3.1932 3.4952 3.7268 3.8403 3.9123 3.9501
本章结束了
牛顿法(Newton’s Method)、二次插值法(Quadratic Interpolation Method)、平分法(Bisection Method)、…
一、牛顿法
1、牛顿法工作原理 设f(x)为一个连续可微的函数,则在x0附近,该函数应该与一 个二次函数接近,即可在点x0附近用一个二次函数φ(x)来逼近函 数f(x) ,即:
f ( x) x 4 4 x 3 6 x 2 16 x 4
例2
解:取x2点为区间[x1,x3]的中点,x2 0.5 ( x1 x3 ) 2.5 , 计算x1,x2,x3 3点处的函数值f1=19,f2=-96.9375,f3=124。可 见函数值满足“高-低-高”形态。 以x1,x2,x3为插值点构造二次曲线, 求第一次近似的二次曲线p(x)的极小值点,由公式得:
b
x1 x2 f1 f2 x 2 x p * f 2 f P*
a
x3 xp* f 3 f P*
[xp,x3]
[x1,x2]
出口
[x2,x3]
[x1,xp]
7、终止准则
xP
*( k )
xP
*( k 1)

且k 2
当满足给定精度时,计算终止,并令
x*xP*(k) ,
f * f (x* )
a f2 x1 x2 c f2 x3 fP* xP* x3 x1 fP*
f2 x2
b fP*
xP*
d f2 x2
x3
fP*
x1
xP* x2
x1 xP*
x3
6、区间缩短流程图
入口 N Y
xp N
*>x
2?
Y
f2<fP*?
Y
f2*>fP*?
N
d
x1 xp* f 1 f P*
c
x3 x2 f3 f2 x 2 x p * f 2 f P*
由于fp<f2, xp* < x2, 新区间[a,b]=[a, x2]=[0, 1]
而 |x2-xp* |=1-0.555=0.445>0.2, 所以应继续迭代。
在新区间,相邻三点的函数值: x1=0, x2=0.555, x3=1;
f1=2, f2=0.292, f3=1. 可得:xp*=0.607, fp=0.243
x1=a
x 2 x* x P*
x3=b
新区间
x1 x2 x3
第一次区间缩短的方法是, 计算xp*点的函数值fp*,比较fp* 与f2,取其中较小者所对应的点 作为新的x2,以此点的左右两邻 点作为新的x1和x3,得到缩短后 的新区间[x1,x3],如图。
以后,则根据xp*相对于x2的位置,并比较fp*与 f2 进行判 断。 区间的缩短可以分为以下四种情况:
3、牛顿法的算法步骤
给定初始点x0,控制误差ε,并令k=0. 1)计算f ’(xk),f ’’(xk)。 2)求
3)若|xk+1-xk|≤ε,则求得近似解x*=xk+1,停止计算,否则转4)。 4)令k←k+1,转1)。
4、牛顿法的特点
优点:收敛速度快。 缺点:要计算函数的一阶和二阶导数,因而增加了每次迭代 的工作量。如果用数值微分计算函数的二阶导数,其舍入误差将 严重影响牛顿法的收敛速度, f ’(x)的值越小,这个问题就越严 重。 初始点选择:要求初始点选的比较好,也就是说应离极小点 不太远,否则有可能使极小化序列发散或收敛到非极小点。
1 f ( x) ( x) f ( x0 ) f '( x0 )( x x0 ) f "( x0 )( x x0 ) 2 2
用二次函数的φ(x)极小点x1作为f(x)极小点的一个近似点。根 据极值必要条件: '( x1 ) 0 即: f
'( x0 ) f "( x0 )( x1 x0 ) 0
x2 x3 f2 f1 f3 f1 即: c1 x2 x1 x3 x1
说明三个插值点位于同一条直线上,因此说明区间已经很 小,插值点非常接近,故可将x2、y2输出作为最优解。
5、区间的缩短 为求得满足收敛精度要求的 最优点,往往需要多次进行插 值计算,搜索区间不断缩短, 使xp*不断逼近原函数的极小点 x* 。
ቤተ መጻሕፍቲ ባይዱ



x 1.9545 , 比较函数值可知 p
f ( x* ) 65.4648 f ( x2 ) 96.9375 p
* x 这种情况应消除左边区段 [ x1 , x ]。然后用 p , x2 , x3 作为 x1,x2,x3新3点,重新构造二次曲线p(x),如此反复计算,直 * 到 x2 x p 为止。 * p
x2=0.5(x1 +x3)
… 计算函数值f1=f(x1)、f2=f(x2)、 f3=f(x3) 插值函数也应通过原函数曲线上的三点,即P1(x1,f1)、 P2(x2,f2)、 P3(x3,f3) 即:
p(x1)=Ax12+Bx1+C=f1
p(x2)=Ax22+Bx2+C=f2 p(x3)=Ax32+Bx3+C=f3
第四节 一维搜索的插值方法
插值方法(函数逼近法)
根据若干试验点的函数值等信息,建立目标函数的某种近似 表达式,进而求得函数的极小点,并用它作为原来函数极小点的 近似值。 与试探法的区别
确定试验点位置的方法、函数信息的利用程度 函数逼近的工具 低次多项式常被用作逼近原有函数的工具。 常见一维搜索的插值方法
代入公式:
2 2 2 2 2 2 1 ( x x ) f ( x x ) f ( x x ) f3 * 2 3 1 3 1 2 1 2 xp 2 ( x2 x3 ) f1 ( x3 x1 ) f 2 ( x1 x2 ) f 3
得: xp*=0.555,
fp=0.292
解此方程组,可得待定系数A、B、C分别为:
( x2 x3 ) f1 ( x3 x1 ) f2 ( x1 x2 ) f3 A ( x1 x2 )( x2 x3 )( x3 x1 ) 2 2 2 2 2 2 ( x2 x3 ) f1 ( x3 x1 ) f2 ( x1 x2 ) f3 B ( x1 x2 )( x2 x3 )( x3 x1 ) ( x3 x2 ) x2 x3 f1 ( x1 x3 ) x1 x3 f2 ( x2 x1 ) x1 x2 f3 C ( x1 x2 )( x2 x3 )( x3 x1 )
f3 f1 为简化算式,令 c1 x3 x1
( f2 f1 ) /( x2 x1 ) c1 c2 x2 x3
1 c1 则: x ( x1 x3 ) 2 c2
* P
注意: ( f2 f1 ) /( x2 x1 ) c1 0 若c2=0, 则 c2
8、二次插值算法流程图…
9、插值法一维搜索计算实例
例1:用二次插值法求函数f(x)=3x3-4x+2的极小点,给定 x0=0, ε=0.2。
解: 1)确定初始区间 初始区间[a,b]=[0, 2], 中间点x2=1。 2)用二次插值法逼近极小点 相邻三点x1=0, x2=1, x3=2的函数值分别为 f1=2, f2=1, f3=18。
整个迭代过程的计算结果列于表。
x2 x 0.0378 0.05
p
f ( x2 ) 155.6850 f ( x ) 155.8969 p
x x 3.9501 p
x1 1 2 3 4 5 6 7 -1.0 1.9545 2.5 3.1932 3.4952 3.7268 3.8403 表 2-2 x2 2.5 2.5 3.1932 3.4952 3.7268 3.8402 3.9123 二次插值法的计算过程 x3 x
4、插值函数极值点
令插值函数p(x)的一阶导数为0,即: p´(x)=2Ax+B=0 得p(x)极小点为 xp * = B / 2 A 代入A、B得:
2 2 2 2 2 2 1 ( x x ) f ( x x ) f ( x x * 2 3 1 3 1 2 1 2 ) f3 xp 2 ( x2 x3 ) f1 ( x3 x1 ) f2 ( x1 x2 ) f3
二、二次插值法
1、二次插值法的概念
利用原目标函数上的三个插值点,构成一个二次插值多项式, 用该多项式的最优解作为原函数最优解的近似解,逐步逼近原目 标函数的极小点,称为二次插值方法。
也称抛物线法。 2、二次插值函数的形式 p(x)=Ax2+Bx+C, 其中A、B、C为待定系数。
3、插值函数系数的求解 设一维目标函数的搜索区间为[a,b],取三点x1、x2、x3,其 中x1、x3取区间的端点,即 x 1 a , x 3 b 而x2为区间内的一个点,开始可以取区间的中点,即
由于fp<f2, xp>x2, 新区间[a,b]=[x2, b]=[0.555, 1] 因|x2-xp * |=|0.555-0.607|=0.052<0.2, 故: xp*=0.607, f*=0.243 迭代终止。
用二次插值法求下列函数的极值点。初始搜索区间为 [x1, x3]=[-1 6],ε=0.05。
f '( x0 ) 或: x1 x0 f "( x0 )
依次继续下去,可得牛顿迭代公式:
f '( xk ) xk 1 xk f "( xk )
2、牛顿法的几何解释
在 x0 处用一抛物线 φ(x) 代替曲线 f(x) ,相当于用一斜直线 φ’(x)代替曲线 f '(x) 。 这样各个近似点是通过对作f '(x)切线求得与轴的交点找到 的,所以,有时,牛顿法又称作切线法。
相关文档
最新文档