1、无约束优化算法最优化课程作业(一)姓名:丁敏学号:31130510012014/6/24一、无约束优化算法无约束优化计算方法是数值计算领域中十分活跃的研究课题。快速地求解无约束优化问题已经成为当今的焦点,除了其自身的重要性外,还由于目前求解约束优化问题的基本思想之一就是把约束问题变换为一系列无约束子问题进行求解。因此,无约束优化算法的求解效率将直接影响到约束问题的求解,尤其是在大规模优化问题中。所以,对无约束优化算法的研究具有重要的理论意义和实际价值。无约束优化问题,是指优化问题的可行集为 ,无约束的标准形式(1-1)nR为:Rfxn:)(mi求解无约束优化问题时将会涉及到以下概念:(1) 驻
2、点、鞍点:若 在点 处可微,并且 ,则称 为 的f(x)*0f(x*)x*f()一个驻点(或者平稳点)。既不是极小点,也不是极大点的驻点称为鞍点。(2) 全局最优解:若 均有 ,则称 为问题(1-1)的全nZ,Rf()f局最优解(3) 局部最优解:若 且存在 使得 则称*xD0*fxf,xDNx为问题(1-1)的一个局部最优解(极小点) ;x*若 且存在 使得 则称 为问题(1-1)的0*fxf,一个局部最优解(极大点) ;当目标函数 f ( x )为凸函数时,我们认为全局最优解即是局部最优解,然而,通常寻求全局最优解并不容易。因此,在非线性优化中我们认为局部最优解即为所求。无约束优化算法可以
3、分为两大类: 一类是借助目标函数的导数信息来构造下降的搜索方向。另一类是由目标函数值信息直接搜索求解的方法。本文章重点介绍最速下降法,阻尼牛顿法以及共轭梯度法。二、最速下降法1、最速下降法思想经典最速下降法是由 Cauchy 于 1847 年提出的, Forsythe 和 Motzkin 在 1951 年对它做了初步的分析。 1959 年,Akaike 对最速下降法做出了最全面的分析。最速下降法以负梯度方向为极小化算法的下降方法设函数 在 附近连续可微,且()fxk kkgfx0迭代序列为 kd,.101当 时,目标函数值最大。kkdfx2、算法流程步 1 给出 ;010nxR,k:步 2 计
4、算 ;kkgf步 3 如果 ,则 ,停止;否则,令 ,由一维搜索步|*kxkdg长 ,使得 ;kak kfdminfx0步 4 令 , ,转步骤 2。kx113、算法代码(最速下降法程序)function x,val,k=grad(fun,gfun,x0)maxk=5000;rho=0.5;sigma=0.4;k=0;epsilon=1e-5;while(ky)a=fanshu(r)2/(d*A*d);xx=x+a*d;rr=b-A*xx;bt=fanshu(rr)2/fanshu(r)2;dd=rr+bt*d;x=xx;r=rr;d=dd; k=k+1;endxopt=x; fprintf(
5、最优解为 x)xfprintf(迭代步数为 )k4、实例分析利用共轭梯度法程序求解无约束优化问题 102211xRminfx()=)()该问题有精确解 0T*,fx*()解:首先建立两个分别计算目标函数和梯度的M文件:function f=fun(x)f=100*(x(1)2-x(2)2+(x(1)-1)2;function g=gfun(x)g=400*x(1)*(x(1)2-x(2)+2*(x(1)-1),-400*(x(1)2-x(2);以及范数函数:function m=fanshu(r)n=length(r);m=0;for i=1:nm=m+r(i)2;endm=sqrt(m);利用程序,取不同的初始点,数值结果如下:初始点(x0)迭代次数(k)目标函数值( f(xk) )0.0,0.0 122 7.2372e-090.5,0.5 44 3.5498e-0101.2,-1 56 1.1698e-08-1.2, 1.0 44 2.9396e-09-1.2,-1.0 58 2.0235e-09