机械优化设计--第四章(第6次课).pptx
《机械优化设计--第四章(第6次课).pptx》由会员分享,可在线阅读,更多相关《机械优化设计--第四章(第6次课).pptx(94页珍藏版)》请在冰豆网上搜索。
机械优化设计20162016年年99月月上上海海海海事事大大学学SHANGHAIMARITIMEUNIVERSITYSHANGHAIMARITIMEUNIVERSITY何军良何军良11:
491上海海事大学上海海事大学ShanghaiMaritimeUniversity19092009200419121958机械优化设计中的几个问题优化设计概述优化设计的数学基础2目录CONTENTS一维搜索方法无约束优化方法线性规划约束优化方法11:
49第四章无约束优化方法概述01最速下降法牛顿型方法共轭方向与共轭方向法020304坐标轮换法05共轭梯度法变尺度法鲍威尔方法060708单形替换法0911:
49311:
49变尺度法也称拟牛顿法,它是基于牛顿法的思想而又作了重大改进的一类方法。
我们所介绍的变尺度法是由Davidon于1959年提出又经Fletcher和Powell加以发展和完善的一种变尺度法,故称为DFP变尺度法。
4.7变尺度法能否克服各自的缺点,综合发挥其优点?
2)阻尼牛顿法1)梯度法*简单,开始时目标函数值下降较快,但越来越慢。
*目标函数值在最优点附近时收敛快,但要用到二阶导数和矩阵求逆。
(1)问题提出411:
494.7变尺度法
(2)基本思想n变量的尺度变换是放大或缩小各个坐标。
通过尺度变换可以把函数的偏心程度降到最低限度。
n这种算法仅用到梯度,不必计算海赛阵及其逆矩阵,但又能使搜索方向逐渐逼近牛顿方向,具有较快的收敛速度。
n尺度变换技巧能显著地改进几乎所有极小化方法的收敛性质。
例如在用最速下降法求极小值时,需要进行10次迭代才能达到极小点。
梯度法:
牛顿法:
511:
494.7变尺度法
(2)基本思想进行尺度变换在新的坐标系中,函数f(x)的二次项变为:
目的:
减少二次项的偏心如G是正定,则总存在矩阵Q,使得:
对于二次函数:
611:
494.7变尺度法
(2)基本思想用矩阵Q-1右乘等式两边,得:
用矩阵Q左乘等式两边,得:
所以上式说明:
二次函数矩阵G的逆阵,可以通过尺度变换矩阵来求得。
711:
49(3)变尺度法的搜索方向:
S(k)=-Akgk,称为拟牛顿方向。
(1)Ak为构造的nn阶对称矩阵,它随迭代点的位置变化而变化,对梯度起到改变尺度的作用,又称为变尺度矩阵。
n若Ak=I,上式为梯度法的迭代公式n若Ak=Hk-1,上式为阻尼牛顿法的迭代公式(3)迭代公式4.7变尺度法
(2)当矩阵Ak不断地迭代而能很好地逼近时,就可以不再需要计算二阶导数。
变尺度法的关键在于尺度矩阵Ak的产生。
811:
49拟牛顿方向S(k)=-Akgk必须具有下降性、收敛性和计算的简便性。
n下降性要求变尺度矩阵为对阵正定矩阵;n收敛性要求变尺度矩阵逐渐逼近Hk-1,满足拟牛顿条件;n简便性希望变尺度矩阵有如下递推形式:
Ak+1=Ak+Ak(4)变尺度矩阵的产生4.7变尺度法911:
49下降性:
要求S(k)与-gk之间的夹角小于90o,即:
-S(k)Tgk0将拟牛顿方向带入上式,得:
-S(k)Tgk=AkgkTgk=gkTAkgk0所以只要Ak为对阵正定矩阵,S(k)就是下降方向。
(4)变尺度矩阵的产生4.7变尺度法1011:
49变尺度矩阵是随迭代过程的推进而逐次改变的,因而它是一种矩阵序列选取初始矩阵A0,并以梯度方向快速收敛,通常取单位矩阵E作为初始矩阵,即A0=E。
而后的矩阵均是在前一构造矩阵的基础上校正得到,令推广到一般的k+1次构造矩阵Ak,k=1,2,A1=A0+A0Ak+1=Ak+Ak矩阵序列的矩阵序列的基本迭代式基本迭代式Ak称为校正矩阵(4)变尺度矩阵的产生4.7变尺度法简便性:
1111:
49n构造矩阵Ak+1应该满足一个重要条件拟牛顿条件n变尺度法采用构造矩阵来代替牛顿法中海赛矩阵的逆阵,主要目的之一就是为了避免计算二阶偏导数和逆矩阵,力图仅用梯度和其他一些易于获得的信息来确定迭代方向,因此,拟牛顿条件是关于海赛矩阵和梯度之间的关系。
(5)拟牛顿条件4.7变尺度法1211:
49设F(x)为一般形式n阶的目标函数,并具有连续的一、二阶偏导。
在点x(k)处的二次泰勒近似展开该近似二次函数的梯度为:
式中,若令,则有(5)拟牛顿条件4.7变尺度法1311:
49上式中,x(k+1)x(k)称之为位移矢量,并简化书写:
而gk+1-gk是前后迭代点的梯度矢量差,简化书写:
由以上三式得:
海赛矩阵与梯度间的关系式(5)拟牛顿条件4.7变尺度法1411:
49按照变尺度法产生构造矩阵的递推思想,期望能够借助前一次迭代的某些结果来计算下一个构造矩阵,因此可以根据上式,用第k+1次构造矩阵Ak+1近似代替Hk-1,则上式即产生构造矩阵Ak+1应满足的一个重要条件,通常称为拟牛顿条件或拟牛顿方程(5)拟牛顿条件4.7变尺度法1511:
49(6)变尺度矩阵的构造4.7变尺度法拟牛顿条件可写成或DFP算法中的校正矩阵Ak取为下列形式:
待定系数保证Ak对称1611:
49(6)变尺度矩阵的构造4.7变尺度法将
(2)代入
(1):
两边对比得:
取则:
回代到
(2)得:
DFP变尺度法的迭代式为:
1711:
49由上式可以看出,构造矩阵Ak+1的确定取决于第k次迭代中的下列信息:
上次的构造矩阵:
Ak迭代点的位移矢量:
迭代点的梯度增量:
因此,不必作二阶导数矩阵及其求逆的计算(6)变尺度矩阵的构造4.7变尺度法1811:
49nDFP算法的收敛速度介于梯度法和牛顿法之间。
nDFP法具有二次收敛性(搜索方向的共轭性)。
对于二次函数F(x),DFP法所构成的搜索方向序列S(0),S
(1),S
(2),为一组关于海赛矩阵H共轭的矢量,即DFP法属于共轭方向法,具有二次收敛性。
在任何情况下,这种方法对于二次目标函数都将在n步内搜索到目标函数的最优点,而且最后的构造矩阵An必等于海赛矩阵H。
(7)DFP变尺度算法的特点4.7变尺度法1911:
49(7)DFP变尺度算法的特点4.7变尺度法n关于算法的稳定性,数值计算稳定性较差。
1.算法的稳定性是指算法的每次迭代都能使目标函数值单调下降。
2.构造矩阵正定性从理论上肯定了DFP法的稳定性,但实际上,由于每次迭代的一维搜索只能具有一定的精确度,且存在机器运算的舍入误差,构造矩阵的正定性仍然有可能遭到破坏;3.为了提高实际计算中的稳定性,一方面应对一维搜索提出较高的精度要求,另一方面,当发生破坏正定性时,将构造矩阵重置为单位矩阵E重新开始,通常采用的简单办法是在n次迭代后重置单位矩阵2011:
491.任取初始点x(0)给出迭代精度.计算初始点精度及其模。
若转步骤,否则进行下一步2.置k0,取AkE3.计算迭代方向,沿S(k)方向做一维搜索求优化步长a(k),使确定下一个迭代点(8)DFP变尺度算法的计算步骤4.7变尺度法2111:
494.计算x(k+1)的梯度gk+1及其模,若则转步骤,否则转下一步5.计算位移矢量和梯度矢量按DFP公式计算构造矩阵6.置kk+1。
若kn(n为优化问题的维数)返回步骤,否则返回步骤7.输出最优解(x*,F*),终止计算(8)DFP变尺度算法的计算步骤4.7变尺度法2211:
49DFP算法流程图k=n?
入口入口出口出口+-+-2311:
49解:
1)取初始点,为了按DFP法构造第一次搜寻方向d0,需计算初始点处的梯度取初始变尺度矩阵为单位矩阵A0=I,则第一次搜寻方向为例:
用DFP算法求下列问题的极值:
24(9)DFP算例4.7变尺度法11:
49一维搜索最佳步长应满足得:
2)再按DFP法构造点x1处的搜寻方向d1,需计算沿d0方向进行一维搜索,得(9)DFP算例4.7变尺度法2511:
49代入校正公式=(9)DFP算例4.7变尺度法2611:
49=第二次搜寻方向为再沿d1进行一维搜索,得(9)DFP算例4.7变尺度法2711:
49为一维搜索最佳步长,应满足,得3)判断x2是否为极值点梯度:
海赛矩阵:
(9)DFP算例4.7变尺度法梯度为零向量,海赛矩阵正定。
可见满足极值充要条件,因此为极小点。
2811:
49例:
用DFP变尺度法求目标函数的最优解。
已知初始点,迭代精度=0.01解:
第一次迭代:
(9)DFP算例4.7变尺度法2911:
49式中最优步长应用一维搜索方法在计算机上求解。
为了说明问题,又因为此例目标函数简单,所以用解析法来求:
为求极小,将上式对求导,并令f()=0得:
于是:
(9)DFP算例4.7变尺度法3011:
49第二次迭代:
确定x
(1)点的拟牛顿方向S
(1)按DFP公式计算构造矩阵(9)DFP算例4.7变尺度法3111:
49将数据代入得则拟牛顿方向为沿S
(1)方向进行一维搜索求最优点x
(2)求一维搜索步长(9)DFP算例4.7变尺度法3211:
49则:
迭代即可结束,输出优化解(9)DFP算例4.7变尺度法3311:
49讨论:
该题的理论最优点是。
按DFP搜索方向为共轭的性质,本题为二元二次函数在两次迭代后即达到最优点,本题计算结果稍有误差,这是由于一维搜索的不精确性产生的。
若在已知A1的基础上,再用DFP公式递推下一次的构造矩阵,可计算得而计算目标函数海赛矩阵的逆阵有(9)DFP算例4.7变尺度法3411:
49DFP算法由于舍入误差和一维搜索的不精确,有可能导致Ak奇异,而使数值稳定性方面不够理想。
所以1970年,Broyden、Fletcher、Goldstein、Shanno等人提出一种更稳定的算法,称为BFGS算法。
其校正公式为:
(9)BFGS变尺度法4.7变尺度法3511:
4936
(1)概述4.8鲍威尔方法基本思想:
基于坐标轮换法,不用求导数,在迭代中逐次产生共轭搜索方向。
收敛效果:
对于正定(有极小值)二次函数,经过n轮迭代后求得极小点;对于非二次函数,一般也具有较高的收敛速度。
Powell法是求解无约束优化问题的最好方法。
将其与惩罚函数法结合,可以处理有约束优化问题。
11:
49为两个极小点根据梯度与等值面之间关系可知
(2)共轭方向的生成4.8鲍威尔方法3711:
49对于二次函数,两点处的梯度可表示为代入到公式:
(2)共轭方向的生成4.8鲍威尔方法3811:
49结论:
从不同的点出发沿某一方向分别对函数作两次一维搜索,得到两个极小点,那么这两个极小点的连线方向与该方向对G共轭
(2)共轭方向的生成4.8鲍威尔方法3911:
49(3)基本算法4.8鲍威尔方法鲍威尔基本算法的搜索过程(二维)1)任选一初始点x0,再选两个线性无关的向量,如坐标轴单位向量e1=1,0T和e2=0,1T作为初始搜索方向。
x1x2x0oe1e2d1d2x*14011:
49(3)基本算法4.8鲍威尔方法鲍威尔基本算法的搜索过程(二维)2)从x0出发,顺次沿e1,e2作一维搜索,得点,两点连线得一新方向d1x1x2x0oe1e2d1d2x*14111:
49(3)基本算法4.8鲍威尔方法鲍威尔基本算法的搜索过程(二维)用d1代替e1形成两个线性无关向量d1,e2,作为下一轮迭代的搜索方向。
再从出发,沿d1作一维搜索得点,作为下一轮迭代的初始点。
3)从出发,e2,d1作一维搜索,得到点,两点连线得一新方向:
x1x2x0ooe1e2d1d2x*1从沿d2作一维搜索得点x2。
即是二维问题的极小点x*。
4211:
49(3)基本算法4.8鲍威尔方法鲍威尔基本算法的搜索过程(二维)方法的基本迭代格式包括共轭方向产生和方向替换两主要步骤。
4311:
49(3)基本算法4.8鲍威尔方法鲍威尔基本算法的搜索过程(三维)441.第一轮基本方向组取单位坐标矢量系e1、e2、e3、en,沿这些方向依次作一维搜索,然后将始末两点相连作为新生方向。
2.再沿新生方向作一维搜索,完成第一轮的迭代。
以后每轮的基本方向组是将上轮的第一个方向淘汰,上轮的新生方向补入本轮的最后而构成:
d2k,d3k,dnk,dk11:
49(4)基本算法示例4.8鲍威尔方法4511:
49(4)基本算法示