APP下载

基于组合马尔科夫模型的工序推送方法*

2019-09-18王裴岩张桂平

组合机床与自动化加工技术 2019年9期
关键词:低阶马尔科夫高阶

毕 东,王裴岩,张桂平

(沈阳航空航天大学 人机智能研究中心, 沈阳 110136)

0 引言

工艺编制作为连接产品设计与制造的桥梁,在产品快速更新迭代的环境下,仍作为诸多企业制约产品周期的重要因素[1]。虽然许多企业采用较为先进的计算机辅助工艺规划(Computer Aided Process Plan)系统来加快工艺编制的速度,使其编制的过程电子化、自动化,一定程度上提升了工艺编制的水平[2-3]。但是目前工艺编制还是过分的依赖于人的经验,工艺编制的水平往往受到工艺编制人员的经验程度影响,出现严重水平差异。

飞机钣金零件工艺设计是指根据给定的最终成形零件的信息,可用的资源信息和工艺信息,设计从板料到制造零件过程中的加工方案,其所得到的工艺文件为零件制造指令(fabrication order,FO)[4]。其中,工艺流程信息是FO的核心组成部分,从原料到成品的加工工序进行安排[5]。工艺流程信息的编制需要考虑零件材料等多方面信息,对于工艺编制人员经验要求较高,多数工艺编制人员还处于参考典型工艺案例和工艺知识检索的状态,所以需要一种根据当前编制能够实时的推送工序的方法来改善当前现状。

国内外学者对工艺编制中知识推送技术进行相关的研究,但是具体到工序的推送很少。多数使用相似度和聚类分析方法[6-9]得到典型工艺或典型工艺路线而进行推送,工艺编制人员还需对所推送的多个工艺案例进行查阅分析,选择其中可复用的部分,没有让工艺编制人员完全从知识检索中解放出来。文献[10]提出了工序模型驱动的工艺设计方法,每规划一道工序,生成一个工序模型,然后基于该工序模型进行下一道工序的规划。该方法新颖可行,但是需要构建n-1个模型,每个模型需要进行三维模型的特征提取过于复杂。文献[11]提出了几何演变驱动下的机加工艺知识表示方法和以此为基础的工艺知识模型对机加工序进行推送,虽然该方法能够对加工特征的几何演变特性进行表达和诠释,从多个零件工艺实例中提取并重组得到下一步工序,但是同时要求工艺编制人员自身技术水平过高。

面向工艺编制过程中工序推送问题,本文提出一种基于组合马尔科夫模型的工序推送方法。该方法能够构建描述工序间关系的马尔科夫模型,在不改变其当前工作状态的前提下,根据编制人员当前的输入,实时感知编制人员行为并分析其当前需求,推送当前场景下所需工序。与现有方法相比,本文所提出的方法基于工艺数据构建模型具有较好的普适性,并且单步工序推送更贴合工艺编制人员的实际应用场景,能够减少工艺编制人员大量重复的检索工作,同时该方法实际应用中对于工艺编制人员自身水平要求较低,在2348份飞机钣金零件工艺数据上验证了该方法的有效性。

1 工艺编制中的工序推送

工艺编制人员在实际的工艺编制过程中,大多会根据编写的工艺零件的结构特征、加工特点等内容,来合理安排后续工序。由此可见,工序间一定存在某种相关性,为此可以根据工艺编制人员当前编写的工序内容,智能的推送后续工序,以此来提高工艺编制的效率。

经过对2348份飞机钣金零件制造指令文件统计分析发现,在支架、蒙皮、框肋等不同零件组件类别中,共有86种不同工序,工序间具有强关联性,例如当前工序为备料,下一步工序97.82%为检验;当前工序为划线,下一步工序34.62%为切割外形、38.1%为铣切外形、16.27%为手工剪切。正是因为这种强关联性,工艺流程信息也可以理解为由工序组成的有序序列,那么可以用机器学习方法去进行有序序列中元素的预测。在人机协同的编制环境下,工艺编制人员接受编制任务后,根据当前编制状态建立工序知识需求,然后根据推送算法推送工序的候选集合,工艺编制人员根据当前需求进行选择,然后更新工序知识需求,重复以上步骤,直至工艺编制人员完成编制,具体工序推送实现过程如图1所示。

本文所提出的工序推送方法嵌入到工艺编制业务系统中,可以辅助工艺编制人员在当前编制情况下实时准确的推送所需工序。

图1 工艺流程信息编制流程

2 组合马尔科夫模型算法

将组合马尔科夫模型方法运用到工艺编制过程中,让计算机学习工艺编制过程中内在关联的工序,进而实现人机协同的工艺编制,提升工艺编制质量和效率。下面详细介绍马尔科夫模型建立和组合马尔科夫模型算法。

2.1 马尔科夫模型建立

马尔科夫模型由俄国数学家马尔科夫于1907年提出[12],在实际中有广泛应用,常用来对序列数据建模,进行位置预测、用户推荐和DNA分类等研究[13-14]。工序流程是一个由工序组成的有序序列,所以本文将马尔科夫模型应用到工序推送。

假设一段工序序列是...,Xn-2,Xn-1,Xn,Xn+1,...,工序Xn+1出现的概率与其之前的N个工序有关,而与过去的工序无关,即为N阶马尔科夫模型。例如二阶马尔科夫模型,工序Xn+1的出现仅仅依赖于前面两个工序Xn-1和Xn,如公式(1)。

P(Xn+1|X1X2...Xn)=P(Xn+1|XnXn-1)

(1)

在计算P(Xn|X1X2...Xn-1)的转移概率时,本文采用极大似然估计法进行求解,如公式(2),其中C(X1X2...Xn)表示X1X2...Xn出现次数。

(2)

研究发现,随着阶数的增大计算的数量级成指数上升趋势,并且数据稀疏性程度增大[15],本文共建立了5个基础模型,1阶、2阶、3阶、4阶和5阶马尔科夫模型。

表1中数据源自飞机钣金零件制造指令文件中工序训练的N阶马尔科夫模型,以工序片段“切割外形、钻孔、扩孔、去毛刺、检验”为例,标准答案工序为“称重”,对比N阶马尔科夫模型,分析发现:①标准答案工序“称重”不在1阶推送下一步工序集合(Top1~Top5)内,而是排在了第15位,说明低阶模型只对高频工序有效,低阶模型由于未能充分利用历史工序信息,存在精度不高问题。②随着阶数的增大,推送工序覆盖率降低,5阶模型推送工序平均为2.7个,说明高阶模型发生工序覆盖率低的问题。③在4阶和5阶模型中出现工序等概率事件,经对模型统计发现,随着阶数的增加,工序等概率事件机率增大,这一现象严重影响推送工序的排序准确率。

表1 N阶马尔科夫模型工序推送示例

2.2 组合马尔科夫模型

马尔科夫模型存在阶长选择的问题,为了兼顾模型的精度和复杂度,学者们提出了能够建立任意阶长的变阶马尔科夫模型[16],根据实际情况动态自适应使用合适的阶长进行计算,该模型得到广泛的研究与应用[17-19]。但是在本文工艺编制的应用场景下,针对工序推送发现变阶马尔科夫模型方法出现推送工序覆盖率低,推送工序等概率出现次数较多等问题,对推送工序的准确率和排序准确度影响较大。为此,本文提出组合马尔科夫模型,考虑融合更多历史信息,即将高阶马尔科夫模型和低阶马尔科夫模型进行线性组合。

组合马尔科夫模型在最高阶n的选择上和变阶马尔科夫模型相同,使用Katz的BackOff模型思想实现。优先考虑概率计算的准确率,从高阶马尔科夫模型进行尝试,发现推送目标工序在模型中出现次数小于阈值时再降低马尔科夫模型阶数,通常阈值设置为1。组合马尔科夫模型确定最高阶n后,将n,n-1,...,1阶马尔科夫模型进行线性组合,然后计算下一步工序出现概率,如公式(3):

(3)

其中,P(n)为工序X在N阶模型中的转移概率,参数λ满足λ1+λ2+...+λn=1。

本文在参数λ的选择上对比分析了三种方法分别是等值参数、等差参数以及动态参数。如下所示:

(1) 等值参数,将参数λ进行等值分配,可以理解为高阶模型和低阶模型同等重要,具体如公式(4):

(4)

(2) 等差参数,为保证高阶模型优先性,使高阶模型参数大于低阶模型参数,根据最高阶n计算公差,令λ1等于公差,参数服从等差数列进行分配,具体如公式(5),其中i≤n。

(5)

(3) 动态参数,同样保证高阶模型的优先性,与等差参数不同,需要根据当前状态信息对参数进行计算,先统计各阶模型中下一步工序总次数,然后取倒数并归一化,参数λ随工序出现次数而变化,如高阶模型中工序出现的次数较少,与之对应其参数越大,具体如公式(6):

(6)

其中,C(Xi)表示该工序在模型中出现的次数。动态参数与前两种参数相比,动态参数能够更好的平衡多个马尔科夫模型之间的关系,即能保证高阶模型的优先性,也能使低阶模型发挥作用。

3 实验

3.1 实验设置

实验数据使用2348份钣金零件制造指令文件。经统计,平均每份文件有26.24步工序,共有86种不同工序。为验证本文方法在同一组数据集下是否有效,做十折交叉验证。模拟工艺编制人员工作,根据工艺编制人员已输入的当前工序,使用基于组合马尔科夫模型方法得到推送工序结果集合,按照概率值大小选择排序前5(Top1~Top5)作为最终推送。

评价指标采用MRR(Mean Reciprocal Rank)和准确率(Top1~Top5 precision)。本实验对所推送工序候选集合进行排序,因此评价指标采用了信息检索中常用的MRR,MRR关心推送集合内准确答案的位置,位置越靠前则表明用户体验越好。MRR和准确率P定义如下:

(7)

(8)

其中,rank表示工序排名,如果目标工序出现在推荐结果结集合的第二位,那么rank=2;C1表示目标工序出现在推送结果集合中的次数,C2表示推送总次数。

3.2 实验结果与分析

本文列举了基于N阶马尔科夫模型方法和组合马尔科夫模型的工序推送方法,并对比分析N阶马尔可夫模型方法、变阶马尔科夫模型方法以及组合马尔科夫模型方法。

表2列出了N阶马尔科夫模型在钣金零件制造工艺数据集上验证推送工序的实验结果。从表2可见:① 2阶马尔科夫模型推送工序准确率达0.9483,MRR值达0.8248,马尔科夫模型能够有效的对工序进行推送,能够保证排序靠前的工序满足编制人员的需求,说明马尔科夫模型对工序推送问题的可行性。② 1阶马尔科夫模型对工序推送效果最差,1阶模型只考虑当前一步工序,使得模型的精度低,只对高频工序有效;阶马尔科夫模型对工序推送效果最好,2阶模型和1阶模型相比增加一步工序信息,模型描述工序间关系更精确,使推送准确率大幅提高;随着阶数的增加,推送工序效果明显下降,虽然高阶模型对于工序间关系描述精确,但是需要克服高阶模型数据稀疏,推送工序覆盖率低等问题。

表2 N阶马尔科夫模型实验结果

表3列出了3种不同参数的组合马尔科夫模型在钣金零件制造工艺数据集上验证推送工序的实验结果。从表3可见:①随着阶数的增加,MRR和准确率不断增大,组合马尔科夫模型方法解决了N阶马尔科夫模型方法中存在的问题,不仅提升了工序推送结果的准确率,而且保证了推送工序的排序准确度。②组合马尔科夫模型推送方法,MRR最高为0.8516,准确率最高为0.9642,推送工序结果可以满足用户需求。

表3 组合马尔科夫模型实验结果

针对不同参数推送工序结果进一步分析发现:等值参数效果最差,动态参数效果最好。同阶模型不同参数推送工序结果不同,原因在于保证高阶模型推送工序的优先性问题和高阶模型中有大量的等概率工序等影响因素。等值参数分配参数时高阶和低阶相等对于该情况影响不大;等差参数分配参数时高阶和低阶相差太大,虽然解决高阶模型等概率工序问题,保证高阶模型推送结果的绝对优先性,使得推送工序排序准确率有所提升,但是忽略了低阶模型信息,使工序推送准确率受影响;动态参数根据统计结果进行分配参数,保证了高阶模型推送结果的优先性,同时使低阶模型发挥作用,使推送工序更加精准。

表4列出3种工序推送方法的结果。对比发现:①变阶马尔科夫模型方法与2阶马尔科夫模型方法相比,虽然变阶马尔科夫模型推送的工序排序准确度高,但是出现了推送工序覆盖率低等问题。②组合马尔科夫模型方法与N阶马尔科夫模型方法相比,MRR提高0.0268、准确率提高0.0159,组合马尔科夫模型方法有效解决了N阶马尔科夫模型阶长选择问题,保证了高阶模型的优先性,使推送工序更精确。③组合马尔科夫模型方法与变阶马尔科夫模型方法相比,MRR提高0.011、准确率提高0.0255,组合马尔科夫模型方法即保证了高阶模型的优先性同时也使低阶模型发挥作用,融合低阶模型信息后有效地解决了高阶模型中出现的工序等概率事件问题和高阶模型工序覆盖率低问题。

表4 对比实验结果

4 总结

本文提出了基于组合马尔科夫模型的工序推送方法,模拟工艺编制人员在工艺编制环境下根据编制人员当前输入实时的推送工序。该方法能够有效地对工序进行实时推送,同时能够保证排序靠前的工序即为工艺编制人员所需。与传统的N阶马尔科夫模型方法和变阶马尔科夫模型方法相比,该方法解决高阶模型过拟合问题和低阶模型精度问题,同时使推送工序的准确率和排序准确度有明显提升。未来,将尝试根据工艺编制人员自身编制特点构建个性化模型,增加推送内容,然后推送更多工序知识。

猜你喜欢

低阶马尔科夫高阶
基于三维马尔科夫模型的5G物联网数据传输协议研究
低阶煤煤层气富集区预测方法研究与应用
基于叠加马尔科夫链的边坡位移预测研究
山西低阶煤分布特征分析和开发利用前景
滚动轴承寿命高阶计算与应用
基于改进的灰色-马尔科夫模型在风机沉降中的应用
基于分数低阶统计量的频谱分析方法
高阶思维介入的高中英语阅读教学
马尔科夫链在企业沙盘模拟教学质量评价中的应用
马尔科夫链在企业沙盘模拟教学质量评价中的应用