南京工程学院
课程设计任务书
课 程 名 称 运筹学与系统分析课程设计
院(系、部、中心) 机械工程学院
专 业 工业工程
班 级 工业工程111
姓 名 丁允想
学 号 201110911
组 员王东磊、许燕、王尧峄、沈鹏飞
起 止 日 期 2014.1.5-2013.1.9
指 导 教 师 邱胜海、王志亮
1.课程设计应达到的目的
运筹学与系统分析课程设计为《运筹学》课程的实践环节,在本课程设计的过程中,
通过学习和使用软件工具解决实际问题的实践,深入了解与掌握《运筹学》课程内容、
综合应用已学知识,提高分析和解决问题的能力。
要求运用课程所学知识,对实际问题进行分析,并建立数学模型,同时通过使用软
件求解数学模型,分析系统优化问题过程,增强使用软件工具的能力。
2.课程设计题目及要求
学习使用LINGO 和EXCEL 软件解决系统优化分析问题
完成:
1、熟悉运筹学软件;
2、对实际问题进行分析;
3、建立待解问题的数学模型;
4、使用软件解决实际问题,寻求优化解;
课题一 配方问题
配方问题为2 个或更多的原材料混合生产一种或多种产品,并且满足一个
或多个质量指标。这种类型问题涉及的问题有饲养动物的配料问题,特殊性能
合金钢冶炼问题,食品(饼干、面包、饮料)配方问题等。
配方问题拟采用LINGO 优化分析软件求解。
课题二 物料需求计划
Material Requirements Planning(物料需求计划,简称MRP)用于较复杂
产品生产调度(制作生产时间表)。
MRP 采取按即时生产原则满足生产物料需求,MRP 的目标重点是复杂产
品生产物料的适时供给,而不是生产成本的优化。研究涉及产品另部件生产与
完成时间、产品交出时间,并采用逆推方式制定生产时间表。
MRP问题拟采用LINGO 优化分析软件求解。
课题三 动态规划问题解算
动态规划常用于生产过程计划,依据供货需求、生产能力、库存能力等条
件因素制定生产计划,是重要的最优化成本方法之一。
利用动态规划以及使用EXCEL 电子表格计算求解可以达到优化生产计划
的目的,求解途径是依据约束条件,通过对问题的计算来实现。
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
一、熟悉软件使用
二、设计解题方案,编制与输入程序
三、调试程序并解算
四、撰写课程设计说明书
1. 任务说明
2. 任务分析
3. 解题方案
4. 解题程序
5. 解题结果
6. 总结
4.主要参考文献
1、 WAYNEL L. WINSTON. 运筹学.北京:清华大学出版社,2004
2、 MARK DODGO,CRAIG STISON,曹小刚等翻译. 精通EXCEL2002 中文版. 北京:
清华大学出版社,2002
3、LINGO 软件帮助文件
目录
配方问题... 6
一:任务说明... 6
二:任务分析... 6
三:解题方案... 7
四:解题程序... 9
五:解题结果... 10
动态规划问题结算... 13
一:任务说明... 13
二:任务分析... 13
三:解题方案... 13
四:解题程序及结果... 13
总结... 15
配方问题
一:任务说明
某厂3种原油生产3个等级的汽油产品,厂里每天可买到3种原油各5000桶,工厂生产能力为每天14000桶,每桶油加工费用为4元。具体制油要求如表所示。
要求决策:使公司收益最大的生产方针;
二:任务分析
面临的问题有以下几方面:
第一、每种原油如何搭配才能达到标准。
第二、如何搭配能使成本费有最低。
第三、原油价格出现变化时又如何是成本最低。
三:解题方案
3.1Xij:第i级汽油包含第j种物质的含量
y&j:第&原油包含第j物质的含量
Ai:第i级汽油价格
bi:第i级汽油需求
Z:该厂每天的利润
Di:第i汽油产量
c&:第&原油售价
di&:第i种汽油使用第&种原油数量
目标函数:
Max z=(a1-4)*b1+(a2-4)*b2+(a3-4)*b3-c1*(d11+d21+d31)-c2*(d12+d22+d32)-c3*(d13+d23+d33)
S.t.
X11>=10, X12<=1, X21>=8, X22<=2, X31>=6, X32<=1
D1+d2+d3<=14000
D1>=b1, d2>=b2, d3>=b3
D11+d12+d13<=5000
D21+d22+d23<=5000
D31+d32+d33<=5000
3.2 The Sets(变量定义设置)
问题中需要设置三个原始变量,变量名分别是:
l 原材料变量(RAWMAT)
l 产品变量 (FINGOOD)
l 质量要求变量(QUALMES).
问题中还需要设置三个派生变量,表达原始变量的连接关系,派生变量名分别是:
l 原材料与质量关系变量 (RXQ)
l 产品与质量关系变量(QXF)
l 原材料与产品关系变量 (RXF)。
The Variables(决策变量)
问题求解是需要找出决策的变量值,问题中的决策变量有三个,变量名分别是:
l 每种产品需要的原材料数量,决策变量名 (USED)
l 每种产品的生产数量,决策变量名 (BATCH)
l 产品质量允许值,决策变量名(XINWAN,LIU)
3.3 The Objective(目标函数)
进行生产参数决策,获得最大效益是分析研究的目的。在问题中,希望以最小的成本,售出最大的满足质量要求的产品。
最大效益=所有产品产量×产品价格-所有原材料用量×原材料价格-生产费用
LINGO求解语句
[OBJECTIVE] MAX =
@SUM(OIL: PRICE * BATCH) –
l @SUM(RAW ( R): COST( R) * @SUM(FINGOOD ( F): USED( R, F))) -@SUM(FINGOOD: BATCH*4);
其中:
l @SUM(FINGOOD: PRICE * BATCH)
所有产品能获得的收益:所有产品产量×产品价格之和。
l @SUM(RAW R): COST( R) * @SUM(FINGOOD ( F): USED( R, F))
所有使用原材料的成本:所有原材料用量×原材料价格之和。
l @SUM(FINGOOD: PRICE * BATCH)
所有生产油料的成本:所有产品生产量×加工费之和。
3.4 The Constraints(约束条件)
寻找问题的优化解是在满足各种约束条件下的相对最优解。上述问题中的约束要求中有四个,其中一个为计算值约束,三个为约束值约束,约束条件分别如下:
⑴ 计算值约束
l 每种产品的产量约束计算(产量是原材料的总量)
!Batch size computation;
产品生产量=原料1+原料2+原料3
[BATCOMP] BATCH( F) =
@SUM(RAW ( R): USED( R, F));
⑵ 约束值约束
产品的产量为一预测值,在一区间范围之内,区间上下限数值确定后需要保证产量值一定在此区间内,满足这样的限制可以用软件的函数功能(@BND)实现。
l 区间范围约束
!Batch size limits;
BATCH>=SELL;
l 产品辛烷值指标约束
产品中辛烷值含量的平均值=[(所用原料1的含量+所用原料2的含量+所用原料3的含量)/产品数量]>=指标
@SUM(QXW ( R): RAW (W,R)*USED( R, F) >= QXW* BATCH( F)
l 产品硫含量指标约束
@SUM(QLW ( R): RAW (W,R)*USED( R, F) <= QLW* BATCH( F);
四:解题程序
MODEL:
SETS:
RAWMAT/YUANYOU1,YUANYOU2,YUANYOU3/:AVAIL,COST;
FINGOOD/FIRST,SECOND,THIRD/:REQ,PRICE,BATCH;
QUALMES/XINWAN,LIU/;
RXQ(RAWMAT,QUALMES):QLEVEL;
QXF(QUALMES,FINGOOD):FLEVEL;
RXF(RAWMAT,FINGOOD):USED;
ENDSETS
DATA:
AVAIL=5000,5000,5000;
COST=45,35,25;
QLEVEL=12,0.5,
6,2,
8,3;
REQ=3000,2000,1000;
PRICE=70,60,50;
FLEVEL=10,8,6,
1,2,1;
ENDDATA
MAX=@SUM(FINGOOD:(PRICE-4)*BATCH)-@SUM(RAWMAT(R):COST(R)*@SUM(FINGOOD(F):USED(R,F)));
@For(RAWMAT(R):[RMLIM]@SUM(FINGOOD(F):USED(R,F))<=AVAIL(R););
@FOR(FINGOOD(F):[BATCOMP]BATCH(F)=@SUM(RAWMAT(R):USED(R,F));
BATCH(F)>=REQ(F););
@SUM(FINGOOD:BATCH)<=14000;
@FOR(FINGOOD(F):
@FOR(QUALMES(Q)|Q#EQ#1:@SUM(RAWMAT(R):QLEVEL(R,Q)*USED(R,F))>=FLEVEL(Q,F)*BATCH(F));
@FOR(QUALMES(Q)|Q#EQ#2:@SUM(RAWMAT(R):QLEVEL(R,Q)*USED(R,F))<=FLEVEL(Q,F)*BATCH(F)););
END
五:解题结果
Global optimal solution found.
Objective value: 288500.0
Total solver iterations: 11
Variable Value Reduced Cost
AVAIL( YUANYOU1) 5000.000 0.000000
AVAIL( YUANYOU2) 5000.000 0.000000
AVAIL( YUANYOU3) 5000.000 0.000000
COST( YUANYOU1) 45.00000 0.000000
COST( YUANYOU2) 35.00000 0.000000
COST( YUANYOU3) 25.00000 0.000000
REQ( FIRST) 3000.000 0.000000
REQ( SECOND) 2000.000 0.000000
REQ( THIRD) 1000.000 0.000000
PRICE( FIRST) 70.00000 0.000000
PRICE( SECOND) 60.00000 0.000000
PRICE( THIRD) 50.00000 0.000000
BATCH( FIRST) 3000.000 0.000000
BATCH( SECOND) 9500.000 0.000000
BATCH( THIRD) 1000.000 0.000000
QLEVEL( YUANYOU1, XINWAN) 12.00000 0.000000
QLEVEL( YUANYOU1, LIU) 0.5000000 0.000000
QLEVEL( YUANYOU2, XINWAN) 6.000000 0.000000
QLEVEL( YUANYOU2, LIU) 2.000000 0.000000
QLEVEL( YUANYOU3, XINWAN) 8.000000 0.000000
QLEVEL( YUANYOU3, LIU) 3.000000 0.000000
FLEVEL( XINWAN, FIRST) 10.00000 0.000000
FLEVEL( XINWAN, SECOND) 8.000000 0.000000
FLEVEL( XINWAN, THIRD) 6.000000 0.000000
FLEVEL( LIU, FIRST) 1.000000 0.000000
FLEVEL( LIU, SECOND) 2.000000 0.000000
FLEVEL( LIU, THIRD) 1.000000 0.000000
USED( YUANYOU1, FIRST) 2000.000 0.000000
USED( YUANYOU1, SECOND) 2200.000 0.000000
USED( YUANYOU1, THIRD) 800.0000 0.000000
USED( YUANYOU2, FIRST) 1000.000 0.000000
USED( YUANYOU2, SECOND) 4000.000 0.000000
USED( YUANYOU2, THIRD) 0.000000 0.000000
USED( YUANYOU3, FIRST) 0.000000 0.000000
USED( YUANYOU3, SECOND) 3300.000 0.000000
USED( YUANYOU3, THIRD) 200.0000 0.000000
Row Slack or Surplus Dual Price
1 288500.0 1.000000
RMLIM( YUANYOU1) 0.000000 57.50000
RMLIM( YUANYOU2) 0.000000 21.00000
RMLIM( YUANYOU3) 1500.000 0.000000
BATCOMP( FIRST) 0.000000 118.0000
6 0.000000 -21.00000
BATCOMP( SECOND) 0.000000 118.0000
8 7500.000 0.000000
BATCOMP( THIRD) 0.000000 118.0000
10 0.000000 -41.00000
11 500.0000 0.000000
12 0.000000 0.000000
13 0.000000 31.00000
14 800.0000 0.000000
15 0.000000 31.00000
16 5200.000 0.000000
17 0.000000 31.00000
分析:从上面的方案结果可得公司最大化收益为288500,一级汽油生产3000,二级汽油生产9500,三级汽油生产1000;可知生产一级汽油需要2000原油一、1000原油二、0原油三;生产二级汽油需要2200原油一、4000原油二、3300原油三;生产三级汽油需要800原油一、0原油二、200原油三。
以上的方案可使公司收益最大化。
动态规划问题结算
一:任务说明
根据订货合同,某工厂在上半年各月月末应交出货物的数量如表1所示。
表1
该厂每月最多能生产400件,仓库的储存容量最多为300件。已知每百件货物的生产成本为10,000元。如果月生产该种货物的固定费用为4000元。仓库保管费用是每百件每月500元。假定在年初无存货,而在6月底交货后应无剩余。
要求:确定每个月应生产多少件货物,才能既满足订货合同又使总成本最少;
方法:使用动态规划求解,采用EXCEL软件工具;
二:任务分析
本问题是一个生产与成本之间的问题,在生产能力和仓库容量的的限制下要满足交货数量,并且同时还要使得成本最小化,在6月底的交货后没有剩余。这个问题在我们现实中是很多厂商所追求的。
三:解题方案
对于以上题目运用动态规划求解,采用excel软件工具。
四:解题程序及结果
分析:
总结:本次的运筹学课程设计增强了我们解决实际运筹学问题的能力,并且巩固、拓展和深化了我们所学的基础理论、专业理论和知识,让我们初步建立了正确的设计思想和方法,进一步提高运算、计算机运用技能、lingo软件使用和综合分析、解决问题的能力。
在课程设计过程中,分组进行,在和同组同学之间进行讨论共同来解决遇到的问题,培养我们学会合作的能力,并且在完成报告与做部分课设时自己思考也培养了我们的独立思考的能力。从这次的课程设计于我来说让我获益匪浅。