目标函数的几种极值求解方法

目标函数的几种极值求解方法

ID:6595754

大小:389.85 KB

页数:8页

时间:2018-01-19

目标函数的几种极值求解方法_第1页
目标函数的几种极值求解方法_第2页
目标函数的几种极值求解方法_第3页
目标函数的几种极值求解方法_第4页
目标函数的几种极值求解方法_第5页
资源描述:

《目标函数的几种极值求解方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目标函数极值求解的几种方法题目:,取初始点,分别用最速下降法,你牛顿法,共轭梯度法编程实现。一维搜索法:迭代下降算法大都具有一个共同点,这就是得到点后需要按某种规则确定一个方向,再从出发,沿方向在直线(或射线)上求目标函数的极小点,从而得到的后继点,重复以上做法,直至求得问题的解,这里所谓求目标函数在直线上的极小点,称为一维搜索。一维搜索的方法很多,归纳起来大体可以分为两类,一类是试探法:采用这类方法,需要按某种方式找试探点,通过一系列的试探点来确定极小点。另一类是函数逼近法或插值法:这类方法是

2、用某种较简单的曲线逼近本来的函数曲线,通过求逼近函数的极小点来估计目标函数的极小点。本文采用的是第一类试探法中的黄金分割法。原理书上有详细叙述,在这里介绍一下实现过程:⑴置初始区间[]及精度要求L>0,计算试探点和,计算函数值和,计算公式是:,。令k=1。⑵若则停止计算。否则,当>时,转步骤⑶;当时,转步骤⑷。⑶置,,,,计算函数值,转⑸。⑷置,,,,计算函数值,转⑸。⑸置k=k+1返回步骤⑵。1.最速下降法实现原理描述:在求目标函数极小值问题时,总希望从一点出发,选择一个目标函数值下降最快的方

3、向,以利于尽快达到极小点,正是基于这样一种愿望提出的最速下降法,并且经过一系列理论推导研究可知,负梯度方向为最速下降方向。最速下降法的迭代公式是,其中是从出发的搜索方向,这里取在点处最速下降方向,即。是从出发沿方向进行的一维搜索步长,满足。实现步骤如下:⑴给定初点,允许误差,置k=1。⑵计算搜索方向。⑶若,则停止计算;否则,从出发,沿方向进行的一维搜索,求,使。⑷,置k=k+1返回步骤⑵。1.拟牛顿法基本思想是用不包括二阶导数的矩阵近似牛顿法中的Hesse矩阵的逆矩阵,因构造近似矩阵的方法不同,

4、因而出现了不同的拟牛顿法。牛顿法迭代公式:,是在点处的牛顿方向,,是从出发沿牛顿方向进行搜索的最优步长。用不包括二阶导数的矩阵近似取代牛顿法中的Hesse矩阵的逆矩阵,需满足拟牛顿条件。实现步骤:⑴给定初点,允许误差。⑵置(单位矩阵),计算出在处的梯度,置k=1。⑶令。⑷从出发沿方向搜索,求步长,使它满足,令。⑸检验是否满足收敛标准,若,则停止迭代,得到点,否则进行步骤⑹。⑹若k=n,令,返回⑵;否则进行步骤⑺。⑺令,,,,置k=k+1。返回⑶。1.共轭梯度法若是中k个方向,它们两两关于A共轭,

5、即满足,称这组方向为A的k个共轭方向。共轭梯度法的基本思想是把共轭性与最速下降法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜索,求出目标函数的极小点,根据共轭方向的基本性质这种方法具有二次终止性。实现步骤如下:⑴给定初点,允许误差,置,,k=j=1。⑵若,则停止计算;否则,作一维搜索,求,满足,令。⑶若,则进行步骤⑷,否则进行步骤⑸⑷令,其中,置j=j+1,转⑵。⑸令,,,置j=1,k=k+1,转⑵。1.实验结果用以上三种方法通过Matlab编程得到实验数据。初始值。迭代精度s

6、um(abs(x1-x).^2)<1e-4。最速下降法拟牛顿法共轭梯度法第一次迭代结果1.51516312861.51516312861.51516312860.93934748540.9393474850.9393474854第二次迭代结果1.97300822752.01081080722.00000762591.05389923740.98615771081.0000419788第三次迭代结果1.98691339342.0054101622.00000381670.99836543780.9

7、8962692400.9999998271第四次迭代结果1.99927397611.0014531964实验结果分析:由上表格可以看到最速下降法需要四次迭代实现所要求的精度,拟牛顿法和共轭梯度法需要三次。程序:%精确一维搜索法的子函数,0.618(黄金分割)法,gold.m%输入的变量x为初始迭代点是二维的向量,d为初始迭代方向是二维的向量%输出变量是在[0,10]区间上使函数取得极小值点的步长因子functionalfa=gold(x,d)a=0;b=10;tao=0.618;lanmda=a

8、+(1-tao)*(b-a);mu=a+tao*(b-a);alfa=lanmda;%初始化f=((x(1)+alfa*d(1))-2)^2+2*(x(2)+alfa*d(2)-1)^2;%目标函数m=f;alfa=mu;n=f;while1ifm>nifabs(lanmda-b)<1e-4alfa=mu;returnelsea=lanmda;lanmda=mu;m=n;mu=a+tao*(b-a);alfa=mu;n=((x(1)+alfa*d(1))-2)^2+2*(x(2)+alfa*d(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。