机械优化设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一维搜索方法
摘要:在机械优化设计过程中将求解一维目标函数的极值点的数值迭代方法称之为一维搜索方法,在本质上可归结为单变量的函数的极小化问题。虽然优化设计中的大部分问题是多维问题,但是一维优化方法是优化方法中最基本的方法,在数值迭代过程中都要进行一维搜索,因此,一维搜索方法在优化设计的研究中占据着无可替代的地位。概括起来,可以将一维搜索方法分为两大类:一类是试探法,另一类是插值法。
关键字:优化设计一维搜索方法试探法插值法
引言
一维搜索方法是各种优化方法中最简单又最基本的方法,不仅用来解决一维目标函数的求优问题,也可以将多维优化问题转化为若干次一维优化问题来处理,同时多维优化问题每次迭代计算过程中,每前进一步都要应用一维寻优方法确定其最优步长。一维搜索方法可分为两大类,一类称作试探法,有黄金分割法(0.618法)、裴波纳契(Fibonacci)法等;另一类称作插值法或函数逼近法,属于插值法一维搜索的有二次插值法、三次插值法等。
一维搜索的试探方法
在实际的计算当中,最常用的一维试探方法黄金分割法,即0.618法。黄金分割法适用于[a ,b]区间上的任何单谷函数求极小值问题,因此,这种方法的适应面相当广。
黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间[a ,b]内适当插入两点α1,α2,并计算其函数值。α1,α2将区间分成三部分。利用单谷函数的性质,通过函数值大小的比较删去其中一段,是搜索区间得以缩短。然后再在保留下来的区间上做同样的处理,如此迭代下去是搜索区间无限缩小,从而得到极小点的数值近似值。
黄金分割法要求插入点α1,α2的位置相对区间[a ,b]两端点具有对称性,即
α1=b-λ(b-a)
α2=a+λ(b-a)
其中,λ为待定常数。
黄金分割法的搜索过程如下:
1)给出初始搜索区间[a ,b]及收敛精度,将λ赋以0.618;
2)按坐标点计算上公式计算α1和α2,并计算其对应的函数值;
3)根据区间消去法原理缩短搜索区间。为了能用原来的坐标点计算公式,进行区间名称的代换,并在保留区间中计算一个新的试验点及其函数值。
4)检查区间是否缩短到足够小和函数值收敛到足够近,如果条件不满足则返回到步骤 2);
5)如果条件满足,则取最后两试验点的平均值作为极小点的数值近似解。
例对函数f(α)=α²+2α,当给定搜索区间-3≤α≤5时,使用黄金分割法求极小点。
解:显然,此时的α=-3,b=5。首先插入两点α1和α2,由以上公式得
α1= b-λ(b-a)=5-0.618(5+3)=0.056
α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。
第一次迭代:此时插入点α1=b-λ(b-a)=1.944-0.618(1.944+3)=-1.111,α2=0.056。相应插入点的函数值y1= f(α1)=-0.987,y2= f(α2)=0.115。又因为y2 >y1,故消去区间[α2,b],则新的搜索区间为[-3,0.056]。如此迭代下去。
假定,经过5次迭代后已经满足收敛精度要求,则得α=0.5(a+b)
=0.5(-1.386-0.665)=-1.0225,相应的函数极值f(α)=-1.0007。
2 一维搜索方法的插值方法
在某一确定的区间内寻求函数的极小点位置,虽然没有函数表达式,但能够给出若干点处的函数值。可以根据这些点处的函数值,利用插值方法建立函数的某种近似表达式,进而求出函数的极小点,并用它作为原来函数极小点的最小值,这种方法称作插值方法,又叫函数逼近法。
常用的插值多项式为二次多项式,因此,常用的处理的方法有以下两种:一种是牛顿法(切线法),另一种是二次插值法(抛物线法)。
牛顿法的特点是收敛速度快。但每一点都要进行二阶导数,工作量大;当用数值微分代替二阶导数,由于舍入误差会影响迭代速度;要求初始点离极小点不太远,否则有可能使极小化发散或收敛到非极小点。
二次插值法是用于一元函数在确定的初始区间内搜索极小点的一种方法。它属于曲线拟合方法的范畴。在求解一元函数f(x)的极小点时,常常利用一个低次插值多项式p(x)来逼近原目标函数,然后求该多项式的极小点(低次多项
式的极小点比较容易计算),并以此作为目标函数f(x)的近似极小点。如果其近似的程度尚未达到所要求的精度时,可以反复使用此法,逐次拟合,直到满足给定的精度时为止。
3 一维搜索的试探方法与插值方法的异同
试探方法和插值方法都是利用区间消去法原理将初始搜索区间不断缩短,从而求得极小点的数值近似解。二者的不同之处在于试验点位置的确定方法不同。在试探方法中试验点位置是由某种给定的规律确定的,它不考虑函数值的分布;而在插值法中,试验点位置是按函数值近似分布的极小点确定的。
由于试探法只是对试验点函数值的大小进行比较而函数值本身的特性没有得到充分利用,这样使简单的函数也要进行复杂的计算;插值法则利用函数在已知试验点的值来确定新试验点的位置。故当函数具有比较好的解析性质时,插值法要比试探法简单的多。
4 总结
一维搜索是一元函数极小化的数值方法,在最优化方法中一维搜索用于寻求在给定方向上的最优步长因子和对应的一维极小点。
一维搜索分两步进行:先确定一个包含极小点的初始区间,再逐步缩小区间直到满足收敛条件,得到近似的一维极小点。缩小区间的方法是:在已知区间内选取两个插入点并比较它们的函数值,舍去其中不包含极小点的部分。
不同的中间插入点的选取方法构成了不同的一维搜索算法。按对称原则选点的算法是黄金分割法;以二次插值函数的极小点作为新的插入点的算法是二次插值法。插值函数的极小点作为新的插入点的算法是二次插值法。
黄金分割法每次缩小区间的比率都是相同的,其收敛准则为区间的总长度不大于给定的精度,因此黄金分割法需要缩小区间的次数较多,计算速度较慢,但计算精度可以无限提高。二次插值法每次缩小区间的比率都比较大,其收敛准则是中间两个点的距离不大于给定的精度,故二次插值法的计算速度一般较快,但它的计算精度会受到一定的限制。