运筹学课程设计报告组别:第三组设计人员:设计时间: 2012年6月25日—2012年7月6日1 设计进度本课程设计时间分为两周:第一周(2012年6月25日—--—2012年6月29日):建模阶段.此阶段各小组根据给出的题目完成模型的建立。
主要环节包括:2.1 6月25日上午:发指导书;按组布置设计题目;说明进度安排.2.2 6月25日下午至6月27日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。
2。
36月28日至6月29日:各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。
第二周(2012年7月2日——-7月6日):上机求解,结果分析及答辩.主要环节包括2.1 7月2日至7月3日:上机调试程序2.2 7月4日:完成计算机求解与结果分析。
2.3 7月5日:撰写设计报告。
2.4 7月6日:设计答辩及成绩评定。
2 设计题目第三十三题某商店要制订明年第一季度某种商品的进货和销售计划。
一直该店的仓库容量最多可存储该种商品500件,而今年年底有200件存货。
该店在每月月初进货一次。
已知各月份进货和销售该种商品的单价如下表所示。
问每个月应进货和销售该种商品各多少件,才能使总利润最大。
并按要求分别完成下列分析:(1)2月份的进货单价在何范围内变化时最优进销策略不变?(2)3月份的售价在何范围内变化是最优进销策略不变?(3)第一月份初库存量在何范围内变化时最优基不变?(4)仓库容量在何范围内变化时最优基不变?3 建模过程(1)分析过程设定变量设x1表示一月的进货量,x4表示一月的销售量。
x2表示二月的进货量,x5表示二月的销售量.x3表示三月的进货量,x6表示三月的销售量。
根据题意推理总成本费用=8 x1+6 x2+9 x3总收益=9 x4+8 x5+10 x6各约束条件的范围:一月份的进货量与年底存货之和不能大于500:x1+200≦500一月份的销售量不能大于一月份的进货量与年底存货量之和:x4 ≦x1+200二月份的进货量与一月份剩余量之和不能大于500:x2+(x1+200 —x4)≦500二月份的销售量不能大于二月份的进货量与一月份剩余量之和:x5≦x2+ x1+200-x4三月份的进货量与二月份剩余量之和不能大于500:x3+(x1+200 -x4+ x2–x5)≦500三月份的销售量不能大于三月份的进货量与二月份剩余量之和:x6≦x3+(x1+200 —x4+ x2–x5)(2)模型由以上设定和题目要求,整理得数学模型如下:max z=-8 x1-6 x2—9 x3+9 x4+8 x5+10x6约束条件:x1≦300- x1+x4≦200x1+ x2—x4≦300- x1- x2+x4+ x5≦200x1+ x2+ x3—x4—x5≦300—x1—x2—x3+x4+x5+ x6≦200x i≧0,i=1 (6)(3)计算机求解前的手工数据准备将原问题添加松弛变量:x7、x8、x9、x10、x11、x12化成标准形式:max z=—8 x1-6 x2-9 x3+9 x4+8 x5+10x6约束条件:+ x7=300x- x1+x4+ x8=200x1+ x2- x4+ x9=300- x1—x2+x4+ x5+ x10=200x1+ x2+ x3 -x4—x5+ x11=300—x1—x2—x3+x4+x5+ x6+ x12=200x i≧0,i=1 (12)4 求解程序功能介绍(1)程序功能介绍Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,能运行于不同的平台,对程序提供了安全管理器,防止程序的非法访问.类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用.Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
LINGO是一种专门用于求解数学规划问题的软件包。
LINGO可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。
其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数,方便灵活,而且执行速度非常快。
Lingo 是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具, 提供强大的语言和快速的求解引擎来阐述和求解最佳化模型,一个Lingo模型至少需要具备三个要素:目标、决策变量和约束条件。
(2)求解程序1。
程序流程图2。
程序截图a、输入数据b、通过计算得最优表从上图可知最优解为X1=300,X2=500,X3=0,X4=500,X5=0,X6=500,最优值Z=41003.LINGO计算的结果a、最优表结果b、灵敏度分析表5.结果分析1、由单纯形法求得最优解及最优值:一月份进货300件,销售500件;二月份进货500件,销售0件;三月份进货0件,销售500件,总利润达到最大,为4100元。
2、二月份的进货单价和三月份售价在什么范围内变化最优进销策略不变属于LP问题模型中目标函数参数Cj的变化,所以分为两种情况:(1)若Cj是非基变量Xj的系数:确定非基变量系数变化范围,非基变量系数变化只影响自身的检验数,因此:设Cj为非基变量Xj的系数,令它在当前最优表中的检验数δj=C B B-1Pj—Cj>=0,当Cj发生了△Cj变化后,要保证当前最优表中相应的检验数仍大于或等于0,必有:即:δj=δj—△Cj〉=0或△Cj<=δj这就是说,当Xj的系数Cj增大△Cj以后其增量变化范围小于等于该变量在当前最优表中相应的检验数时,最优解不变,即最优进销策略不变(2)若Cj是基变量Xj的系数:确定基变量系数变化范围,基变量系数变化影响所有非基变量的检验数和目标函数值,所以△Cj的取值范围:max{-δj/brj | brj>0}<=△Cjr <=min{—δj/brj | brj<0}这就是说,Cj的变化范围在基变量Cj增量的变化范围之内则其最优解、最优值均不变,即最优进销策略不变.因此,2月份的进货单价在[6,9]范围内变化时,最优进销策略不变;3月份的销售单价在[9,10]范围内变化时,最优进销策略不变。
3、一月份初库储量的变化和仓库容量的变化使最优基不变属于LP问题模型中约束条件右端参数b的变化:根据公式max{-bi/βir | βir>0}<=△br〈=min{-bi/βir |βir<0}确定b的变化范围.当b的变化在该范围之内最优基不变最优解变化,最优解由公式X B=B—1b 求得。
所以,第一月初库存量在[0,200]内变化时最优基不变。
6 创新内容1、当2月份的进货价变为5元时,最优购销策略是否改变?如改变求出新的最优销售策略?2、该商店预计在四月份时继续购入和销售该种商品,已知进货单价7元,销售单价9元,问每个月应进货和销售该种商品各多少件,才能使一月份之四月份总利润最大?3、假设商品每月购进的商品总和在仓库中的占地面积不超过35平方米,已知100件商品占地5平方米,问增加该条件后对原有的最优营销策略是否有影响?若有影响求出新的最优销售策略?7课程设计总结两周的运筹学课程设计的学习,虽然经历了一些困难,但是我收获了更多的经验,了解了很多新的知识,也体会到了团队合作的重要性。
通过运筹学课程设计,我知道了运筹学这门课程与实际联系紧密,运筹学就是通过数学模型来安排物资,它是一门研究如何有效的组织和管理人机系统的科学,它对于我们逻辑思维能力要求是很高的。
它以整体最优为目标,对所研究的问题求出最优解,寻求最佳的行动方案,所以它也可看成是一门优化技术,提供的是解决各类问题的优化方法.在起初地建模过程中,开始我并不理解什么是建模,通过查找资料和询问一些有经验的同学,我明白了建模的过程及要求,然后通过回想课堂上所学的运筹学的知识,查找有关的资料和同组的同学讨论,终于初步建立了线性规划模型,根据题中所给的条件列出了各项约束条件,再反复更正,我们终于建立了能够使企业获得最大利润地目标函数的模型,使我们完成了设计的第一步.我们在计算和编程的过程中,遇到了各种各样的困难,这也使我们体会到了团队之间合作的重要性,分步讨论,循序渐进,慢慢的解决,仔细的思考,巩固了知识,扎实了基础.使我们在争相讨论,各抒己见忙碌的同时,温故知新.同时激发了我们学习和探讨实际问题的兴趣,培养了很好的合作思考的能力以及逻辑思维能力。
而且了解了LINGO软件的使用方法,检验了我们计算的结果,并进行了灵敏度分析,使线性规划问题得到了最优的解决方案。
通过这次运筹学课程设计,我发现自己的很多不足,自己知识的很多漏洞,包括运筹学和数学两个方面的.运筹学是一门深奥的学科,并且对解决实际问题是非常有效的,通过一个学期的短暂学习,学到了一些理论知识及解决方法,但这次课程设计却是我们专业课程知识综合应用的实践训练,很大程度的提高了我们的实战能力,把理论与实践结合起来,有助于我们理解所学的知识,完善所学知识中的漏洞,明白学习不能纸上谈兵,应用于实际中才有意义。
这次的实习就充分的把俩者结合在一起,让我们学以致用。
这次的运筹学课程设计对于我来说是一次难得的实践机会,使平时学习的知识得到运用,了解一些解决实际生活中的问题的方法,同时,也领会了团队合作的重要性,为未来的职业生涯奠定了基础。
总之,这次的课程设计使我收获很多,取得了更多的进步.最后感谢老师给予我们的帮助,耐心的指引我们向前。