孙 伟, 马沁怡, 高天一, 袁长峰
(1.大连理工大学机械工程学院,辽宁大连 116024;2.大连工业大学机械工程学院,辽宁大连 116034;3.大连海洋大学机械工程学院,辽宁大连 116023;4.大连海事大学交通运输管理学院,辽宁大连 116026)
产品配置是在一组预定义好的、模块化的零部件集合中,根据一定的约束规则,选择并确定零部件之间的连接,以获得符合设计要求和满足客户需求产品的一种方法和技术.统一、明确的配置知识表达是产品配置推理的前提,并且有利于配置知识库的扩充和重用.传统的单纯基于规则的配置设计方法在这方面缺乏灵活性和通用性[1].由于本体具有共享和可重用等特征,有良好的概念层次结构以及对逻辑推理的有效支持,研究基于本体的产品配置方法成为该领域的热点.浙江大学提出了一种基于本体映射的用户需求知识向产品配置知识自动转换的方法[2].天津大学[3]以汽车零部件配置设计为背景,研究基于本体和规则的产品配置方法,以及相应的数据模型和求解策略.上海交通大学[4、5]采用语义WEB技术建立了基于本体的产品配置系统.以上研究提高了配置知识的共享性,但是更多地从配置模型的建立、知识推理的角度研究产品配置,并没有给出一套包括配置知识获取、表达、推理和实现的完整的配置设计解决方案.
本文充分利用本体在产品配置设计中的优势,结合规则推理,提出一套完整的基于本体和规则的产品配置设计解决方案.
配置通常是在产品族模型的基础上,通过配置引擎搜索符合要求的约束规则,为客户提供多形式的配置结果的.配置系统要实现基本的配置功能,必须有大量知识(主要是配置规则)、合理规划的产品族模型,以及智能的配置引擎的支持.为此,按照知识产生、存贮、应用的过程,将系统框架分为知识管理、配置知识库和知识重用三部分,如图1所示.
知识管理系统面向知识工程师,实现对配置知识库中各种知识资源的创建、维护、查询、分析等管理操作,是配置知识库有效运行的保障,具有知识获取、知识表达、知识审核等功能.知识获取是知识管理的瓶颈,知识表达是知识管理的关键,本文将在第2、3章对这两项关键技术进行详细讨论.
图1 配置系统的体系结构Fig.1 The configuration system framework
配置知识库是体系结构的基础,存储着配置过程中所需的大量知识,包括配置通用知识、产品领域知识、各种设计文档、零部件之间的约束规则、零部件属性参数、技术数据、模型实例等,这些知识定义了配置过程中各概念之间的关系、特定产品族的构成信息以及零部件之间的选配关系和配置过程中必须满足的设计要求等.
基于知识的产品配置过程可以看作是配置知识的重用过程.配置引擎调用产品配置本体,按照定义的产品结构树关系,对配置知识库进行搜索,解析其中的约束规则,求解相应的属性参数,匹配符合要求的知识,从而产生配置实例.配置引擎按照功能的不同可以划分为销售配置引擎和设计配置引擎.销售配置引擎是轻量级配置引擎,输入为一些可控的、固定的销售参数(或通过CRM接口导入),通过把客户需求、领域本体模型、配置规则进行绑定,根据产品结构进行递归层次推理,产生非精确产品BOM;设计配置引擎是重量级配置引擎,主要处理产品配置的细节,通过输入设计参数,调用产品配置本体,并解析配置知识库,如果设计配置引擎无法从知识库中配置出相应的零部件,则配置引擎提示设计人员对该零部件进行变型设计.设计工作完成后,利用设计配置引擎把该设计规则和计算数据加入到知识库中,保证了知识库的扩充性.配置引擎如何对配置知识库中的规则进行推理是能否完成整个产品配置的关键,知识推理方法将在第4章详细讨论.配置结果的输出和展现,主要以BOM形式体现.在销售配置引擎和设计配置引擎的作用下,分别获得不同形式的配置结果.
本体的获取方法有IDEF-5方法、骨架法(Skeletal Methodology)和METHONTOLOGY方法等.本文结合已有的研究和产品配置的实际情况,将产品配置本体的获取分为以下4个阶段:
(1)应用与范围确定.面向设计和销售人员,覆盖配置设计全过程的概念与关系.
(2)本体获取.在对国内外相关研究进行分析的基础上,整理出配置领域本体概念,这种继承性,正体现了本体的优势所在.特定产品本体和个体产品本体主要通过与相关领域专家进行访谈,确定领域相关概念及概念属性,建立实例.本文以电梯产品为例建立特定产品与个体产品本体.
(3)本体编码.使用本体建模工具Protégé[6]开发配置本体,并用OWL(web ontology language)进行编码.
(4)本体评价.采用Protégé提供的检查功能对获取的配置本体进行结构、语法、内容上的一致性检查,使得配置知识的一致性和可靠性得到保证.
配置规则种类与数量繁多,如果也采用专家访谈的方式进行规则获取,容易造成信息负担过重,因此本文采用基于RS的产品配置规则获取方法.
基于RS理论的产品配置规则获取方法的原理是:将初始的配置数据表示为决策表,决策表的一行代表一个对象实例,一列表示对象的一个属性,属性值描述了配置知识,对其进行信息约简,得到知识规则[7].
2.2.1 知识模型 一个RS知识模型可以定义为
2.2.2 分明矩阵 信息系统S中关于属性集C的分明矩阵M(C)=(mi,j)n×n定义为
M(C)代表了区分x i、x j的完整信息.
2.2.3 属性集的核 相对于属性集D,属于属性集C的所有归约的交集的属性的集合称为属性集C的核心,记为CORE(C,D).用核心作为计算归约集的起点,可以简化计算属性归约集.为简化计算核心,通过分明矩阵进行.
2.2.4 属性归约 所有的约简计算都是NP-hard问题,因此本文运用启发信息来简化计算[7],找出最优和次优约简.算法将属性重要性作为启发规则,按照属性的重要度从大到小逐个加入属性,直到该集合是约简的为止.
2.2.5 规则获取实例 电梯(R-1100)的配置模型如图2所示,共有3个版本,分别是1100-A、1100-B、1100-C,每个版本对应不同的配置要求,将其列在表1中.对该决策表利用RS理论进行信息约简,获取最简化的配置规则,以用于配置设计.
图2 电梯配置模型Fig.2 The elevator configuration model
表1 电梯配置参数Tab.1 Elevator configuration parameter
为了计算方便,对原关系表进行简明化处理(表2),用数字表示具体含义(表3).
表2 简化电梯配置参数Tab.2 Simplified elevator configuration parameter
表3 字母及数字含义Tab.3 Meanings of letters and figures
矩阵M是对称的,对M进行约简,得到简化表4.
表4 简化表Tab.4 Simplified table
为了描述产品配置本体,将知识本体定义成4个层次[1、5]:(1)本体表示层.描述类和类之间关系的元模型,本文采用OWL对本体进行描述.(2)领域本体层.描述配置领域的基本概念、词汇以及相互之间关系的本体,所构建的配置领域特定本体也叫配置模型.(3)特定产品本体层.根据配置模型,描述某种特定产品所涉及的本体.(4)个体产品本体层.特定产品本体的实例化,描述某个具体的产品模型知识.
3.1.1 配置领域本体 按照如前所述的配置本体获取方法,在对国内外配置模型[1、5]进行分析的基础上,总结了以下产品配置领域公认的概念和主要关系.
部件(component):构成最终产品的一系列部件及其子类的个体.
功能(function):产品功能模型描述产品对象所具有的功能、功能组成和性能.
端口(port):用来描述产品部件之间的连接关系.
约束(constraints):用来描述部件、功能、端口之间的约束限制关系,这些关系包括依赖约束、不兼容约束、可选约束、一致性约束、优先级约束等.
聚合(aggregation):通过is_part_of或has_part结构描述部件(或功能),表明一个部件由多少个子部件聚合而成.
泛化(generalization):描述的是一种a_kind_of的联系,表示具有相似结构的部件(或功能)与其对应逻辑零部件间的关系,用以描述可配置产品的选择.
3.1.2 电梯配置本体 通过与领域专家讨论并参考文献[2、8],建立了电梯产品的配置本体(图3为本体片段).
图3 电梯配置本体片段Fig.3 The elevator configuration ontology fragment
本文选择OWL语言进行本体建模表示.作为W3C推荐的语义互联网中本体描述语言的标准,OWL的各个基本元素有相应的描述逻辑形式,使得以OWL为基础的本体具备知识表达和推理能力.
图4显示了“Engine”的定义,类公理(subClassOf)描述“Engine”与“Part”之间的继承关系;对象属性(ObjectProperty)“consume_power”描述“Engine”与“Power”之间的消耗关系;属性公理domain和range表示属性的应用领域和属性的取值范围;“inverseOf”说明“supply_power”是“consume_power”的逆属性.
配置设计中有许多约束关系,例如必选关系、排斥关系、可选关系、推荐选关系、推荐不选关系等,需要用If…then…的形式表达,所以有必要在OWL配置概念的基础上制定配置规则.SWRL(semantic web rule language)[9]作为一种以语义的方式呈现规则的语言,可以有效地实现规则的形式与内容的标准化.
图4 OWL表示的配置本体Fig.4 The configuration ontology encoded in OWL
SWRL规则以规则前件(Body)和规则后件(Head)的蕴涵式形式表示,规则子句由零个或多个原子组成,原子可以用如下形式表示:C(x),P(x,y),其中C是OWL的类描述,P是OWL的属性,x、y可以为变量、OWL实例或OWL数据值.例如,电梯的门机上可以安装机械触板或者光感应触头,二者是不相容关系,用SWRL表示的上述规则见图5.利用Protégé的SWRLTab可以很方便地将配置规则表示成SWRL形式.
图5 SWRL表示的配置规则Fig.5 The configuration rule encoded in SWRL
本文采用JESS(Java expert system shell)[10]作为知识推理工具,开发的配置系统具有良好的移植性、嵌入性,可以方便地应用到网络上的不同机器中.基于JESS的配置知识推理实现方法如下:
(1)依据如前所述的本体构建方法,利用本体构建工具Protégé实现对配置本体的编辑,借助于Racer[11]本体推理工具实现对所构建本体的一致性检测与重新分类.在已建立本体知识库的基础上,完成规则库的构建.
(2)用Protégé的Jess Tab、SWRLJess Tab将配置本体知识和约束规则转换成JESS所支持的CLIPS语法形式,完成JESS知识库和规则库的构建.
(3)在此基础上,将知识库和规则库导入到JESS规则引擎中并运行JESS规则引擎,通过与用户交互,JESS引擎将把最终的推理结果以JESS知识的格式返回给用户,有效地解决配置设计中的知识推理问题.
为验证本文提出的方法,采用J2EE技术建立了电梯配置设计原型系统.服务器软件采用Tomcat5.5,数据库采用SQL2000.经过对某企业的调研,把电梯划分为三大类:住宅梯、商务梯、医用梯.如图6所示,进入电梯的设计页面,按顺序填写电梯参数.配置引擎对电梯参数进行分析,调用规则,进行产品配置,生成电梯参数信息及对应的产品文件.
图6 电梯配置设计界面Fig.6 The interface of elevator configuration design
本文所提出的是一套完整的、系统的配置设计解决方案,而不是单一的方法或者算法,通过原型系统开发及案例研究验证了该解决方案的可行性和有效性.实践证明,基于本体和规则建立的配置系统具有很好的灵活性和可扩展性,所建立的知识库易于共享和重用,通过扩展本体知识库和规则库,可以很方便地支持其他产品的配置设计推理;基于粗集的知识获取方法能够减轻知识工程师的信息负担,为规则库的扩充提供有力支持,解决以往配置设计知识获取的瓶颈问题,从而保证产品配置系统的有效实施.
本体具有明确、规范的语义,通过对配置规则进行合理的语义扩展,可以获得更完整的推理结果,配置规则的维护也更加容易.本文利用本体在产品配置设计中的优势,结合规则推理,提出了一套完整的基于本体和规则的产品配置设计解决方案.以电梯产品为例,探讨了配置本体和配置规则的知识获取方法,运用OWL/SWRL进行知识表达,并实现了基于JESS的知识推理.实践证明,基于本体和规则建立的配置系统具有很好的灵活性和可扩展性,所建立的知识库易于共享和重用.
[1]邵伟平,刘永贤,曾鹏飞,等.产品配置知识本体表达与共享研究[J].组合机床与自动化加工技术,2006(8):98-102
[2]高 鹏,林兰芬,蔡 铭,等.基于本体映射的产品配置模型自动获取[J].计算机集成制造系统-CIMS,2003,9(9):810-816
[3]宋红梅.基于本体和规则的产品配置设计研究与实现[D].天津:天津大学,2006
[4]YANG Dong,DONG Ming,MIAO Rui.Development of a product configuration system with an ontology-based approach[J].Computer-Aided Design,2008,40(8):863-878
[5]YANG Dong,MIAO Rui,WU Hong-wei,etal.Product configuration knowledge modeling using ontology web language[J].Expert Systems with Applications,2009,36(3):4399-4411
[6]Stanford Center for Biomedical Informatics Research.Protégéontology modeling tool[EB/OL].(2007-06-16).http://protege.stanford.edu/
[7]高天一,孙 伟,马沁怡.基于粗集理论的产品配置规则获取方法研究[J].计算机工程与应用,2007,43(16):20-21,44
[8]何陈棋,谭建荣,张树有,等.基于本体论和知识规则的大批量定制配置设计技术研究[J].中国机械工程,2004,15(9):783-791
[9]O′CONNOR M.ProtégéSWRL editor[EB/OL].(2009-03-25).http://protege.stanford.edu/plugins/owl/swrl/
[10]ERNEST F H.JESS,the rule engine for the Java platform[EB/OL].(2008-11-11).http://herzberg.ca.sandia.gov
[11]Racer Systems Gmb H &Co.KG.RacerPro is an OWL reasoner and inference server for the semantic web[EB/OL].(2009-03-20).http://www.racersystems.com/