王富强,杨 妮,吴 铎,金 璐
(1.中国重型机械研究院股份公司,陕西 西安710018;2.西安理工大学 自动化与信息工程学院,陕西 西安 710048; 3.陕西省复杂系统控制与智能信息处理重点实验室,陕西 西安 710048)
随着我国制造业的快速兴起,现代制造业更加趋向于智能化、精益化和个性化定制的发展方向,其中铝挤压生产尤为突出。近几年来,中国铝加工行业结合市场和科学发展的需求,使传统铝挤压型材已经逐步完成了向现代化铝挤压型材的转变,部分企业的技术水平和生产工艺已经达到国际领先水平。其中具有代表性的辽宁忠旺集团,该集团主要从事铝加工产品的研发,包括工业铝挤压业务、深加工业务和铝压延业务等等。但是在实际铝加工生产中,依然还沿用着传统的调度方法。随着铝加工件数的增加,传统单一的按批次调度加工,已经不能满足车间的日常生产需求。为了提高生产设备的利用率和缩短整体加工时间,运用遗传算法对铝挤压生产线的加工次序进行优化。在对工件进行调度优化的基础上,利用Plant Simulation软件对整个加工过程进行仿真模拟,可以实现整体加工系统的可视化,实时显示各个铝加工工件的加工步骤和零件状态、以及仓库资源的动态信息,能够更加真实的反映出实际的工件生产,预测可能出现的故障及问题,从而更好的指导车间生产。
辽宁忠旺集团的125 MN铝挤压生产线主要生产高性能大型工业型材,其生产线布局如图 1所示。
图1 铝挤压生产线布局
生产线由挤压前部、主体、后部三部分组成。其中挤压前部设备包括上料台、铝锭加热设备;挤压后部设备包括冷却系统、飞锯系统(中间锯、轮道及牵引机)、拉伸或弯曲系统(固定端、移动端)、成品锯系统(成品锯、定尺台)、淬火、检验平台。被加工材料在生产线上的加工顺序为:铝锭加热→挤压→淬火→拉伸→成品锯→定尺→包装,共7道工序。随着工件数的增加,实际生产中如果采用单一的按批次加工,则会导致生产系统的资源浪费和加工总时间延长。因此在所有工件都满足加工流程的前提下,合理的分配系统中的各种资源[1],以总加工周期最短为目标,对这些加工次序进行优化排序,从而能有效提高生产系统的效率,增加企业的经济效益[2]。
数字化制造引领着当今制造业的潮流,作为数字化制造领域领先的系统软件,Siemens(西门子)公司的Plant Simulation是一款关于车间生产、优化调度、物流运输等的仿真软件。除了在高端制造业外,该软件在离散制造业尤其是中小型企业也得到了普遍的应用[3]。该软件依托网络、多媒体等在内的计算机技术、通信软件等科技技术,提供一种友好的人机交互界面,将常见的加工机器、传送带、物料运输小车等模型集成并可视化,构建完整的计算机仿真系统,将复杂系统的模型模块化,从而形成物理模型和虚拟模型相互统一的仿真环境。
在日常的车间生产中,由于工件数较多,难以实现对所有可能的排产顺序进行生产,所以选取最优排产方案。生产之前在虚拟环境中对加工车间的加工次序进行合理安排是非常有必要的。因此,利用Plant Simulation仿真软件,搭建与实际生产系统相对应的虚拟平台,并通过在计算机虚拟环境中对每一次不同的排产顺序进行模拟,对比所有的模拟结果,找到最优解,生成最优调度的甘特图,用于指导实际的加工生产。利用该软件,不仅能实现加工次序的优化调度,还可以对人员管理进行合理排班,更加贴合现实工厂的生产环境,从而最大程度的提高生产效率,增加工厂经济效益。
2.2.1 基于Plant Simulation的铝挤压机生产系统建模
在Plant Simulation软件中的基本建模对象分为4类:物流对象、信息流对象、用户接口对象、移动对象[4]。
物流对象是指生产类物流对象和运输类物流对象的总称,主要包括原材料库和加工机床等。这些模块作为系统中的主要组成部分,是车间生产时不可或缺的重要对象。其中物流对象按照不同的要求可以分为控制和框架类物流对象、生产类物流对象、运输类物流对象和资源类物流对象等四种[5]。
信息流对象是指系统进行控制、收集和传递信息的对象,主要包括Endsim模块,该模块是用来控制整个仿真系统的停止,是由Plant Simulation软件自带的SimTalk语言编译而成。
用户接口对象是指控制者和仿真模型之间的联系纽带。既可以用来显示仿真模型的详细信息,也可以作为一种工具用来控制仿真模型,其作用是显示铝挤压材料的各步骤具体加工时间。
移动对象是指在位置不固定,可以随生产需要发生移动的对象,常见的有传送器上的代加工零件和物流运输小车。
辽宁忠旺的125 MN铝挤压实际生产线在Plant Simulation软件上搭建仿真平台如图 2所示,与此相对应,系统的三维生产线模型如图3所示。铝挤压生产的步骤为:铝锭加热→挤压→淬火→拉伸→成品锯→定尺→包装。根据实际需要在淬火和冷床加工步骤之间可以加入传送带对铝加工工件进行牵引,在检验平台和最终的成品库之间加入机器人进行挑选检验。
图2 二维铝挤压生产线
图3 三维铝挤压生产线
2.2.2 基于Plant Simulation的铝挤压机生产调度系统模型
按照实际生产中的铝挤压加工工艺流程,铝挤压原材料会按照相应型号和生产工艺流程形成不同的生产批次在铝挤压生产车间进行加工。基于多批次加工的铝挤压生产线调度问题可以描述为:J个批次的工件在M台机器上完成对N道工序的加工计划。本文在满足生产约束的条件下,以生产线加工工期最小为调度目标得到最优的各批次的排产顺序。可建立模型为
f=min{Cmax}=min{max(Cj)}j∈{1,2,3,…,J}
式中,Cj,n为工件j的完工时间。
在生产作业中每个批次均为连续加工,即该工件在当前工序加工完成后即可送到该批次工艺流程中下一个工序进行加工。批次生产过程中存在3个约束,其中Tj,n为工件j的工序n上的加工时间;Sj,n为工件j的工序n上的开工时间。
(1)如果同一批次工件当前有加工工序, 则该工序的完工时间等于该工序开工时间与加工时间之和, 否则完工时间等于开工时间。
Cj,n=Sj,n+Tj,n
(j=1,2,3,…,J;n=1,2,3,…,N)
(2)同一工件的上一道工序完工时间和下一道工序开工时间的关系,即需要等待上一道工序加工完成后才能进行下一道工序加工。
Cj,n≤Sj,n+1
(j=1,2,3,…,J;n=1,2,3,…,N)
(3)任何一道工序的完工时间减去其开工时间不能小于其加工时间。
Cj,n-Sj,n≥Tj,n
(j=1,2,3,…,J;n=1,2,3,…,N)
本文采用配置为Windows 10系统,Core i5-7300 CPU,在Plant Simulation16.0.0版本上进行模拟仿真,为实现调度系统的仿真及优化,图 2的GAWizard为GA模块工具箱用来运行遗传算法;甘特图为输出最优方案的甘特图Endsim、material、Mac_ProcTime、jiya_time为GA模块工具箱、加工工件的控制程序、数据包、工艺路线及其时间等模块,机器部分主要含有11台加工设备、源以及缓冲存储区等。
本文采用基于工序的编码方式,即一条染色体表示一组工序的加工顺序,工序上的每一个基因,为加工工件的每一道工序。解码时则先根据每一条染色体的基因上的表示工件号码的数字在该条染色体的基因次序中出现的顺序,计算出该工件目前加工的工序;再根据该工件的目前加工的工序确定目前加工所使用的机器及所需的加工时间。
遗传算法基因被选择遗传的机会取决于所组成的染色体适应度大小[6],如何使用遗传算法的解与求解问题的解进行匹配是使用遗传算法求解问题的关键。对于铝挤压生产线问题,在最短时间内完成对所有批次工件的加工是求解的目标,即Makespan的最小值。所以遗传算法中的适应度函数设置为最大完工时间的倒数。
选择操作是使适应度值高的个体遗传到下一代,体现了遗传算法中的“优胜略汰”思想,避免了过早收敛导致损失优良的基因。选择算子采用经典的轮盘赌方法,即每个个体被选中的概率与其适应度值的大小成正比,个体的适应度值越大被选择的概率就越大,反之亦然。
本文采用了基于工序的编码方式,为了防止由于任意交叉产生非法解的情况,所以采用了部分映射交叉法(Partially Mapping Crossover,PMX)进行交叉操作[7]。其步骤为:①随机产生两个交叉点,交换两个染色体的两个交叉点之间的基因;②若交换后的交叉点基因部分与交叉点之外的基因部分不冲突,则保留该交叉操作;③若基因部分发生冲突,则在交换基因的集合中利用部分映射寻找替换基因,从而产生新个体。
本文采用了基于工序的编码方式,为了防止由于随机变异产生非法解的情况,所以采用互联变异方式进行变异操作[8]。互联变异的主要原理是随机选择两个位置,交换这两个位置上的基因,完成变异操作,得到一个新的染色体个体。如个体[1,2,3,4,5,6,7,8,9],随机选择3、6位置,交换后的个体为[1,2,6,4,5,3,7,8,9]。
根据遗传算法相关操作的设置,可以将遗传算法的总体步骤进行总结,其流程图如图 4所示。
图4 GA算法流程图
为了验证本文提出的算法在铝挤压生产线上的实际性能,在Plant Simulation平台搭建了模型并利用实际生产中的生产数据进行测试。
首先采用实际生产中按批次进行加工的排产方式进行测试,其排产结果如图 5所示。图中第一列为MU,即需要加工的工件;第二列为每个工件需要加工的数量;第三列为工件的名称;第四列为其属性;第五列为初始的排产顺序,即按批次进行加工的排产顺序;第六列为进行优化后的排产顺序,因为还未进行优化,所以排产顺序与初始的排产顺序相同。
图5 优化前排产顺序
按照此顺序进行排产,总共耗时1小时02分34秒,甘特图结果如图 6所示。图中横轴代表加工时间,纵坐标代表不同的加工机器,不同颜色的色块代表不同的加工工件。图中第一行从左向右依次表示J1、J2、J3、J4、J5、J6、J7、J8、J9、J10、J11、J12、J13、J14、J15、J16、J17、J18、J19、J20。
图6 优化前甘特图
用遗传算法对铝挤压生产线工序进行优化,对遗传算法的参数进行优化设置如图 7所示。图中优化方向设置为向最小值的方向优化;世代数,即迭代次数设置为1 000;世代大小,即种群大小设置为200;优化参数设置为对20个工件的顺序进行优化;适应度计算设置为按表格,表格中设置为按最大完工时间进行适应度计算。
图7 GA算法参数选择
运行遗传算法进行优化,得到遗传算法进化迭代的性能图如图8所示。图中横轴代表迭代次数,纵轴代表适应度值,从图中可知随着迭代次数的增加,适应度值逐渐收敛到最优解,即为该挤压机生产线模型下的最小化最大完工时间。
图8 GA算法性能图
经过遗传算法的优化,得到该铝挤压生产线模型的最优调度方案为9、16、19、18、4、7、2、11、1、12、13、3、15、20、5、10、6、17、8,如图 9所示。图中第一列为MU,即需要加工的工件;第二列为每个工件需要加工的数量;第三列为工件的名称;第四列为其属性;第五列为初始的排产顺序,即按批次进行加工的排产顺序;第六列为进行优化后的排产顺序。
图9 优化后排产顺序
按照该排产方案进行加工,总需耗时51分43秒。继续运行MyGant程序,得到如图 10所示最优解调度甘特图。图中横轴代表加工时间,纵坐标代表不同的加工机器,不同颜色的色块代表不同的加工工件。图中第一行从左向右依次表示J9、J16、J19、J18、J4、J14、J7、J2、J11、J12、J13、J3、J15、J20、J5、J10、J6、J17、J8。
图10 优化后甘特图
通过上述对比分析,经过遗传算法优化后,该铝挤压生产线生产模型只需要51分43秒就可完成加工,对比未优化前需要1小时02分34秒,减少了10分钟51秒,排产效率提高了17.34%。结果表明,利用本文所用的调度方法对缩短铝挤压生产线上的工件加工时间是有效的。
本文以Plant Simulation仿真软件为基础,对辽宁忠旺集团的125 MN铝挤压生产线的车间布局及加工次序进行模拟仿真,并对工件加工次序进行优化,以实现最短总加工时间的目标。在生产车间排产调度问题的优化求解中,对比了加入GA优化算法前后的不同总加工时间,仿真结果表明该方法的确缩小了生产车间的总工期,为工业生产排产问题提供了新的解决方法。后续的工作则是将仿真优化后的工件加工次序,用于指导实际的铝挤压生产,从而提高生产效率,增加工厂经济效益。