《机械优化设计-第三章一维优化方法.ppt》由会员分享,可在线阅读,更多相关《机械优化设计-第三章一维优化方法.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、机械优化设计机械优化设计3-1 搜索区间的确定的进退法3-2 格点法3-3 黄金分割法 3-4 二次插值法 3-5 三次插值法 第三章 一维优化方法1机械优化设计机械优化设计教学目的、要求1熟悉搜索区间的确定方法2掌握基本的一维优化方法教学重点1进退法2黄金分割法3二次插值法2机械优化设计机械优化设计当方向当方向 给定,求最佳步长给定,求最佳步长 就是求一元函数就是求一元函数:3-1 搜索区间的确定 当采用数学规划法寻求多元函数的极值点时,一般要进行一系列如下格式的迭代计算:的极值问题,这一过程被称为一维搜索。一、问题的提出3机械优化设计机械优化设计如:如:则则当当4机械优化设计机械优化设计上
2、例中,上例中,2 2)取最优步长:)取最优步长:上例中,上例中,-能使目标函数值下降的步长能使目标函数值下降的步长;1 1)取下降步长:)取下降步长:二)二)的确定方法的确定方法5机械优化设计机械优化设计二、一维搜索的步骤*区间缩短率:当该区间的长度小于预先给定的一个很小的正数 ,则可认为该区间的中点是最优点。2)将含最优点的区间不断缩小特点:高-低-高函数值:“大小大”1)确定一个包含最优点的初始搜索区间6机械优化设计机械优化设计三、确定初始单峰区间的进退法基本思想:对f(x)任选一个初始点x1及初始步长h0,通过比较这两点函数值的大小,确定第三点位置,比较这三点的函数值大小,确定是否为“高
3、低高”形态。1.试探搜索:选定初始点x1,x2=x1+h0,计算 y1f(x1),y2f(x2)(a)如y1y2,转2向右前进;(b)如y1y2,转3向左后退;h0 x1x2y1y27机械优化设计机械优化设计2.前进搜索h0 x1x2y1y2x32h0y3加大步长 h2 h,产生新点x3=x2+2h0;(a)如y2y3,令x1=x2,y1=y2;x2=x3,y2=y3;h=2h 重新构造新点x3=x2+h,并比较y2、y3的大小,直到y2y3。8机械优化设计机械优化设计3.后退搜索x3x2y3y2h0 x12h0y1令 h-h0,令x3=x1,y3=y1;x1=x2,y1=y2;x2=x3,y
4、2=y3;h=2h;产生新点x3=x2+h;(a)如y2y3,令x1=x2,y1=y2;x2=x3,y2=y3;h=2h重新构造新点x3=x2+h,并比较y2、y3的大小,直到y20h0否否初始进退距初始进退距前进计算前进计算后退计算后退计算x x1 1=x=x2 2y y1 1=y=y2 2x x2 2=x=x3 3y y2 2=y=y3 3是是否否h=-hh=-hx x3 3=x=x1 1y y3 3=y=y1 110机械优化设计机械优化设计khx1 y1x2 y2x3 y310.10.20 90.1 8.2030.3 6.68120.40.1 8.2030.3 6.6810.7 4.42
5、930.80.3 6.6810.7 4.4291.5 7.12511机械优化设计机械优化设计khx1 y1x2 y2x3 y310.1-0.21.8 12.096 1.9 14.3771.9 14.3771.8 12.0961.6 8.488 2-0.41.8 12.0961.6 8.4881.2 4.5843-0.81.6 8.4881.2 4.5840.4 5.992程序演示12机械优化设计机械优化设计 先将搜索区间分成若干等分,计算出当中的n个等分点的目标函数值.再通过比较,找出其中的最小点,则该点的两个邻近点围成缩短了的新区间。一、基本思路3-2 格点法 ab13机械优化设计机械优化设
6、计二、每轮迭代区间的缩短率1)思路简单,编程容易,宜于离散型优化问题;五、特点2)计算量大,不宜用于高维优化问题。三、迭代的终止准则四、最优解程序演示14机械优化设计机械优化设计3-3 黄金分割法一、基本思路 将区间按一定的比例缩小,且正常迭代时每缩短一次区间只需计算一次函数值。为为预先给定的误差限预先给定的误差限。2)缩短区间的总次数缩短区间的总次数1)15机械优化设计机械优化设计 已知 的单峰区间 。为了缩小区间,在 内按一定规则对称地取2个内部点 和 ,并计算 和 ,可能有两种情况:(a)极小点必定在a,x2内,令b=x2,区间缩短为a,x2(b)极小点必定在x1,b内,令a=x1,区间
7、缩短为x1,baa16机械优化设计机械优化设计令得其正根为:*关于 的证明(1)假定初始区间长度为l,则第一次区间缩短率(2)在a,x2内增加一个与x1对称的点x3,若有F(x1)f2,应加大步长继续向前探测。应加大步长继续向前探测。x3=x0+2h=0+2=2,f3=f(x3)=18由于由于f2f3,可知初始区间已经找到,即可知初始区间已经找到,即a,b=x1,x2=0,22)用黄金分割法缩小区间)用黄金分割法缩小区间 第一次缩小区间:第一次缩小区间:x1=0+0.382*(2-0)=0.764,f1=0.282 x2=0+0.618*(2-0)=1.236,f2=2.72 f10.222机
8、械优化设计机械优化设计第二次缩小区间:第二次缩小区间:令令 x2=x1=0.764,f2=f1=0.282 x1=0+0.382*(1.236-0)=0.472,f1=0.317由于由于f f1 1ff2 2,故新区间故新区间a,b=x1,b=0.472,1.236因为因为 b-a=1.236-0.472=0.7640.2,应继续缩小区间。应继续缩小区间。第三次缩小区间:第三次缩小区间:l令令 x1=x2=0.764,f1=f2=0.282l x2=0.472+0.618*(1.236-0.472)=0.944,f2=0.747l由于由于f f1 1f0.2,b-a=0.944-0.472=0
9、.4720.2,应继续缩小区间。应继续缩小区间。23机械优化设计机械优化设计 第四次缩小区间:第四次缩小区间:令令 x2=x1=0.764,f,f2 2=f=f1 1=0.282=0.282x1=0.472+0.382*(0.944-0.472)=0.652,f1=0.223由于由于f f1 1f0.2,应继续缩小区间。应继续缩小区间。第五次缩小区间:第五次缩小区间:l令令 x2=x1=0.652,f2=f1=0.223l x1=0.472+0.382*(0.764-0.472)=0.584,f1=0.262l由于由于f f1 1ff2 2,故新区间故新区间a,b=x1,b=0.584,0.7
10、64l因为因为 b-a=0.764-0.584=0.180.2,停止迭代。停止迭代。极小点与极小值:极小点与极小值:x*=0.5*(0.584+0.764)=0.674,f(x*)=0.222程序演示24机械优化设计机械优化设计3-4 二次插值法基本思想:利用目标函数在不同3点的函数值构成一个与原函数f(x)相近似的二次多项式p(x),以函数p(x)的极值点(即p(x*p)=0的根)作为目标函数f(x)的近似极值点。p(x)2pp3P1x231f31xf(x)xxf2f25机械优化设计机械优化设计一、二次多项式一、二次多项式p(x)的构成及其极小点的构成及其极小点 求出求出a a、b b后得后
11、得2 2)求系数)求系数a a和和b b1 1)求驻点)求驻点插值多项式:插值多项式:26机械优化设计机械优化设计二、缩短区间 假若f(x)本身为二次函数,则在理论上按前式一次求值就可找到最优点。若f(x)为高于二次的函数或为其他函数,可采用区间消去法逐步缩小区间。根据xp*,x2,f*和f(x2)的相互关系,分4种情况进行区间缩小。在已有的x1,x2,x3,xp*中选择新的三个点x1,x2,x3,再进行二次插值。*选点要求:x1x2f2,f2x2f2fpx3=x2f3=f2x2=xpf2=fp是是是是x1=xpf1=fp否否否否输出29机械优化设计机械优化设计三、终止判别条件三、终止判别条件
12、 采用采用点距准则点距准则(前后两个插值点的(前后两个插值点的距离不超过误差限):距离不超过误差限):第一次迭代不能判别第一次迭代不能判别,且要设置一单元且要设置一单元 存放前次所得的存放前次所得的 。30机械优化设计机械优化设计四、迭代步骤四、迭代步骤f1=f(x1),f3=f(x3)x2=0.5(x1+x3),f2=f(x2)K=0A=f1(x2-x3)+f2(x3-x1)+f3(x1-x2)计算计算xp,fp缩短区间缩短区间K=K+1xp0=xp结结 束束x2=0.5(x1+x3)f2=f(x2)是是否否(xp-x1)(x3-xp)0 xp-xp0 A=0f1f3f10 x*=xpf*=
13、fpx*=x2f*=f2是是x1=x2f1=f2是是x3=x2f3=f2是是是是否否否否否否否否给定给定 x1、x3、是是否否31机械优化设计机械优化设计)关于关于A=0的处理的处理)关于关于 的处理的处理 此时三点处在同一水平线上。区间此时三点处在同一水平线上。区间缩到很小时因计算机舍入误差引起,缩到很小时因计算机舍入误差引起,可取中间插值点输出。可取中间插值点输出。时时去掉函数值大的端点,在余下一侧中去掉函数值大的端点,在余下一侧中部加入新点部加入新点;时时此时三个插值点共线。此时三个插值点共线。32机械优化设计机械优化设计例 33 用二次插值法求函数f(x)=3x3-4x+2的极小点,给
14、定 x0=0,=0.2。解 1)确定初始区间初始区间a,b=0,2,中间点x2=1。2)用二次插值法逼近极小点相邻三点的函数值:x1=0,x2=1,x3=2;f1=2,f2=1,f3=18.代入公式:xp*0.555,fp=0.29233机械优化设计机械优化设计在新区间,相邻三点的函数值:x1=0,x2=0.555,x3=1;f1=2,f2=0.292,f3=1.xp*0.607,fp=0.243 由于fpx2,新区间a,b=x2,x3=0.555,1|xp0-xp*|=|0.555-0.607|=0.0520.2,迭代终止。xp*0.607,f*=0.243由于fpf2,xp*x2,新区间a
15、,b=a,x2=0,1|继续迭代。令xp0=xp*34机械优化设计机械优化设计l例例 3-4 用二次插值法求用二次插值法求 的极值点。的极值点。初始搜索区间初始搜索区间 ,。l解:取解:取x2点为区间点为区间x1,x3的中点,的中点,,计算计算x1,x2,x3 3点处的函数值点处的函数值f1=19,f2=-96.9375,f3=124。可见函数值满足可见函数值满足“高低高高低高”形态。形态。l 以以x1,x2,x3为插值点构造二次曲线,为插值点构造二次曲线,l求第一次近似的二次曲线求第一次近似的二次曲线p(x)的极小值点,由公式得:的极小值点,由公式得:l ,比较函数值可知比较函数值可知l这种
16、情况应消除左边区段这种情况应消除左边区段 。然后用。然后用 作为作为x1,x2,x3新新3点点,重新构造二次曲线重新构造二次曲线p(x),如此反复计算,如此反复计算,直到直到 为止。为止。35机械优化设计机械优化设计l整个迭代过程的计算结果列于表。36机械优化设计机械优化设计3-5 三次插值法一、方法概述 利用给定区间的两个端点及此两点的一阶导数信息来构造一个三次多项式,逼近最优解。二、插值多项式37机械优化设计机械优化设计如何确定待定系数A、B、C、D?38机械优化设计机械优化设计39机械优化设计机械优化设计三、插值函数的极小点由得*如何选取?因有极小,其二阶导数应大于0:应应取取“+”号号40机械优化设计机械优化设计故有四、区间缩短的方法41机械优化设计机械优化设计五、终止准则42机械优化设计机械优化设计小结1.黄金分割法、格点法,结构简单,编程方便,效率低;2.二次插值、三次插值搜索效率高,收敛速度快,编程略复杂,可靠性不高。43