1、题目 生产过程的调度 学院 理学院 班级 计算072 姓名 雷海 生产过程的调度摘 要在求解生产过程的调度问题中建立了线性规划的数学模型。利用运筹学和初等数学的相关知识,得出了相同资源独立运作和相同资源可以通用两种情况下的无资源浪费、均衡生产的生产规模,相应周期和调度方案,以及在资源限制条件下的最优调度方案。(1)在无资源浪费、连续均衡生产的情况下,最小生产规模为:I类工人数704人,II类工人数424人,技术工人数144人,甲种设备台数48台,乙种设备台数56台。最短周期为30h。(2)如果考虑相同的资源可以通用,最小生产规模为:I类工人数88人,II类工人数53人,技术工人数18人,甲种设
2、备台数6台,乙种设备台数7台。相应的最小生产周期为48小时。其具体方案为:第一个方案中,生产A0和A6的组数均为1,其余产品不生产,恰好无资源浪费;第二个方案中,生产A1的组数为2,A2的组数为,其余产品不生产;第三个方案中,生产A2的组数为1,A4的组数均为3,其余产品不生产;第四个方案中,生产A2、A3和A6的组数均为1,其余产品不生产;第五个方案中,生产A3、A4和A5的组数均为1,其余产品不生产。方案一、二、三均用6小时,方案四用18小时,方案五用12小时。(3)在给定的生产规模下,其调度方案为:第一个方案中,生产A0、A4和A6的组数均为1,其余产品不生产,恰好无资源浪费;第二个方案
3、中,生产A1的组数为2,A2和A4的组数为1,其余产品不生产;第三个方案中,生产A2、 A3 、A4和 A6的组数为1其余产品不生产;第四个方案中,生产A3的组数为1,A5的组数为2,其余产品不生产;第五个方案中,生产A2的组数为1,A3的组数为2,其余产品不生产;第六个方案中,生产A2的组数为2,A3的组数为1,其余产品不生产;第七个方案中, A2的组数为2,其余产品不生产;第八个方案中,生产A2的组数为1,其余产品不生产。方案一、二、四均用18小时,方案三用54小时,方案五用8小时,方案六、七、八均用2小时。关键词:数学模型;生产规模;周期;调度方案问题的背景生产调度的问题经常出现在工厂企
4、业内。在一般情况下,企业的生产结构是比较复杂的。合理的生产调度可为企业节省大量的人力物力,对促进生产,繁荣市场经济有着不可估量的作用。问题的重述图1-1是某企业的生产示意图,A0是出厂产品,A1,A2,A6是中间产品,AiAj表示生产一个单位Aj产品需要消费k单位Ai,其余类似。图1-1 生产结构示意图表1-1给出了生产单位产品所需的资源(工人,设备)和时间,注意表中所给数据是基本的,即既不能通过增加工人和设备来缩短时间,也不能通过加长时间而节省工人和设备。表1-1 生产单位产品所需的资源和时间产品A0A1A2A3A4A5A6需要的资源I类工人71273437183317II类工人301817
5、13122823技术工人790 76511甲类设备(台)4304202乙类设备(台)1310256加工时间(小时)6365212问题1:无资源浪费、连续均衡生产的最小生产规模是多大?相应的最短周期是多少?其中“无资源浪费”指在整个生产周期中没有闲置的设备和闲散人员“连续”指整个周期中所有产品的生产过程不会停顿。“均衡”指所有中间产品A1,A6的库存与上一周期结束时的库存相同。“生产规模”指完成整个生产过程所需各种资源的总和。问题2:如果考虑相同的资源可以通用,那么问题1得到的最小生产规模在无资源浪费、均衡生产中能否减少?请写出你得到的生产规模,相应的周期和生产过程的调度方案。问题3:如果该企业
6、的资源限制为:I类工人120名,II类工人80名,技术工人25名,甲种设备8台,乙种设备10台及周期限制(一星期,共245.5=132h), 请作出生产过程的调度方案,使在均衡生产条件下资源的浪费最小。模型的符号说明xi 生产各产品的组数T 一个生产周期B 最小生产规模tj 在第j个方案中的生产时间k(j)I 第j种方案中投入生产产品Ai的组数。模型的假设(1)假设生产开始的瞬间,马上有产品出产。(2)忽略各中间产品的输送时间。(3)资源(包括工人和设备)的效率是持续而且均衡的,即忽略工人的生理因素、设备的老化损耗以及原材料的利用率对生产效率的影响。(4)“数据是基本的”意思是一条生产线上安排
7、操作的人员数已经固定,如果人员减少了,流水线就无法生产,但如果人员多了,岗位并没有相应增加,因此不能加快生产的进度。(5)“均衡生产”是指经过一个周期的生产,中间产品供求平衡,其库存增加量完全转化组装成为最终产品A0 ,其数值表示为零。(6)“无资源浪费”是指各种设备和各类人员的拥有量与使用量相等,在整个生产周期中没有闲置的设备和闲散的人员。(7)“连续”是指在整个周期中,不仅资源的总使用量不变,而且用于各种产品的资源使用量也不变,所有产品的生产过程不会停顿。模型的建立与求解1.问题11.1建立均衡生产模型在无资源浪费、连续均衡生产的情况下,设T为一个生产周期,在T时间内生产的中间产品将全部组
8、装成最终产品A0。设在一个生产周期内生产单位产品所需的资源量为1组,xi,i=0,6,是生产各产品的组数。由于中间产品的生产量与消耗量相等,所以根据生产结构图和生产单位产品所需的时间有如下约束条件:要求最小的生产规模,也即要求各产品的生产组数之和的最小值:化简上述约束条件可建立线性规划模型:当x0=1时,z可得最小值这时,x1=2,x2=5,x3=5,x4=5,x5=2,x6=4。记向量N=(1,2,5,5,5,2,4),即维持均衡生产的各产品的生产组数,表示生产A0,A1,A6的组数分别为1,2,5,5,5,2,4。1.2求解最小生产规模生产A0,A1,A6的组数分别为1,2,5,5,5,2
9、,4,根据题目中所给的生产单位产品所需的资源和时间,可得出最小生产规模:I类工人数:II类工人数:技术工人数:甲种设备台数:乙种设备台数:记向量B=(704,424,144,48,56),即无资源浪费、连续均衡生产的最小生产规模。1.3最短周期因为各产品的生产过程都不允许停顿,并且一个生产周期后,最终产品A0的产量只能是整数单位台,导致各中间产品的产量都是整数单位台,所以要实现无资源浪费、连续均衡生产条件下的最小生产规模,最短周期应取各产品生产单位量所需时间(6,3,6,5,2,1,2)的最小公倍数30h。即最短周期为30h。2.问题22.1问题分析现在允许在一个生产周期中,当某种产品的产量达
10、到一定数量时,该产品的生产可以暂时停顿,其工人、设备被调作它用,去生产其他的产品,但资源仍然不能闲置,而且要求生产保持均衡,经过一个周期之后各中间产品的储存量保持不变。因此,在整个生产周期内,生产各产品的组时数比等于第一个问题中的组数比(1,2,5,5,5,2,4)。在问题1中,一个生产周期内的生产是连续的,因此一旦周期的长短确定下来,各产品的产量就是其生产组数和时间常量T的乘积再与生产单位产品所需时间的比,而各产品的组时数就等于其生产组数和时间常量T的乘积,所以生产各产品的组时数比等于N。 但是在资源可通用的情况下,某一产品的生产过程是允许停顿的,在不同的资源调度方案中,生产Ai的组数和时间
11、都有可能不同,所以各产品的产量就涉及到组时数的问题。在这里一个生产周期的安排是由若干个不同的资源调度方案组成的。设在第j个方案中,生产时间为tj, k(j)i是生产Ai的组数,则k(j)i与tj的乘积就是Ai的一个组时数分量。 Ai的所有组时数分量之和就是Ai在一个生产周期内的组时数。2.2资源可通用情况下的最小生产规模因为生产规模代表的是人员和设备的数量,所以一定是整数。要实现无资源浪费、均衡的生产,问题1的最小生产规模一定是问题2的最小生产规模的正整数倍。问题1的最小生产规模是B=(704,424,144,48,56),其各分量的公约数是1,2,4和8。因此第二个问题的最小生产规模只有4种
12、可能:。下面逐一检验这4种可能不妨先检验。用向量表示生产单位产品所需的资源,记b0=(71,30,7,4,1)b1=(27,18,9,3,3)b2=(34,17,0,0,1)b3=(37,13,7,4,0) b4=(18,12,6,2,2)b5=(33,28,5,0,5)b6=(17,23,11,2,6)2.3资源可通用情况下的最优调度方案在相同资源可以通用的情况下,一个周期的生产安排可分解为若干个生产方案,在每一个生产方案中,资源全部投入生产某几种产品而恰好无浪费。设k(j)i为第j种方案中投入生产产品Ai的组数。建立方程:求解方程得到5种方案: 根据结果可知在第一个方案中,生产A0和A6的
13、组数均为1,其余产品不生产,恰好无资源浪费;第二个方案中,生产A1的组数为2,A2的组数为1,其余产品不生产;第三个方案中,生产A2的组数为1,A4的组数均为3,其余产品不生产;第四个方案中,生产A2、A3和A6的组数均为1,其余产品不生产;第五个方案中,生产A3、A4和A5的组数均为1,其余产品不生产。要令生产均衡,则一周期内投入生产各产品的组时为N,且由于A0的单位生产时间为6小时,所以生产产品的时间应为6N。则建立如下规划3: 解得t1=6,t2=6,t3=6,t4=18,t5=12,minT=48。即方案一、二、三均用6小时,方案四用18小时,方案五用12小时。根据上述的方案时间安排,
14、即可实现无资源浪费的均衡生产。因为是4个可能值中的最小数,所以其余3个可能值这时就可以不再考虑了也就是说是资源可调度情况下的最小生产规模。相应的最小生产周期为48小时。3.问题33.1确定生产方案 题目中所给的生产规模为=(120,80,25,8,10),周期限制为132h。并要求均衡生产,中间产品数保持不变。在相同资源可以通用的情况下,当生产规模为,生产周期为48h时,出厂产品A0的产量为1台。A0的产量与生产规模和生产周期都有关为衡量资源及周期限制条件下A0的产量数,现取资源的一个分量(I类工人数)和周期作为指标。因为所以可生产的A0件数不超过3件。为使资源浪费最小,应取在生产规模限制下,
15、在最短的时间内生产3件A0。设k(j)i为第j种方案中投入生产产品Ai的组数。其生产方案所满足的不等式为:解得满足约束条件的方案有8种: 从结果中看出第一个方案中,生产A0、A4和A6的组数均为1,其余产品不生产,恰好无资源浪费;第二个方案中,生产A1的组数为2,A2和A4的组数为1,其余产品不生产;第三个方案中,生产A2、 A3 、A4和 A6的组数为1其余产品不生产;第四个方案中,生产A3的组数为1,A5的组数为2,其余产品不生产;第五个方案中,生产A2的组数为1,A3的组数为2,其余产品不生产;第六个方案中,生产A2的组数为2,A3的组数为1,其余产品不生产;第七个方案中, A2的组数为
16、2,其余产品不生产;第八个方案中,生产A2的组数为1,其余产品不生产。3.2确定生产方案的时间安排设在第j个方案中,生产时间为tj。由于可生产的A0件数不超过3件,所以生产产品的时间应为36N。其数学模型为:解得:t1=18,t2=18,t3=54,t4=18,t5=8,t6=2,t7=2,t8=2,minT=120由结果可知,方案一、二、四均用18小时,方案三用54小时,方案五用8小时,方案六、七、八均用18小时。综合以上结果可得要求的生产调度方案。模型的分析与推广从问题1中,我们得出了相同资源独立动作情况下的无资源浪费、均衡生产的最小生产规模为B=(704,424,144,48,56),最
17、短周期为30h。这时A0的产量是5件。问题2中,相同的资源可以通用,这时的最小生产规模为,最短生产周期为48h。A0的产量是1件。因为问题2的生产规模是问题1的,生产时间是第一个问题的,所以A0的产量当是问题1的倍,而实际正好是这样。因此,问题2的结果是合理的。由解题过程知,问题3的结果承接问题2的结果,资源较问题2有所增加,周期也有所延长,故A0的产量也相应增加。此类关于生产调度的问题在工厂企业内经常会出现。题目对产品的生产消耗状况已作了适当的抽象简化。在一般情况下,生产结构是比较复杂的,不光是零部件较多,更主要的是生产结构图中有环存在。如投入产出结构图中,生产钢铁要经常更新设备,而生产炼铁
18、也需要消耗钢铁。再如,电厂在发电的同时,电厂内部照明,电动设备也消耗电力。农民生产粮食,但在中国,农民也是粮食的主要消耗者。这些在结构图上就出现环。对于这种情况,计算将更加复杂,但以上的思想方法依然可以运用到其中。合理的生产调度可为企业节省大量的人力物力,对促进生产,繁荣市场经济有着不可估量的作用。参考文献1 陈东彦,数学建模,北京:科学出版社,2007。2 LINGO用户指南(LINGO8.0的帮助文档).3 朱德通 编著. 最优化模型与实验. 上海:同济大学出版社,2003.附:(1) 问题2程序:model:sets:a/1.7/:x;b/1.5/:t;c(a,b):m;endsetsd
19、ata:m=71 30 7 4 1 27 18 9 3 3 34 17 0 0 1 37 13 7 4 0 18 12 6 2 2 33 28 5 0 5 17 23 11 2 6;t=88 53 18 6 7;enddatafor(b(j):sum(a(i):m(i,j)*x(i)=t(j);endmodel:sets:a/1.5/:t;b/1.7/:n;c(a,b):x;endsetsdata:x=1 0 0 0 0 0 1 0 2 1 0 0 0 0 0 0 1 0 3 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0;n=1 2 5 5 5 2 4;enddatamin=
20、sum(a(i):t(i);for(b(j):sum(a(i):x(i,j)*t(i)=n(j)*6);end(2) 问题3程序:model:sets:a/1.7/:x;b/1.5/:t;c(a,b):m;endsetsdata:m=71 30 7 4 1 27 18 9 3 3 34 17 0 0 1 37 13 7 4 0 18 12 6 2 2 33 28 5 0 5 17 23 11 2 6;t=120 80 25 8 10;enddatafor(b(j):sum(a(i):m(i,j)*x(i)=t(j);endmodel:sets:a/1.8/:t;b/1.7/:n;c(a,b):x;endsetsdata:x=1 0 0 0 1 0 1 0 2 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 0 2 0 0 0 1 2 0 0 0 0 0 2 1 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0;n=1 2 5 5 5 2 4;enddatamin=sum(a(i):t(i);for(b(j):sum(a(i):x(i,j)*t(i)=n(j)*18);end- 11 -