余伟伟,张 莉,葛 宁,贾 航
(北京航空航天大学计算机学院,北京 100192)
近年来,随着云计算[1]、物联网[2]、数字孪生[3]等技术的高速发展,加速带动了制造行业的转型。协同制造是助力制造业转型发展的重要手段,也是敏捷制造、智能制造、云制造的核心内容[4]。协同制造充分利用云计算、物联网等先进技术,将串行工作变为并行工程,同时对不同企业的制造资源和制造能力进行有效共享,进而实现供应链内及跨供应链间企业产品设计、制造、管理和商务等相互合作的生产模式,最终通过改变业务经营模式达到资源最充分利用的目的。协同制造模式为制造企业及其供应链上下游企业提供了资源集散的共享合作平台。加入协同的制造企业将自己闲置或暂时用不到的资源共享给其他制造企业,同时也能使用到自己所缺但隶属于其他制造企业的资源。基于协同制造的合作平台促进了制造企业之间的信息交流,提升了制造企业之间的共享水平以及企业之间的协作能力,加快了对制造需求的响应速度。因此,协同制造已成为一种适应全球竞争及企业动态需求的新型制造模式。
然而,协同制造虽然为制造企业之间的资源共享提供了良好平台,但其海量信息也让制造企业在选择合作企业时犯难,这是因为可选择的制造企业中的设备数目庞大,也无法具体了解合作企业的信誉品质,只能合作后才知道,导致制造企业很难选出最合适的合作企业,所以极大地影响了制造企业的生产效率。因此,如何在制造企业选择合作企业时进行合适的推荐是协同制造中的一个重要问题。
为解决上述问题,本文提出一种基于领域知识与多目标优化的制造企业推荐方法。该方法首先利用已有的领域知识设计一种基于领域知识的设备工件描述语言,并将该语言到推理规则进行转化,从而实现了快速寻找合适加工设备的制造企业筛选。
网络技术的迅速发展带来了信息的急速膨胀,人们的社会活动、经济活动已不再受空间、地域限制,这种便利的方式给人们的选择带来了更多可能性,但选择可能性的增多往往会造成人们选择困难。为了能够快速而精确地帮助人们作出选择,推荐系统应运而生,解决了在海量数据中面临的信息超载问题。
推荐方法的目标是根据用户的兴趣偏好以及历史操作习惯,预测用户感兴趣的内容并找出最优解推荐给用户。下面给出推荐方法的形式化定义:
Ο={o1,o2,…on}为用户集合,元素oi为集合中的用户,n为用户个数,而在协同制造中用户为制造企业,n为制造企业个数。定义S={s1,s2,…sm}为待推荐的项目集合,元素si为项目集合中待推荐的项目,m为项目个数。在协同制造中,项目就是制造企业提供的资源(资源可以是设备,也可以是原材料等),则m为资源种类数量。令函数f:Ο ×S→R表示项目s对用户o的吸引程度,此处R为全序集。通常情况下,R以量化分数形式呈现,分数越高,对用户o的合适程度越高,越可能被推荐,即给定用户o∈Ο,推荐方法的返回结果为s(s∈S),函数f在s处取最大值,具体描述如式(1)所示:
推荐技术常被用作信息过滤工具,所以推荐方法也被称为过滤方法。
目前常用的推荐方法主要分为两类:基于内容的推荐方法[5]和基于协同过滤的推荐方法[6]。
1.2.1 基于内容的推荐方法
基于内容的推荐前身实际上是信息过滤技术,通过直接分析用户的选择历史得到关于其可能喜好的项目信息,然后匹配类似项目进行推荐[5]。目前,有两种匹配类似项目的方法,一种是直接匹配项目之间的相似度,即根据目标项目与用户历史选择项目的相似度,预测用户选择目标项目的可能性。这种推荐技术又称为传统搜索推荐,也称为基于效用的推荐[7]。另一种是总结用户的历史选择,列举其共有特征,然后计算目标项目与共有特征之间的相似度,这种方法总结得到共有特征实际就是建立一个用户喜好特征模型,所以又称为基于模型的推荐。基于模型的推荐中有两个常用技术:模式分类和人工智能技术[8]。现有基于内容的推荐方法大多都应用于云制造的资源或设备匹配[9]方面。
1.2.2 基于协同过滤的推荐方法
基于协同过滤的推荐基本原理是根据所有用户对物品或信息的偏好,发现与当前用户口味和偏好相似的邻居用户群,并基于邻居的历史偏好信息为当前用户进行推荐。协同过滤基于使用者对产品的评价,其不要求使用者与该产品进行交互,也无需推荐系统对所有产品与需求产品的相似性进行分析。在一个推荐系统中,所有使用者都可进行反馈的输入和接收,这样的互动可很好地激发使用者对反馈与评估的热情。尤其是在协同生产的背景下,由于生产厂商之间的相互竞争,从心理上来看,有很大概率会以不真实的评估来欺骗其他厂商。在推荐体系中,信息的公平分享会对生产厂商形成某种限制,从而增加了反馈的真实性。协同过滤技术按照目标的差异可划分为以工程为主的协作式和以使用者为主的协作式。两者的共同之处就是基于使用者评价来判断使用者喜好,需要从用户的历史数据中提取用户偏好信息作为推荐依据。以工程为主的协作式由Amazon 等提出,核心内容是构建项目评分矩阵,根据各属性评分向量计算项目的相似度,以与目标用户喜爱的项目最相似的项目作为推荐内容[10]。以使用者为主的协作式从使用者开始,找到与使用者喜好最接近的使用者,并向使用者提出建议。
除以上介绍的推荐方式外,基于关联规则的推荐也是一种常用方式。当使用者对某个产品有需要时,会根据预先定义的关联规则向使用者推荐与产品相关联的产品,这些推荐的产品与需求的产品存在功能类似的替代关系。Apriori 算法[11]和FP-Growth 算法[12]都是基于关联规则的推荐方法。但由于存在关联规则形成困难或只适合特定场景等情况,基于关联规则的推荐也有其局限性。
综合上述推荐方法研究现状可以发现,目前的推荐方法都是以相似度或关联规则中呈现的相关性为主,且多被用于云制造的资源匹配方面,而较少讨论协同制造环境下制造企业的选择问题,尤其是未对拥有空闲设备资源的制造商匹配选择问题进行深入分析。
制造企业在信息技术的推动下,形成了协作网络。信息的便利使得制造企业间的合作不再受地域限制,制造企业的任何一个需求都会受到其他各方制造企业的响应,为其提供了更多选择机会。制造企业可以从中权衡利弊,选择最合适的合作伙伴。然而,在传统制造模式下,制造企业数量较少,企业可通过人工比较相关企业各方面的资历和条件,进行最优选择,但当面对协同制造中琳琅满目的选择时,会出现信息量过大的情况,用户方在筛选制造企业时就要付出更多人工成本。当然,用户方也可以选择某些固定的合作伙伴,但这无形之中丧失了制造协作带来的资源优势,与传统制造模式并无差异。一个能够智能筛选制造企业并排序的推荐系统将在确保选择范围的情况下,为制造企业节省大量人工成本。因此,本文提出一种符合制造企业实际情况、满足制造商个性化需求的推荐方法,以解决制造企业在协同制造中的选择难题。
为制造企业量身定制推荐方法前,首先要了解制造企业产品供应的特点,即供需双方(制造商与供应商)的需求侧重点,具体分析如下:制造商对供应商提供的产品内容及型号是有明确要求的,存在很多定量筛选标准。影视、美食推荐的出发点在于迎合用户的主观喜好,只为让用户实现情感上的满足,不为实现任何功能,因此影视剧、美食的推荐选择范围广泛,不受量化标准限制。而供应商提供的产品是为了满足制造商进一步生产的需要,工业生产有固定的规格、尺寸、样式限制。制造商在选择合作的供应商时首先要考虑的是供应商的产品能否满足生产需求。举一个最简单的例子,螺丝钉与螺口是制造业最基础的搭档,若制造商生产的机器是5mm 的螺口,则需要5mm 的螺丝钉才能进行加工,因此选择的供应商需要能提供5mm 的螺丝钉,不满足该需求的供应商不应在推荐范围内。换而言之,供应商的推荐首先要建立在产品与需求一致的基础上。
综上分析,要想良好解决协同制造中制造企业的选择问题,就要从产品与需求的一致性出发,这是最基础的筛选原则,这点不满足后续再好的推荐也没有意义。因此,本文提出一种筛选方法:基于领域知识的设备工件匹配筛选方法(Matching and Screening Method of Equipment Parts Based on Domain Knowledge,DKMSME)。
由于在实际制造场景中,生产厂商以及采购批次存在差异,同类的机器使用时涉及的参数不同,因此不易提取共性。此外据统计,7 成以上的机械加工是相同或相似的[12]。通过实地走访调查,可以观察到:当前生产加工仍然严重依赖熟练技工的经验判断。其在实际生产中对经验的运用把握周到,但很难准确定量描述出这种经验细则。导致的结果是,经验只能口口相传,而不能合理运用到扩大化的生产中。最后,对于大多数工件与工件之间,或设备与设备之间,很难给出一个具体关系。因此,如何进行合理的关系抽取,对于已有依赖关系的推理提出了挑战,同时也给制造企业寻找合适设备造成极大的不便。
基于领域知识的设备工件筛选的目的是抽取知识与规则,通过推理筛选找到符合生产需求的设备,因为设备与制造企业是绑定的,从而解决生产过程中制造企业寻找符合生产需求的合作伙伴的问题,即产品与需求一致的问题。
为解决该问题,本文通过对实际生产中所有制造企业的零部件生产进行抽象,提炼加工规则,实现了一个筛选工具。该工具使用本文设计并实现的筛选引擎,以规则推理的方式为生产任务提供设备推荐,从而进行筛选。同时本文还维护了一个动态的设备库,以期实现设备跨区域共享。
设备工件匹配规则描述语言的需求是能够描述设备加工任务所必需的条件,即设备与工件之间满足什么条件才能进行匹配,并给出匹配程度,为此需要先对设备和工件进行描述。本文基于调研结果与现有标准[13-14]的领域知识抽取出制造企业的设备与工件属性及其可能取值,具体如表1、表2所示。
Table 1 Extracted equipment attributes and their possible values表1 抽取的设备属性及其可能取值
Table 2 Extracted workpiece attributes and their possible values表2 抽取的工件属性及其可能取值
在此基础上,可基于BNF 范式定义设备工件匹配规则描述语言。首先给出中英文对照表,如表3所示。
Table 3 Original language expressed by BNF paradigm表3 BNF范式表述的原始语言
此处预定义规则的主要用处是提供复杂操作的支持,目前支持的有min和max函数。
为了在计算机中表达该语言,需要对其进行规范书写,因此本文使用Antlr4(ANother Tool for Language Recognition)工具[15]。Antlr 是一个强大的跨语言语法解析器,可用来读取、处理、执行或翻译结构化文本或二进制文件,因此被广泛用于构建语言、工具和框架。
使用Antlr4将之前描述的语法书写如下:
上述语言并不能直接作为推理使用的规则,而是需要进行转化,在不影响语义的情况下对语言进行改写。
首先确定使用的推理机,才能确定规则的形式。Java下的规则引擎标准是JSR94,具体实现主要有Jess、Jena 以及Drools。此处选择Apache 基金会提供的Jena 推理机,由此规则的形式也确定了下来。在Jena 中,自定义规则的格式为:[rule_name(c1 R1 c2)(c2 R2 c3)->(c1 R3 c3)],其中c 代表事物,R 刻画了事物之间的关系。以来自刘婷等[16]的研究进行Jena规则的介绍:
为实现语言到Jena 规则的转化,需要利用分解的思想,在语法树(已在语法分析器中生成)的基础上,当每个节点进入和退出时,编写相应代码实现节点的转化。最后将这些转化汇总,即完成了整个语言的转化。
以一个工件需要筛选符合需求的设备为例,假设需要满足如下规则:①工件精度等级小于设备精度等级;②工件所属加工类型包含于设备加工类型;③工件若为旋转体,则满足长度小于设备最大加工直径;④工件若为非旋转体,则满足长宽高分别小于设备最大加工长宽高。则基于领域知识的设备工件筛选流程如图1所示。
Fig.1 Flow 1 of equipment artifact screening based on domain knowledge图1 基于领域知识的设备工件筛选流程1
既定规则不一定能满足用户的实际需求,因此这里补充了用户可自定义的部分规则,包括工件和设备距离的限制以及对设备精度的要求。加上用户自定义的规则之后,基于领域知识的设备工件筛选流程则变成如图2所示。
Fig.2 Flow 2 of equipment artifact screening based on domain knowledge图2 基于领域知识的设备工件筛选流程2
实验环境如下:采用Windows 10 系统的笔记本电脑,测试使用的浏览器为Edge 浏览器,本地的Python 版本为3.7,Django 版本为3.1.7。
为验证基于领域知识的设备工件匹配筛选方法的有效性,以下使用宁波某工厂的实际数据对之前的规则进行检验,以测试语言的适用性以及归纳规则的准确性。表5为来自该厂的原始设备信息(部分),表6 为来自该厂工件的原始属性信息(部分)。
Table 5 Equipment attributes of a factory in Ningbo(partial)表5 宁波某工厂设备原始属性(部分)
Table 6 Workpiece attribute of a factory in Ningbo(partial)表6 宁波某工厂工件原始属性(部分)
在生产过程中,设备会经过多道加工工序,包括下料、磨削、车削、铣削、热处理、清洗、检验、包装等流程,其中热处理等操作委派给外部厂商进行,不在本文考虑范围内。此外,检验、包装等流程是人工进行的,也不属于本文研究范畴。还有一些特殊步骤,例如清洗,使用的是专用设备(超声清洗机),不存在设备推荐的问题。这里将软磨、端面磨、粗精磨、平面磨、立磨、修磨等统一合并为磨削,同时将其他工序命名变得规范。
以推荐加工标准型为LM4,材料为钢材,长宽高都为100mm,加工类型为车削,精度等级不限,形状为旋转体,位置不限的工件设备为例,基于领域知识的设备工件匹配规则示例如图4 所示,基于领域知识的设备工件任务示例如图5 所示,基于领域知识的设备工件推荐结果示例如表7所示。
Fig.4 Equipment workpiece matching rules based on domain knowledge(example)图4 基于领域知识的设备工件匹配规则(示例)
Fig.5 Equipment workpiece task based on domain knowledge(example)图5 基于领域知识的设备工件任务(示例)
从表7 的结果可以看出,基于领域知识的设备工件匹配筛选方法能根据制造企业的具体需求推荐合适的设备。
为进一步验证基于领域知识的设备工件匹配筛选方法的有效性,对已有工件(不同工序下同一种零部件视为不同工件)进行一次推荐,认为推荐结果中匹配和不够匹配均为合理的结果,测试推荐的正确率,实验结果如表8所示。
Table 7 Equipment artifact recommendation results based on domain knowledge(example)表7 基于领域知识的设备工件推荐结果(示例)
Table 8 One time recommended accuracy of existing workpiece equipment of a factory in Ningbo表8 宁波某工厂的已有工件设备一次推荐正确率
从表8 的结果来看,本文提出的基于领域知识的设备工件匹配筛选方法不仅有效,而且具有相当不错的正确率。
综上所述,本文应用宁波某工厂的真实数据,验证基于领域知识的设备工件匹配筛选方法的有效性,测试结果显示出推荐的有效性与准确性,对于实现产品与需求一致性的制造企业推荐是较为理想的方法。
本文主要研究协同制造信息共享环境下的制造企业选择问题,对当前制造企业的产品供应特点进行分析,并提出一种基于领域知识的制造企业推荐方法。该方法首先利用已有的领域知识设计一种基于领域知识的设备工件描述语言,并将该语言到推理规则进行转化,从而实现了快速寻找合理加工设备的制造企业筛选,即产品与需求一致性的制造企业推荐。最后,通过宁波某工厂的真实数据验证了该推荐方法的有效性。
当然,制造企业推荐不仅要考虑产品与需求的一致性和制造企业的信誉度,而且要考虑需求的多目标性,即合作伙伴的加工能力、加工速度、加工质量及运输物流成本等多目标需求的均衡问题,这也是接下来要重点研究的问题。未来的工作将对制造企业的推荐问题加以扩展,并借助本文之前研究的多目标优化算法[17]对该问题进行求解,以期实现更好的推荐效果。