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