运筹学课程设计- 题目是《某厂生产Ⅰ、Ⅱ、Ⅲ三种产品,都分别经A、B两道工序加工》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工业大学

课程设计报告

课程设计名称: 运筹学课程设计

专业:

班级:

学生姓名:

指导教师:

2011年7月8日

1.设计进度

本课程设计时间分为两周:

第一周(2011年6月27日----2011年7月1日):建模阶段。此阶段各小组根据给出的题目完成模型的建立。

主要环节包括:

(1) 6月27日上午:发指导书;按组布置设计题目;说明进度安排。

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

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

第二周(2011年7月4日---7月8日):上机求解,结果分析及答辩。

主要环节包括:

(1) 7月4日至7月6日:上机调试程序,完成计算机求解与结果分析。并撰写设计报告。

(2) 7月7日下午:检查设计报告初稿。

(3) 7月8日:设计答辩及成绩评定。

2.设计题目

某厂生产Ⅰ、Ⅱ、Ⅲ三种产品,都分别经A、B两道工序加工。设A工序可分别在设备A1或A2上完成,有B1、B2、B3三种设备可用于完成B工序。已知产品Ⅰ可在A、B任何一种设备上加工;产品Ⅱ可在任何规格的A设备上加工,但完成B工序时,只能在B1设备上加工,产品Ⅲ只能在A2与B2设备上加工。加工单位产品所需工序时间及其它各项数据如下表所示,试安排最优生产计划,使该厂获利最大。

按要求分别完成下列分析:(1)产品Ⅱ的售价在何范围内变化时最优生产计划不变?(2)B1设备有效台时数在何范围内变化时最优基不变?(3)设备A2的加工费在何范围内变化时最优生产计划不变?(4)产品的生产量至少为80件时的最优生产计划。

3.建模过程

3.1 设定变量

设Xi表示采用九种不同的方式进行生产Ⅰ、Ⅱ、Ⅲ三种产品的数量。

Ⅰ产品有六种组合,以X1、X2、X3、X4、X5、X6分别表示(A1,B1)、(A1,B2)、(A1、B3)、(A2,B1)、(A2,B2)、(A2,B3)加工的Ⅰ产品数量;

Ⅱ有两种组合,以X7、X8分别表示(A1,B1)、(A2,B1)加工的Ⅱ产品的数量;

Ⅲ有一种组合,即(A2,B2),以X9表示加工Ⅲ产品的数量;

不同的设备组合带来的利润也不同。

3.2 根据题意推理

产品Ⅰ时有:

设备组合(A1,B1)的利润为Z1=(1.25-0.25)X1-(5*0.05)X1-(6*0.06)X1=0.39X1设备组合(A1,B2)的利润为Z2=X2-0.25X2-0.44X2=0.31X2

设备组合(A1,B3)的利润为Z3=X3-0.25X3-0.35X3=0.4X3

设备组合(A2,B1)的利润为Z4=X4-0.21X4-0.36X4=0.43X4

设备组合(A2,B2)的利润为Z5=X5-0.21X5-0.44X5=0.35X5

设备组合(A2,B3)的利润为Z6=X6-0.21X6-0.35X6=0.44X6

产品Ⅱ时有:

设备组合(A1,B1)的利润为Z7=1.65X7-0.5X7-0.48X7=0.67X7

设备组合(A2,B1)的利润为Z8=1.65X8-0.27X8-0.48X8=0.9X8

产品Ⅲ时有:

设备组合(A2,B2)的利润为Z9=2.3X9-0.36X9-1.21X9=0.73X9

3.3 确立最终模型

利润:Maxz=0.39X1+0.31X2+0.4X3+0.43X4+0.35X5+0.44X6+0.67X7+0.9X8+0.73X9 5X

1+5X2+5X3+10X7<=6000

7X4+7X5+7X6+9X8+12X9<=10000

6X1+6X4+8X7+8X8<=4000

4X2+4X6+11X9<=7000

7X3+7X6<=4000

Xi>=0 (i=1,2,3,4,5,6,7,8,9)

3.4 计算机求解前的手工数据准备

4.程序功能介绍

4.1 总体介绍

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

利用Java编写的本程序旨在通过简单的迭代,换元,寻找主元素等功能,最终求得最优解和最优基。程序主要包括以下6个模块:输入数据,寻找主元素,寻找需要迭代的基,寻找替换的基,替换后检验是否为可行解,输出结果。

在寻找主元素,迭代基及替换基时使用循环嵌套,主类调用等基础Java方法,输入输出使用I/O流,是程序运行的更稳定更准确;同时采用多线程作为程序底层技术支持,使程序在运行多个题目是不会出现卡机现象。用户在运行本程序时不需要技术知识,仅需把各变量的系数一次输入程序即可,操作上简单明了。程序最终运行时使用CMD窗口输出,保证数据清晰易懂。

本程序体积较小,适用于初学者和急需计算某些简单题目的用户使用。

4.2 数据录入

注意事项:

1.在输入系数矩阵A、目标函数系数c、约束条件右端常数项b和约束条件符号时,应注意对应的正确位置。文本框第3行起后9列为对应的系数矩阵A的输入位置,第3行起1列为b的输入位置,第1行为目标函数系数c的输入位置。

2. 在输入目标函数系数c时,只需按照原目标函数进行输入,无需转换小数,程序会自动进行相应的调整。

3.在输入约束条件右端常数项b时,b按照原问题输入,也无需非要求为非负。

4. 在进行每步的运行时,一定要按步骤进行。

5.如果问题较复杂,一定要注意正确输入,并在输入后进行检查。

4.3程序流程图

相关文档
最新文档