第3章一维搜索方法PPT文档格式.ppt
《第3章一维搜索方法PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《第3章一维搜索方法PPT文档格式.ppt(68页珍藏版)》请在冰豆网上搜索。
可把或它的简写形式或它的简写形式进行泰勒展开,取进行泰勒展开,取到二阶项,即到二阶项,即将上式对将上式对进行微分并令其等于零,给出进行微分并令其等于零,给出极值点极值点应满足的条件应满足的条件从而求得从而求得机械优化设计这里是直接利用函数这里是直接利用函数而不需要把它化成步长因子而不需要把它化成步长因子。
的函数。
的函数。
不过,此时需要计算。
不过,此时需要计算点处的点处的梯度梯度和海赛矩阵和海赛矩阵。
解析解法的缺点解析解法的缺点需要进行求导计算。
需要进行求导计算。
v对于函数关系复杂、求导困难或无法求导的情况,使对于函数关系复杂、求导困难或无法求导的情况,使用解析法将是非常不便的。
用解析法将是非常不便的。
v因此,在优化设计中,求解最佳步长因子因此,在优化设计中,求解最佳步长因子主要采用主要采用数值数值解法解法,利用计算机通过反复迭代计算求得最佳步长因子的近,利用计算机通过反复迭代计算求得最佳步长因子的近似值。
似值。
数值解法的基本思路是:
首先确定数值解法的基本思路是:
首先确定所在的搜索区间,所在的搜索区间,然后根据区间消去法原理不断缩小此区间,从而获得然后根据区间消去法原理不断缩小此区间,从而获得的数值近似解。
的数值近似解。
机械优化设计一维搜索是优化搜索方法的基础。
一维搜索是优化搜索方法的基础。
*机械优化设计一维搜索方法解析法高等数学已学过,即一维搜索方法解析法高等数学已学过,即利用一维函数的极值条件:
利用一维函数的极值条件:
一维搜索也称直线搜索。
这种方法不仅对一维搜索也称直线搜索。
这种方法不仅对于解决一维最优化本身具有实际意义,而且也是于解决一维最优化本身具有实际意义,而且也是解多维最优化问题的重要支柱。
解多维最优化问题的重要支柱。
求求一维搜索方法数值解法分类一维搜索方法数值解法分类机械优化设计1.解析法:
解析法:
步步骤:
f(X(k)+S(k)沿沿S(k)方向在方向在x(k)点点进行泰行泰勒展开;
勒展开;
取二次近似:
机械优化设计对求求导,令其,令其为零。
零。
求得最求得最优步步长机械优化设计数值解法数值解法基本思路:
基本思路:
先确定先确定所在的搜索区间,然后根据区间消去法原理所在的搜索区间,然后根据区间消去法原理不断缩小此区间,从而获得不断缩小此区间,从而获得的数值近似解。
解析解法对于函数关系复杂、求导困难等情况难以解析解法对于函数关系复杂、求导困难等情况难以实现。
在实际优化设计中,数值解法的应用更为有效,实现。
在实际优化设计中,数值解法的应用更为有效,且适合计算机的运算特点。
且适合计算机的运算特点。
一维搜索也称一维搜索也称直线搜索直线搜索。
这种方法不仅对于解决一维。
这种方法不仅对于解决一维最优化问题具有实际意义,而且也是求解多维最优化问最优化问题具有实际意义,而且也是求解多维最优化问题的重要支柱。
题的重要支柱。
一维搜索一般分为两大步骤:
(1)
(1)确定初始搜索区间确定初始搜索区间aa,bb,该区间应是包括一维函数,该区间应是包括一维函数极小点在内的极小点在内的单谷区间单谷区间。
(2)
(2)在单谷区间在单谷区间a,ba,b内通过缩小区间寻找极小点。
内通过缩小区间寻找极小点。
机械优化设计11、确定搜索区间的外推法、确定搜索区间的外推法在给定区间内仅有一个谷值(或有唯一的极小点)的在给定区间内仅有一个谷值(或有唯一的极小点)的函数称为函数称为单谷函数单谷函数,其区间称为,其区间称为单谷区间。
单谷区间。
函数值:
“大大小小大大”图形:
图形:
“高高低低高高”单谷区间中一定能求得一个极小点。
单谷区间中一定能求得一个极小点。
机械优化设计v从从开始,以初始步长开始,以初始步长向前试探。
向前试探。
如果函数值上升,则步长变号,即改变试探方向。
如果函数值下降,则维持原来的试探方向,并将步长加倍。
区间的始点、中间点依次沿试探方向移动一步。
此过程一直进行到函数值再次上升时为止,即可找到搜索区此过程一直进行到函数值再次上升时为止,即可找到搜索区间的终点。
间的终点。
最后得到的三点即为搜索区间的始点、中间三点和终点,形最后得到的三点即为搜索区间的始点、中间三点和终点,形成函数值的成函数值的“高低高高低高”趋势。
趋势。
单谷区间机械优化设计f(x)0130f(x)31说明:
说明:
单谷区间内,函数可以有不可微点,也单谷区间内,函数可以有不可微点,也可以是不连续函数;
可以是不连续函数;
机械优化设计外推方法外推方法外推方法外推方法基本思想:
基本思想:
对对任选一个初始点任选一个初始点及初始步长及初始步长,通过比较这两点函数值的大小,确定第三点位置,比较这通过比较这两点函数值的大小,确定第三点位置,比较这三点的函数值大小,确定是否为三点的函数值大小,确定是否为“高高低低高高”形态。
形态。
步骤:
11)选定初始点)选定初始点aa11,初始步长,初始步长h=hh=h00,计算,计算yy11=f(a=f(a11)和和yy22=f(a=f(a11+h)+h)22)比较)比较yy11和和yy22;
aa)如果)如果yy11yy22,向右前进,加大步长,向右前进,加大步长h=2hh=2h00,转(,转(33)向前;
)向前;
bb)如果)如果yy11yyy33,加大步长,加大步长h=2hh=2h,aa11=a=a22,a,a22=a=a33,转(转(33)继)继续探测;
续探测;
bb)如果)如果yy22yy33,则初始区间得到:
,则初始区间得到:
a=minaa=mina11,a,a33,b=maxa,b=maxa11,a,a33,函数最小值所在区间为,函数最小值所在区间为a,ba,b。
机械优化设计v右图表示沿右图表示沿的正向试的正向试探。
每走一步都将区间的始探。
每走一步都将区间的始点、中间点沿试探方向移动点、中间点沿试探方向移动一步(进行换名)。
经过三一步(进行换名)。
经过三步最后确定搜索间步最后确定搜索间,并且得到区间始点、中间,并且得到区间始点、中间点和终点点和终点所对所对应的函数值应的函数值。
y1y3y2y2y1a3a2a2a1a1Oaa3h0h02h0图图3-23-2正向搜索的外推法正向搜索的外推法机械优化设计v右图所表示的情况是:
开右图所表示的情况是:
开始是沿始是沿的正方向试探,的正方向试探,但由于函数值上升而改变了但由于函数值上升而改变了试探方向,最后得到始点,试探方向,最后得到始点,中间点和终点中间点和终点及它们的对应函数值及它们的对应函数值,从而形成单谷区间为一维,从而形成单谷区间为一维搜索区间搜索区间。
y1y2a2a3a1a2a1Oaa32h0h0h0y3y1y2y1y2y3a1a2图图3-33-3反向搜索的外推法反向搜索的外推法机械优化设计机械优化设计khx1x2x30h0初始点初始点+h012h0初始点初始点+h0初始点+3h024h0初始点+h0初始点+3h0初始点+7h038h0初始点+3h0初始点+7h0初始点+15h0前进搜索步骤表前进搜索步骤表机械优化设计khx1x2x30h0初始点初始点+h012h0初始点+h0初始点初始点-2h024h0初始点初始点-2h0初始点-6h038h0初始点-2h0初始点-6h0初始点-14h0后退搜索步骤表后退搜索步骤表机械优化设计khx1y1x2y2x3y300.10.2090.18.2030.36.68110.40.18.2030.36.6810.74.42920.80.36.6810.74.4291.57.125机械优化设计khx1y1x2y2x3y300.1-0.21.812.0961.914.3771.914.3771.812.0961.68.4881-0.41.812.0961.68.4881.24.5842-0.81.68.4881.24.5840.45.992机械优化设计22、区间消去法原理、区间消去法原理基本思想:
,搜索区间确定之后搜索区间确定之后,采用区间消去法逐步缩短,采用区间消去法逐步缩短搜索区间,从而找到极小点的数值近似解。
搜索区间,从而找到极小点的数值近似解。
在搜索区间在搜索区间内任取两点内任取两点且且计算其函数值得如下计算其函数值得如下于是将有下列三种可能情形:
于是将有下列三种可能情形:
机械优化设计v
(1)f(a1)f(b1),则极小点必在区间则极小点必在区间1,b内内;
v(3)f(a1)=f(b1),则极小点必在区间则极小点必在区间1,b1内内f(a1)f(b1)f(a1)f(b1)f(a1)f(b1)a1a1a1b1baababb1b1机械优化设计根据以上所述,只要在区间根据以上所述,只要在区间a,ba,b内取两个点,算内取两个点,算出它们的函数值并加以比较,就可以把搜索区间出它们的函数值并加以比较,就可以把搜索区间a,ba,b缩短成缩短成a,ba,b11,11,bb或或11,bb11。
对于第一种情况,我们已算出区间对于第一种情况,我们已算出区间a,ba,b11内内11点的函数值,如果要把搜索区间点的函数值,如果要把搜索区间a,ba,b11进一步缩短,只需在其内再取一点算出函数值进一步缩短,只需在其内再取一点算出函数值并与并与f
(1)加以比较,即可达到目的。
加以比较,即可达到目的。
对于第二种情况,同样只需再计算一点函数值就对于第二种情况,同样只需再计算一点函数值就可以把搜索区间继续缩短。
可以把搜索区间继续缩短。
机械优化设计v第三种情形与前面两种情形不同,因为在区间第三种情形与前面两种情形不同,因为在区间11,bb11内缺少已算出的函数值。
要想把区内缺少已算出的函数值。
要想把区间间11,bb11进一步缩短,需在其内部取两个进一步缩短,需在其内部取两个点(而不是一个点)计算出相应的函数值再加点(而不是一个点)计算出相应的函数值再加以比较才行。
以比较才行。
v如果经常发生这种情形,为了缩短搜索区间,如果经常发生这种情形,为了缩短搜索区间,需要多计算一