课程名称运筹学课题名称企业季度生产计划问题专业信息与计算科学班级信科1002班学号201010010215姓名邓鹤指导教师年月日课程设计任务书课程名称运筹学课题企业季度生产计划问题专业班级信科1002班学生姓名学号指导老师审批任务书下达日期2013年5月12日任务完成日期2013年5月26日一、设计内容与设计要求(一)选题建模学生选取指导教师提供需要解决的众多实际问题中相应问题,进行分析建模。(二)程序设计(运用)在建模的基础上,要求学生编写或选取适当的工具解决问题。(三)报告答辩根据要求编写课程设计报告。二、教学安排与教学方法本课程设计要求学生根据提供的实际问题中抽取相应的题目,通过具体的计算机语言编写程序,求解问题,然后利用熟悉常用的运筹学软件,如LINGO运筹学软件等,对问题进行验证。本课程设计分三个阶段:选题建模、程序设计(运用)、报告答辩。具体进度安排如下:教学时间教学内容学时教学方式第一天(上)软件操作介绍4课堂教学第一天(下)上机实践10上机辅导第二天(上)选题建模课堂教学第二天(下)上机实践上机辅导第三天(上)上机实践上机辅导第三天(下)上机实践上机辅导第四天(上)上机实践上机辅导第四天(下)上机实践上机辅导第五天报告答辩2课堂教学总计16三、课程设计内容课程设计题目详见附录。课程设计案例软件模块设计小组生产计划问题企业季度生产计划问题配送问题人力资源的优化配置问题配料问题证券网点分配生产调运问题生产任务分配问题线性规划与整数规划2-3组工程建设问题目标规划2-3组购车问题网络模型2-3组购车问题动态规划2-3组房屋拆迁还建问题运输问题(指派问题)2-3组四、考核方式与成绩评定标准考核方式:编写课程设计报告设计报告的主要内容:封面(课程设计题目、课程设计内容、学生姓名、班级学号、专业、指导姓名、日期)、问题描述、建模分析、程序设计、结果分析设计报告编写的基本要求:一律按照学校统一标准编写成绩评定:平时成绩占30%,程序设计(运用)报告占50%,报告答辩20%。评定成绩为优,良,中,及格与不及格五个等级注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。五、推荐教材与主要参考书推荐教材:宁宣熙主编:《运筹学实用教程》,科学出版社2003.1;宁宣熙主编:《管理运筹学》,清华大学出版社2007.8;主要参考书:1、熊伟主编:《运筹学》,机械工业出版社2005.1;2、《运筹学》教材编写组:《运筹学》,清华大学出版社1990.1。3、韩伯棠主编:《管理运筹学》,高等教育出版社2005.6。4、胡运权主编:《运筹学教程》(第二版),清华大学出版社,2003。5、朱求长主编:《运筹学及其应用》,武汉大学出版社2003.1。6、赵可培主编:《运筹学》,上海财经大学出版社2002.7。7、罗明安主编:《运筹学》,经济管理出版社1999.1。8、薛秀谦、范宝谦、李永淇主编:《运筹学―系统模型、原理、方法》,中国矿业大学出版社1998.6。附:选题方案:所选题目根据学生学号确定,学号模14加1,即(学号%14+1)。如你的学号为17,则所选题目号为:17%14+1==4(题目4)。企业季度生产计划问题一、问题提出某企业生产甲、乙两种产品,第二季度的最大需求量及单位产品利润和每月的库存成本如表3所示。表3产品需求量、利润及库存成本产品需求量利润(未计库存成本)元/单位产品每月库存成本元/单位产品4月5月6月甲5004806004.50.2乙2803504006.00.3生产这两种产品都必须经由两道工序,分别使用A、B两类机器。A类机器有4台,B类机器有5台。假定4月和5月A类机器各有一台检修,6月份A类机器有两台检修;每个月各有一台B类机器检修。A类机器检修需30工时,B类机器检修需25工时。生产单位甲产品需机器A为0.9工时,机器B为1.2工时;生产单位乙产品需机器A为0.5工时,机器B为0.75工时。不考虑上述检修计划,每个月各类机器所能提供的总工时数均为700工时。该企业仓库容量为100m2,存贮每单位甲产品需占面积0.8m2,每单位乙产品需占面积1.1m2。该季度开始时无库存量,计划在本季度结束时甲、乙两种产品各库存40单位,该厂应如何安排生产计划,才能使本季度获利最大?1、问题假设:A、假定4月和5月A类机器各有一台检修,6月份A类机器有两台检修;每个月各有一台B类机器检修。A类机器检修需30工时,B类机器检修需25工时。生产单位甲产品需机器A为0.9工时,机器B为1.2工时;生产单位乙产品需机器A为0.5工时,机器B为0.75工时。不考虑上述检修计划,每个月各类机器所能提供的总工时数均为700工时。B、在本季度结束时,甲、乙两种产品库存各为40单位。2、符号说明:ijXS:表示第i种产品第j个月份的销售量;ijXQ:表示第i种产品第j个月份的需求量;ijX:表示第i种产品第j个月份的生产量;Z:表示本季度获得的利润。3、建立模型:约束条件:工时约束:675*75.0*2.1675*75.0*2.1675*75.0*2.1640*5.0*9.0670*5.0*9.0670*5.0*9.0231322122111231322122111XXXXXXXXXXXX销售量约束:3,2,1;2,1,4040232221232221222122212121131211131211121112111111jiXQXSXSXSXSXXXXSXSXXXSXXSXSXSXXXXSXSXXXSXijij库存量约束:1001.1*)(8.0*)(21211111XSXXSX1001.1*)(8.0*)(2221222112111211XSXSXXXSXSXX080232221131211232221131211XSXSXSXSXSXSXXXXXX生产量整数约束:且均为整数,000000232221131211XXXXXX目标函数:203.0*)(3.0*)(2.0*)(2.0*)(6*)(5.4*)(max222221212121121211111111222321131211XSXXSXXSXXSXXSXXSXXSXSXSXSXSXSZ二、运行结果三、结果分析由图可知,最优解生产量为X11=387,X12=343,X13=288,X21=280,X22=351,X23=439;销售量为:XS(1,1)=387,XS(1,2)=343,XS(1,3)=248,XS(2,1)=280,XS(2,2)=350,XS(2,3)=400即按照此安排生产,则可获得相应的最大利润Z为10534.70元。附LINGO源程序代码:model:SETS:CP/1,2/:;!CP/1,2/:表示有两种产品;JD/1..3/:;!JD/1..3/:表示有三个月份;CJ(CP,JD):XS,XQ;0!JDCPCJ,:表示产品与月份形成的矩阵;ENDSETSDATA:XQ=500,480,600,280,350,400;ENDDATA0.9*X11+0.5*X21=670;0.9*X12+0.5*X22=670;0.9*X13+0.5*X23=640;1.2*X11+0.75*X21=675;1.2*X12+0.75*X22=675;1.2*X13+0.75*X23=675;X11=XS(1,1);X11+X12=XS(1,1)+XS(1,2);X11+X12+X13=XS(1,1)+XS(1,2)+XS(1,3)+40;X21=XS(2,1);X21+X22=XS(2,1)+XS(2,2);X21+X22+X23=XS(2,1)+XS(2,2)+XS(2,3)+40;(X11-XS(1,1))*0.8+(X21-XS(2,1))*1.1=100;(X11+X12-XS(1,1)-XS(1,2))*0.8+(X21+X22-XS(2,1)-XS(2,2))*1.1=100;X11+X12+X13+X21+X22+X23-XS(1,1)-XS(1,2)-XS(1,3)-XS(2,1)-XS(2,2)-XS(2,3)-80=0;@FOR(CP(i):@for(JD(j):XS(i,j)=XQ(i,j)));X11=0;X12=0;X13=0;X21=0;X22=0;X23=0;@gin(X11);@gin(X12);@gin(X13);@gin(X21);@gin(X22);@gin(X23);[obj]max=(XS(1,1)+XS(1,2)+XS(1,3))*5+(XS(2,1)+XS(2,2)+XS(2,3))*5.5-(X11-XS(1,1))*0.2-(X11-XS(1,1)+X12-XS(1,2))*0.2-(X21-XS(2,1))*0.3-(X21-XS(2,1)+X22-XS(2,2))*0.3-20;EndLingo程序运行结果:Globaloptimalsolutionfound.Objectivevalue:10534.70Objectivebound:10534.70Infeasibilities:0.000000Extendedsolversteps:52Totalsolveriterations:300VariableValueReducedCostX11387.0000-5.000000X21280.0000-5.500000X12343.0000-5.000000X22351.00000.3000000X13288.0000-5.000000X23439.00000.000000XS(1,1)387.00000.000000XS(1,2)343.00000.000000XS(1,3)248.00000.000000XS(2,1)280.00000.000000XS(2,2)350.00000.000000XS(2,3)400.00000.000000XQ(1,1)500.00000.000000XQ(1,2)480.00000.000000XQ(1,3)600.00000.000000XQ(2,1)280.00000.000000XQ(2,2)350.00000.000000XQ(2,3)400.00000.000000RowSlackorSurplusDualPrice1181.70000.0000002185.80000.0000003161.30000.00000040.60000000.00000050.15000000.00000060.15000000.00000070.000000-0.200000080.000000-0.200000090.000000-5.000000100.000000-6.100000111.0000000.000000120.0000000.00000013100.00000.0000001498.900000.000000150.0000000.00000016113.00000.00000017137.00000.00000018352.00000.000000190.0000000.000000200.0000005.800000210.0000005.50000022387.00000.00000023343.00000.00000024288.00000.00000025280.00000.00000026351.00000.00000027439.00000.000000OBJ10534.701.000000实验总结:求解线性规划问题时,先写出该线性规划中的目标函数,抓住题目中的信息,写出约束条件。利用软件求解相应的线性规划问题,可以用Matlab进行编程求解,也可以利用Lingo软件进行求解,在本题中,我利用Lingo软件对该题进行求解,得到最优结果。