本发明涉及企业生产排产领域,具体涉及一种基于加权轮转调度的平衡排产方法。
背景技术:
生产调度常常被称为排序问题或者是资源分配问题,它是生产管理和组合优化领域的重要研究内容,合理地安排生产与调度对提高生产效率、减少生产成本、改进产品质量起着非常重要的作用。
现在企业大多为多类型多生产线生产调度,其生产和物流环节常采用丰田生产模式(tps),其核心是准时生产管理模式(jit),就是把一段时间的产品生产计划首先合理地分配到生产线,通过平准化制定优先级,然后将依据生产线的日能力将计划分解到每一天,根据各生产线的日进度计划,生成日领送料计划(即配送计划)。在这一类企业的产品总装车间,具有多条总装生产线,许多产品共线生产,每种产品具有多种配置型号。主生产计划管理部门依据产品月预测计划,编制每月的各生产线的主生产计划,各生产线完全按照主生产计划组织生产。
在现有技术中,生产计划管理部分一直采用手工方式编制主生产计划,完全依赖个人经验和工作熟练程度,每次的编制工作量极大,通常需花费一天的时间,并且不能完全保证计划的合理性,往往需要多次反复调整,才能得出一个较为满意的结果,此外,在计划执行过程中,频繁的计划变更,更是大幅度加大了计划工作量和工作难度。尽管在主生产计划管理方面,已经存在一些辅助工具软件(如按产能排产),但一直未从根本上解决手工编制主生产计划中的均衡投产这一难题。且在多次调度之后,生产线的负荷可能存在严重的不平衡,有的生产线负荷特别大,有的生产线甚至可能出现空闲状况,导致生产线的负荷不平衡,使设备利用率和生产效率低。
技术实现要素:
本发明的目的就是针对上述技术的不足,提供一种基于加权轮转调度的平衡排产方法,对生产线进行平均分配,达到生产线在生产周期内日产量均衡的目的,实现了生产线的负荷平衡,提高了设备利用率,从而提高了生产效率。
为实现上述目的,本发明所设计的基于加权轮转调度的平衡排产方法,包括如下步骤:
1、一种基于加权轮转调度的平衡排产方法,其特征在于:所述方法包括如下步骤:
a)取得生产线类型的集合linetype(l1,l2,l3…lj…lm)和需要生产加工的构件类型的集合component(c1,c2,c3…ci…cn),j为所述生产线类型的标号,i为所述构件类型的标号,每个所述构件类型带有对应生产线类型的优先级pji,所述生产线类型生产一种构件类型的平均耗时为hourji,完成生产任务计划需要的天数为任务周期d;
b)根据所述步骤a)中每种构件类型的优先级pji从高到低排出一次生产排序;
c)对每种所述生产线类型lj赋予权值wj,初始权值wj=0,然后将构件分配给权值wj最低的生产线,将所述步骤b)中取得的一次生产排序进行二次生产排序,一次轮转周期内,类型lj的生产线分配的构件数公式如下:
thisroundtaskj=min(wj,remaintasksj)
式中,thisroundtaskj为一次轮转周期内该生产线可分配的构件数量,wj为该生产线的权值,remaintasksj为该生产线剩余可分配的构件数量,一次轮转周期完成后,将此生产线的权值wj重新计算,
wj=pji*log2(tasknumci+1)
重复轮转周期,取得生产线类型lj的二次生产排序;
d)根据每种类型生产线生产不同类型构件数量的比例分割所述任务周期d,获得每种类型生产线平均每天需要生产的时间权值typehoursji,
式中,linedaysji为类型lj生产线生产类型ci构件需要的天数,linenum′ji为类型lj生产线生产类型ci构件的数量,lineallnumj为类型lj生产线生产所有构件的数量,linecounti为生产线类型lj的总数量;
e)给每类生产线lj赋予开始时间dtj,依据该类生产线lj生产一种构件类型的平均耗时为hourji、在所述步骤c)中取得的生产线类型lj的二次生产排序和在所述步骤d)中取得的每类生产线lj平均每天需要生产的时间权值typehoursji,计算出生产线类型lj生产构件的时间生产计划;
f)根据所述步骤c)的二次生产排序和所述步骤e)的时间生产计划,输出排产结果。
优选地,所述步骤e)中,生产线类型lj生产构件的时间生产计划按照如下函数计算:
参数:dtj,hourji,typehoursji,dayhourj
式中,dayhourj为生产线lj当天已经生产的时间
函数体:
声明一个整型day=0;
声明一个浮点数类型temptime=0;
不断循环:
如果day为0:
temptime=hourji;
hourji=hourji-(typehoursji-dayhourj);
如果day不等于0:
temptime=hourji;
hourji=hourji-typehoursji);
如果hourji小于等于0:
如果day等于0:
temptime=temptime+dayhourj;
dayhourj=temptime;
跳出循环,返回dtj加上day天加上temptime个小时;
day自增一次。
优选地,所述步骤c)中,生产线类型lj轮转周期内增加约束公式如下:
wj=wj-1
式中,runningtasksj为生产线类型lj正在运行的任务塑料,y为队列中的总生产线数量,k为调节系数,1<<k<<6,
优选地,所述步骤b)中,一次生产排序的时间小于任务周期d,否则不能进行平衡排产。
本发明与现有技术相比,依据生产线的权值和生产线平均每天需要生产的时间权值对生产线和生产时间进行均衡分配,从而保证生产线产能均衡,避免有的生产线负荷过大,有的生产线出现空闲,提高了设备利用率,从而提高了生产效率。
附图说明
图1为本发明基于加权轮转调度的平衡排产方法的流程示意图;
图2为实施例的排产结果。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
一种基于加权轮转调度的平衡排产方法,所述方法包括如下步骤:
a)取得生产线类型的集合linetype(l1,l2,l3…lj…lm)和需要生产加工的构件类型的集合component(c1,c2,c3…ci…cn),j为所述生产线类型的标号,i为所述构件类型的标号,每个所述构件类型带有对应生产线类型的优先级pji,所述生产线类型生产一种构件类型的平均耗时为hourji,完成生产任务计划需要的天数为任务周期d;
b)根据所述步骤a)中每种构件类型的优先级pji从高到低排出一次生产排序,一次生产排序的时间小于任务周期d;
c)对每种所述生产线类型lj赋予权值wj,初始权值wj=0,然后将构件分配给权值wj最低的生产线,将所述步骤b)中取得的一次生产排序进行二次生产排序,一次轮转周期内,类型lj的生产线分配的构件数公式如下:
thisroundtaskj=min(wj,remaintasksj)
式中,thisroundtaskj为一次轮转周期内该生产线可分配的构件数量,wj为该生产线的权值,remaintasksj为该生产线剩余可分配的构件数量,一次轮转周期完成后,将此生产线的权值wj重新计算,
wj=pji*log2(tasknumci+1)
重复轮转周期,取得生产线类型lj的二次生产排序,另外,为避免生产线类型lj权重过大导致在轮转周期内分配的任务过多,生产线类型lj轮转周期内增加约束公式如下:
wj=wj-1
式中,runningtasksj为生产线类型lj正在运行的任务塑料,y为队列中的总生产线数量,k为调节系数,1<<k<<6,
d)根据每种类型生产线生产不同类型构件数量的比例分割所述任务周期d,获得每种类型生产线平均每天需要生产的时间权值typehoursji,
式中,linedaysji为类型lj生产线生产类型ci构件需要的天数,linenum′ji为类型lj生产线生产类型ci构件的数量,lineallnumj为类型lj生产线生产所有构件的数量,linecounti为生产线类型lj的总数量;
e)给每类生产线lj赋予开始时间dtj,依据该类生产线lj生产一种构件类型的平均耗时为hourji、在所述步骤c)中取得的生产线类型lj的二次生产排序和在所述步骤d)中取得的每类生产线lj平均每天需要生产的时间权值typehoursji,按照如下函数计算出生产线类型lj生产构件的时间生产计划:
参数:dtj,hourji,typehoursji,dayhourj
式中,dayhourj为生产线lj当天已经生产的时间
函数体:
声明一个整型day=0;
声明一个浮点数类型temptime=0;
不断循环:
如果day为0:
temptime=hourji;
hourji=hourji-(typehoursji-dayhourj);
如果day不等于0:
temptime=hourji;
hourji=hourji-typehoursji);
如果hourji小于等于0:
如果day等于0:
temptime=temptime+dayhourj;
dayhourj=temptime;
跳出循环,返回dtj加上day天加上temptime个小时;
day自增一次;
f)根据所述步骤c)的二次生产排序和所述步骤e)的时间生产计划,输出排产结果。
实施例:
以同心花苑数据为例:包含3栋高层住宅楼,2栋有32层,1栋有23层,生产的构件种类有:
c1预制外墙;
c2预制叠合梁和预制楼梯;
c3预制阳台、预制空调板和预制隔板。
生产线类型:外墙生产线l1、内墙生产线l2、固定模台生产线l3;其中外墙生产线l1可帮助内墙生产线l2生产,固定模台生产线l3可以帮助外墙生产线l1和内墙生产线l2生产。
三种生产线可以生产的构件类型:
外墙生产线l1:c1预制外墙。
内墙生产线l2:c2预制叠合梁和预制楼梯。
固定模台生产线l3:c3预制阳台、预制空调板和预制隔板。
取得每个构件类型带有对应生产线类型的优先级pji。
外墙生产线l1:8小时一个构件,hour11=8。
内墙生产线l2:4.7小时一个构件,hour22=4.7。
固定模台生产线l3:一天一个构件(按工时计算,此处取15小时),hour33=15。
外墙生产线l1帮助内墙生产线l2生产:9.4小时一个构件,hour12=9.4。
固定模台生产线l3帮助外墙生产线l1生产:一天一个构件(按工时计算,此处取15小时),hour31=15。
固定模台生产线l3帮助内墙生产线l2生产:一天一个构件(按工时计算,此处取15小时),hour32=15。
外墙生产线l1数量:1,linecount1=1
内墙生产线l2数量:1,linecount2=1
固定模台生产线l3数量:22,linecount3=22
生产周期:100天,d=100。
通过每种构件类型的优先级pji从高到低排出一次生产排序:
1、外墙生产线l1生产构件数量linenum′11
2、内墙生产线l2生产构件数量linenum′22
3、固定模台生产线l3生产构件数量linenum′33
4、外墙线帮助内墙线生产构件数量linenum′12
5、固定模台帮助外墙线生产构件数量linenum′31
6、固定模台帮助内墙线生产构件数量linenum′32
根据构件数量的比例,计算出在生产周期d=100内(生产周期d大于第一次排产的时间,否则不能进行平衡排产),六种生产方式中每种类型生产线平均每天需要生产的时间权值typehoursji:
linedays11=100*(linenum′11/(linenum′11+linenum′12))
linedays22=100*(linenum′22/(linenum′22)
linedays33=100*(linenum′33/(linenum′33
+linenum′31linenum′32)
linedays12=100*(linenum′12/(linenum′11+linenum′12))
linedays31=100*(linenum′31/(linenum′33
+linenum′31linenum′32))
linedays32=100*(linenum′32/(linenum′33
+linenum′31linenum′32))
然后,给每类生产线lj赋予开始时间dtj,外墙生产线l1开始时间dt1,内墙生产线l2开始时间dt2,固定模台生产线l3开始时间dt3,依据每类生产线lj生产一种构件类型的平均耗时为hourji、在上述取得的生产线类型lj的二次生产排序和每类生产线lj平均每天需要生产的时间权值typehoursji,按照函数计算出生产线类型lj生产构件的时间生产计划,然后根据二次生产排序和时间生产计划输出排产结果,如图2所示,生产线产能更均衡,避免有的生产线负荷过大,有的生产线出现空闲,提高了设备利用率,从而提高了生产效率。
本发明通过利用计算权值对平衡排产问题优化求解,从而可以使生产线的日产能在生产周期内尽可能均衡,该方法可用于生产调度,模拟排产相关领域中。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。