wolfe算法确定步长的最速下降法.doc

wolfe算法确定步长的最速下降法.doc

ID:57207722

大小:560.50 KB

页数:7页

时间:2020-08-06

wolfe算法确定步长的最速下降法.doc_第1页
wolfe算法确定步长的最速下降法.doc_第2页
wolfe算法确定步长的最速下降法.doc_第3页
wolfe算法确定步长的最速下降法.doc_第4页
wolfe算法确定步长的最速下降法.doc_第5页
资源描述:

《wolfe算法确定步长的最速下降法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学与计算科学学院实验报告实验项目名称wolfe算法确定步长的最速下降法所属课程名称最优化方法实验类型算法编程实验日期2015.11.6班级学号姓名成绩一、实验概述:【实验目的】1、使用非精确线性搜索wolfe算法确定步长。2、再使用最速下降法解决无约束最优化问题。【实验原理】1、最速下降法的基本思想是:从当前点出发,取函数在点出下降最快的方向作为我们的搜索方向。由的Taylor展开式知道略去t的高阶无穷小项不计,可见取时,函数值下降的最多。2、Wolfe线性搜索准则为:给定常数,取使得3、解无

2、约束问题的最速下降法计算步骤:Step1:选取初始点,给定终止误差Step2:计算Step3:Step4:利用wolfe线性搜索求得步长,,令【实验环境】Windows7VisualC++6.0二、实验内容:【实验方案】1、本次试验的题目为:用wolfe线性搜索下的最速下降法求解:2、根据最速下降法的求解步骤,在求解步长时,用wolfe线性搜索确定,运用C语言编写程序,在计算机上实现。【实验过程】(实验步骤、记录、数据、分析)(一)由题目可得,。选取初值点则,因为

3、

4、d

5、

6、>0.1,所以根据wo

7、lfe搜索法,,则检验其是否满足,其中,若满足,则,,检验2、若不满足(1),(2),,令中使(1)成立的最大者,令。若满足(2)则停止,并取得步长,3、否则,令,使(1)成立的最大者,令i=i+1,继续2.4、根据算法编写程序,编译运行,得出结果。【实验结论】(结果)【实验小结】(收获体会)本次试验,加深了最速下降法的掌握。在求解步长时,除了可以运用wolfe线性搜索求解,还可以运用精确线性搜索、Aimijo搜索、wolf搜索等方法。本次试验在运用wolfe搜索求解步长时,编程遇到了不少困难。

8、在今后的学习中,要加强对算法的理解和算法实现。三、指导教师评语及成绩:评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include#include#definee0.1#definep0.2#defineq0.5#definer1#defines0.5#definet0.5floatf(f

9、loatx[]){floata;a=2*x[0]*x[0]+x[1]*x[1];returna;}floatg1(floatx[]){floatg;g=4*x[0];returng;}floatg2(floatx[]){floatg;g=2*x[1];returng;}intOk1(floatx1[],floatx0[],floata){floatb,c;b=f(x1);c=f(x0)-p*a*(g1(x0)*g1(x0)+g2(x0)*g2(x0));if(b<=c)return1;elser

10、eturn0;}intOk2(floatx1[],floatx0[],floata){floatb,c;b=-(g1(x1)*g1(x0)+g2(x1)*g2(x0));c=-q*g1(x0)*g1(x0)+g2(x0)*g2(x0);if(b>=c)return1;elsereturn0;}floatqiubuchang(floatx0[],floatd[]){inta0=1,a1=r,a,r1,r2;floatx1[2];x1[0]=x0[0]+a*d[0];x1[1]=x0[1]+a*d[

11、1];if((Ok1(x1,x0,a))&&(Ok2(x1,x0,a)))a=a0;else{do{a1*=s;x1[0]=x0[0]+a1*d[0];x1[1]=x0[1]+a1*d[1];}while(Ok1(x1,x0,a1));a0=a1;while(!Ok2(x1,x0,a0)){r1=a0/r;do{r2=r1-a0;a1=a0+r2;x1[0]=x0[0]+a1*d[0];x1[1]=x0[1]+a1*d[1];r2*=t;}while(Ok1(x1,x0,a1));a0=a1;}

12、a=a0;}returna;}voidmain(){inti=1;floata;floatx0[2],x1[2],g[2],d[2];printf("输入初始值:");scanf("%f,%f",&x0[0],&x0[1]);printf("%f,%f",x0[0],x0[1]);while(sqrt((double)((g1(x0))*(g1(x0))+(g2(x0))*(g2(x0))))>=e){printf("第%d次迭代:",i++);a=qiubuchang(x0,d);prin

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

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

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