孫 偉, 馬沁怡, 高天一, 袁長峰
(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/