宁波大红鹰学院信息工程学院
课 程 设 计 报 告
信息工程学院
一、 问题的提出:
(正文宋体,小四,单倍行距)
这是一个线性规划问题,求的是利润最大化。那么如何求得利润的最大化呐?而我们通过目标函数知道,最后求出关键的高档发动机油量、普通发动机油量、煤油量、燃料油量、润滑油量就能将问题迎刃而解。不过题目并非想象当中的简单,因为组成以上父油其中还有许多的子油。所以,我们将问题进行细化。
初始原料有原油1,2,蒸馏后产物有轻石脑油、中石脑油、重石脑油、轻油、重油、渣油。重整后的产物有重整汽油,裂解后的产物有裂解汽油和裂解油,渣油处理后用于生产润滑油。其中,轻石脑油、中石脑油、重石脑油、重整汽油、裂解汽油5种油分别用于生产高档发动机油和普通发动机油,而轻油、重油、渣油和裂解油4种油分别用于生产煤油、燃料油。
所以我们要将以上提到的各种油都要列入决策变量中。总的求解思路如下:
第一:对相关数据进行分析,写出各种油之间的函数关系。
第二:分析出生产出最终产品油所需的原材料,以及各原材料在生产中的比例关系。
第三:找出各种油的生产约束条件。
第四:根据函数关系,约束条件在EXCEL中求出最大利润。
二、 有关数据的分析:
1、根据题目表述,我们可以将上述有关文字转化成简单直观的表格。该问题涉及的表格如下:
表1 原油分馏得到的油分(桶/桶)
表2 石脑油经过重整后提到的重整汽油(桶/桶)
表3 轻油重油裂化产生的产品(桶/桶)
表4 各种油品的蒸汽压(公斤/平方厘米)
表5 各种最终产品的利润(元/桶)
2、用下图表示炼油厂的生产流程
三、建立模型
1、模型的决策变量确定
2、模型的目标函数确定
目标函数即求利润最大化:
3、模型的约束条件确定
原油约束: 20000
30000
+45000
+++++-(+)0
蒸馏装置约束: -0.1-0.150
-0.2-0.250
-0.2-0.180
-0.12-0.080
-0.2-0.190
-0.13-0.120
重整装置约束: ++10000
裂解装置约束: +8000
发动机油辛烷值约束:
高档发动机油:90+80+70+115+105 94
普通发动机油:90+80+70+115+10584
煤油气压值约束: +0.6+1.5+0.05
燃料油比例: : : : = 10:4:3:1
=10, =4, =3
最终产品数量约束: 5001000
高档发动机油: -----0
普通发动机油: -----0
煤油: ----0
燃料油: ----0
润滑油: =0.5
高档发动机油与普通发动机油: 0.4
轻石脑油约束: ++-0
中石脑油约束: ++-0
重石脑油约束: ++-0
轻油约束: ++-0
重油约束: ++-0
渣油约束: ++-0
重整汽油约束: +-0
-0.6-0.52-0.450
裂解油约束: +-0
-0.68-0.750
裂解汽油约束: +-0
-0.28-0.20
非负约束:所有变量均0
四、求解结果及分析
原油1的使用量为15000桶,原油2的使用量为30000桶,共生产高级汽油约7,142桶,普通汽油约17,044桶,航空煤油约15,156桶,润滑油500桶,不生产煤油。利润约为21,850.61元.
五、总结
通过一个学期的学习,我对有关运筹学建模问题有了更深刻的认识和把握;对运筹学的有关知识点也有了进一步的学习和掌握,对我而言学习运筹学,并没有把它当作是一件难事,以平常心对待。它更多的是联系实际,对一步步的推论推理过程,我个人认为是比较有挑战性的,所以我也用心学好它。
第二篇:运筹学课程设计报告(完)
运筹学课程设计报告
组 别: 第三组
设计人员:
设计时间: 20##年6月25日-20##年7月6日
1 设计进度
本课程设计时间分为两周:
第一周(20##年6月25日----20##年6月29日):建模阶段。此阶段各小组根据给出的题目完成模型的建立。主要环节包括 :
2.1 6月25日上午:发指导书;按组布置设计题目;说明进度安排。
2.2 6月25日下午至6月27日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。
2.3 6月28日至6月29日:各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。
第二周(20##年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≦200
x1+ x2- x4≦300
- x1- x2+x4+ x5≦200
x1+ x2+ x3 -x4- x5≦300
- x1- x2- x3+x4+x5+ x6≦200
xi≧0,i=1……6
(3)计算机求解前的手工数据准备
将原问题添加松弛变量:x7、x8 、x9 、x10、x11 、x12
化成标准形式:
max z=-8 x1-6 x2-9 x3+9 x4+8 x5+10x6
约束条件:
x1+ x7=300
- x1+x4+ x8=200
x1+ x2- x4+ x9=300
- x1- x2+x4+ x5+ x10=200
x1+ x2+ x3 -x4- x5+ x11=300
- x1- x2- x3+x4+x5+ x6+ x12=200
xi≧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=4100
3.LINGO计算的结果
a、最优表结果
b、灵敏度分析表
5.结果分析
1、由单纯形法求得最优解及最优值:
一月份进货300件,销售500件;二月份进货500件,销售0件;三月份进货0件,销售500件,总利润达到最大,为4100元。
2、二月份的进货单价和三月份售价在什么范围内变化最优进销策略不变属于LP问题模型中目标函数参数Cj的变化,所以分为两种情况:
(1)若Cj是非基变量Xj的系数:
确定非基变量系数变化范围,非基变量系数变化只影响自身的检验数,因此:设Cj为非基变量Xj的系数,令它在当前最优表中的检验数δj=CBB-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的变化在该范围之内最优基不变最优解变化,最优解由公式XB=B-1b求得。
所以,第一月初库存量在[0,200]内变化时最优基不变。
6 创新内容
1、当2月份的进货价变为5元时,最优购销策略是否改变?如改变求出新的最优销售策略?
2、该商店预计在四月份时继续购入和销售该种商品,已知进货单价7元,销售单价9元,问每个月应进货和销售该种商品各多少件,才能使一月份之四月份总利润最大?
3、假设商品每月购进的商品总和在仓库中的占地面积不超过35平方米,已知100件商品占地5平方米,问增加该条件后对原有的最优营销策略是否有影响?若有影响求出新的最优销售策略?
7课程设计总结
两周的运筹学课程设计的学习,虽然经历了一些困难,但是我收获了更多的经验,了解了很多新的知识,也体会到了团队合作的重要性。
通过运筹学课程设计,我知道了运筹学这门课程与实际联系紧密,运筹学就是通过数学模型来安排物资,它是一门研究如何有效的组织和管理人机系统的科学,它对于我们逻辑思维能力要求是很高的。它以整体最优为目标,对所研究的问题求出最优解,寻求最佳的行动方案,所以它也可看成是一门优化技术,提供的是解决各类问题的优化方法。两周的gguo 平台应用软件的面向对象的程序设计语言,
在起初地建模过程中,开始我并不理解什么是建模,通过查找资料和询问一些有经验的同学,我明白了建模的过程及要求,然后通过回想课堂上所学的运筹学的知识,查找有关的资料和同组的同学讨论,终于初步建立了线性规划模型,根据题中所给的条件列出了各项约束条件,再反复更正,我们终于建立了能够使企业获得最大利润地目标函数的模型,使我们完成了设计的第一步。
我们在计算和编程的过程中,遇到了各种各样的困难,这也使我们体会到了团队之间合作的重要性,分步讨论,循序渐进,慢慢的解决,仔细的思考,巩固了知识,扎实了基础。使我们在争相讨论,各抒己见忙碌的同时,温故知新。同时激发了我们学习和探讨实际问题的兴趣,培养了很好的合作思考的能力以及逻辑思维能力。而且了解了LINGO软件的使用方法,检验了我们计算的结果,并进行了灵敏度分析,使线性规划问题得到了最优的解决方案。
通过这次运筹学课程设计,我发现自己的很多不足,自己知识的很多漏洞,包括运筹学和数学两个方面的。运筹学是一门深奥的学科,并且对解决实际问题是非常有效的,通过一个学期的短暂学习,学到了一些理论知识及解决方法,但这次课程设计却是我们专业课程知识综合应用的实践训练,很大程度的提高了我们的实战能力,把理论与实践结合起来,有助于我们理解所学的知识,完善所学知识中的漏洞,明白学习不能纸上谈兵,应用于实际中才有意义。这次的实习就充分的把俩者结合在一起,让我们学以致用。
这次的运筹学课程设计对于我来说是一次难得的实践机会,使平时学习的知识得到运用,了解一些解决实际生活中的问题的方法,同时,也领会了团队合作的重要性,为未来的职业生涯奠定了基础。总之,这次的课程设计使我收获很多,取得了更多的进步。最后感谢老师给予我们的帮助,耐心的指引我们向前。