方喜峰 ,李偉偉 ,朱成順 ,王 俊
(1.江蘇科技大學機械工程學院,江蘇 鎮(zhèn)江 212003;2.江蘇省船海機械裝備先進制造重點實驗室,江蘇 鎮(zhèn)江 212003)
現(xiàn)階段,面對與日俱增的市場競爭壓力,傳統(tǒng)制造行業(yè)的大批量生產(chǎn)技術(shù)體系已無法滿足客戶日新月異的市場需求。因此,產(chǎn)品配置技術(shù)受到了廣泛關(guān)注,該技術(shù)是在產(chǎn)品零部件之間約束關(guān)系條件下,根據(jù)客戶需求信息,合理組合出各個模塊和零部件,以滿足客戶日新月異的需求[1]。但在產(chǎn)品配置過程中設計人員的大量經(jīng)驗無法得到有效的共享和重用,產(chǎn)品設計周期變長,無法快速響應市場。因此考慮將KBE技術(shù)運用于產(chǎn)品配置中,以期提高產(chǎn)品設計效率。知識工程技術(shù)(Knowledge-Based Engineering,KBE)是CAD、CAE、CAM等技術(shù)與人工智能的集成,將產(chǎn)品設計領(lǐng)域知識和經(jīng)驗與產(chǎn)品開發(fā)支持技術(shù)相統(tǒng)一,有利于繼承和重用領(lǐng)域知識,實現(xiàn)設計知識的復用和產(chǎn)品智能化設計[2]。
國內(nèi)外的學者在知識工程理論研究和KBE系統(tǒng)開發(fā)方面也進行了大量研究并取得了許多成果[3-6]。文獻[7]將知識工程引入夾具結(jié)構(gòu)設計中,研究本體和知識組件相結(jié)合的夾具智能設計方法,實現(xiàn)夾具的參數(shù)驅(qū)動和快速裝配。文獻[8]提出了基于知識工程的船體結(jié)構(gòu)設計方法,實現(xiàn)設計經(jīng)驗的重用,并以船甲板說明方法的可行性。但是知識工程技術(shù)在產(chǎn)品配置領(lǐng)域中的研究和應用仍比較薄弱,尤其在知識表示、知識推理等方面還存在一定的欠缺。
基于Microsoft Visual Studio2015編程平臺,將知識工程技術(shù)與產(chǎn)品配置平臺集成,通過產(chǎn)生式規(guī)則和過程表示的混合表示法進行知識表示,運用智能解析技術(shù)對知識庫進行知識檢索分析,以及規(guī)則推理方式RBR(Rule-Based Reasoning)進行知識推理,將推理出的產(chǎn)品設計結(jié)構(gòu)作為引導和輔助后續(xù)產(chǎn)品詳細設計的依據(jù),解決了產(chǎn)品配置中知識經(jīng)驗的重用性差等問題,降低企業(yè)設計經(jīng)驗豐富人員的流失風險,提高產(chǎn)品設計效率。
按照機械復雜產(chǎn)品的設計需要,結(jié)合客戶的多樣化需求,設計了在產(chǎn)品配置中的推理機體系結(jié)構(gòu)。體系結(jié)構(gòu),如圖1所示。
推理機采用Microsoft Visual Studio軟件和SQL Server軟件作為工具支撐,并且與產(chǎn)品配置系統(tǒng)進行集成,研究了知識工程中知識表示、知識存儲、知識解析和知識推理等方法。將產(chǎn)品開發(fā)經(jīng)驗以規(guī)則形式存儲在知識庫及數(shù)據(jù)庫中。設計人員首先向領(lǐng)域?qū)<沂占?、獲取知識,然后通過規(guī)則編輯界面將知識按照一定的形式輸入知識庫中。客戶只需通過產(chǎn)品配置界面輸入需求信息,運用智能解析技術(shù)快速檢索分析知識庫中知識,并通過RBR推理方法進行推理,最終輸出可行的產(chǎn)品結(jié)構(gòu)。
圖1 推理機體系結(jié)構(gòu)圖Fig.1 Inference Machine Architecture Diagram
機械產(chǎn)品設計是涉及多要素、多領(lǐng)域?qū)<衣?lián)合的設計過程,需使用相關(guān)的領(lǐng)域知識及專家經(jīng)驗。知識的表示方法是知識利用的基礎(chǔ),單用一種知識表示方法已無法達到現(xiàn)階段設計要求,因此在實現(xiàn)知識的合理表達時,需考慮結(jié)合不同的表達方式。采用基于產(chǎn)生式規(guī)則,輔以過程表示法的混合方式進行知識表示。
產(chǎn)生式規(guī)則[9]的一般形式是:
E→Q或IF E THEN Q
其中E指前提,Q指一組結(jié)果或者執(zhí)行相應的指令,以表示如果前提E指定的條件被滿足時,則輸出的結(jié)果或者執(zhí)行相應的指令。整個產(chǎn)生式的定義是:如果前提E滿足條件,那么可以輸出結(jié)論Q或者執(zhí)行Q所指定的操作。如某企業(yè)復雜變壓器中零部件選擇判斷規(guī)則:
“IF變壓器外形長度尺寸>100mm THEN選高壓線圈”;
“IF變壓器外形寬度尺寸<50mm THEN選擇鐵芯”。
由此可得,使用產(chǎn)生式規(guī)則表示知識的方法可以直觀清晰地將復雜變壓器零部件的選擇知識轉(zhuǎn)化成簡單形式,化繁為簡,簡化數(shù)據(jù)與經(jīng)驗的判斷過程。
基于規(guī)則的知識應用,不僅可實現(xiàn)一條規(guī)則滿足一例應用的一對一關(guān)系,亦可用多條規(guī)則去規(guī)范知識在實例中的應用,后者的應用是豐富知識庫的一種重要方法。例如對于復雜變壓器中下夾件的選擇中,需要根據(jù)變壓器鐵芯長寬高外形尺寸對下夾件的類型進行聯(lián)合判斷。
下夾件類型選擇的知識運用產(chǎn)生式規(guī)則表示方法即是:
IF[1:L]>100mm OR[1:W]>50mm AND[1:H]<30mm
THEN選擇低壓下夾件;
IF[1:L]<100mm OR[1:W]<50mm OR[1:H]>60mm THEN
選擇高壓下夾件;
推理機的知識創(chuàng)建界面及知識創(chuàng)建示例,如圖2所示。
在知識創(chuàng)建和推理過程中,需要使用大量的計算過程,如代入函數(shù)公式求解、數(shù)值計算等,而利用單一的產(chǎn)生式規(guī)則很難將知識闡述準確,因此采用產(chǎn)生式規(guī)則為主,過程表示為輔相結(jié)合的表示方法對計算類知識進行表達。例如鐵芯長度的選擇判斷規(guī)則:
IF[1:L]+[1:H]=Sin[1:W]THEN[1:L]=[1:N]2;
上述數(shù)學函數(shù)Sin(value)公式只是部分過程表示法的代表,隨著知識庫的不斷擴充,可以在知識創(chuàng)建界面添加更多的設計知識,增加知識庫知識數(shù)量,提高設計能力水平。推理機支持表達式的輸入界面,如圖3所示。
圖3 支持表達式輸入界面Fig.3 Support the Expression Input Interface
根據(jù)客戶的配置要求,需解析知識庫中的約束規(guī)則,因為約束規(guī)則都是以字符串的形式存儲于配置知識庫中,計算機無法識別字符串中的邏輯運算關(guān)系,不能執(zhí)行相應的操作。為解決上述問題,需要在知識解析之前做一些必要的描述處理,如表1所示。
表1 規(guī)則處理中的描述信息Tab.1 Description Information in Rule Processing
將上述描述信息對知識庫中約束規(guī)則進行數(shù)字化處理,以復雜變壓器鐵芯尺寸為例:
If[5:L]>10 And[5:L]<20 then[5:W]=10
Else[5:L]>20 then[5:W]=12
上述多條規(guī)則轉(zhuǎn)化成表格形式,如表2所示。
表2 變量規(guī)則表Tab.2 Variable Rule Table
(1)將表2中的規(guī)則信息進行整合,如表3所示。
表3 規(guī)則集合表Tab.3 Rule Set Table
從表3中看出,將邏輯語句關(guān)鍵字轉(zhuǎn)換成表1描述信息的數(shù)字形式,并且用”#”的符號串聯(lián)起來,其優(yōu)點可以將多條規(guī)則進行整合,提高知識推理時檢索獲取的效率。
(2)為使日后檢索獲取更加方便,將各個規(guī)則屬性集合用”$$”進行拼接形成一條完整的字符串,即一條字符串代表該變量或?qū)ο蟮囊粭l知識經(jīng)驗。以上表格內(nèi)容組成下面字符形式,即:
0#1#3$$[5:L]#[5:L]#[5:L]$$2#1#2$$10#20#20$$10#10#12
式中:#—同一屬性集合不同名稱分隔符標識;$$—不同屬性集合分隔符標識。
(3)一旦客戶輸入配置條件和參數(shù),首先需要獲取目標原始值,即從產(chǎn)品可配置BOM結(jié)構(gòu)中獲取目標原始值,其目的是在規(guī)則條件不成立時,將原始值賦予該值。
(4)然后通過拆分知識字符串,把檢索獲取的知識字符串按照屬性區(qū)分進行分解。即:
Temp_string=split(Knowledge,”$$”)
(5)其次為獲取產(chǎn)品配置界面的變量目標值,循環(huán)遍歷當前配置界面上的變量值,對屬性Var_Name變量名字符串中所有變量逐個替換賦值。即:
Temp_String(1)=Replace(Temp_String(1),
vsflexgrid1.textmatrix(i,2),vsflexgrid1.textmatrix(i,4))
(6)再按照每個屬性集合中的不同名稱進行拆分,將用戶輸入產(chǎn)品配置界面的變量目標值保存在字符串數(shù)組中。即:
SourceVar_name=split(Temp_String(1),”#”)
根據(jù)知識的表達形式,以及領(lǐng)域?qū)<医⒌闹R庫,即可應用推理機制進行知識推理。就本推理機而言,專家知識經(jīng)驗都是以規(guī)則形式呈現(xiàn),且推理過程中知識都是確定的,選擇采用基于規(guī)則的推理(RBR)方法。推理控制策略采用正向推理,這樣設計人員或知識工程師可以主動輸入有效的數(shù)據(jù)信息。
該推理機依次遍歷知識庫中的知識(規(guī)則),找到與已知條件相匹配的知識,確定該條知識包含的邏輯數(shù),記為S。遍歷(i=0,1…)其邏輯關(guān)系,首先判斷If規(guī)則后條件表達式是否為真,若真且其后邏輯關(guān)系為“或”,則推理成功,若真且其后邏輯關(guān)系為“與”,則需滿足“與”邏輯表達式為真,方可判斷其后邏輯關(guān)系;若If規(guī)則后條件表達式為假,隨后邏輯關(guān)系為“與”,則無推理結(jié)果,若其后邏輯關(guān)系為“或”,則只要滿足“或”規(guī)則為真,推理即成功。當已知條件滿足規(guī)則時,推理過程結(jié)束。具體推理流程,如圖4所示。
圖4 推理流程圖Fig.4 Reasoning Flow Chart
該推理機中用于判斷規(guī)則正確與否的部分代碼如下:
…
PrivateFunctionRuleIsTrue()
{
IfC_Relationship=”0”then ‘比較關(guān)系為“=”
IfSourceVar_name=S_Valuethen
RuleIsTrue=True
Else
RuleIsTrue=False
Endif
ElseifC_Relationship=”1”then ‘比較關(guān)系為“<”
Ifval(SourceVar_name)<val(S_Value)then
RuleIsTrue=True
Else
RuleIsTrue=False
Endif
ElseifC_Relationship=”2”then‘比較關(guān)系為“>”
Ifval(SourceVar_name)>val(S_Value)then
RuleIsTrue=True
Else
RuleIsTrue=False
Endif
Endif
}
…
知識庫是推理機體系架構(gòu)基礎(chǔ),一方面知識工程師將知識存儲在知識庫中,另一方面推理時需解析知識庫中知識,并推理得到符合要求的結(jié)果。如何將知識合理有效地存儲起來更好地為推理機服務,就涉及到知識庫的內(nèi)容[10]。由于采用產(chǎn)生式規(guī)則為主,過程式為輔的混合表示方法,因而建立了一個多種混合的知識庫。即在采用產(chǎn)生式形式建庫時,也可將函數(shù)公式源代碼有機結(jié)合。這樣可以很方便地對產(chǎn)品可配置結(jié)構(gòu)進行知識創(chuàng)建和管理,可擴展性強。
以某企業(yè)復雜產(chǎn)品變壓器為實例,在已有配置系統(tǒng)的基礎(chǔ)上,利用面向?qū)ο蟮腣B.NET語言和SQL server2015平臺開發(fā)了高效的智能推理機,并應用于變壓器產(chǎn)品配置過程中。推理機的核心功能由兩部分構(gòu)成,產(chǎn)品配置規(guī)則編輯和智能知識推理。在編輯配置規(guī)則時,設計人員通過人機交互界面實現(xiàn)對產(chǎn)品配置結(jié)構(gòu)中BOM行的知識規(guī)則進行添加、刪除、修改、注釋等功能設計,并存儲于知識庫中;當規(guī)則編輯完畢,開始進入推理流程,用戶輸入需求參數(shù),推理機運用智能解析技術(shù)檢索解析對應參數(shù)的知識,并對已知條件進行規(guī)則匹配,推理求解可行的方案,自動勾選生成符合要求的產(chǎn)品結(jié)構(gòu)。具體的變壓器零部件配置主界面,如圖5所示。
圖5 變壓器零部件配置主界面Fig.5 Main Interface of Transformer Components Configuration
智能推理機在變壓器零部件配置過程中的具體應用方式可分為兩個步驟:(1)輸入變壓器對應規(guī)格參數(shù)(即客戶化定制需求),如輸入上圖中變壓器的規(guī)格參數(shù):L(主長度)、W(截面寬度)、D(壁厚)、H(橫截面高度);(2)通過推理機的推理功能將上步引入的規(guī)格參數(shù)帶入匹配規(guī)則中的邏輯表達式中進行邏輯判斷,如If[1:L]<0.5And[1:W]<1Then高壓上夾件 par:1=True,推理出結(jié)果以勾選的方式顯示在配置結(jié)構(gòu)中,該過程的實現(xiàn),如圖6所示。通過上述步驟即可篩選出變壓器裝配時所需的零部件,此為下步變壓器零件參數(shù)變型設計的基礎(chǔ)。在此基礎(chǔ)上,對部件下零件進行參數(shù)化變型設計,最終組成變壓器裝配體,具體實現(xiàn)效果,如圖7所示。
圖6 變壓器零部件配置推理實現(xiàn)過程Fig.6 Inference Process of Transformer Components Configuration
圖7 變壓器配置建模最終效果Fig.7 Final Effect of Transformer Configuration Modeling
傳統(tǒng)基于規(guī)則的配置方法在知識表示和知識庫的擴充和復用方面缺乏靈活性和通用性,且不能完全滿足表達充分性和推理有效性的要求,難以適應機械復雜產(chǎn)品設計模式的變化;基于案例推理的產(chǎn)品配置方法,案例庫龐大復雜,推理求解效率較低。針對上述應用在產(chǎn)品配置中的配置方法所存在的缺陷,將基于知識工程的推理機應用于產(chǎn)品配置中,此方式可有效解決上述方法在產(chǎn)品配置時產(chǎn)生的問題,其在知識表示時采用結(jié)合過程的規(guī)則表示法,可添加更多的設計知識,實現(xiàn)知識庫的擴充和知識復用,同時,智能知識解析技術(shù)及RBR也可極大地提高推理機的運行效率。該方式對節(jié)約資源成本、轉(zhuǎn)變企業(yè)設計模式及增強產(chǎn)品競爭力具有重要的意義。