版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、运筹学实习报告姓 名: xxxxxxxxxx 学 号: xxxxxxxxxxx 专业班级: xxxxxxxxxxxx 2 0 1 3年 7 月 0 4 日题目:用最速下降法求解无约束非线性规划问题摘要:无约束最优化问题的求解方法分为解析法和直接法两大类。解析法需要计算函数的梯度,其中最速下降法就属于解析法中的一种。对于一个无约束非线性规划利用最速下降法求解,首先需要确定其优化方向,此优化方向应该选择为f在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。本文通过理论的计算方法,进一步分析,最后用c+编程实现求出允
2、许误差内的最优解。此编程可用于计算符合下列形式的函数求最优解过程:f(x)=a0x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5其中:ai (i=0,1,2,3,4,5) 为函数的系数。本文以“ 李占利 主编,中国矿业大学出版社出版”的最优化理论与方法 第五章 “无约束最优化方法,5.1 最速下降法 ”例51为实例,首先利用上述迭代的方法,计算出各迭代点的函数值,梯度及其模。然后应用c+语言编程,得到在精度范围内的精确最优解。*(3)Tx=x=-0.00823045,0.0329218 C+编程计算的最优解为 : 。即转化为分数结果为:x=x*(3)2-1= 。 2434满
3、足精度要求的模为:|p(3)|=0.0736154<=110。关键词:无约束非线性规划 解析法 最速下降法 梯度 模 最优解1一、算法思想无约束最优化方法中的最速下降法首先需要确定其优化方向,此优化方向应该选择为f在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。主要依据解无约束非线性规划问题的最速下降法计算步骤进行设计算法。 具体步骤如下:第1步 选取初始点x,给定终止误差 >0,令k=0;kkf(xk)f(x) 第2步 计算,若,停止迭代,输出x,否则进行第30步;kkp=-f(x); 第3步
4、取f(xk+kpk)=minf(xk+pk)k0 第4步 进行一维搜索,求k,使得,令xk+1=xk+kpk,k=k+1。转第2步。由以上计算步骤可知,最速下降法迭代终止时,求得的是目标函数驻点的一个近似点。 依据以上步骤就可以用C+编程实现最速下降法求解最优解的算法。二、算法流程图2三、程序代码#include<iostream.h>#include<math.h>double lamda(double x2,double p2,double a2)double lam1,lam2;lam1=(pow(a0,3)*x0*x0+pow(a1,3)*x1*x1); lam
5、2=-(pow(a0*x0,2)+pow(a1*x1,2); double s;3s=-lam2/(2*lam1);return s;void main()cout<<""<<endl; cout<<" 最速下降法求解最优解程序运行结果 "<<endl; cout<<""<<endl;cout<<endl;double lamd,x3,a6;double p2,g2,e,y,m,n;int i=0;cout<<"请输入精度e&qu
6、ot;<<endl;cin>>e;cout<<"请输入初始点x0,x1的值:n"<<endl;cin>>m;cin>>n;x0=m;x1=n;cout<<"函数通式为f(x)=a0x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5"<<endl; cout<<"请依次输入函数的系数:a0、a1、a2、a3、a4、a5:"<<endl;for(i=0;i<6;i+)cin>>ai;p
7、0=(2*a0*x0+a2*x1+a3);p1=(2*a1*x1+a2*x0+a4);g0=-p0;g1=-p1;i=0;cout<<endl;while(sqrt(g0*g0+g1*g1)>e&&i<=200)lamd=lamda(x,g,a);x0=x0+lamd*g0;x1=x1+lamd*g1;4p0=2*a0*x0;p1=2*a1*x1;g0=-p0;g1=-p1;i+;cout<<"*"<<endl;cout<<"第"<<i<<"次迭
8、代结果:"<<endl;cout<<"p的模为:"<<sqrt(g0*g0+g1*g1)<<endl;cout<<"x的值"<<x0<<" "<<x1<<endl;cout<<"*"<<endl;cout<<endl;y=(a0*x0*x0+a1*x0*x1+a2*x0*x1+a3*x0+a4*x1+a5);cout<<"此时满足精度要求的p
9、的模为:"<<sqrt(g0*g0+g1*g1)<<endl;cout<<endl;cout<<"满足精度的最优近似结果x1,x2分别为:"<<endl;cout<<"x1="<<x0<<endl;cout<<"x2="<<x1<<endl;cout<<endl;cout<<"满足进度要求所得的最优值为:"<<endl;cout<&l
10、t;"minf(x)="<<y<<endl;四、例子与结果例子为“ 李占利 主编,中国矿业大学出版社出版”的最优化理论与方法第五章 “无约束最优化方法,5.1 最速下降法 ”例51。用最速下降法求解中很明显有:a0=2,a1=1,a2=a3=a4=a5=0;e=0.1;x0=x1=1; 12=0.1。则体现在程序minf(x)=2x12+x2,初始迭代点x(0)=1,精度为则程序运行结果为:512即在允许的精度范围内minf(x)=2x12+x2,初始迭代点x(0)=1,精度为=0.1。得到在精度范围内的精确最优解为:*(3)T2-1*(3)x=x=
11、-0.008230,40.50329218 ,即x=x= 。 2434满足精度要求的模为:|p(3)|=0.0736154<=110。6五、结论与总结最速下降法为最优化万千方法中的一种,要想更好地利用最优化方法解决我们身边的问题,光靠这一种方法远远不够。因此我必须要好好掌握其他的各种方法。还有通过这次实习让我深深认识到,并不是所有的问题都能够手工完成的,我们平常接触的例题,都非常基础,那完全可以手工计算得到答案,但如果问题比较复杂时,我们是没有办法用手工完成的。所以我们必须借助计算机来解决那些复杂的问题。因此这就要求我们必须要熟练掌握编程技巧,要能够把实际的复杂问题通过编写程序来解决它。还有此次用最速下降法求解最优解的程序,我编的还不够完美,还有很多不足之处,只能用于研究二元函数的最优解问题,不能进行其他的更深入的研究,所以还有很多改进的地方,以后我还要继续努力。 对于编程一定要多练、多动手操作,通过这次实习让我深深地认识到,光靠理论知识是不行的,理论知道再多,如果不动手实践的话照样编不出程序,只有在实践中,在编写程序的过程中我们才能发现自己的不足,才能知道问题出在哪儿。所以无论学习什么编程语言,我今后一定要多动手,今后无论学习什么我都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政供热项目合同范例
- 打磨合同范例
- 布料购销协议合同范例
- 在建门面定金合同范例
- 外聘专家聘用合同范例
- 双方投资店面合同范例
- 加装电梯小区保洁合同范例
- 企业楼顶接待合同范例
- 房子拆毁重建合同范例
- 合同违约单方终止合同范例
- 减少巡回护士手术中外出次数品管圈汇报书模板课件
- 小班 社会语言 懂礼貌的好宝宝 课件(互动版)
- 2022-2023学年小学一年级语文上册无纸笔化测试评价方案(含测试题)
- 5分钟安全五人小品剧本
- 苏教版六年级下册数学例6比例尺的意义【含答案】
- DBJ33-T 1286-2022 住宅工程质量常见问题控制标准
- 西门子变频器选型手册
- 教育研究导论首都师范
- 《国际关系理论》PPT课件
- 公司层面风险评估操作手册
- (附件)-架空输电线路状态评价细则(试行)
评论
0/150
提交评论