关于无约束最优化问题的基本研究_第1页
关于无约束最优化问题的基本研究_第2页
关于无约束最优化问题的基本研究_第3页
关于无约束最优化问题的基本研究_第4页
关于无约束最优化问题的基本研究_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于无约束最优化问题求解的基本研究指导老师: 学生姓名: 所在学院: 数理学院专业名称: 数学与应用数学班 级: 数 091学 号: 日 期: 2013 年 6 月摘要无约束最优化计算方法是数值计算领域中十分活跃的研究课题之一,快速的求解无约束最优化问题,除了自身的重要性以外,还体现在它也构成一些约束最优化问题的子问题.因此,对于无约束最优化问题,如何快速有效的求解一直是优化工作者十分关心的事.论文研究求解无约束最优化问题的几种主要的导数法,并且讨论了这些方法的优缺点以及每种方法的适用范围.同事论文分别对每种方法给出了具体实例,并对例子进行了 matlab 软件实现关键词:无约束最优化; 导数法 ;极值 ; 精确度 AbstractUnconstrained optimization numerical calculation method is very active in the field of research, one of the most rapidly solving unconstrained optimization problems, in addition to its importance, is also reflected in some of the constraints that it also constitutes a sub-problem of optimization problems. Therefore, for unconstrained optimization problems, how fast and effective solution has been optimized workers very concerned about. Thesis for solving unconstrained optimization problems several major derivative method, and discusses the advantages and disadvantages of these methods as well as the scope of application of each method. Colleagues papers for each method were specific examples are given, and examples of the matlab softwareKeyword:Unconstrained optimization Derivative method Extremum Accuracy目录摘要 .- 1 -ABSTRACT.- 2 -第一章 绪论 .- 4 -1.1 研究背景与意义 .- 4 -1.2 问题阐述及简介 .- 4 -第二章 无约束问题的极值条件 .- 6 -2.1. 无约束极值问题 .- 6 -2.2 必要条件 .- 6 -2.3 二阶充分条件 .- 8 -2.4 充要条件 .- 8 -第三章 求解无约束最优化的几种主要方法 .- 10 -3.1 最速下降法 .- 10 -3.2 牛顿法 .- 15 -3.3 修正牛顿法 .- 19 -3.4 共轭梯度法 .- 23 -3.5 变尺度法 .- 26 -结束语 .- 37 -参考文献 .- 38 -致谢 .- 39 -第一章 绪论1.1 研究背景与意义追求最优化目标是人类共同的理想,最优化就是从众多可能方案中选出最佳方案,以达到最优目标.最优化理论和算法是在第二次世界大战后迅速发展起来的一门新兴的应用数学分支,它是一门应用性很强的年轻学科.虽然最优化可以追朔到很古老的极值问题,但是直到 1947 年 Dantzig 提出一般线性规划问题的单纯形法之后,它才成为一门独立的学科.近三、四十年来随着现代科技的发展和电子计算机的广泛应用,进一步推动了最优化的迅猛发展及其理论和算法的研究.现在最优化理论已广泛应用与生产、管理、军事国防、政府决策、交通运输、经济规划等方面.无约束最优化计算方法不仅本身有着不少实际应用,而且与约束最优化计算方法有着紧密的联系:一方面有些处理无约束最优化问题的方法能直接推广应用于约束最优化问题;另一方面,还可以把一些约束最优化问题转化为无约束最优化问题来处理.因此从这个意义上讲,无约束最优化计算方法也是处理约束最优化问题的基本方法.研究求解无约束最优化问题的有关理论和算法,在近几十年来迅速发展并且日趋成熟.随着计算机的发展和普遍应用,作为一种有效的最优化方法无约束最优化方法在工程设计、管理优化、系统分析等方面的应用日益开拓,愈来愈受到应用部门的重视,所以研究无约束最优化问题的计算方法是意义重大的1.2 问题阐述及简介无约束法指寻求 元实函数 在整个 维向量空间 上的最优值点nfXnnA的方法.这类方法的意义在于:虽然实用规划问题大多是有约束的,但许多约束最优化方法可将有约束问题转化为若干无约束问题来求解.无约束最优化方法大多是逐次一维搜索的迭代算法.这类迭代算法可分为两类.一类不涉及导数,只用到函数值,称为直接法.另一类需要用目标函数的导函数,称为解析法.这些迭代算法的基本思想是:在一个近似点处选定一个有利搜索方向,沿这个方向进行一维寻查,得出新的近似点.然后对新点施行同样手续,如此反复迭代,直到满足预定的精度要求为止.根据搜索方向的取法不同,可以有各种算法.属于直接型的算法有交替方向法(又称坐标轮换法) 、模式搜索法、旋转方向法、鲍威尔共轭方向法和单纯形加速法等.属于解析型的算法有:梯度法:又称最速下降法.这是早期的解析法,收敛速度较慢.牛顿法:收敛速度快,但不稳定,计算也较困难.共轭梯度法:收敛较快,效果较好.变尺度法:这是一类效率较高的方法.其中达维登-弗莱彻-鲍威尔变尺度法,简称 DFP 法,是最常用的方法.本文主要研究无约束最优化问题中主要的几种解析法的算法理论,并对各个方法进行了举例分析和 matlab 软件实现.第二章 无约束问题的极值条件2.1. 无约束极值问题考虑非线性规划问题(2.1)nminRfX其中 是定义在 上的实函数,这个问题是求 在 维欧式空间的极小fXfXn点,称为无约束极值问题,这是一个古典的极值问题.2.2 必要条件为研究函数 的极值条件,先介绍一个定理f定理 2.1 设函数 在点 可微,如果存在方向 ,使 ,则fXd0fXd存在 ,使得对每个 ,有 .00,ffX证明 函数 在 的一阶 Taylor 展开式为fd=+dTffX(2.2)TffX其中当 时, .00d由于 ,当 充分小时,在(1.3.2)式中fXd+0,Tf因此存在 ,使得 时,有00,+0TfdX从而由(2.2)式得出 .ffXd利用上述定理可以证明局部极小点的一阶必要条件.定理 2.2 设函数 在点 可微,若 时局部最小点,则梯度f =fX0证明 用反证法,设 ,令方向 ,则有0fd=fX-2=0TTffXd-根据定理 2.1,必存在 ,使得当 时,成立,ffX这与 是局部极小点矛盾X下面,利用函数 的 Hesse 矩阵,给出局部极小点的二阶必要条件f定理 2.3 设函数 在点 处二次可微,若 是局部极小点,则梯度XX,并且 Hesse 矩阵 半正定0fX2f证明 定理 1.3.2 已经证明 ,现在只需证明 Hesse 矩阵 半正=02fX定.设 是任意一个 维向量,由于 在 处二次可微,且 ,则有dnfXf0,221=+Tfffddd经移项整理,得到(2.3)2221TfffXdX由于 是局部极小点,当 充分小时,必有xff因此由(2.3)式推得,20TfdX即 是半正定的.2fX2.3 二阶充分条件下面给出局部极小点的二阶充分条件定理 2.4 设函数 在点 处可微,若梯度 ,且 Hesse 矩阵fXfX0正定,则 是局部极小点.2f证明 由于 在 的二阶 Taylor 展开式为,f0f(2.4)221TfXXX设 的最小特征值为 ,由于 正定,必有2fmin02f22minTf从而由(1.3.4)式得出22min12ffXX当 时, ,因此存在 的 邻域 ,当20,NX时 ,即 是 的局部极小点,NXffXf2.4 充要条件前面的几个定理分别给出无约束极值的必要条件和充分条件,这些条件都不是充分必要条件,而且利用这些条件只能研究局部极小点.下面在函数凸性的假设下,给出全局极小点的充分必要条件定理 2.5 设 是定义在 上的可微凸函数, ,则 为全局极小点fXnAnXA的充分必要条件是梯度 f0证明 必要性是显然的,若 是全局极小点,自然是局部极小点,根据定理1.3.2,必有 .fX 现在证明充分性,设 ,则对任意的 ,有fX0nXA,由于 是可微的凸函数,则有0TfX,=Tffff即 是全局极小点在上述定理中,如果 是严格凸函数,则全局极小值是唯一的fX上面介绍的几个极值条件,是针对极小化问题给出的,对于极大化问题,可以给出类似的定理例 2.1 利用极值条件解下列问题22111mindefxxX先求驻点.由于, 314fx2fx令 ,即fx031420x,解此方程组,得到驻点.12,0TxX再利用极值条件判断 是否为极小点,由于目标函数的 Hesse 矩阵,2210xf由此可知.22fX显然 为正定矩阵,根据定理 1.3.4,驻点 是局部最小点2f1,0TX第三章 求解无约束最优化的几种主要方法3.1 最速下降法最速下降法又称为梯度法,是 1847 年由著名数学家 Cauchy 给出的,它是解析法中最古老的一种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础.作为一种基本的算法,他在最优化方法中占有重要地位.3.1.1 最速下降法的算法原理最速下降法的搜索法向是目标函数的负梯度方向,最速下降法从目标函数的负梯度方向一直前进,直到到达目标函数的最低点.已知目标函数在 点的梯度为:()kX()()()()12.Tkkkk nffffxxx X当求目标函数的最小点时,由于函数沿负梯度方向下降最快,故在 点的探()kX索方向应取该点的负梯度方向,即 ()()kkfSX显然, 为单位向量.这样第 次迭代计算所得的新点为()kS1()()(1)()()()kkkkkfXS负梯度仅给出了最优化方向,而没有给出步长的大小,所以可能有各种各样的最速下降的过程,它们依赖于 的大小.()kf3.1.2 步长 的两种取法:k一种方法是任意给定一个初始步长,使满足条件: ()()()kkkffXSX另外一种方法是沿负梯度方向做一维探索,以求解一维最优化问题的最优步长 ,即对目标函数极小,以得到最优步长:()()()()0minkkkkff XSS以此最优步长作为由 点出发沿该点的负梯度方向探索的步长 .()k ()k这种方法的迭代计算的收敛性,可用以下三式中的任一式或二式作为准则来进行判断: ()1()()2)()(13kkkffX3.1.3 最速下降法算法步骤用最速下降法求无约束多维极值问题 的算法步骤如下:min(),nfXA(1) 取初始点 ,精度 , 令0X0k(2) 计算搜索方向 ,其中 表示函数 在点()()kfV()kf()fX处的梯度;()k(3) 若 ,则停止计算;否则,从 出发,沿 进行一维搜索,()kX()kV即求 ,使得 .此处的一维搜索k()()()()0minkkf fX可以用黄金分割法等算法(4) 令 ,转步骤(2).(1)()(),1kkkV例 3.1 试用最速下降法求目标函数 的极小值,设初始点 21()4fxX;收敛要求 .(0)2TX210解:原函数的梯度 ,在 点的梯1212()8TTfff xxX(0)X度为 .(0)416Tf梯度的模为22(0)(0)(0) 21 416.49fffxxX梯度的负方向为 (0)1460.243.97.92TTS(1)(1)(0)() 23.7.xX(0)() 220.4)(09)fS()(0).3.8(.70)(.97645192d令 ,求出 ,算得(0)()fdXS*.5(1) (1).476.923,2.90.738T TfX梯度的模为 2(1).5.4f根据收敛准则, ,故未达到要求,应继续探索 .()104下一步探索放向为 (1)2.95.738.97.2433.04TTS (2)1(2)(1)()60160.97. xX(1)() 2 2479)4(3.4)fS,得到()(1)2.35.0d*1.9(2) (2)0.,.4.76T TfXX()1830f未达到收敛要求,所以还应继续探索,下一步探索方向为 (2).4.76.240.971TTS(3)1(3)(2)() 20.xX(2)() 2210.2.4)(0.97)7.61.83fdXS得到: *0.239(3) (3)14,0.2.784T Tfxx() 21.7f继续探索,当探索到点 时,(7).16.9T,达到预定的收敛要求,因而可认为 为最(7) 210.30fx *(7)x优点,而 为极小值.* 26(.6)4(.).510f 3.1.4 最速下降法的 matlab 实现首先建立 M 文件:function x,val,k=grad(fun,gfun,x0)%功能:用最速下降法求解无约束问题: minf(x)%输入: x0是初始点,fun,gfun分别是目标函数和梯度%输出: x,val分别是近似最优点和最优值,k是迭代次数.maxk=5000; %最大迭代次数rho=0.5; sigma=0.4;k=0; eps=1e-7;while(k=tolp=-inv(H)*grad;x=x+p;fval,grad,H=fun(x);count=count+1;endif nargout=3iterations=count;end然后编写待求函数和梯度,hessian矩阵组成的M文件fun_grad_hess1.m如下:function f,grad,hessian=fun_grad_hess1(x)f=x(1)2+x(2)2-x(1)*x(2)-10*x(1)-4*x(2)+60;grad=2*x(1)-x(2)-10;2*x(2)-x(1)-4;hessian=2 -1;-1 2;end最后在工作窗口调用函数newton.m 如下:x,fval,lamla=newton(fun_grad_hess1,0;0,1e-6)所得结果如下:x =8.00006.0000fval =8.0000lamla =13.2.4 牛顿法的说明从上例看到,用 Newton 法求解,只经一轮迭代就得到最优解.这并不偶然,由Newton 方向的构造知,对于正定二次函数,Newton 方向就是指向其极小点的方向.因此,用 Newton 法解目标函数为正定二次函数的无约束最优化问题,只需一次迭代即可得到最优解.对于目标函数不是二次函数的无约束最优化问题,一般地说,用 Newton 法通过有限轮迭代并不能保证可求得最优解.但因目标函数在最优解附近近似于二次函数,因此当先取接近于最优解的初始点用 Newton 法求解时,其收敛速度一般是快的.可证在初始点离最优解不远的条件下,Newton 法是二次收敛的.但初始点远离最优解时,此法并不一定收敛Newton 法具有二次收敛的优点,但它存在下面四个严重的缺点: 虽每次迭代不会使目标函数 f(X)上升,但不能保证 f(X)下降.当 Hesse 矩阵非正定时,Newton 法的搜索将会失败. 对初始点要求严格.一般要求比较接近或有利于接近极值点,而这在实际计算中是比较难办的. 因搜索方向要求 Hesse 矩阵的逆,在某迭代时可能求不出此方向.若目标函数Hesse 矩阵为奇异,则不有构成牛顿方向,无法迭代牛顿方向构造困难,计算相当复杂,除了求梯度以外还需计算 Hesse 矩阵及其逆矩阵,占用机器内存相当大.3.3 修正牛顿法3.3.1 修正牛顿法的基本原理为了克服 Newton 法的缺点,人们保留选取 Newton 方向作为搜索方向,摒弃其步长恒取 1,而用一维搜索确定最优步长,由此产生的算法称为修正 Newton 法.3.3.2 修正牛顿法的迭代步骤(1) 给定初始点 ,及精度 ,令 ;(0)X0k(2) 若 ,停止,极小点为 ,否则转步骤(3) ;()kf()X(3) 计算 ,令 ;12()1()()()kkkHfS(4) 用一维搜索法求 ,使得 ,令()()()()0minkkfS, ,转步骤(2).(1)()()kkkX1例 3.3 用修正牛顿法求解下列问题:,2211minfxxX初始点 , .060解 计算 及 .f2f, ,124xfX242fX故有, ,01f022f1022fX因而牛顿方向为100023122ffSX从 出发,沿牛顿方向 作一维搜索,令步长变量为 ,记最优步长为 ,0X0S0则有,0132XS故22023354fXS令 0502fS则有,01故100132XS计算 :1f,134120fX故有 ,停止计算,输出 , 即为极小点.1f1X1*323.3.3 修正你顿法的 matlab 实现首先建立 m 文件:function x,val,k=revisenm(fun,gfun,Hess,x0)%功能:用修正牛顿法求解无约束问题:minf(x)%输入:x0是初始点,fun,gfun,Hess分别是求% 目标函数值,梯度,Hesse矩阵的函数%输出: x,val分别是近似最优点和最优值,k是迭代次数.n=length(x0);maxk=150;rho=0.55;sigma=0.4;tau=0.0;k=0; epsilion=1e-5;while(k=0.0)d=-g;endendif(norm(g) x0=2,2; x,val,k=frcgfun,gfun,x03.4.4 共轭梯度法的说明 实际上,可以把共轭梯度法看作是最速下降法的一种改进.当令 时,就变0k为最速下降法.共轭梯度法由于不涉及矩阵,仅仅有向量运算,因而存储量小,适合于维数较高的优化问题.另外,共轭梯度法可以不要求精确的直线搜索.但是,不精确的直线搜索可能导致迭代出来的向量不再共轭,从而降低方法的效能.克服的办法是,重设初始点,即把经过 次迭代得到的 作为初始点重新迭代.1n1nX计算实践指出,用 比 用重作初始点要好.1nX3.5 变尺度法变尺度法是在牛顿法的基础上发展起来的,它和梯度法亦有密切关系.变尺度法避免了 Newton 法在每次迭代都要计算目标函数的 Hesse 矩阵和它的逆矩阵而导致随问题的维数增加计算量迅速增加.3.5.1 变尺度法的基本原理在 Newton 法中,基本迭代公式1kktXP其中, ,1kt,21()()kkkffPX于是有(1)11,0,2kkkXGg其中 是初始点, 和 分别是目标函数 在点 的梯度和 Hesse 矩阵.0XgfkX为了消除这个迭代公式中的 Hesse 逆矩阵 ,可用某种近似矩阵1k来替换它,即构造一个矩阵序列 去逼近 Hesse 逆矩阵序列kkHH1G此时上式变为1kkkXg事实上,式中 无非是确定了第 次迭代的搜索方向,为了取得更大kkPHg的灵活性,我们考虑更一般的的迭代公式( 2)1kkktXHg其中步长因子 通过从 出发沿 作直线搜索来确定.式(2)是代表ktkkkP很长的一类迭代公式.例如,当 (单位矩阵)时,它变为最速下降法的迭I代公式.为使 确实与 近似并且有容易计算的特点,必须对 附加某些条kH1kGkH件:第一, 为保证迭代公式具有下降性质,要求 中的每一个矩阵都是k对称正定的,理由是,为使搜索方向 是下降方向,只要kkPHg0TTg成立即可,即 Tk成立.当 对称正定时,此公式必然成立,从而保证式(2)具有下降性质.kH第二,要求 之间的迭代具有简单形式.显然,k(3)1kkHE是最简单的形式了.其中 称为校正矩阵,式(3)称为校正公式.第三,必须满足拟 Newton 条件.即:(4)11()()kkkgX为了书写方便也记1kkygS于是拟 Newton 条件可写为(5)1kkHy有式(3)和(5)知, 必须满足kE()kkHyS或 (6)3.5.2 DFP 算法的基本思想和原理DFP 校正是第一个拟牛顿校正是 1959 年由 Davidon 提出的后经 Fletcher和 Powell 改进故名之为 DFP 算法它也是求解无约束优化问题最有效的算法之一.DFP 算法基本原理考虑如下形式的校正公式(7)1TTkkkkHUV其中 kVU,是特定 n维向量, ,是待定常数.这时,校正矩阵是TTkkkE现在来确定 k根据拟 Newton 条件, 必须满足(6) ,于是有kTTKkkkUVySH或.TTkkkkky满足这个方程的待定向量 和 有无穷多种取法,下面是其中的一种: TkkUSkVyH注意到 和都 是数量,不妨取TkUyTk, ,kUSkk同时定出, .1kTky1TkHy将这两式代回(7)得(8)1TTkkkkSHy这就是 DFP 校正公式.3.5.3 DFP 法的迭代步骤已知目标函数 及其梯度 ,问题的维数 ,终止限 .fXgn(1) 选定初始点.计算 ,.00()f0()gX(2) 置 , ,.0HI,kP(3) 作直线搜索 ;计算 , .1()kklsX11()kkf11()kkgX(4) 判别终止准则是否满足:若满足,则打印 ,结束;否转,f(5).(5) 若 ,则置, ,转(2) ;否则转kn010101,kkkfg(6).(6) 计算,1kkSX,yg,1TTkkkkHyS,11kkPg置 ,转(3) .1k例 3.5.1 用 DFP 法求 210min4,1,TxX解:取 时,DFP 法与最速下降法有相同的的第一代迭代点0HI 由例 2.1 可知 , 1220,8xgQX00111.7346.4769,=8003 Xg,010010.25.3869Syg010TTSHy因为 0008.9236,7.3162TTTSy0 00.64714.378,2.5.01Ty所以 138.49.1267H搜索方向为 11.0934Pg直线搜索 21.7861.96,034ttX由 知10dfttP.492t所以 220g是极小点2X3.5.4 DFP 法的 matlab 实现首先建立 M 文件为:function x,f,tdc=dfp(x0,A,fun,gfun)%功能:用 DFP 算法求解无约束问题:minf(x),x0是初始点.%输出:x,f 分别是近似最优点和最优值,计算运行循环次数.%A 为所求问题 Hesse 矩阵,fun 为问题函数,gfun 为梯度函数.ep=1e-6;%ep 为终止限精度k=1;n=length(x0);Hk=eye(n);X(:,1)=x0;G(:,1)=gfun(X(:,1);X(:,k+1)=X(:,k)-G(:,1)*G(:,1)/(G(:,1)*A*G(:,1)*G(:,1);%一步最速下降法G(:,k+1)=gfun(X(:,k+1);tdc=0;%计算迭代此数while(norm(G(:,k+1)ep)if k=n+1x0=X(:,k+1);g0=gfun(x0);Hk=eye(n);k=1;pk=-g0;X(:,k)=x0;G(:,k)=g0;elsesk=X(:,k+1)-X(:,k);yk=G(:,k+1)-G(:,k);Hk=Hk+sk*sk/(sk*yk)-Hk*yk*yk*Hk/(yk*Hk*yk);pk=Hk*G(:,k+1);k=k+1;endX(:,k+1)=X(:,k)+(pk*pk/(pk*A*pk)*pk;G(:,k+1)=gfun(X(:,k+1);tdc=tdc+1;endx=X(:,k+1);f=fun(x);对于例3.6.1输入命令: x0=1,1; A=2 0;0 8; fun=inline(x(1)2+4*x(2)2); gfun=inline(2*x(1);8*x(2); x,f,tdc=dfp(x0,A,fun,gfun)即可得到结果3.5.5 BFGS 法的基本思想和原理另一个有效和著名的变尺度算法是 Broyden, Fletcher(1970), Goldfarb(1969)和 Shanno(1970)共同研究的结果,因而叫做 BFGS 法. 其基本原理为: 考虑校正公式,1TTTTkkkk kkkSHyySHW式中, kkTSyW校正矩阵为 TTTTkkkkkkEySyH为实数参数,每取一个实数就对应一种拟牛顿算法,当取 就是 DFP 校正 0公式,当取 就是 BFGS 校正公式1TkSy1TTTkkk kkkTk HyHSySH3.5.6 BFGS 法的迭代步骤已知目标函数 及其梯度 ,问题的维数 ,终止限fXgn(1)选取初始点 ,初始矩阵 ,给定终止限00HI0(2)求初始梯度 .若 ,停止输出 ;否则转(3)ffX(3)构造初始 BFGS 方向,取 000,ffkP(4)进行一维搜索,求 ,使得kt11,kkkklstXPP(5)求梯度 ,若 ,停止,输出 ;否则继续1kffX(6)检验迭代次数,若 ,令 转( 3)n0n(7)构造 BFGS 方向,用 BFGS 公式11TTTkkk kkkTk yHHSySHS计算 , 转(4)1k11,kfPX例 3.5.2 用 BFGS 公式求 ,取初始点21123minfxxX精确度要求 .10,TX310解 计算 的梯度f1213,Tgxx采用精确的一维搜索,从 出发,沿方向kkX进行精确的一维搜索,得12,TkkdP1kktd其中 为最优步长,满足kt0minkktftftXX可以这样计算:kt 221 12123kkkkkkftxtdxtdxttdxtd容易知道 有唯一极小点 满足 经过计算可得,k0,k取初始矩阵 10HE第一次迭代,算得 12.,.Tg,不满足终止准则 .下面计算搜索方向12.0g11.0,.TdH从 出发,沿方向 进行一维搜素,由 的计算公式可得最有步长1Xkt1.3t置 20.6,.0Td.,Tg2.计算 110.6,.0TX 121.98,0.6Tg由 BFGS 公式计算可得20.36.10H第一次迭代结束,进行第二次迭代,可得22.67,.2Tdg3225.0,10,.ttXd终止得近似解 .30.,1.,Tg *31.0,TX3.5.7 BFGS 法的 matlab 实现首先建立 bfgs m 文件function x,val,k=bfgs(fun,gfun,x0,varargin)%功能:用BFGS算法求解无约束问题: minf(x)%输入:x0是初始点,fun,gfun分别是目标函数及其梯度;%varargin是输入的可变参数变量,简单调用bfgs时可以忽略它,%但若是其他程序循环调用该程序时将发挥重要的作用%输出:x,val分别是近似最优点和最优值,k是迭代次数.maxk=500; %给出最大迭代次数rho=0.55;sigma=0.4;eps=1e-3;k=0; n=length(x0);Bk=eye(n); %Bk=feval(Hess,x0);while(k0) Bk=Bk-(Bk*sk*sk*Bk)/(sk*Bk*sk)+(yk*yk)/(yk*sk);endk=k+1; x0=x;endval=feval(fun,x0,varargin:);然后建立fun和gfun m文件:function f=fun(x)f=3/2*x(1)2+1/2*x(2)2-x(1)*x(2)-2*x(1);function g=gfun(x)g=3*x(1)-x(2)-2,x(2)-x(1)最后在工作窗口输入: x0=0,0; x,val,k=bfgs(fun,gfun,x0)3.5.7 变尺度法的说明变尺度法中的二个重要算法 DFP 算法和 BFGS 算法迭代过程相同,区别仅在于校正矩阵 选取不同,对于 DFP 法,由于一维搜索的不精确和计算误差的积kE累可能导致某一轮的 奇异,而 BFGS 法对一维搜索的精度要求不高,并且由它kH产生的 不易变为奇异矩阵.BFGS 法比 DFP 法更具有好的数值稳定性,它比kDFP 法更具有实用性.结束语经过三个多月的学习和工作,我终于完成关于无约束最优化问题的基本研究的论文.从接到论文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论