杜宝瑞,张 杰,屈力刚,李 亮
(1.中航工业沈阳飞机工业(集团)有限公司,沈阳 110000;2.沈阳航空航天大学,航空制造工艺数字化国防重点学科实验室,沈阳 110136;3.中航工业中国空空导弹研究院,洛阳 471000)
随着国内制造业的快速发展,为了满足待检测零件的精度和效率要求,航空制造业正在推行一种基于MBD(model based definition)[1]的数字化生产模式,逐渐形成以设计、制造、检测为一体的闭环作业系统。在数字化生产模式的推动下,以设计部门设计的三维MBD模型为信息传递的唯一标准载体,向下游的生产部门和检测部门同步传递,生产部门依据模型所携带的加工信息加工零件,同时检测部门依据模型所携带的待检测信息在三坐标系统上离线编制零件的检测程序[2]。通过对三维MBD模型检测要素的分类[3]和尺寸标注的自动规范化矫正[4,5]以及检测程序的仿真推演,提前规划并避免在使用三坐标测量机检测待检测零件时可能遇到的干涉、撞针等问题[6],当零件加工完成后可立即在三坐标测量机上自动执行待检测零件的检测程序任务,完成对零件的测量。
航空企业内成批次的零件使用寿命长,更新改动小,基于三坐标系统编制的测量程序具有可重复性、高效性、易改动等特点。企业中的三坐标检测设备的数量在一定时期内是相对不变的,但是由于对检测设备资源的分配没有合理的规划,依然采用依靠人工经验选择的方式,不仅存在随意性和约束性,而且在如何选配上耗费大量的工作时间,降低了检测效率。若零件加工生产完成后不能在交货期内及时检测完成,会导致不能按时交货,经济效益降低等问题。因此若能够针对不同的待检测零件,通过合理分配三坐标检测设备资源进行协同测量,最大化释放现有设备资源的使用价值,是对检测设备资源及检测过程的优化管理,是提高企业的生产效益和核心竞争力的关键问题之一。
针对上述航空企业中存在的问题,本文提出了一种检测设备资源分配的优化方法,旨在解决数字化检测模式下三坐标检测设备得不到合理规划利用的问题。
在使用三坐标系统编制检测程序的过程中,受实际检测条件和性能的约束影响,如零件的精度、不满足三坐标设备检测要求的特征、尺寸标注关联特征的矢量方向、夹具夹持零件时无法检测被夹持面的关联特征等因素,都决定了待检测零件其检测程序的数量多少和复杂程度。因此,同一批次的零件在三坐标系统上会相应编制出多个检测程序,才能覆盖待检测零件的所有检测信息。
假设在检测资源的配置过程中满足以下基本规则:
1)在某一时刻,一台设备只能执行一个零件的其中一个检测程序任务;
2)在某一时刻,一个零件的其中一个检测程序任务只能在一台设备上执行;
3)检测程序任务在某台设备上开始执行后,就不能中断,直到完成检测;
4)每个检测程序任务的检测时间固定且都为已知;
5)需要更换其他设备执行其他检测程序任务时,此设备没有在执行检测程序任务。
多批次的零件的检测程序任务在检测设备资源上的分配属于典型的规划和优化问题,可以描述为:若现有多批次共n个待检测零件,每批次的零件根据检测信息的要求编制成li(iϵn)个检测程序,则共有个检测程序任务;每个检测程序任务需要从m台检测设备中选择某一台设备以完成检测任务。不同的分配方式付出不同的代价。即将检测资源配置问题转化为寻找待检测零件与检测设备资源的合理分配的最优解问题。
定义检测设备集合为J={j|1,2,…,m},待检测零件集合为I={i|1,2,…,n},每个零件的检测程序任务集合为K={k|1,2,…,l},第i个待检测零件的检测程序任务为eik,交货期限为T0。检测设备j执行检测程序任务eik的时间为Rikj,则所构成的所有检测程序任务时间矩阵为。由于每台检测设备在某一时刻只能执行待检测零件的一个检测程序任务,即设当检测设备j执行检测程序任务eik时,其占用状态用Bikj表示,正在执行检测任务表示为Bikj=1,空闲状态表示为Bikj=0。给出检测程序任务在检测设备上执行所需要的检测时间Rikj和检测设备的占用状态BRikj的关系矩阵如表1所示。
为了使多批次零件能在生产周期内完成检测任务,按时交货,以检测时间最小为优化目标,则检测设备j执行其分配到的检测程序任务的检测时间为:
则在m台检测设备上执行n个待检测零件的全部检测任务的数学模型为:
在平时的课堂教学开始前,先环视整个教室,关注每一位学生的精神状态和课前准备情况,用眼神告诉学生:老师很关注你的学习状况。在课堂教学中,也要经常开展自主合作探究的学习方式,鼓励学生在小组内畅所欲言,达到生生互学的效果。这样的学习方式,让学生在学习伙伴面前展现了自己的存在感,进而提升学习自信心。在小组汇报阶段,都要鼓励学生声音响亮且有条理地表达自己的见解,要求其他学生能安静倾听并思考,要求对汇报者的汇报给予眼神的关注和语言上的评价及掌声鼓励。美其名曰:“他说,你听!”“他说,你评!”“他说,你点赞!”通过这一系列的实践活动,让学生真切感受到学习伙伴和教师都在关注自己。
其中:式(2)表示以总检测时间最小的目标;式(3)表示一个零件的其中一个检测程序任务只能在一台设备上执行;式(4)表示一台设备只能执行一个零件的其中一个检测程序任务。式(5)表示最长检测时间不能超过规定的交货期限。
表1 执行检测程序任务的时间和检测设备的占用状态表
检测设备资源的分配与柔性作业车间调度类似,也是一种很复杂的非确定多项式(Non-deterministic Polynomial)问题[7]。目前国内外对于NP问题求解方式的研究常应用智能优化算法,包括模拟退火、禁忌搜索、神经网络、蚁群算法、遗传算法等。其中,通过遗传算法来求解最优的检测设备选择原则,具有较高的全局搜索效率和收敛效果,得出最优解与实际最优解的误差较小[8]。
遗传算法是一种模拟自然进化过程中优胜劣汰的机理来搜索最优解的方法,其利用编码技术对一定数目的个体进行编码,完成初始种群的构建。初始种群生成之后,由适应度大小淘汰不符合要求的个体,对通过选择而保留的个体进行交叉和变异的重新组合生成新的种群,不断的迭代使其进化到满足某一设定的要求,进而得到符合要求的最优解。
针对上述检测设备资源分配的问题,由于需要对检测设备资源和检测程序任务同时进行编码,因此采用双层编码的方法。第一层为每个待检测零件的检测程序任务的编码层,第二层为检测设备编码层。这样就可以给检测程序任务选择执行的检测设备,并将所选择的检测设备编号安排在对应的检测设备编码层。
在执行多批次零件的所有检测程序任务期间,可能需要根据检测程序的要求更换工装夹具,为了减少此类不必要的更换以缩短额外的准备时间,将相同类型的程序优先排列选择,避免无序选择时造成的工装夹具频繁更换的问题。因此检测程序编码层采用基于优先权编码的方式,即每一个基因代表一个优先权,表示每个检测程序任务的执行次序,如n个零件中每个零件对应有li(iϵn)个检测程序,则共有个检测程序,优先权值为从1到,染色体分为n段,每一段代表一个零件的所有检测程序,每段包含li个基因,代表程序1到的优先权值。
检测设备编码层采用整数的编码方式,由检测设备的编号组成。根据检测程序编码层的基因随机选择对应执行检测程序的检测设备,将检测设备编号填入检测设备编码层的对应位置。
假设现有3台检测设备,有4个待检测零件,每个零件分别包含3、2、4、3个检测程序任务,如表2所示。
为使其满足约束条件,即检测程序任务需按照合理的次序依次执行,首先从全部待检测零件的第一道检测程序任务{e11,e21,e31,e41}中随机选择出e31,赋予其优先权值,令其对应的染色体元素为1;然后再从{e11,e21,e31,e41}中随机选择出e21,赋予其优先权值,令其对应的染色体元素为2;然后再从{e11,e21,e32,e41}中随机选择出e32,赋予其优先权值,令其对应的染色体元素为3;依次类推,直到所有的检测程序任务对应的染色体元素优先权值都被确定,生成父代检测程序任务染色体编码P11。随机生成父代检测设备染色体编码C11。按照上述方法生成初始种群。从初始种群中随机选取一个初始解染色体编码P21和C21与父代染色体编码P11和C11用于后续的交叉操作。如图1所示。
图1 生成初始种群
以总检测时间为要求解的目标函数,为了使目标函数取最小值,取遗传算法的适应度函数为f=-F。
检测程序任务交叉操作时,首先保持各检测设备染色体编码不变,随机选择1个待检测零件作为交叉零件,交换两个染色体中对应的优先权值,如染色体P11和P21进行交叉,随机选取第一个待检测零件作为交叉零件,交换P11和P21中第一个零件的检测程序任务编码,得到新的交叉子代染色体编码层P12。
检测设备交叉操作时,再保持各检测程序任务染色体编码不变,对检测设备染色体编码进行多点交叉。首先随机产生一个与染色体长度相等的由0、1代码组成的交叉编码串(1,0,1,0,1,1,1,0,1,0,0,1),交叉编码串中的1代表对检测设备染色体编码层C11和C21中相同位置的元素进行互换,得到新的交叉子代染色体编码层C12。如图2所示。
表2 检测程序任务表
图2 染色体编码层交叉操作结果
然后统计出P12中缺少和重复的优先权值,并用缺少的优先权值代替重复的优先权值,最后把所有检测程序任务对应的优先权值按从小到大的顺序重新排列,代表执行的顺序。编码层P12用缺少的优先权值(4,6)替代重复的优先权值(1,3),根据每个待检测零件的优先权值从小到大的顺序,用4替换1,6替换3,得到新的子代染色体编码层P13。如图3所示。
图3 检测程序任务编码层优先权调整结果
检测程序任务变异操作时,保持各检测设备染色体编码不变,随机选择2个不同待检测零件的两个基因交换其优先权值,如染色体P13中第一个零件的第二个检测程序和第三个零件的第三个检测程序编码进行交换,得到新的变异子代染色体编码层P14。
检测设备变异操作时,如在C12中随机选择第二个零件的第二个检测程序编码,将随机其替换为另一台检测设备,得到新的变异子代染色体编码层C13。如图4所示。
图4 染色体编码层变异操作结果
再按照4)中提到的方法调整P14层优先权值大小排序,得到新的子代染色体编码层P15和C13。如图5所示。
图5 检测程序任务编码层优先权调整结果
至此一次循环结束,重复上述步骤,根据设定的遗传算法迭代次数ε停止循环,输出最终的结果即为最优解。
根据本文中所提出的检测设备资源分配优化方法,为了验证其在实际生产作业中是否具有实用性和高效性,根据建立的数学模型对其进行优化求解。选取初始种群规模为50,迭代次数为50,检测设备交叉概率和检测程序任务交叉概率都为pc=0.9,检测设备变异概率和检测程序任务变异概率都为pm=0.01。得到上述资源分配的最优结果如表3所示。
由表得知,每台检测设备分配到的最优检测程序任务集合分别为{j1|e11、e42、e33、e34}、{j2|e31、e21、e22、e13}和{j3|e41、e32、e12、e43},每台检测设备工作的总检测时间甘特图如图6所示。
表3 最优分配结果表
图6 本文方法检测设备资源配置图
图7 传统方法检测设备资源配置图
而按照传统的检测零件的方式,检测人员会根据个人的习惯和经验选择检测设备,传统的人工方法存在随意性,不能最大程度释放检测设备资源的性能。其检测时间甘特图如图7所示。
通过将所有的检测程序任务合理地分配到每一台检测设备上,待全部的零件检测完成后即为完成检测任务,即可交货。由木桶效应可知,每台检测设备工作的最长总检测时间为实际总检测时间,由图6得本文方法为29.8min;而传统人为选择并分配检测设备的方法其实际总检测时间由图7得为41.9min。根据现场作业统计,针对多批次的零件检测任务,在检测设备资源相同的情况下,零件的总数量越多,对应检测程序任务的总数量就越多,本方法相对于传统方式的优越性就越明显,具体表现在需要人为干涉的任务量少,相对检测时间比(传统方式检测时间/本方法检测时间)越来越低,即检测效率得到明显提高,验证了本文方法的可行性。如表4所示。
表4 本文方法和传统方法对比表
本文面向数字化检测生产模式,针对存在的检测设备资源没有提前规划分配而是依靠人为经验进行选择的不合理问题,采用了一种双层编码的遗传算法求解方法对建立的数学模型进行求解,根据实际生产要求得到其最优分配结果,避免了人为的选择干涉,提高了检测设备资源的利用率和检测多批次零件的效率。最后通过实例验证表明了该方法能够实现检测设备资源的合理分配,满足数字化检测的实际生产需求,并对推进数字化检测的发展具有一定的意义。