您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第四章_常用无约束最优化方法
CompanyLogo4.74.64.54.44.3修正Newton法共轭方向法共轭梯度法变尺度法坐标轮换法第四章常用无约束最优化方法4.24.14.8最速下降法Newton法单纯形法CompanyLogo成立.点就是问题(4.1)的全局最优点.但是,大多数最优化方法只能求到局部最优点,即在中找到一点,使得式(4.2)在的某个领域中成立.第四章常用无约束最优化法本章开始讨论多维无约束最优化问题(4.1)其中.这个问题的求解是指,在中找一点,使得对于任意的都有(4.2))(minXf1RRfn:nR*XnRX)()(*XfXf*XnR*X*XCompanyLogo这个矛盾对于实际问题来讲一般容易解决,因为根据问题的实际意义多半可以直接判定用优化方法求出的局部最优解是否为全局最优解.但在理论上这是个比较复杂的问题,本书不涉及.无约束优化方法是优化技术中极为重要和基本的内容之一.它不仅可以直接用来求解无约束优化问题,而且很多约束优化问题也常将其转化为无约束优化问题,然后用无约束优化方法来求解.另外,有些无约束优化方法只需略加处理,即可用于求解约束优化问题.CompanyLogo无约束优化理论发展较早,比较成熟,方法也很多,新的方法还在陆续出现.把这些方法归纳起来可以分成两大类:一类是仅用计算函数值所得到的信息来确定搜索方向,通常称它为直接搜索法,简称为直接法,另一类需要计算函数的一阶或二阶导数值所得到的信息来确定搜索方向,这一类方法称为间接法(或解析法).直接法不涉及导数和Hesse矩阵,适应性强,但收敛速度一般较慢;间接法收敛速度一般较快,但需计算梯度,甚至需要计算Hesse矩阵.一般的经验是,在可能求得目标函数导数的情况下还是尽可能使用间接方法;相反,在不可能求得目标函数的导数或根本不存在导数的情况下,当然就应该使用直接法.CompanyLogo一、最速下降法基本原理在基本迭代公式中,每次迭代搜索方向取为目标函数的负梯度方向,即,而每次迭代的步长取为最优步长,由此所确定的算法称为最速下降法.对于问题(4.1)为了求其最优解,按最优化算法的基本思想是从一个给定的初始点出发,通过基本迭代公式,按照特定的算法产生一串点列,如果点列收敛,则该点列的极限点为问题(4.1)的最优解.§4.1最速下降法0XkkkkPtXX1}{kXkkkkPtXX1kP)(Xf)(kkXfPktCompanyLogo为了求解问题(4.1),如图4.1所示,假定我们已经迭代了次,获得了第个迭代点.现在从出发,可选择的下降方向很多,一个非常自然的想法是沿最速下降方向(即负梯度方向)进行搜索应该是有利的,至少在邻近的范围内是这样.因此,取搜索方向为.kkkXkXkX)(kkXfP.图4.1CompanyLogo为了使目标函数在搜索方向上获得最多的下降,沿进行一维搜索,由此得到第个迭代点,即,其中步长因子按下式确定,也可记为.(4.3)显然,令就可以得到一个点列,其中是初始点,由计算者任意选定.当满足一定的条件时,由式(4.3)所产生的点列必收敛于的极小点.kP1k1kX)(1kkkkXftXXkt))((min))((kktkkkXftXfXftXf))(,(1kkkXfXlsX,2,1,0k210,,XXX0X)(Xf}{kX)(Xf*XCompanyLogo以后为书写方便,记.因此,.在不发生混淆时,再记.)()(XfXg)()(kkXfXg)()(kkkXfXggCompanyLogo已知目标函数及其梯度,终止限、和.(1)选定初始点,计算,;置.(2)作直线搜索:;计算,.(3)用终止准则检测是否满足:若满足,则打印最优解,,结束;否则,置,转(2).最速下降法算法流程如图4.2所示.二、最速下降法迭代步骤)(Xf)(Xg1230X)(00Xff)(00Xgg0k),(1kkkgXlsX)(11kkXff)(11kkXgg1kX)(1kXf1kk,CompanyLogo开始结束选定X0YX,fH准则满足)()(0000XggXff),(00gXlsX)()(XggXffggffXX000最速下降法算法流程如图所示.图4.2CompanyLogo设第次迭代点为,我们来求的表达式.对式(4.4)关于求梯度,有,(4.5)因此,.(4.6)现在从出发沿作直线搜索以确定,于是,(4.7)其中是最优步长因子.将最速下降法应用于正定二次函数(4.4)可以推出显式迭代公式.cXbAXXXfTT21)(kkX1kXXbAXXg)(bAXXggkkk)(kXkg1kXkkkkgtXX1ktCompanyLogo又因式(4.2),有,再利用式(4.5),式(4.6)和式(4.7)可得或.由此解出,代入式(4.7)中得到.(4.8)这就是最速下降法用于二次函数的显式迭代公式.0)(1kTkgXg0])([kTkkkgbgtXA0][kTkkkgAgtgkTkkTkkAggggtkkTkkTkkkgAggggXX1CompanyLogo例4.1试用最速下降法求函数的极小点.迭代两次,计算各迭代点的函数值,梯度及其模,并验证相邻两个搜索方向是正交的.设初始点为.2221214),(xxxxfTX]1,1[0CompanyLogo解与式(4.4)比较,得,梯度表达式是,由,计算出,,.因为目标函数是二次的,可以使用式(4.8),所以有,8002A212182),()(xxxxfXfTX]11[0,5141)(220xf82)(00Xfg24621.8||||0g04616.073846.08213077.0110000001gAggggXXTTCompanyLogo计算因为由此说明相邻两个搜索方向与、,与是正交的.,55385.004616.0473846.0)(221Xf,,52237.136923.047692.1)(111gXfg11076.011076.036923.047692.142500.004616.073846.01111112gAggggXXTT.,,91335.088008.022152.0)(06134.0)(2221gXfgXf10210.00000.0000TTgggg,,11gP00gP22gP11gPCompanyLogo三、最速下降法有关说明最速下降法的优点是算法简单,每次迭代计算量小,占用内存量小,即使从一个不好的初始点出发,往往也能收敛到局部极小点,但它有一个严重缺点就是收敛速度慢.图4.3沿负梯度方向函数值下降很快的说法,容易使人们产生一种错觉,认为这一定是最理想的搜索方向,沿该方向搜索时收敛速度应该很快,然而事实证明,梯度法的收敛速度并不快.特别是对于等值线(面)具有狭长深谷形状的函数,收敛速度更慢.CompanyLogo其原因是由于每次迭代后下一次搜索方向总是与前一次搜索方向相互垂直,如此继续下去就产生所谓的锯齿现象(如图4.3所示).即从直观上看,在远离极小点的地方每次迭代可能使目标函数有较大的下降,但是在接近极小点的地方,由于锯齿现象,从而导致每次迭代行进距离缩短,因而收敛速度不快.图4.3CompanyLogo§4.2Newton法如果目标函数在上具有连续的二阶偏导数,其Hesse矩阵正定并且可以表达成为显式(今后为了简便起见,记,那么可以使用下述的Newton法.这种方法一旦好用,收敛速度是很快的.它是一维搜索Newton切线法的推广.)(XfnR)(XG))()(2XfXG图4.4CompanyLogo下面具体讨论Newton法.设最优化问题为,其中二阶可导,Hesse矩阵正定.不妨设经过次迭代已获点,现将在处展成二阶泰勒公式,于是有一、Newton法基本原理为寻求收敛速度快的算法,我们考虑在应用基本迭代公式中,每轮迭代在迭代的起始点处用一个适当的二次函数来近似该点处的目标函数,由此用点指向近似二次函数极小点的方向来构造搜索方向(如图4.4所示).kkkkPtXX1kXkXkP)(minXf1RRfn:)(2XfkkX)(XfkXXCompanyLogo显然是二次函数,特别由假设知还是正定二次函数,所以是凸函数且存在唯一全局极小点.为求此极小点,令即可解得,亦即..))(()(21)()()()()(2kkTkkTkkXXXfXXXXXfXfXQXf)(XQ)(XQ)(XQ0))(()()(2kkkXXXfXfXQ)()]([12kkkXfXfXX,)()]([121kkkkXfXfXX(4.9)CompanyLogo对照基本迭代公式易知,式(4.9)中的搜索方向,步长因子.换句话说从点出发沿搜索方向并取步长即可得的极小点.因此,是直指点处近似二次函数的极小点的方向.kkkkPtXX1)()]([12kkkXfXfP1ktkX)()]([12kkkXfXfP1kt)(XQ1kX)()]([12kkkXfXfPkX)(XQCompanyLogo此时称为从点出发的Newton方向.从初始点开始,每一轮从当前迭代点出发,沿Newton方向并取步长的算法称为Newton法.)()]([12kkkXfXfPkX1ktCompanyLogo二、Newton法迭代步骤已知目标函数及其梯度,Hesse矩阵,终止限.(1)选定初始点;计算;置.(2)计算.(3)由方程解出.(4)计算.(5)判别终止准则是否满足:若满足,则打印最优解,结束;否则,置,转(2).Newton法的流程如图4.5所示.)(Xf)(Xg)(XG0X)(),(0000XggXff0k)(2kkXfGkkkgPGkP,,)(111kkkkkXffPXX)(11kkXgg1kX1kf1kkCompanyLogo开始结束选定X0N求解方程H准则满足X,f)()(0000XggXff)(0XGG0gGP)()(0XggXffPXXggffXX000Newton法的流程如图所示图4.5CompanyLogo解梯度为,Hesse矩阵为,其逆矩阵为.由迭代公式(4.13)得第1迭代点为由于此时,停止迭代得,因此,它就是极小点.例4.2试用Newton法求的极小点,初始点取为.2221214)(xxxxf,TX]1,1[0TxxXfXg]82[)()(21,8002)(XG125.0005.0)(1XG11000()()10.502000.125180XXGXgX.61100||)(||XfTXX]00[1*,CompanyLogo从上述例4.2我们看到,用Newton法求解,只经一轮迭代就得到最优解.这一结果并不是偶然的,因为从Newton方向的构造我们知道,对于正定二次函数,Newon方向就是指向其极小点的方向.因此,用Newton法解目标函数为正定二次函数的无约束最优化问题,只需一次迭代就可得最优解.CompanyLogo对于目标函数是非二次函数的非约束最优化问题,一般地说,用Newton法通过有限轮迭代并不能保证可求得最优解.但由于目标函数在最优解附近能近似于二次函数,因此当先取接近于最优解的初始点使用Newton法求解时,其收敛速度一般是快的.事实上,可以证明在初始点离最优解不远的条件下,Newton法是二次收敛的.但是当初始点选得离最优
本文标题:第四章_常用无约束最优化方法
链接地址:https://www.777doc.com/doc-3778309 .html