最优化算法实验报告.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优化算法实验报告

基于Matlab的共轭梯度算法指导老师:姓 名:学 号:班 级:日 期:基于Matlab的共轭梯度算法实验目的及要求熟悉使用共轭梯度法求解无约束非线性规划问题的原理;在掌握原理的基础上熟练运用此方法解决问题学会利用计算机语言编写程序来辅助解决数学问题;解决问题的同时分析问题,力求达到理论与实践的统一; 编写规范的实验报告.实验内容实验原理1.基本思想:把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行有哪些信誉好的足球投注网站,求出目标函数的极小点。根据共轭方向的基本性质,这种方法具有二次终止性。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。程序流图:三、实验代码通过查阅相关资料,编写一个基于Matlab的共轭梯度算法,具体代码如下:function f=grad_2d(x0,t) %用共轭梯度法求已知函数f(x1,x2)=x1^2+2*x2^2-4*x1-2*x1*x2的极值点%已知初始点坐标:x0%已知收敛精度:t %求得已知函数的极值:fx=x0; syms xi yi a; %定义自变量,步长为符号变量f=xi^2+2*yi^2-4*yi-2*xi*yi; %创建符号表达式ffx=diff(f,xi); %求表达式f对xi的一阶求导fy=diff(f,yi); %求表达式f对yi的一阶求导 fx=subs(fx,{xi,yi},x0); %代入初始点坐标计算对xi的一阶求导实值 fy=subs(fy,{xi,yi},x0); %代入初始点坐标计算对yi的一阶求导实值fi=[fx,fy]; %初始点梯度向量 count=0; %有哪些信誉好的足球投注网站次数初始为0 while double(sqrt(fx^2+fy^2))t %有哪些信誉好的足球投注网站精度不满足已知条件 s=-fi; %第一次有哪些信誉好的足球投注网站的方向为负梯度方向 if count=0 s=-fi; else s=s1; end x=x+a*s; %进行一次有哪些信誉好的足球投注网站后的点坐标 f=subs(f,{xi,yi},x); %构造一元有哪些信誉好的足球投注网站的一元函数φ(a) f1=diff(f); %对函数φ(a)进行求导 f1=solve(f1); %得到最佳步长a if f1~=0 ai=double(f1); %强制转换数据类型为双精度数值 else break %若a=0,则直接跳出循环,此点即为极值点 end x=subs(x,a,ai); %得到一次有哪些信誉好的足球投注网站后的点坐标值 f=xi^2+2*yi^2-4*xi-2*xi*yi; fxi=diff(f,xi); fyi=diff(f,yi); fxi=subs(fxi,{xi,yi},x); fyi=subs(fyi,{xi,yi},x); fii=[fxi,fyi]; %下一点梯度向量 d=(fxi^2+fyi^2)/(fx^2+fy^2); s1=-fii+d*s; %下一点有哪些信誉好的足球投注网站的方向向量 count=count+1; %有哪些信誉好的足球投注网站次数加1 fx=fxi; fy=fyi; %有哪些信誉好的足球投注网站后终点坐标变为下一次有哪些信誉好的足球投注网站的始点坐标endx,f=subs(f,{xi,yi},x),count %输出极值点,极小值以及有哪些信誉好的足球投注网站次数end四、实验结果在命令窗口输入:f=grad_2d([1,1],0.0000001)输出结果如下:x =4.0000 2.0000f =-8.0000count = 75f =-8.0000当在命令窗口输入如下命令时:f=grad_2d([2,1],0.0000001)x =4.0000 2.0000f =-8.0000count =22f =-8.0000当在命令窗口输入如下命令时:f=grad_2d([2,1],0.001)x = 3.9996 1.9999f =-8.0000count =12f =-8.0000由以上结果可知: (1.)初始点不同有哪些信誉好的足球投注网站次数不同 (2.)无论初始点为多少,精度相同时最终结果极值点都是(4.0000,2.0000) (3.)当初始点相同时,若精度不一样有哪些信誉好的足球投注网站次数和最终结果会有差异但大致相同。五、总结从共轭梯度法的计算过程可以看出,第一个有哪些信誉好的足球投注网站方向取作负梯度方向,这就 是最速下降法。其余各步的有哪些信誉好的足球投注网站方向是将负梯度偏转一个角度,也就是对负梯度进行修正。所以共轭梯度法实质上是对最速下降法

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档