黄家文 周昭龙 陶 涛* 王雷东 陈星艳
(1.中南林业科技大学材料科学与工程学院,湖南 长沙 410004;2.索菲亚家居股份有限公司,广东 广州 511358)
在当前人工智能技术推动智慧生产决策的大背景下,定制家具在智能制造、信息化等方面取得了长足进步,如何将以“小批量多品种”为特点[1-4]的板件通过科学合理的方式在机器上进行调度,是提升车间管理计划需要提升的方面[5-6]。在实际生产过程中,不可预测的扰动因素和动态事件也会扰乱车间的生产计划,给企业造成损失。其中,机器故障作为车间经常出现的动态事件,对于动态调度的研究尤为重要[7-8]。鉴于此,针对板式定制家具混合流水车间在制造过程中的机器故障问题,提出了一种融合ICA算法和完全重调度策略的求解方法,并以最小完工时间为目标,分别对车间生产过程的三种故障场景进行仿真试验,以期达到缩短完工时间、提高生产效率和订单准时交货率的目的。
对板式定制家具企业生产调度现状进行了分析,发现机器故障造成的停机问题是影响车间生产调度的关键问题之一。为解决这一问题,本文模拟实际发生的三种故障场景,选取了适用于求解机器故障问题的ICA算法,并结合完全重调度策略制定了混合流水车间动态调度的求解步骤。
以某上市公司的柜身柔性制造车间为例(简称为A公司),客户的下单信息会通过计料系统将订单进行拆单计料,车间计划部门根据订单周期、板材利用率、花色等信息通过制造执行系统(Manufacturing Execution System, MES)进行揉单排产[9],排产完的订单会分批次由车间MES部门分配工艺路线发送到车间生产班组进行生产。
笔者发现,在调度方面主要存在以下问题:
1)作业车间布局混乱、产线交错,容易造成调度困难,漏单、拼错单等问题[10];
2)由于车间生产主要依赖于人工经验进行调度,而人员管理水平低且缺乏相应的培训规范[11-12],因此常常出现调度不及时和调度不合理的情况;
3)由于设备老旧、长期满负荷生产、保养不规范等问题,机器经常出现故障停机[13-14],导致初始调度方案失效,工艺路线需要重排。这不仅增加了调度难度,也严重影响到了生产效率和产品交期。
此外,车间实际调度过程中,机器故障造成的停机问题是影响生产调度的关键问题之一。2022 年,柔性柜身自动车间设备故障造成的停机维修占比高达93.56%,故障总时长901 351 min。因此,当机器发生故障停机维修时,如何快速对未加工板件进行重调度,从而减小故障给生产造成的影响是亟待解决的问题。
解决机器故障下的调度问题是一个经典的组合优化问题,需要考虑多个变量的约束。由于求解规模较大,需要更加高效、快速、准确地计算方法,以找到最优的生产顺序。因此,常常使用智能优化算法来求解调度问题[15]。ICA算法(Imperialist Competitive Algorithm)是一种借鉴人类社会殖民竞争机制的群智能优化算法[16]。相比于其他粒子群算法[17]、遗传算法[18]、蚁群算法[19]等算法,该算法具有简单的原理、高速求解、高精度和易于实现的特点,因此在求解动态调度的问题上更具有优势[20]。
为了尽可能降低机器故障对板件加工时间的影响,引用完全重调度策略,提出了融合ICA算法和完全重调度策略的求解方法。此外,还设计了一种适应该问题的编码解码策略对三种机器故障场景下的动态混合流水车间调度问题(Dynamic Hybrid Flow-shop Scheduling Problem, DHFSP)进行求解,并输出三种故障后的甘特图,将它们与人工经验调度进行对比得出结论。
为解决机器故障下板式定制家具动态混合流水车间调度问题,将DHFSP求解分为四个部分。首先遵循约束条件对机器故障下动态调度问题进行描述;然后构建基于以最小完工时间为目标的数学模型;其次针对构建的数学模型,设计了一种适用于该模型编码解码策略的ICA算法进行求解;最后根据板式定制家具企业机器故障短期内可恢复的特点,采用完全重调度的策略对故障时刻后未加工的板件进行重调度。
机器故障下板式定制家具动态混合流水车间调度问题(DHFSP)可以描述为[21]:有n块待加工板件需要在s(s≥2)道工序上进行加工,至少有一个阶段有2 台及以上的并行机。每块板件在第一个阶段加工完才能到第二个阶段进行加工,一块板件一次只能在一台机器上进行加工,对应的加工时间可能不同。由于机器长时间加工以及老化等问题可能发生故障,笔者根据车间实际故障情况引入机器故障扰动因子。调度的任务是对机器故障后的板件进行重排,使其合理地分配给每台机器,达到总完工时间最小的目的。此外,机器故障下的DHFSP还需要遵循以下约束:1)所有板件都是从零时刻开始加工;2)每块板件在机器上的加工时间已知;3)板件的加工时间由加工时间和相关准备时间组成;4)当机器发生故障时,在该机器上加工的板件立即停止加工,且不能转移机器;5)故障短期内可修复,维修过程中机器不能用,非故障机器正常加工;6)每次故障只发生在一台机器上,且故障时刻和修复时刻已知。
DHFSP的优化目标是使板式定制家具柔性车间在机器故障下的最大完工时间最小,其计算公式如下:
式中:f1为最大完工时间,s;i为板件序号;n为板件数,件;为重调度中第i块板件的完成时间,s。最大完工时间最小,说明车间的调度效率越高,机器故障对车间板件调度的造成的影响就越小,调度的性能就越优。
2.3.1 编码
板式定制家具的生产车间属于典型的离散型车间,也就是说本文中的DHFSP是一个离散问题。板件在机器上的调度需要使用合适的编码和解码机制来建立离散量和连续量之间的关系[22]。在ICA中,一个国家就代表一个DHFSP的可行方案,结合板式定制家具车间离散型的特点,本文设计了一种基于工序排序(Operations Sequencing, OS)和机器选择(Machines Selection, MS)的两段式整数编码方法,如图1所示。
图1 板式定制家具DHFSP编码Fig.1 Panel custom furniture DHFSP code
图1 中机器选择部分和工序排序部分长度各为L,总长度为2L,每个个体都用整数表示,L为所有工序的个数。假设现在有板件I1和板件I2按照工序顺序进行加工,左半部分每个整数表示板件在当前工序可以在加工的机器集合中选择的机器顺序号,不代表对应的序号。如工序O13有三台机器可以选择,对应的3 表示可选机器集合{k3,k4,k5}中的第三台机器k5。同理,工序O11对应的1 表示可选机器集合{k1,k2}中的第一台机器k1。右半部分显示了生产任务按照加工顺序排列的结果,整数代表板件号,板件出现的次数代表该板件所在的工序数。如第一个1 表示板件1 的第一道工序O11,第二个1 表示板件1 的第二道工序O12,以此类推,转换成板件加工顺序为O11→O21→O12→O22→O13→O23。
2.3.2 解码
在ICA算法中,对国家个体进行解码操作时,需要将编码后的二进制数据转回问题的变量,分别对个体的前半部分和后半部分即机器部分和个体的工序部分从左到右分别进行解码,解码方法如表1所示。
表1 板件对应调度问题数据表Tab.1 The board corresponds to the scheduling problem data table
表1中的数据表示板件对应的工序所选机器,括号里面的数字代表加工时间。假设已知板件最优加工顺序为{2,1,2,1,1,2},则根据表1中板件对应的调度问题数据表得到的工序操作表为{O212,O111,O224,O123,O135,O237}。该操作表中每一个Oijk代表板件i的第j道工序在第k台机器上加工。
2.4.1 完全重调度策略
针对板式定制家具混合流水车间的故障问题,提出了一种完全重调度策略。该策略的思路是:当机器发生故障时,不影响已加工完成的板件,而是对所有未加工的板件重新分配加工机器和顺序。目的是尽可能降低机器故障对板件加工时间的影响,从而获得更优的最大完工时间[23-26]。
2.4.2 重调度流程
当板件开始加工前,ICA生成初始调度方案。当板件进行加工时,某台机器在Ts时刻发生故障,已完工的或者正在加工的板件不受影响,对该故障机器上待加工的板件采用ICA进行完全重调度,得到新的重调度方案。具体流程如图2所示。
图2 完全重调度流程图Fig.2 Complete rescheduling flowchart
本研究的试验数据取自A公司的柜身柔性制造车间。以一个订单中花色相同的20块板件为例,笔者从MES(制造执行系统)中将加工数据导出。其中开料工序的作业时间可以通过锯切图中解析获得[27-28]。20块板件都经过相同的3道工序,开料工序由2台加工能力不同的电子开料锯加工,封边工序由2台加工能力不同的封边连线机加工,排钻工序由3台加工能力不同的六面钻加工,分拣工序由3台加工能力相同的机械臂组成,包装由于只有一条自动包装线对结果不产生影响,故不做考虑,仿真数据集如表2所示。
表2 仿真数据Tab.2 Simulation data set
本文采用ICA对混合流水车间机器故障重调度进行仿真试验,设置迭代次数为100次,种群规模为100,个体个数为10,交叉概率为0.7,变异概率为0.05[29]。
为了更加贴近实际生产情况,笔者调取车间一年故障数据。调查发现,开料、封边、打孔这三大工序的故障数量占比高达90%。其中,电子开料锯1、柔性封边连线机2和六面钻在其对应的工序中故障占比最高。因此,笔者模拟三种机器故障分别单独发生场景[30],试验用MATLAB R2021b进行仿真。
场景1是电子开料锯1在0时刻发生故障,故障恢复时刻为80 s,迭代到第49代左右,收敛到最优解,最大完工时间为438.9 s。而在实际生产车间,当场景1发生时,凭借人工经验调度加工完这单板件所用时间为477.1 s,用时减少38.2 s,生产效率提升了8%。进行完全重调度后的甘特图如图3所示。
图3 电子开料锯1 故障后的甘特图Fig.3 Gantt chart after failure of electronic cutting saw 1
场景2是柔性封边连线机2在100时刻发生故障,故障恢复时刻为190 s,迭代到第53代左右,收敛到最优解,最大完工时间为405.75 s。当场景2发生时,凭借人工经验调度加工完这单板件所用时间为484.7 s,用时减少78.95 s,生产效率提升了16.3%。进行完全重调度后的甘特图如图4所示。
图4 柔性封边连线机2 故障后的甘特图Fig.4 Gantt chart after the failure of flexible edge banding machine 2
场景3是六面钻3在135时刻发生故障,故障恢复时刻为200 s,迭代到第13代左右,收敛到最优解,最大完工时间为403.7 s。当场景3发生时,凭借人工经验调度加工完这单板件所用时间为472 s,用时减少68.3 s,生产效率提升了14.5%。进行完全重调度后的甘特图如图5所示。
图5 六面钻3 故障后的甘特图Fig.5 Gantt chart after six - sided drill 3 failure
通过对比以上三种故障场景可知,当机器发生故障后,基于ICA算法的完全重调度的策略可以大大缩短车间的最大完工时间,有效地降低机器故障对板件加工过程带来的影响,符合实际生产需求。
针对家具企业生产调度中的难点——机器故障这一动态事件,本文结合生产实际,提出了一种融合ICA算法和完全重调度策略的方法。通过理论和实践验证,表明该方法可以有效降低三种故障场景下机器对生产调度的影响,提高家具企业车间生产效率和订单准时交货率,为解决家具行业车间实时生产调度、机器故障动态问题提供了借鉴。