已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运筹学实习报告姓 名: xxxxxxxxxx 学 号: xxxxxxxxxxx 专业班级: xxxxxxxxxxxx 2 0 1 3年 7 月 0 4 日题目:用最速下降法求解无约束非线性规划问题摘要: 无约束最优化问题的求解方法分为解析法和直接法两大类。解析法需要计算函数的梯度,其中最速下降法就属于解析法中的一种。对于一个无约束非线性规划利用最速下降法求解,首先需要确定其优化方向,此优化方向应该选择为f在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。本文通过理论的计算方法,进一步分析,最后用c+编程实现求出允许误差内的最优解。此编程可用于计算符合下列形式的函数求最优解过程: f(x)=a0x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5其中:ai (i=0,1,2,3,4,5) 为函数的系数。 本文以“ 李占利 主编,中国矿业大学出版社出版”的最优化理论与方法 第五章 “无约束最优化方法,5.1 最速下降法 ”例51为实例,首先利用上述迭代的方法,计算出各迭代点的函数值,梯度及其模。然后应用c+语言编程,得到在精度范围内的精确最优解。 C+编程计算的最优解为 : 。 即转化为分数结果为: 。 满足精度要求的模为:。关键词:无约束非线性规划 解析法 最速下降法 梯度 模 最优解1、 算法思想 无约束最优化方法中的最速下降法首先需要确定其优化方向,此优化方向应该选择为f在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。主要依据解无约束非线性规划问题的最速下降法计算步骤进行设计算法。 具体步骤如下: 第1步 选取初始点,给定终止误差 0,令k=0; 第2步 计算,若,停止迭代,输出,否则进行第3步; 第3步 取; 第4步 进行一维搜索,求,使得,令,k=k+1。转第2步。由以上计算步骤可知,最速下降法迭代终止时,求得的是目标函数驻点的一个近似点。 依据以上步骤就可以用C+编程实现最速下降法求解最优解的算法。2、 算法流程图停取,k:=0计算是否求令k:=k+13、 程序代码#include#includedouble lamda(double x2,double p2,double a2)double lam1,lam2;lam1=(pow(a0,3)*x0*x0+pow(a1,3)*x1*x1);lam2=-(pow(a0*x0,2)+pow(a1*x1,2);double s;s=-lam2/(2*lam1);return s;void main() coutendl; cout 最速下降法求解最优解程序运行结果 endl; coutendl;coutendl;double lamd,x3,a6;double p2,g2,e,y,m,n; int i=0;cout请输入精度ee; cout请输入初始点x0,x1的值:nm;cinn;x0=m; x1=n;cout函数通式为f(x)=a0x1*x1+a1x2*x2+a2x1*x2+a3x1+a4x2+a5endl;cout请依次输入函数的系数:a0、a1、a2、a3、a4、a5:endl;for(i=0;iai; p0=(2*a0*x0+a2*x1+a3); p1=(2*a1*x1+a2*x0+a4); g0=-p0; g1=-p1;i=0; coute&i=200) lamd=lamda(x,g,a); x0=x0+lamd*g0; x1=x1+lamd*g1; p0=2*a0*x0; p1=2*a1*x1; g0=-p0; g1=-p1; i+; cout*endl; cout第i次迭代结果:endl; coutp的模为:sqrt(g0*g0+g1*g1)endl; coutx的值x0 x1endl; cout*endl; coutendl;y=(a0*x0*x0+a1*x0*x1+a2*x0*x1+a3*x0+a4*x1+a5); cout此时满足精度要求的p的模为:sqrt(g0*g0+g1*g1)endl; coutendl; cout满足精度的最优近似结果x1,x2分别为:endl; coutx1=x0endl; coutx2=x1endl; coutendl; cout满足进度要求所得的最优值为:endl; coutminf(x)=yendl;4、 例子与结果例子为“ 李占利 主编,中国矿业大学出版社出版”的最优化理论与方法 第五章 “无约束最优化方法,5.1 最速下降法 ”例51。用最速下降法求解,初始迭代点,精度为。则体现在程序中很明显有:a0=2,a1=1,a2=a3=a4=a5=0;e=0.1;x0=x1=1;则程序运行结果为:即在允许的精度范围内,初始迭代点,精度为。得到在精度范围内的精确最优解为: ,即 。 满足精度要求的模为:。5、 结论与总结 最速下降法为最优化万千方法中的一种,要想更好地利用最优化方法解决我们身边的问题,光靠这一种方法远远不够。因此我必须要好好掌握其他的各种方法。还有通过这次实习让我深深认识到,并不是所有的问题都能够手工完成的,我们平常接触的例题,都非常基础,那完全可以手工计算得到答案,但如果问题比较复杂时,我们是没有办法用手工完成的。所以我们必须借助计算机来解决那些复杂的问题。因此这就要求我们必须要熟练掌握编程技巧,要能够把实际的复杂问题通过编写程序来解决它。还有此次用最速下降法求解最优解的程序,我编的还不够完美,还有很多不足之处,只能用于研究二元函数的最优解问题,不能进行其他的更深入的研究,所以还有很多改进的地方,以后我还要继续努力。 对于编程一定要多练、多动手操作,通过这次实习让我深深地认识到,光靠理论知识是不行的,理论知道再多,如果不动手实践的话照样编不出程序,只有在实践中,在编写程序的过程中我们才能发现自己的不足,才能知道问题出在哪儿。所以无论学习什么编程语言,我今后一定要多动手,今后无论学习什么我都要勤动手,多动手,多写,多练。6、 参考文献1龚尚福,贾澎涛. C/C+语言程序设计 M.徐州:中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年工程检查验收时间协议
- 2026年医用耗材SPD模式下的订单处理服务合同
- 旅行社委托代理合同范本及注意事项
- 促进学生潜力发展的教学工作方案
- 厂房租赁合同范本与注意事项
- 医院信息化系统集成方案
- 质量控制检查表及改善方案
- 律师事务所聘用协议合同样本
- 安全生产月活动实施方案与案例
- 北京市房屋租赁合同示范文本解析
- 院外转运的护理
- 终身教育视野下人工智能赋能特殊职业教育的实践与探索
- 再生资源企业安全培训
- 古诗词中蕴含的物理知识
- 温通刮痧技术操作流程图及考核标准
- 三年级上册100道脱式计算加减法习题
- 医患互动与信任关系构建-洞察分析
- 食品研发工作流程
- 家长学校领导小组及职责
- GB/T 7247.1-2024激光产品的安全第1部分:设备分类和要求
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
评论
0/150
提交评论