配色: 字号:
最优化方法
2012-06-21 | 阅:  转:  |  分享 
  
第1讲所列举的机械优化设计问题,都是在一定的限制条件下追求某一指标为最小,它们都属于约束优化问题。工程问题大都如此。为什么要研究无
约束优化问题???(1)、有些实际问题,其数学模型本身就是一个无约束优化问题(2)、通过熟
悉它的解法可以为研究约束优化问题打下良好的基础(3)、约束优化问题的求解可以通过一系列无约
束优化方法来达到。所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化
方法的基础无约束优化问题是:求n维设计变量使目标函数:无约束优化方法算法的基本过程是:
从选定的某初始点x(k)出发,沿着以一定规律产生的搜索方向S(k),取适当的步长a(k),逐次搜寻函数值下降的新迭代点x(
k+1),使之逐步通近最优点x可以把初始点x(k)、搜索方向S(k)、迭代步长a(k)称为优化方法算法的三要素。其
中以搜索方向S(k)更为突出和重要,它从根本上决定若一个算法的成败、收敛速率的快慢等。一个算法的搜索方向成为该优化方法的基本
标志,分析、确定搜索方向S(k)是研究优化方法的最根本的任务之一4.1梯度法根据一元函数极值的必要条件和多元复合函数求导
公式,得这一问题的目标函数f(x)的等值线为一簇椭圆。梯度法的特点:(1)理论明确,程序简单,对初始点要求不严格(2)对
一般函数而言,梯度法的收敛速度并不快,因为最速下降方向仅仅是指某点的一个局部性质(3)梯度法相邻两次搜索方向的正交性,决定了迭代
全过程的搜索路线呈锯齿状,在远离极小点时逼近速度较快,而在接近极小点时逼近速度较慢(4)梯度法的收敛速度与目标函数
的性质密切相关。对于等值线(面)为同心圆(球)的目标函数,一次搜索即可达到极小点4.2
牛顿法及其改进1、牛顿法在xk邻域内用一个二次函数来近似代替原目标函数,并将
的极小点作为对目标函数求优的下一个迭代点。经多次迭代,使之逼近目标函数的极小点。经过一
次迭代即求得极小点,函数极小值。牛顿法和阻尼牛顿法统
称为牛顿型方法。这类方法的主要缺点是每次迭代都要计算函数的二阶导数矩阵,并对该矩阵求逆。这样工作量很大。特别是矩阵求逆,当维数高时
工作量更大。4.3变尺度法2、构造尺度矩阵Ak从初始矩阵A0=I(单位矩阵)开
始,通过对公式2)BFGS算法(Broyden-Fletcher-Goldfrob-Shanno)DFP算法由于
舍入误差和一维搜索不精确,有可能导致构造矩阵的正定性遭到破坏,以至算法不稳定。BFGS算法对于维数较高问题具有更好的稳定性。例
4-3:用DFP算法求下列问题的极值:解:1)取初始点,为了按DFP法构造第一次搜寻方向d0,
需计算初始点处的梯度沿d0方向进行一维搜索,得DFP变尺度法的几点说明:★(1)、在变尺度法中对A(k)矩阵是有要求的。
因为对于极小化问题,为了使搜索方向为下降方向,需要使搜索方向
S(k)与负梯度方向的夹角为锐角,即所以A(k)必须为正定矩阵★(2)、对于对称正定矩阵A(k
)和非零向量S(1)、S(2)…S(n)★(2)、每次迭代都能使目标函数值单调下降即为算法的连续稳定性
为了提高实际计算中的稳定性,通常采用“重置”的方法,即在n次迭代后重新设置单位矩阵4.4共轭方向法1.共
轭方向设G为n×n阶实对称正定矩阵,如果有两个n维向量d0和d1满足,则称向量d0
与d1关于矩阵G共轭。如果能够选定这样的搜索方向,那么对于二元二次函数只需顺次进行d0、d1两次直线搜索就可以求到极小点x
,即有3.共轭梯度法共轭梯度法是共轭方向法中的一种,该方法中每一个共轭向量都是依赖于迭代点处的负梯度而构造出来。从x
k出发,沿负梯度方向作一维搜索:则:4.5鲍威尔方法鲍威尔(Powell)法是直接利用函数值来构造共轭方向的一种方法
梯度和等值面相垂直的性质,dj和xk,xk+1两点处的梯度gk,gk+1之间存在关系:2.基本算法二维情况描述鲍威尔
的基本算法:把二维情况的基本算法扩展到n维,则鲍威尔基本算法的要点是:在每一轮迭代中总有一个始点(第一轮的始点是
任选的初始点)和n个线性独立的搜索方向。从始点出发顺次沿n个方向作一维搜索得一终点,由始点和终点决定了一个新的搜索方向。用
这个方向替换原来n个方向中的一个,于是形成新的搜索方向组。替换的原则是去掉原方向组的第一个方向而将新方向排在原方向的最后。此外规定
,从这一轮的搜索终点出发沿新的搜索方向作一维搜索而得到的极小点,作为下一轮迭代的始点。这样就形成算法的循环。因为在迭代中的
n个搜索方向有时会变成线性相关而不能形成共轭方向。这时张不成n维空间,可能求不到极小点,所以上述基本算法有待改进。为此,要解决
两个关键问题:(1)dk+1是否较好?是否应该进入新的方向组?即方向组是否进行更新?(2)如果应该更新方向组,dk+1不一定
替换方向,而是有选择地替换某一方向。则在循环中函数下降最多的第m次迭代是这样重复迭代的结果,后
面加进去的向量都彼此对G共轭,经n轮迭代即可得到一个由n个共轭方向所组成的方向组。对于二次函次,最多n次就可找到极小点,而对一般函
数,往往要超过n次才能找到极小点(这里“n”表示设计空间的维数)。例4-5用改进的鲍威尔法求目标函数的最优解。已知初始
点[1,1]T,迭代精度以为起点,沿第二坐标轴方向e2进行一维搜索由于满足Powell条件,则淘汰函数值下降量最
大的方向e1,下一轮的基本方向组为e2,。(2)第2轮迭代计算反射点及其函数值检验终止条件实际上,前两轮迭代
的,为共轭方向,由于本例目标函数是二次函数,按共轭方向的二次收敛性,故前两轮的结果就是问题的最优解,但每一轮迭代都需要进
行n+1次迭代。(3)第3轮迭代计算此轮基本方向组为,,起始点为=,先后沿,方向,进行
一维搜索,得, 检验终止条件 故最优解 搜索方向函数梯度的
修正因子所用目标函数信息梯度法I(单位阵)一阶导数牛顿法二阶导数共轭梯度法一阶导数变尺度法
一阶导数,使(海赛矩阵的逆阵)表2无约束优化方法搜索方向之间的相互联系为一维搜索最佳步长,应满足得:,2)再
按DFP法构造点x1处的搜寻方向d1,需计算代入校正公式==第二次搜寻方向为再沿d1进行一维搜索,得为一维搜索最佳步
长,应满足,得3)判断x2是否为极值点梯度:海赛矩阵:梯度为零向量,海赛矩阵正定。可见点满足极值充要条件,因此为
极小点。当G为单位矩阵时,假设目标函数f(x)在极值点附近的二次近似函数为对二维情况任选取初始点x0沿某个下降方向d0
作一维搜索,得x1α0d0x0x1x11α1d1因为是沿d0方向搜索的最佳步长,即在点x1处函数f(
x)沿方向d0的方向导数为零。考虑到点x1处方向导数与梯度之间的关系,故有如果按最速下降法,选择负梯度方向为搜索方
向,则将发生锯齿现象。取下一次的迭代搜索方向d1直指极小点x.d2那么这样的d1方向应该满足什么条件呢?对于前
述的二次函数:有当时。x是f(x)极小点,应满足极值必要条件,故有
将等式两边同时左乘得:就是使d1直指极小点x,d1所必须满足的条件。两个向量d0和d1称为G
的共轭向量,或称d0和d1对G是共轭方向。2.共轭方向的性质性质1若非零向量系d0,d1,d2,…,dm-1是对G共轭
,则这m个向量是线性无关的。性质2在n维空间中互相共轭的非零向量的个数不超过n。性质3从任意初始点出发,顺次沿n个G
的共轭方向d0,d1,d2,…,进行一维搜索,最多经过n次迭代就可以找到的二次函数f(x)极小点。关键:新的共轭方向确定设
与dk共轭的下一个方向dk+1由dk和点xk+1的负梯度的线形组合构成,即:共轭条件:解得:令为函数的泰勒二次展开式则
上两式相减,并代入将式与式两边相乘,并应用共轭条件得:因此,已知初始点[1,1]T例题4-4求下列问题的极值
解:1)第一次沿负梯度方向搜寻计算初始点处的梯度为一维搜索最佳步长,应满足迭代精度。得:
2)第二次迭代:代入目标函数得因收敛。由从而有:对函数:基本思想:在不用导数的前提下,在迭代中逐次构造G的共轭
方向1.共轭方向的生成jjkkkdddjggk+1xxk+1设xk,xk+1为从不同点出发,沿同
一方向dj进行一维搜索而到的两个极小点.另一方面,对于上述二次函数,其xk,xk+1两点处的梯度可表示为:因而有取这说
明只要沿dj方向分别对函作两次一维搜索,得到两个极小点xk和xk+1,那么这两点的连线所给出的方向dk就是与dj一起对G共轭的方
向。1)任选一初始点x0,再选两个线性无关的向量,如坐标轴单位向量e1=[1,0]T和e2=[0,1]T作为初始搜索方向。2
)从x0出发,顺次沿e1,e1作一维搜索,得点,两点连线得一新方向d1x1x2x0oe1e2
d1d2x1用d1代替e1形成两个线性无关向量d1,e2,作为下一轮迭代的搜索方向。再从出发,沿d1作
一维搜索得点,作为下一轮迭代的初始点。x1x2x0oe1e2d1d2x13)从出发
,顺次沿e2,d1作一维搜索,得到点,两点连线得一新方向:沿d2作一维搜索得点x2.即是二维问题的极小点x
.方法的基本迭代格式包括共轭方向产生和方向替换两主要步骤。上述基本算法仅具有理论意义。3.改进的算法在鲍
威尔基本算法中,每一轮迭代都用连结始点和终点所产生出的搜索方向去替换原向量组中的第一个向量,而不管它的“好坏”,这是产生向量组线性
相关的原因所在。在改进的算法中首先判断原向量组是否需要替换。如果需要替换,还要进一步判断原向量组中哪个向量最坏,然后再用新产
生的向量替换这个最坏的向量,以保证逐次生成共轭方向。令在k次循环中()分别称为一轮迭代的始点、终点和反射点。记:相应
的方向为。为了构成共轭性好的方向组,须遵循下列准则:在k次循环中,若满足条件:和则选用新方向dk,并在第k+1迭代
中用dk替换对应于的方向。否则,仍然用原方向组进行第k+1迭代。因此。解:(1)第1轮迭代计算,
沿e1方向进行一维搜索得得确定此轮中的最大下降量及其相应方向 反射点及其函数值,检验Pow
ell条件构成新的方向沿方向一维搜索得极小点和极小值,此点为下轮迭代初始点。按点距准则检验终止条件
需进行第二轮迭代机算。此轮基本方向组为e2,,分别相当于,,起始点为=。沿e2方向进行一
维搜索得以为起点沿方向一维搜索得确定此轮中函数值最大下降量及其相应方向
检验Powell条件,淘汰函数值下降量最大的方向e2,下一轮的基本方向组应为,。构成新的方向沿方向进
行一维搜索得最优化方法1梯度法2牛顿法及其改进3变尺度法4共轭方向法5鲍威尔方法各种无约束优化
解法的区别:搜索方向的不同◆分类:(1)直接解法---不使用导数信息,如坐标轮换法、Powell法、随机搜索法、单
纯形法等(2)间接解法(解析法)---要使用导数,二阶有梯度法、共轭梯度法、,二阶以上用牛顿法搜索方向的构成问题是无约束优
化方法的关键函数的负梯度方向是函数值下降最快的方向搜索方向d取该点的负梯度方向(最速下降方向),使函数
值在该点附近的范围内下降最快为了使目标函数值沿搜索方向能够获得最大的下降值,其步长因子应取一维搜索的最佳步长。
即有在最速下降法中,相邻两个迭代点上的函数梯度相互垂直。而搜索方向就是负梯度方向,因此相邻两个搜索方向互相垂直。这就是说
在迭代点向函数极小点靠近的过程,走的是曲折的路线。形成“之”字形的锯齿现象,而且越接近极小点锯齿越细.例4-1求目标函数
的极小点。解取初始点则初始点处函数值及梯度分别为沿负梯度方向进行一维搜索,有为一维搜索最
佳步长,应满足极值必要条件算出一维搜索最佳步长第一次迭代设计点位置和函数值继续作下去,经10次迭代后,得到最优解
将上例中目标函数引
入变换y1=x1,y2=5x2则函数f(x)变为:其等值线由椭圆变成一簇
同心圆。仍从即出发进行最
速下降法寻优。此时:沿负梯度方向进行一维搜索:β为一维搜索最佳步长,可由极值条件:由从而算得一步计算后设计点的位置及其目
标函数:经变换后,只需一次迭代,就可找到最优解。这是因为经过尺度变换:等值线由椭圆变成圆。11设为的极小
点这就是多元函数求极值的牛顿法迭代公式。对于二次函数,海赛矩阵是一个常矩阵,其中各元素均为常数。因此,无论从任何点出
发,只需一步就可找到极小点例4-2求目标函数的极小点。解取初始点从牛顿法迭代公式
的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用上述牛顿迭代公式
,有时会使函数值上升2、阻尼牛顿法阻尼因子,沿牛顿方向进行一维搜索的最佳步长,由下式求得:阻尼牛顿法称序框图一般
迭代式:梯度法:牛顿法:阻尼牛顿法:梯度法与牛顿法:→变尺度法变尺度法是在牛顿法的思想上进行了重大改进的一类
方法基本思想变量的尺度变换是放大或缩小各个坐标。通过尺度变换可以把函数的偏心程度降到最低限度。例如在用最速下降
法求的极小值时,需要进行10次迭代才能达到极小点如作变换
y1=x1,y2=5x2把的尺度放大5倍,则目标函数等值线由一簇椭圆变成一簇同心圆。x2消除了函数的
偏心,用最速下降法只需一次迭代即可求得极小点。梯度法构造简单,只用到一阶偏导数,计算量小,迭代初期收敛速度快,但当迭代
到最优点附近时收敛速度很慢;牛顿法收敛很快,对于二次函数只需迭代一次便达到最优点,对非二次函数也能较快迭代到最优点,但
要计算二阶偏导数矩阵及其逆阵,对维数较高的优化问题,其计算工作和存储量都太大。能不能将两种算法的优点综合起来,扬长避短?Ak是需要构造n×n的一个对称方阵,如Ak=I,则得到梯度法;则得到阻尼牛顿法;如★当矩阵Ak不断地迭代而能很好地逼近时,就可以不再需要计算二阶导数变尺度法的关键在于尺度矩阵Ak的产生。对于二次函数:进行尺度变换在新的坐标系中,函数f(x)的二次项变为:目的:减少二次项的偏心如G是正定,则总存在矩阵Q,使得:用矩阵Q-1右乘等式两边,得:用矩阵Q左乘等式两边,得:所以上式说明:二次函数矩阵G的逆阵,可以通过尺度变换矩阵Q来求得。牛顿迭代公式:记:牛顿方向:迭代公式:A称为尺度变换矩阵在例4-2中如取求得:中修正矩阵的不断修正,在迭代中逐步逼近于因此,一旦达到最优点附近,就可望达到牛顿法的收敛速度。1)DFP法(Davidon-Fletcher-Powell)式中。取初始变尺度矩阵为单位矩阵A0=I,则第一次搜寻方向为
献花(0)
+1
(本文系春华_秋实首藏)