您现在的位置是:首页 > 行业 > 制造 >

客车生产中可重入倒排产应用研究

2011-09-29 18:08:00作者:韩忠华 史海波 刘昶 赵春捷来源:

摘要的某客车制造企业的涂装车间是典型混合流水车间,要求在确保满足交货期的前提下,对其生产运行进行高效的管理,提高生产效率。...

  某客车股份有限公司是中国最大的客车制造商,其制造模式是面向客户定制,甚至面向客户设计,导致客车生产品种多、批量小、工艺复杂,随着行业竞争加剧,客户的交货期要求越来越短,这就需要制造部门既能满足柔性制造,又要满足较短的交货期;同时,随着业务量的不断增长,生产的不均衡为制造部门的计划、现场管理带来了更大的压力。生产品种和生产过程多样性使得生产计划、生产组织复杂化,带来诸多生产管理上的困难。目前SAP给出的日生产计划指派到关键工位,对车间的生产指挥调度有一定支持.但由于计划的粒度粗,无计划完成情况的实时反馈,无完成计划情况的实时监控,对生产现场实际情况反映不是很全面,特别是对于具有复杂的混合流水车间特点的涂装车间生产管理意义不大,难以满足承装吊装(承装车间第一个工序承装吊装工序的开始时间,也是涂装车间的最晚交货期,即涂装车间最晚目标完成时间)的要求。倒排的优势是从目标倒推,所以排产结果一定满足吊装点要求。倒排产是基于拉式生产模式,与该企业客车生产线的特点一致,所以结合厂方的要求,涂装车间采用倒排产逻辑进行详细排产,这也是国内首次在客车生产线上采用倒排产的排产方法进行生产排产。

     所谓可重人制造系统(Re-entrant Manufacturing System,RMS)是指在系统中工件在工艺路线的不同阶段多次访问同一加工站的制造系统。目前,许多学者采用启发式方法、拉格朗日松弛等方法对可重人排产问题进行建模和求解”。在涂装车间中多遍彩条工序由于在生产每辆客车时彩条遍数不同,不同遍数的彩条工序复用相同加工区域,使得车辆进行在多遍彩条工序生产过程中多次进入到相同加工区域的情况。所以在涂装车间存在可重入制造过程,在采用倒排方式组织涂装车间生产时,遇到可重人工序,就会增大倒排产项目实施的难度和复杂性,所以能否解决可重入倒排产问题是倒排产算法在涂装车间应用的难点之一。笔者着重分析涂装车间可重人工序的特点和应用环境,并给出了合理的解决方案。

  1 可重人工序分析

     在涂装车间中彩条工序是一个大工序,其分为贴彩条、喷漆和烘漆三个子工序,每一辆车如果只做一遍彩条工序的处理,需要依次经过“贴”、“喷”和“烘”三个子工序。

     对于由多种颜色构成且设计复杂的图案,如果只做一遍彩条工序处理,不能完成彩条图案喷绘,这种情况下,需要将图案分解,每次完成图案中一种颜色的喷绘,或是将图案分成几个部分别绘制,因此就会产生彩条工序的循环处理,即车辆需要多次经过“贴”、“喷”和“烘”三个子工序才能完成彩条工序的处理,将图案绘制完成。

     该客车制造企业的涂装车间根据车间现有的人力资源和设备资源,将彩条工序的处理工位分为两大生产加工区域:第一遍彩条工序加工区域和第二遍彩条工序加工区域.涂装车间实际的彩条工序的工位配置图如图1所示。

 彩条工序的工位配置图

图1 彩条工序的工位配置图

     每个区域都包括多个工位和设备,烘房和漆房是设备,但是其坐落在工位上,所以排产时可以将烘房和漆房都作为工位处理,虽然每辆车的彩条遍数有很大不同,最多达到八遍,但是每辆车至少要做一遍彩条的处理,所以在做一遍彩条工序时有专用的工位,即所有车的第一遍彩条工序都在一遍彩条的生产区域进行处理;二遍彩条也有专用的工位,但是二遍以上彩条工序的处理在二遍彩条的工位上进行处理,即做第二遍彩条工序和做二遍以上彩条工序的车都在二遍彩条的工位进行加工,也可以理解为做两遍以上彩条工序的车在两遍彩条的工位循环加工.做二遍以上彩条工序的车就产生重人式的情况。

     由于车间中的大部分工位没有工作任务时也可以临时做缓冲工位使用,并且已经设置了大量缓冲工位,所以客户要求按无限缓冲区的条件进行排产设计,因此图1中仅画出缓冲区,不画出具体缓冲工位。

     如果一个车在彩条工序需要做三遍彩条的处理,这个车顺序的经过一遍贴彩条工序、一遍喷漆工序和一遍烘漆工序,经过一遍彩条工序的生产加工区域后完成第一遍彩条处理工作,然后进入二遍及以二遍上彩条工序生产加工区域,首先是经过二遍贴彩条工序工位、二遍喷漆工序工位和二遍烘漆工序工位,完成第二遍彩条工序的处理工作,当第二遍彩条工序处理完后,该车重新又回到二遍贴彩条缓冲区中等待处理,当排到这个车加工时,该车又再次进入到二遍贴彩条工序的工位进行第三遍贴彩条工序处理,在这种情况下该车重入二遍贴彩条工序的工位,接着再次经过二遍喷漆工序工位进行第三遍喷漆工序,接着进入二遍烘漆工序工位进行第三遍烘漆工序处理,如果四遍彩条,该车还会继续在二遍及以二遍上彩条工序生产加工区域循环处理。

  2 可重人倒排产设计

     由于该客车公司生产车型多达6 000种以上,在其涂装车间ABCF线,每天平均80辆客车上线,同时每天平均70辆客车在GHUR线上线,每辆车的工艺路线也不相同,仅在涂装车间最大加工工序就可以达到46道.每辆车在同一个工序加工,由于车型的不同,加工时间也不同,对于同一个工序同一个车型由于高产期、中产期和低产期的不同,加工时间也不相同,同一个工序的班组配置和班组的人员配置也影响加工能力,所以瓶颈工序是动态变化的。排产过程中再加入其生产线特有的70多种约束条件和4大类排产规则,并且客户规定排产程序的运行时间,如此复杂的混合流水车间的排产问题不适于采用一般理论研究中使用的智能算法,如果对该企业的排产问题使用一些智能算法都会产生状态空间爆炸或指数爆炸的情况一。无法满足实际车间排产的要求,所以采用改进倒排产算法来解决问题。

  2.1 倒排产算法概述

     倒排产算法也叫倒序排产法,是指将确定的订单完成时间作为起点,然后安排各道工序,找出各工序的开工时间,进而得到订单的最晚开工时间。排产计算由合同的交货时间开始,进行倒序计算,以便确定每道工序的完工时间,一辆客车按着生产工艺先是经过焊装车间加工,然后到涂装车间的加工,再到承装车间加工,倒排产算法在本排产系统中解释为以承装车间的吊装上线序列(吊装车间第一道工序的开始时间序列)作为涂装车间最后一道工序(涂装车间的第M个工序)的最晚完工时间序列,从涂装车间最后一道工序生产最后一辆客车的完工时间一直倒推回涂装车间第一道工序第一辆上线车的开工时间,采用倒排产算法获取的每道工序(第N一1道工序,N≤M)时间队列是基于已经排过的工序(第N道工序)时间队列推出.也可以理解为从涂装下线的目标完成时间(时间数值大)向涂装上线时间(时间数值小)进行反向推导,每个工序每辆车的排产计算都是时间数值的减法计算。倒排产的具体演示排产过程如图2所示。

 倒排产算法排产过程演示图

图2 倒排产算法排产过程演示图

     在倒排产过程中是从工序5倒推回工序1,每道工序都从交车时间最晚的车辆5开始推导到交车时间最早的车辆1,T3是车辆5在工序5的开工时间也是在工序4的最晚完工时间,T2是车辆4在工序4的开工时间也是在工序3的最晚完工时间,但是由于车辆5在工序3的加工时间长,车辆5的最晚完工时间减去在工序3的加工工时,所得到开工时间T1,T1

  2.2 可重入倒排产工作过程

     在上面倒排产算法中推导过程是在每个工序推导出所有车加工时间,再进入到下一道工序的推导,在多遍彩条工序(二遍和二遍以上彩条工序)前的工序和多遍彩条工序后的工序可以按着基本倒排产算法进行处理,彩条工序可重人倒排产主要采用系统工序联动执行和多遍循环处理的方式,即反向模拟实际生产过程。

     (1)数据准备。可重入倒排产的基础数据准备工作与其他工序进行倒排产所需要进行的数据准备工作是相同,都需要获取本工序所配置班组的工作时间,本工序可用的加工设备信息(有的设备可能正在维修),全部排产车辆在本工序的加工时间,与车型相关的排产规则和与工序相关的排产约束等基础数据.在执行倒排产程序前将倒排产所需要的基础多遍数据准备好。

     多彩条工序有一类特有的基础数据,即在彩条工序排产前需要知道每辆车的彩条遍。这些车当中做二遍和二遍以上彩条工序的车将在二遍彩条工序的工作区域进行循环加工,从而产生可重入倒排产问题。已排过工序的开始时间队列,作为本道工序最晚完工时间序列,这个序列需要减去工序间的间隔时间,因为是倒排产,所以是减去工序间的间隔时间。

     (2)生成临时表,排产程序运行后从最后一个工序开始倒排,取出所有做二遍和二遍彩条的车形成一个准备排产队列,车工号、彩条遍数和已排过工序的开始时间(作为彩条工序的最晚完工时间)被记录在这个队列中,然后对列表中的记录按着时间降序排列,这个队列存在多遍彩条数据临时表中。这些车的彩条遍数数值在执行的时候,每完成一遍彩条处理,将彩条遍数减1,直减到彩条遍数等于1,因为一遍彩条有自己的专用工位区域加工,一遍彩条按照基本倒排算法处理,不用可重入倒排产程序处理,当排到多遍彩条工序时,调用可重人倒排产程序,首先要生成五个临时表:排产结果临时表用以临时存放排产结果数据.彩条工序烘房车辆数据记录临时表用以存放在烘漆工位加工车辆的信息,彩条工序漆房车辆数据记录临时表用以存放在喷漆工位加工车辆的信息,贴彩条数据记录临时表用以存放在贴彩条工位加工车辆的信息,在可重人倒排产程序执行过程中这五个表中的数据都在动态变化。

 

     (3)可重入倒排产步骤。根据第1节可重入工序分析所述的该企业涂装车间多遍彩条工序的工位和设备配置情况,通过9辆车的倒排产,阐述可重入倒排产的具体排产步骤。

     Step 1:从多遍彩条数据临时表取出开工时间最晚的车辆9(最后一个生产出来的车),并且在多遍彩条数据临时表中删除这个记录,这辆车进入烘漆工序处理,倒推入一个烘房(见图3),生成排产结果放入到排产结果临时表中,并且加入彩条工序烘房车辆数据记录中,再按着下一道开工时间顺序取出下一辆车(车辆8),由于涂装车间在二遍及二遍彩条工序区域配置3个烘房,当从多遍彩条数据临时表取出第三辆车(车辆7)后,所有的烘房都已经被车占满。

 Step1演示

图3 Step1演示图

     Step 2:当要对从多遍彩条数据临时表取出倒排的第四辆车(车辆6)进行处理前,根据倒推的FIFO原则(即反向运用FIFO原则;FIFO,先入先出规则),找到烘房车辆数据记录表中最晚完成的车辆和烘房,这辆车(例如车辆9)进入到喷漆工序处理,还是按着倒排产的原则,对该车进行倒排产处理,将排产结果放人倒排产结果临时表,并且在漆房排产车辆记录临时表中加入一条记录,还要从烘房排产车辆记录临时表删除这个车的记录。第四辆车(车辆6)即进入到这个空出的烘房(二遍烘房1)中,对这辆车(车辆6)进行倒排产处理,将排产结果放人到排产结果临时表,并且在烘房排产车辆记录临时表中加入一条记录。如图4所示。

 Ste 2演示图

图4 Step2演示图

     Step 3:再依次从多遍彩条数据临时表中取出倒推粉的第五辆车,进入到烘漆工序,重复Step2的过程,直到取出第七辆车(辆车3),由于涂装车间在二遍及二遍彩条工序区域配置3个漆房,所以这时烘房和漆房都已占满,当第七辆车(辆车3)进人到烘房,引发排产程序联动,联动的情况是这样,当车辆3进入烘漆处理工序,即倒推入二遍烘房,中,二遍烘房1的车辆6被倒推入喷漆工序,即车辆6被倒推入二遍喷房1中,原来二遍喷房1的车辆9被倒推到贴彩条工位加工,即进入到二遍贴彩条工位1中,如图5所示。

 Ste 3演示图

图5 Step3演示图

     Step 4:当从多遍彩条数据临时表中取出第八辆车(车辆2)时,也会引发同样的联动,这时需要对从贴彩条工序工位倒推出的车辆进行判断,如果这辆车(车辆9)的二遍彩条是两遍,则从贴彩条数据记录临时表中删除这个车的记录.如果这个车(车辆9)的彩条遍数是两遍以上,这辆车的记录要回到多遍彩条数据临时表,由于经过前面倒排产处理过程,这个车的已经排过工序的开始时间发生变化,所以需要对多遍彩条记录临时表,进行重新的降序排列,还需要将这辆车的彩条遍数记录中的数值减1,这里需要注意的是对于这辆车(车辆1)如果其彩条遍数是三遍,由于进行的是倒排产,刚才这辆车倒排的是三遍彩条工序,再次循环进行的倒排产才是排的该车二遍彩条工序,如图6所示。

 Ste 4演示图

图6 Ste 4演示图

     Step 5:重复上述Step 1—Step 4处理过程,直到排完多遍彩条数据临时表中所有的车。

  3 结论

     采用倒排产算法在保证交货期的前提下,充分发挥班组和设备能力,缩短生产周期,提高生产效率.但是由于客车在各工序的生产时间存在极大的不确定性(手工作业),涂装工艺路径的可变性,同一类型工作中心的重复性以及紧急订单的插入等众多不利因素的存在,给涂装车间的排产带来很大的困难,核心程序已达到两万多行,其中针对多遍彩条工序的可重人倒排产设计是本系统的难点之一,通过进一步增强和完善倒排产算法程序,满足可重人倒排产设计需求,得到涂装生产作业计划,能够指挥涂装车间的生产运行,该系统在车间实施后取得良好的应用效果,系统采用.Net 2008环境开发,后台数据库采用Sql Server2005,满足该企业客车生产车间生产线复杂的分布式网络环境中应用需求。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们