当前位置:文档之家› 运筹学课程设计

运筹学课程设计

课程设计报告课程设计名称运筹学课程设计2014年6月20日课程设计任务书运筹学课程设计报告组别:第一组设计时间:2014年6月9日至2014年6月20日1.设计进度计划本课程设计时间分为两周:1.1第一周(2014年6月9日----2014年6月13日)建模阶段。

此阶段各小组根据给出的题目完成模型的建立。

主要环节包括:(1)6月9日上午:发指导书;按组布置设计题目;说明进度安排。

(2)6月9日下午至6月11日:各小组审题,查阅资料,进行建模前的必要准备(包括求解程序的编写与查找)。

(3)6月12日至6月13日:各个小组进行建模,并根据题目及设计要求拟定设计提纲,指导教师审阅;同时阅读,理解求解程序,为上机求解做好准备。

1.2第二周(2014年6月16日---6月20日)上机求解,结果分析及答辩。

主要环节包括:(1)6月16日至6月17日:上机调试程序(2)6月18日:完成计算机求解与结果分析。

(3)6月19日:撰写设计报告。

(4)6月20日:设计答辩及成绩评定。

2.设计题目已知某公司有四个主要车间:排字、制版、印刷和装订。

公司把它接受的任务分成三类:A、B和C。

每种任务在四个主要车间里所需的时间不同,每单位产品生产需要时间如表6。

假设完成单位工作所用的时间固定不变,每单位A类任务提供的收益200元,每单位B类任务提供的收益是400元,每单位C类任务提供的收益是150元。

公司给每一车间规定了下期的固定时间能力:排字50小时;制版100小时;印刷200小时;装订180小时。

除规定时间外,公司能够利用加班加点手段在排字车间里得到附加的30小时。

加班加点奖金(即除规定时间以外的增加费用)是每小时4元。

公司希望给他的设备找到最优工作组合,所以管理部门假定能销售所有的产品。

因而为了满足长期生产的需要,管理部门决定在每个时期对每类工作至少要安排10个单位。

(1)试确定所寻求的印刷工作的最好组合,使公司的收益最大?(2)假如印刷公司有一个承接新业务的机会,这项新业务需要0小时排字,3小时制版,1小时印刷和2小时装订,要有多大的收益才对公司有吸引力?(3)假定规定排字能力和加班排字能力两者都减少3小时,最优解有何变化?(4)A类任务收益在何范围内变化时最优方案不变?(5)排字车间的生产能力在何范围内变化最优基不变?(6)有无利用的生产能力,试进行决策分析。

表63.建模3.1 题目分析,变量设定设X1表示在正常时间内生产A类任务的单位数;X2表示在正常时间内生产B类任务的单位数;X3表示在正常时间内生产C类任务的单位数;X4表示在排字的加班时间内生产B类任务的单位数;X5表示在排字的加班时间内生产C类任务的单位数。

3.2 建模分析正常时间内生产A类任务所得的收益为:200X1;正常时间内生产B类任务所得的收益为:400X2;正常时间内生产C类任务所得的收益为:150X3;排字的加班时间内生产B类任务所得的收益为:(400-2*4)X4;排字的加班时间内生产C类任务所得的收益为:(150-2*4) X5。

2X2 +2X3≤50,表示规定的排字时间小于等于50小时;2X4+2X5≤30,表示加班的排字时间小于等于30小时;2X1 +2(X2+ X4)+4 (X3+ X5)≤100,表示规定的制版时间小于等于100小时;4X1+5(X2+ X4)+2 (X3+ X5)≤200,表示规定的印刷时间小于等于200小时;4X1 +4(X2+ X4)≤180,表示规定的装订时间小于等于180小时;X1≥10 ,表示A类任务的最低限至少要安排10个单位;X2+X4≥10,表示B类任务的最低限度至少要安排10个单位;X3+X5≥10,表示C类任务的最低限度至少要安排10个单位。

此时的总收益为:Z = 200X1+400X2+150X3+(400-2*4)X4+(150-2*4)X5。

3.3 数学模型该问题的LP模型为:Max Z = 200X1+400X2+150X3+392X4+142X52X2 +2X3≤50 规定的排字时间2X4+2X5≤30 加班的排字时间2X1 +2X2 +4X3+2X4+4X5≤100 规定的制版时间4X1+5X2 +2X3+5X4+2X5≤200 规定的印刷时间4X1 +4X2+4X4≤180 规定的装订时间X1≥10 A类任务的最低限度X2+X4≥10 B类任务的最低限度X3+X5≥10 C类任务的最低限度X1,X2,X3,X4,X5≥04.程序4.1求解程序流程图第一阶段流程图:第二阶段流程图:4.2求解程序功能介绍该程序主要运用了基础Java编程语言,Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。

程序通过Java编程语言实现了运筹学中的两阶段法,首先通过Scanner函数收集求解问题的必要数据,例如变量个数、约束条件个数、约束条件系数等,然后利用收集来的数据判断并生成辅助函数,以二维数组形式储存这些数据,而这个二维数组中的数据排列形式如同单纯形表一样,可以更加直观的体现出利用单纯形法求解线性问题时的每一步骤,在程序中每次迭代前都会求解当前单纯形表的检验数,然后判断检验数是否全部小于等于零,从而进行下一步迭代,最后得到最优表。

通过求得辅助函数的最优单纯形表后,开始进行第二阶段的运算,将得到最优表进行变换,再次进行迭代运算,最后得到原问题的最优单纯形表,计算并得出最优值。

4.3灵敏度分析程序功能介绍LINDO是一种专门用于求解数学规划问题的软件包。

由于LINDO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。

LINDO主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于一些线性和非线性方程组的求解以及代数方程求根等。

LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概率函数),可供使用者建立数学规划问题模型时调用。

MAX/MIN命令对模型的输入格式有一些注意事项,这些注意事项是:(1)模型中出现的关键词只能是 MAX (或 MIN ), ST (或 SUBJECT TO )和 END。

关键词中不能含有空格。

MAX ( 或 MIN ), ST (或 SUBJECT TO )的右面至少要有一个空格,关键词中字符大写和小写都合法的。

(2)变量名不超过8个字符,其中第一个字符必须定字母,其余的可以是字母或数字。

这样就可以藉助变量表示变量的实际含义。

(3)不等号用"<"表示"≤",用">"表示"≥"。

要注意的是当模型(用 LOOK 命令)输出(到屏幕或打印机)时,不等号分别写成"<="和">="。

(4)目标函数中不能出现常数项,也不能出现等式。

(5)无论连目标函数(第一行)或约束条件中,都不能出现括号、乘号。

(6)在约束条件中,变量必须在关系符左面,常数必须在关系符右边。

(7)模型中系数必须写成整数或小数形式而不能写成指数形式。

如系数是小数形式,输入的位数限制定整数最大6位,小数最大5位。

(8)除关键字中间,系数中间,变量名中间不能嵌入空格外,模型的其他地方都允许出现空格和回车<CR>。

在模型输入时,空格和回车是等效的。

(9)变量的非负约束是隐含的,不需要在模型中加以意义。

4.4手工数据准备LINDO主要用于结果的检验和灵敏度分析,LINDO的数据输入如下:MAX 200X1+400X2+150X3+392X4+142X5ST2X2 +2X3<=502X4+2X5<=302X1 +2X2 +4X3+2X4+4X5<=1004X1+5X2 +2X3+5X4+2X5<=2004X1 +4X2+4X4<=180X1>=10X2+X4>=10X3+X5>=10END5.结果分析5.1结果分析思路5.1.1试确定所寻求的印刷工作的最好组合,使公司的收益最大?通过Java编程语言实现运筹学中的两阶段法,首先通过Scanner函数收集求解问题的必要数据,通过求得辅助函数的最优单纯形表后,开始进行第二阶段的运算,将得到最优表进行变换,再次进行迭代运算,最后得到原问题的最优单纯形表,计算并得出最优值。

5.1.2 印刷公司有一个承接新任务的机会,这项新业务需要0小时排字,3小时制版,1小时印刷和2小时装订,要有多大的收益才对公司有吸引力?此问题属于系数矩阵A的变化,增添一个新活动或变量,即A增加一列,根据公式б=C B B-1P j-C j<0确定要有多大收益才对公司有吸引力。

5.1.3规定排字能力和加班排字能力两者都减少3小时,最优解有何变化?此问题属于约束条件右端常数项b的变化,即约束条件:2X2 +2X3≤50和2X4+2X5≤30,右端的常数项50和30的变化对最优基的影响。

根据公式max{-b i*/βir| βir>0}<=b<=min{-b i*/βir | βir<0} 确定b的变化范围。

如果b 的变化在该范围之内最优基不变最优解变化,最优解由公式X B=B-1b求得。

如果b的变化超出该范围最优基最优解均发生变化,重新计算C B B-1b、B-1b代入最优表中重新迭代。

5.1.4 A类任务收益在何范围内变化时最优方案不变?此问题属于目标函数系数C的变化,且为基变量变化,即X1的系数变化对最优决策的影响。

先确定基变量系数变化范围,基变量系数变化影响所有非基变量的检验数和目标函数值。

如果C j的变化范围在基变量C j增量的变化范围之内则其最优解、最优值均不变;反之如果C j的变化范围超出基变量C j增量的变化范围,则需要重新迭代求出最优值。

5.1.5 排字车间的生产能力在何范围内变化时最优基不变?此问题属于约束条件右端常数项b的变化,即约束条件:2X2 +2X3≤50,右端的常数项50的变化对最优解的影响。

根据公式max{-b i*/βir| βir>0}<=b<=min{-b i*/βir | βir<0} 确定b的变化范围。

如果b 的变化在该范围之内最优基不变最优解变化,最优解由公式X B=B-1b求得。

如果b的变化超出该范围最优基最优解均发生变化,重新计算C B B-1b、B-1b代入最优表中重新迭代。

5.1.6有无利用的生产能力,试进行决策分析。

此问题属于约束条件右端常数项b的变化,即约束条件右端的常数项的变化对最优解的影响。

根据公式max{-b i*/βir| βir>0}<=b<=min{-b i*/βir | βir<0} 确定b的变化范围。

相关主题