优化算法.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《优化算法.ppt》由用户(saw518)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 算法
- 资源描述:
-
1、南开大学 马志斌 多维无约束最优化问题 ,其中 。这个问题的求解是指,在 中找一点 ,使得对于任意的 都有 成立。点 就是问题的全局最优点。对于问题,为了求其最优解,按最优化算法的基本思想是从一个给定的初始点 出发,通过基本迭代公式 ,按照特定的算法产生一串点列 。如果点列收敛,则该点列的极限点为问题的最优解。)(minXf1:RRfn常用无约束最优化方法nR*X)()(*XfXfnRX*X0XkkkkPtXX1kX1.最速下降法 在基本迭代公式中,每次迭代搜索方向 取为目标函数f(X)的负梯度方向即 ,而每次迭代的步长 取为最优步长,由此所确定的算法称为最速下降法。最速下降法的优点是算法简单
2、,每次迭代计算量小,占用内存量小,即使从一个不好的初始点出发,往往也能收敛到局部极小点,但它有个严重缺点就是收敛速度慢。kP)(kkXfPkt2.Newton法 如果目标函数f(X)在 上具有连续二阶偏导数,其Hesse矩阵G(X)正定并且可以表达为显式,就可以使用Newton法。设最优化问题为minf(X),其中f:二阶可导,Hesse矩阵 f(X)正定。将f(X)在 处展开成二阶泰勒公式,于是有 显然Q(X)是二次函数,特别由假设知Q(X)还是正定二次函数,所以Q(X)是凸函数且存在唯一全局极小点,为求此最小点,令 即可解得 ,亦即 。称 为从点 出发的Newton方向。从初始点开始,每一
3、轮从当前迭代点出发,沿Newton方向并取步长 的算法称为Newton法。nR1RRn)()(21)()()()()(2kkTkkTkkXXXfXXXXXfXfXQXf0)()()(2kkkXXXfXfXQ)()(12kkkXfXfXX)()(121kkkkXfXfXX)()(12kkkXfXfPkX1kt20XX Newton法收敛速度非常快,具有二次收敛的优点,但它存在下面四个严重的缺点:(1)尽管每次迭代不会使目标函数f(X)上升,但仍不能保证f(X)下降。当Hesse矩阵非正定时,Newton法的搜索就会失败。(2)对初始点要求严格。一般要求比较接近或有利于接近极值点,而这在实际计算中
4、是比较难办的。(3)在进行某次迭代时可能求不出搜索方向。由于搜索方向为 ,若目标函数在 点Hesse矩阵是奇异的,则 不存在,因而不能构成Newton方向,从而使迭代无法进行。(4)Newton方向构造困难,计算相当复杂,除了求梯度以外还需计算Hesse矩阵及其逆矩阵,占用机器内存相当大。)()(12kkkXfXfP12)(kXfkX3.修正Newton法 为了克服Newton法的缺点,人们保留选取Newton方向作为搜索方向,摒弃其步长恒为1,而用一维搜索法确定其最优步长。由此产生的算法称为修正Newton法(或阻力Newton法)。修正Newton法克服了Newton法的缺点。特别是,当迭
5、代点接近最优解时,此法具有收敛速度快的优点,对初始点的选择要求不严。但是,修正Newton法仍需要计算的目标函数的Hesse矩阵和逆矩阵,所以计算量和存贮量均很大。另外,当目标函数的Hesse矩阵在某点出现奇异时,迭代将无法进行,因此修正Newton法仍有局限性。4.共轭方向法 设 是对称正定矩阵。对于非零向量 ,若有 ,则称 和 相互A共轭或A正交的。通常,我们把从任意点 出发,依次沿某组共轭方向进行一维搜索的求解最优化问题的方法,叫做共轭方向法。一般地,在n维空间中可以找出n个相互共轭的方向,对于n元正定二次函数,从任意初始点出发,顺次沿这n个共轭方向最多做n次直线搜索就可以求得目标函数的
6、极小点。这就是共轭方向法的算法形成的基本思想。对于n元正定二次目标函数,从任意初始点出发,如果经过有限次迭代就能够求得极小点,那么这种说法称为具有二次终止性。共轭方向法是二次终止的。一般来说,具有二次终止性的算法,在用于一般函数时,收敛速度较快。2P1PnRPP21,nnRAnRX 0021APPT5.共轭梯度法 如果在共轭方向法中初始的共轭向量 恰好取为初始点 处的负梯度 ,而以下各共轭方向 由第k迭代点 处的负梯度 与已经得到的共轭向量 的线性组合来确定,即,k=0,1,n-2,那么就构成了一种具体的共轭方向法。因为每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法。
7、利用目标函数的梯度信息,可知n个共轭方向 ,由此得共轭梯度法。实际上,可以把共轭梯度法看做是最速下降法的一种改进。当令时,就变为最速下降法。共轭梯度法由于不涉及矩阵,仅仅存储向量,因而存储量小,适合于维数较高的优化问题。另外,共轭梯度法不要求精确的直线搜索。但是,不精确的直线搜索可能导致迭代出来的向量不再共轭,从而降低方法的效能。克服的办法是:重设初始点,即把经过n+1次迭代得到的 作为初始点重新迭代。0P0X)(00Xfg1kP1kX1kXkP0kkkkkPXfP)(112,2,1,0,)()(2-n,2,1,0,)()(221k1100nkXfXfkPXfPXfPkkkkkkkg6.变尺度
8、法 我们知道Newton法最突出的优点是收敛速度快,在这一点上其他算法无法比拟。因此,建议凡是Hesse矩阵比较容易求出的问题尽可能使用Newton法求解。然而Newton法还有一个严重缺陷,就是每次迭代都要计算目标函数的Hesse矩阵及其逆矩阵,当问题的维数n比较大时,计算量迅速增加,从而抵消了Newton法的优点。为此,人们开始寻找一种既可以保持Newton法收敛速度快的优点,又可以摆脱Hesse矩阵的计算,这就是变尺度法。在Newton法中,基本迭代公式 ,其中 ,。令 ,于是有 ,k=0,1,2,其中 是初始点,和 分别是目标函数f(X)在点 的梯度和Hesse矩阵。为了消除这个迭代公
9、式中的Hesse逆矩阵 ,可用某种近似矩阵 来替换它,即构造一个矩阵序列 去逼近Hesse逆矩阵序列 。此时 。为使 确实与 近似并且有容易计算的特点,必须对 附加某些条件:(1)为保证迭代公式具有下降性质,要求 中的每一个矩阵都是对称正定的。(2)要求 之间的迭代公式具有简单形式。显然 是最简单的形式了,其中 称为校正矩阵。(3)必须满足拟Newton条件。所谓拟Newton条件为kkkkPtXX11ktkkkkgGXX110XkgkGkX1kG)(kkXHH kH1kGkkkkgHXX1kHkkkEHH1kE)()(111kkkkkXXggH)()(12kkkXfXfP)(),(2kkkk
10、XfgXfGkHkH1kGkHkH7.坐标轮换法 坐标轮换法的寻优思路是:先选定一个初始点 作为第一轮搜索的始点,依次沿n个坐标轴方向进行一维搜索,每次只在一个坐标轴方向进行一维搜索,其他的(n-1)个变量保持不变。在沿第一个坐标轴方向进行一维搜索得到目标函数值的最小点(或近似最小点)后,再以此点作为始点转到第二个坐标轴方向进行一维搜索得到 ,直到沿第n个坐标轴方向搜索结束得到 为一个循环。如果 不满足收敛准则,则以 作为初始点转入下一轮循环,直到经过k次循环,获得满足收敛准则的点 ,即作为最优点 。坐标轮换法的优点是算法简单,计算量小,其缺点是计算效率低,对高维问题尤为突出。因此,坐标轮换法
11、通常用于维数较低的优化问题。0X)1(1X)2(1X)(1nX)(nkX*X)(1nX)(1nX8.单纯形法 单纯形法是利用对简单几何图形各顶点的目标函数值作相互比较,在连续改变几何图形的过程中,逐步以目标函数值较小的顶点取代目标函数值最大的顶点,从而进行求优的一种方法。以求二元函数极小点为例,说明单纯形法形成的原理。设二元函数 在 平面上取不在同一条直线上的三个点 ,和 ,并以它们为顶点构成一单纯形三角形。算出各顶点的函数值 ,比较其大小,现假定比较后有 ,这说明 点最差,点最好,点次差。为了寻找极小点,一般来说应向最差点的反对称方向进行搜索。以 记为 的中点,在 的延长线上取点 ,使 ,称
12、为 关于 的反射点。),()(21xxfXf21Oxx1X2X3X)(1Xf)(2Xf)(3Xf4X5X)()()(321XfXfXf32XX41XX1414452)(XXXXXX1X2X3X5X1X4X 算出 的函数值 ,可能出现以下几种情形:(1)这说明搜索方向正确,可进一步扩大效果,继续沿 向前搜索。这时取 ,其中为扩张因子,一般取=1.22.0。如果 ,说明扩张有利,就可以用 点代替 点构成新的单纯形 。如果 ,说明扩张不利,舍弃 ,仍以 代替 构成新的单纯形 。(2)这说明搜索方向正确,但无须扩张,以 代替 其构成新的单纯形 。(3)这表示 点走得太远,应缩回一些。若以表示压缩因子,
展开阅读全文