运筹课程设计

时间:2024.3.31

四川理工学院

《运筹学课程设计》报告

学    生:雷鹏程  李杰  熊伟

          杨治文  文钊

专    业:统计学

班    级:20122

指导教师:兰  恒  友

           

四川理工学院理学院

二O一 四 年十一月


四川理工学院理学院

课程设计任务书

    业:                   级:     20122  

课程名称:                 运筹学课程设计              

学生姓名:雷鹏程   李杰   熊伟   文钊   杨治文                                     

    间:    2014         11       12    

一、   课程设计题目

带步长因子Newton算法研究

二、   课程设计条件

1. 参考文献:

[1] 刁在筠、刘桂真、宿洁、马建华编著. 运筹学(第三版)[M]. 北京: 高等教育出版社, 2007.

[2] 孙文瑜等, 最优化方法(第二版)[M]. 北京: 高等教育出版社, 2010.

[3] 王红梅. 算法设计与分析[M]. 北京: 清华大学出版社, 2006.

2. 安排12学时(11周三8:15-11:50,18:50-21:50;11周五10:20-11:50, 14:30-16:00)上机(统计20121 N1S3-1011/统计20122 N1S3-1007),指导老师指导。

三、   设计任务

理解巩固课程理论教学的知识,培养学生的实践动手能力。具体任务:掌握带步长因子Newton法的思想及迭代步骤;已知,用带步长因子Newton法编程求

四、   设计说明书(或论文)内容

摘要、问题描述、具体理论知识点、具体实例、程序清单、程序实现、参考文献、总结、小组成员分工合作清单。

五、   进度计划(列出完成项目设计内容、编程等具体起始日期)

11月10-11日图书馆或网络查资料,11月11-12日,根据资料整理出基础理论与实例;11月12-14日上机12学时,编程并上机实现;11月21日前完成设计报告并上缴纸质文档及其电子文档。


带步长因子Newton算法研究模型

摘  要

本文主要研究带歩长因子的Newton算法,针对本文问题,我们采用了Newton法的思想与计算步骤,但是为了克服Newton法中初始点的选取以及当目标函数存在严重非线性时迭代过程中不一定收敛的缺陷,所以本文在迭代过程中引入了步长因子和一维搜索加以解决,然后运用一维搜索找到了最优步长因子。经过这种带歩长因子的Newton方法解决这个无约束最优化问题。

关键词Newton法,迭代,带歩长因子Newton法。


目    录

一、问题提出.............................................................. 1

二、设计思路和步骤........................................................ 2

三、程序设计.............................................................. 3

3.1问题分析........................................................... 3

3.2 算法设计.......................................................... 3

3.3 算法框图.......................................................... 3

3.4 程序编制.......................................................... 4

四、结果分析.............................................................. 6

4.1设计结果........................................................... 6

4.2 进一步讨论和验证.................................................. 7

五、收获和总结............................................................ 7

六、结束语................................................................ 9

6.1设计的优缺点....................................................... 9

6.2设计工作展望....................................................... 9

参考文献................................................................. 10

附  录................................................................... 11


一、问题提出

非线性规划研究的对象是非线性函数的数值最优化问题,其理论和方法涉及许多方面,例如军事、经济、管理、生产过程中自动化和产品优化设计等都有重要应用。在求解一个非线性归化问题就是希望求得它的整体最优解和整体最优值,但很多情况下,我们往往很难实现,而只能得到它的局部最优解和局部最优值。由于大型计算机的普遍使用,使我们有可能找到多个满足条件的的解,或多个局部最优解后,从中选取一个最优解,因此非线性规划的问题的最优解要依据具体的类型问题和采用具体的算法而定。所以我们提出下面这个非线性规划问题:已知,用带步长因子Newton法求:


二、设计思路和步骤

2.1设计思路

对于此次课程设计,我们组的设计思路是:

1.得到设计题目之后,我们对题目进行了分析与研究,队员对题目的发表自己的思路,每个人对题目进行了书面解答,增加了对题目的解题思路加深印象。

2.然后对每个组员进行了分工。

3.每个队员对自己的任务进行了整理和书写。

4.最后大家一起每个队员整合后的资料进行的修改和发表看法。

2.2设计步骤

1.查阅关于Newton法方面的相关资料,参考刁在筠《运筹学第三版》的Newton法的思想与计算步骤结合席少霖《非线性规划》的关于一维搜索及其Newton法的讲解找到带步长因子Newton算法的计算步骤。

2.根据算法步骤画出算法框图参考文献资料编写出带步长因子Newton法的matlab程序。

3.对计算出的答案进行了验证与推广,并且计算多个初始点的极值相比较,对程序的和算法步骤进行验证。

4.最后对于带步长因子Newton算法研究的论文进行整理,整合出最终的论文。


三、程序设计

   

3.1问题分析

带步长因子Newton法的基本思想:参考刁在筠《运筹学(第三版)》,带步长因子牛顿法的迭代方向依然与牛顿法一样,采用牛顿方向:

但每次迭代需沿此方向作一位搜索,求其最优步长因子,使得

将牛顿法的迭代公式改为:此即带步长因子牛顿法的迭代公式。

称为步长因子,通过牛顿方向进行一维获得。当目标函数的Hesse矩阵处于正定时,带步长因子牛顿法能保证每次迭代的目标函数值均为下降,从而保持了二次收敛的特性

3.2 算法设计

步1:选取初始点,取初始点,终止误差,维数n,令:=0。

步2:计算,若,若满足,停止迭代,输出

否则进行步3。

步3:计算处的,并求其逆。

步4:计算牛顿方向,然后沿牛顿方向进行一维搜索求出最优  步长,使得

 ,然后令k+1k 转步2

3.3 算法框图

 

                              

 

3.4 程序编制

function y=objfunc(x)

y=60-10*x(1)-4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)

>>xmin=fminsearch(‘objfunc’,[0 0])

>>xmin=fminsearch(‘objfunc’,[1 1])

>> syms x y;

z=60-10*x-4*y+x^2+y^2-x*y

ezsurf(x,y,z)

z =60-10*x-4*y+x^2+y^2-x*y


四、结果分析

4.1设计结果

选取初始点为

图一 Matlab程序计算图

由matlab计算得到该问题的极小值点:

目标函数极小值:

由matlab得到该函数收敛图:

图二 目标函数收敛图

4.2 进一步讨论和验证

讨论:(1)当正定时,只要,那么Newton方向定为下降方向,

     (2)若为不正定但非奇异,且Newton方向为,使,那么

为下降方向,此时改取

     (3)若或者奇异,此时采用负梯方向,即取

推广:在实际生产生活中会涉及到一些无约束最优化问题,使用带步长因子的Newton法能够很好的解决其计算量大及复杂的数学问题,推广到多元函数中也可以找到多元函数的最小值。


五、收获和总结

5.1 小组总结

通过此次课程设计,使我们更加扎实的掌握了有关Newton法及其带步长因子Newton算法方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。在这学期的运筹学课程设计实验课中,不仅培养了独立思考、动手操作的能力,而且在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

5.2 个人总结

在此次课程设计中,杨治文查阅了相关Newton法的一些文献资料,知道了如何查找相关的资料文献,同时对牛顿法的思想与算法步骤有所了解。李杰在此次的课程设计中知道了论文的书写格式,知道书写一篇论文的重要性,还明白了如何写一篇好的论文,可能这次论文的书写会有一些问题,但是我在文钊的协助下学会如何运用文字和数学符号去表达数学知识。熊伟知道如何计算Newton的简单的计算题,并且明白了带步长因子Newton法的思想与算法步骤,对于一些简单的函数问题能够计算出最优解。雷鹏程身为组长在此次的课程设计中展示出了组长应有的责任,队员的分工与问题分析起到了关键作用,他总结每个队员对于问题的分析,最后主要提出了这次带步长因子Newton算法的计算步骤,并且学习了如何简单的编写一些matlab程序来解答此次问题,主要解决了这次的课程设计,在设计中提出了自己一些看法与意见。回顾起此课程设计,至今仍感慨颇多,从理论到实践,学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 


六、结束语

6.1设计的优缺点

设计优点:而牛顿法不仅使用函数的一阶导数,还进一步利用了二阶导数,较好的考虑了梯度的变化趋势,因而能够更全面的确定合适的搜索方向,加快收敛速度。牛顿法具有二次收敛性,对于正定的二次函数应用牛顿法只要一次迭代即可达到极小点。对于目标函数二次性态好或者初始点取在极值附近时,收敛速度快。

设计缺点:应用牛顿法的主要困难是Hesse矩阵可能奇异,或者接近奇异;即使该矩阵是可逆的,它也未必是正定矩阵。此时,导出的牛顿法迭代格式的二次函数不一定有极小值,甚至没有驻点。为了保证目标函数的二次函数是严格凸的,存在极小点,就需要对二次函数的Hesse矩阵进行修正。修正牛顿法的基本思想是:在确定搜索方向时,对Hesse矩阵增加一个矫正矩阵,使之正定,这样可以保证走做方向是目标函数的下降方向。

6.2设计工作展望

通过这次的课程设计,使我们知道带步长因子的Newton法的基本思想和计算步骤,有个这个算法步骤能够很好的解决Newton法中的迭代步长是定的,可以很好的解决在实际问题中的初始点的选取和很好的运用matlab解决一些计算量大而复杂的非线性规划问题。由于计算机的普遍使用,因此在以后的实际生产生活中一些关于Newton法的无约束最优化问题运用计算机能够解决一些棘手数学问题。在未来的实际生活中会得到广泛的运用。


参考文献

[1] 刁在筠、刘桂真、宿洁、马建华编著. 运筹学(第三版)[M]. 北京: 高等教育出版社, 2007.

[2] 席少霖.非线性最优化方法[M].北京:高等教育出版社,1992.


附  录

求目标函数极小值:

function y=objfunc(x)

y=60-10*x(1)-4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)

>>xmin=fminsearch(‘objfunc’,[0 0])

>>xmin=fminsearch(‘objfunc’,[1 1])

目标函数收敛:

>> syms x y;

z=60-10*x-4*y+x^2+y^2-x*y

ezsurf(x,y,z)

z =60-10*x-4*y+x^2+y^2-x*y


第二篇:运筹学课程设计1


?实验一操作步骤

§Step1 进入LinDO操作界面

§Step2 按要求输入LP模型 检验输入表达式的正确性:

菜单Reports/ Piture

Formulation

所得结果如下:

进入菜单Reports/ Picture 结果显示:

运筹学课程设计1

进入菜单Reports/ Formulation 结果显示:

MAX 4 X1 + 3 X2

SUBJECT TO

2) 2 X1 + 3 X2 + X3 = 24

3) 3 X1 + 2 X2 + X4 = 26

END

§Step3 按运算符健或菜单Slove/Slove,并选择是否进行灵敏度分析?选:否!的结果如下:(给出解释)

进入菜单 Slove/Slove结果显示:

MAX 4 X1 + 3 X2

SUBJECT TO

2) 2 X1 + 3 X2 + X3 = 24

3) 3 X1 + 2 X2 + X4 = 26

END

LP OPTIMUM FOUND AT STEP 2

表示LINDO在(用单纯形法)2次迭代或旋转后得到最优解。

运筹学课程设计1

OBJECTIVE FUNCTION VALUE

1) 36.00000

表示最优目标值为36.00000。

VARIABLE VALUE REDUCED COST

X1 6.000000 0.000000

X2 4.000000 0.000000

X3 0.000000 0.200000

X4 0.000000 1.200000

“VALUE”给出最优解中各变量的值。“REDUCE COST”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率,其中基变量的reduce cost 值应为0,对于非基变量xj相应的reduce cost值表示xj增加一个单位(此时假定其他非基变量保持不变)时目标函数减小的量(max 型问题)

ROW SLACK OR SURPLUS DUAL PRICES

2) 0.000000 0.200000

3) 0.000000 1.200000

NO. ITERATIONS= 2

“SLACK OR SURPLUS”给出松弛变量的值。

§Step4 菜单Reports/Range,进行灵敏度分析。所得结果如下:(给出解释) 进入菜单Reports/Range 结果显示:

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES

VARIABLE CURRENT ALLOWABLE ALLOWABLE

COEF INCREASE DECREASE X1 4.000000 0.500000 2.000000

X2 3.000000 3.000000 0.333333

X3 0.000000 0.200000 INFINITY

X4 0.000000 1.200000 INFINITY

RIGHTHAND SIDE RANGES

ROW CURRENT ALLOWABLE ALLOWABLE

RHS INCREASE DECREASE 2 24.000000 15.000000 6.666667

3 26.000000 10.000000 10.000000

§Step5 菜单Reports/Tableam,先是单纯形表,并与教材中的结果对比。所得结果如下:(给出解释)

进入菜单Reports/Tableau 结果显示:

THE TABLEAU

ROW (BASIS) X1 X2 X3 X4

1 ART 0.000 0.000 0.200 1.200 36.000

2 X2 0.000 1.000 0.600 -0.400 4.000

3 X1 1.000 0.000 -0.400 0.600 6.000

§Step6 菜单Reports/Peruse,所得结果如下:

进入菜单Reports/ Peruse 结果显示:

运筹学课程设计1

§Step7 菜单Reports/Show Colum,所得结果如下:(给出解释)

运筹学课程设计1

“DUAL PRICE”(对偶价格)列出最优单纯形表中判别数所在行的松弛变量的系数,表示当对应约束有微小变动时,目标函数的变化率,输出结果中对应每一个约束有一个对偶价格

更多相关推荐:
建筑结构课程设计设计总结

工程结构设计心得课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容;《建筑结构》从课程性质上讲是一门专业…

课程设计心得体会

心得体会通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得以补充,在设计过程中遇到一些模糊的公式和专业用语,比如说经济刮板运输机及皮带运输的选择,在选择选择刮板皮带运输选型时,在使用手册时,有的数…

课程设计个人小结

个人小结三周的课程设计结束了,我和同学们一起度过了这段忙碌而充实的时光。这次的课程设计深刻的反映出实践是检验真理的唯一标准这句话的真谛。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作…

信息工程学院课程设计总结

通过近两周的奋斗,课程设计接近了尾声。经过两周的奋战我的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对信号与系统这门课程所学知识的单纯总结,但是通过这次做课程设计发现自己的看法有点太片面。课程设计不…

课程设计心得体会(通用)

课程设计心得体会通用通过此次课程设计使我更加扎实的掌握了有关方面的知识在设计过程中虽然遇到了一些问题但经过一次又一次的思考一遍又一遍的检查终于找出了原因所在也暴露出了前期我在这方面的知识欠缺和经验不足实践出真知...

课程设计总结模板

两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合…

万能课程设计心得体会2个

1两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了…

asp net 课程设计小结

课程设计小结又过去了一周这次aspnet的课程设计中学习到了很多通过这次的课程设计检验和巩固了我平时所学的知识让我知道了平时学习中的不足教会了我如何去完整地完成简单的系统在设计的过程之中遇见问题是一定的有时候就...

数据结构课程设计总结

课程设计说明书课程名:《数据结构课程设计》题目:一元多项式运算系统20##年1月一、课程认识数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数…

课程设计心得

嵌入式系统开发课程设计题目基于6410ARM的嵌入式WEB服务器的移植院系信息工程学院专业班级11计科特色班学生姓名邵飞飞学号1142157115设计地点13号楼605指导教师王华本起止时间20xx年4月21日...

课程设计心得感想体会29篇

课程设计心得感想体会在做实验前一定要将课本上的知识吃透因为这是做实验的基础否则在老师讲解时就会听不懂这将使你在做实验时的难度加大浪费做实验的宝贵时间比如做应变片的实验你要清楚电桥的各种接法如果你不清楚在做实验时...

课程设计心得

课程设计心得篇一课程设计心得本学期实时测量技术实验以电子设计大赛的形式老师命题学生可以选择老师的题目也可以自己命题并且组队操作其他的事情包括设计总体方案硬件电路软件设计焊接调试等工作趣味性强同时也可以学到很多东...

课程设计设计总结(40篇)