田恒, 許榮濱, 姜艷紅, 張文虎, 鄧四二
(1.河南科技大學(xué) 機(jī)電工程學(xué)院, 河南 洛陽(yáng) 471003; 2.浙江五洲新春集團(tuán)股份有限公司, 浙江 紹興 312500;3.中浙高鐵軸承有限公司, 浙江 衢州 324407)
故障診斷策略是保障衛(wèi)星導(dǎo)航、武器裝備等高端產(chǎn)品安全運(yùn)行的關(guān)鍵,其在產(chǎn)品測(cè)試性方面的重要性愈加顯著[1-3]。診斷策略主要通過(guò)研究最優(yōu)序列尋優(yōu)算法,實(shí)現(xiàn)最經(jīng)濟(jì)地診斷隔離系統(tǒng)故障。現(xiàn)有的序列尋優(yōu)算法大都是面向二值系統(tǒng),該類(lèi)算法通過(guò)對(duì)二值矩陣處理,得出最優(yōu)的測(cè)試序列。然而,實(shí)際工程中,大多數(shù)裝備或系統(tǒng)是多值屬性系統(tǒng)(MVAS),對(duì)應(yīng)的測(cè)試被是多值測(cè)試。目前已有許多專(zhuān)家學(xué)者開(kāi)始研究MVAS的故障診斷策略,并取得了一些成果。
黃以鋒[4-5]等在信息熵(IG)算法和Rollout算法的基礎(chǔ)上,擴(kuò)展了測(cè)試的結(jié)果,改進(jìn)算法的啟發(fā)式,提出基于IG算法和Rollout算法,實(shí)現(xiàn)了MVAS故障診斷策略的尋優(yōu)。文獻(xiàn)[6]在Growing算法的基礎(chǔ)上,擴(kuò)展了啟發(fā)式,提出基于Growing算法的MVAS測(cè)試序列優(yōu)化算法。在二值系統(tǒng)中,此類(lèi)算法僅能獲取近似最優(yōu)結(jié)果,即使對(duì)其啟發(fā)算式擴(kuò)展,用在MVAS中,也無(wú)法獲得最優(yōu)結(jié)果。為解決上述問(wèn)題,專(zhuān)家學(xué)者研究利用群智能算法搜索MVAS的診斷策略。粒子群優(yōu)化(PSO)算法是群智能算法的重要內(nèi)容,能夠解決連續(xù)域及離散域方面的問(wèn)題[7-9]。
Yang等[10]在考慮故障診斷率和隔離率的基礎(chǔ)上,提出了一種貪婪算法確定最優(yōu)測(cè)試集,利用離散二進(jìn)制PSO算法搜索故障的最優(yōu)測(cè)試序列。陳希祥等[11]結(jié)合二進(jìn)制PSO算法和遺傳算法,提出一種混合算法,搜索最小完備測(cè)試集。Hou等[12]在傳統(tǒng)模糊PSO算法的基礎(chǔ)上改進(jìn)了粒子群智能算法,通過(guò)信息流可測(cè)性建模優(yōu)化測(cè)試集,提出一種測(cè)試點(diǎn)優(yōu)化算法。為解決不完全測(cè)試條件下近似最優(yōu)測(cè)試點(diǎn)集合的選擇問(wèn)題,Deng等[13]建立了啟發(fā)式函數(shù),設(shè)計(jì)了PSO算法的適應(yīng)度函數(shù)。在考慮故障隔離率的基礎(chǔ)上,Lv等[14]將混沌離散粒子群(DPSO)算法與故障診斷相結(jié)合,提出一種選擇測(cè)試的優(yōu)化模型,然后運(yùn)用離散PSO算法解決二值系統(tǒng)故障診斷隔離的問(wèn)題。Lian等[15]將測(cè)試序列尋優(yōu)轉(zhuǎn)化為群體多維空間的排序問(wèn)題,然后基于量子行為的PSO算法,提出一種搜索故障測(cè)試序列的方法。Ma等[16]在離散PSO算法的基礎(chǔ)上,根據(jù)測(cè)試選擇的特點(diǎn),設(shè)置一種適應(yīng)度函數(shù),并為了避免早熟添加迭代權(quán)重,實(shí)現(xiàn)了二值系統(tǒng)的故障診斷隔離。文獻(xiàn)[17]利用改進(jìn)的蟻群算法搜索MVAS的測(cè)試序列。王偉等[18]提出一種基于人工智能的搜索剪枝技術(shù),尋找MVAS的最優(yōu)故障診斷策略。
上述算法能找到測(cè)試序列,但有一些缺陷:1)最小完備測(cè)試集中不一定是最優(yōu)的,導(dǎo)致診斷策略不是最優(yōu)的,而且集合中測(cè)試被頻繁使用,使得費(fèi)用升高;2)算法大都通過(guò)降低故障檢測(cè)率和故障隔離率以減少期望費(fèi)用,導(dǎo)致無(wú)法診斷隔離所有故障,使得診斷結(jié)果較差;3)上述算法的啟發(fā)式僅能處理二值系統(tǒng),無(wú)法解決MVAS的診斷策略問(wèn)題。
本文為解決上述問(wèn)題,首先通過(guò)重塑離散PSO算法,模擬測(cè)試序列尋優(yōu)過(guò)程,將故障診斷策略問(wèn)題與離散PSO算法結(jié)合。然后設(shè)置離散粒子群的自身認(rèn)知和社會(huì)知識(shí)階段的運(yùn)算規(guī)則,提出PSO-TS算法,最后實(shí)驗(yàn)驗(yàn)證PSO-TS算法的正確性和穩(wěn)定性。
診斷策略主要是利用尋優(yōu)算法對(duì)依賴(lài)矩陣(D矩陣)進(jìn)行處理,進(jìn)而獲取期望費(fèi)用最小測(cè)試序列。為尋找上述測(cè)試序列,獲得合適的診斷策略,需要將故障診斷策略進(jìn)行公式化處理。因此,引入文獻(xiàn)[17]和文獻(xiàn)[19]的多值D矩陣及五元組。
多值D矩陣表示MVAS中測(cè)試與故障的關(guān)聯(lián)關(guān)系,其中行向量表示故障,列表示測(cè)試項(xiàng),元素dij(i=0,1,…,m,j=1,2,…,n,m、n分別為故障狀態(tài)數(shù)和測(cè)試數(shù))為測(cè)試值,如表1所示。表1中,tj為測(cè)試,fi為故障狀態(tài),其中f0表示無(wú)故障,p(fi)為故障fi的先驗(yàn)概率,dij表示采用測(cè)試tj檢測(cè)故障fi時(shí),若出現(xiàn)dij對(duì)應(yīng)的測(cè)試值,表明可能出現(xiàn)故障fi,設(shè)定dij∈{0,1,2,…}。
表1 MVAS的依賴(lài)矩陣Table 1 Dependency-matrix of MVAS
利用五元組(F,P,T,C,D)表示MVAS的故障和先驗(yàn)概率等內(nèi)容,其中各組的含義如下:
1)F是系統(tǒng)故障集,F(xiàn)={f0,…,fi,…,fm}。
2)P是先驗(yàn)概率集,P={p(f0),…,p(fi),…,p(fm)},該集合中所有元素之和為1。系統(tǒng)無(wú)故障概率較大,設(shè)p(f0)在0.5~0.8隨機(jī)取值。
3)T是測(cè)試集,T={t1,t2,…,tj,…,tn},tj的測(cè)試值為a,其與dij的取值范圍相同。
4)C是測(cè)試費(fèi)用集,C={c1,c2,…,cj,…,cn},cj為使用測(cè)試ti所花費(fèi)的成本,本文設(shè)其為無(wú)量綱的數(shù)值。
5)D是(m+1)×n維的矩陣,D=[dij](m+1)×n,表征測(cè)試與故障的關(guān)聯(lián)關(guān)系。
MAVS確定最優(yōu)診斷策略的過(guò)程是指尋找具有最優(yōu)測(cè)試序列的過(guò)程,而最優(yōu)的評(píng)價(jià)標(biāo)準(zhǔn)為測(cè)試期望測(cè)試費(fèi)用最小,該費(fèi)用的計(jì)算公式為
(1)
式中:Tfi為故障fi的測(cè)試序列。
因此,選擇使(1)式取最小值為最優(yōu)測(cè)試序列,即為MVAS的最優(yōu)診斷策略。
離散PSO算法能處理旅行商推銷(xiāo)員(TSP)問(wèn)題,而TSP問(wèn)題是離散的非確定性完全(NP-C)問(wèn)題。故障診斷策略問(wèn)題也是離散的,同樣屬于NP-C問(wèn)題。因此,通過(guò)合理的轉(zhuǎn)化,離散PSO算法可以用來(lái)尋找最優(yōu)的故障診斷策略,即最優(yōu)的測(cè)試序列。
為實(shí)現(xiàn)離散PSO算法在MVAS故障診斷策略中的應(yīng)用,將算法的基本概念(如粒子、自身認(rèn)知、社會(huì)知識(shí)等)與測(cè)試序列的含義進(jìn)行一一對(duì)應(yīng),同時(shí)引入交換序的概念,如表2所示。
表2 離散PSO算法基本概念與診斷策略對(duì)應(yīng)關(guān)系Table 2 Corresponding relationship between basic concepts of DPSO and diagnosis strategy
假設(shè)上述粒子為散落在n維空間里的坐標(biāo)點(diǎn),其坐標(biāo)為[t1t2…tn]1×n的一組向量,其中的元素是測(cè)試集T中的測(cè)試。離散PSO算法的重要環(huán)節(jié)重新表述:
1)自身認(rèn)知階段,粒子通過(guò)某種計(jì)算規(guī)則為模糊故障子集選擇測(cè)試,然后將被選的測(cè)試進(jìn)行排序,而未被選擇的測(cè)試按照原來(lái)的順序補(bǔ)充到向量中的后續(xù)坐標(biāo),則得到新粒子坐標(biāo),記為向量Pi,表示經(jīng)過(guò)自身認(rèn)知計(jì)算之后粒子i的坐標(biāo);
綜上所述,離散PSO算法與MVAS的故障診斷策略可以融合,但還需要為其自身認(rèn)知和社會(huì)知識(shí)設(shè)置計(jì)算規(guī)則。
假設(shè)某測(cè)試tj將故障模糊集x分割為K個(gè)故障模糊子集{xj1,…,xjK}。p(xjk)為故障模糊子集xjk的先驗(yàn)概率;fg為故障,是模糊子集xjk中的元素;p(fg)為故障fg的先驗(yàn)概率。粒子群自身認(rèn)知階段測(cè)試尋優(yōu)的計(jì)算規(guī)則為
(2)
(3)
(4)
MI(x,tj)=I(x,tj)/p(x,tj)
(5)
式中:p(x)為故障子集x的先驗(yàn)概率;p(x,tj)表示運(yùn)用測(cè)試tj檢測(cè)故障集x時(shí),所有故障子集的基數(shù)與其概率的乘積;IG(x,tj)表示運(yùn)用測(cè)試tj檢測(cè)故障集x的IG。
(2)式~(5)式可以對(duì)測(cè)試進(jìn)行排序,但在一個(gè)計(jì)算過(guò)程之后,所有粒子測(cè)試序列都是相同的。這是因?yàn)樯鲜鏊闶綄?duì)粒子中所有測(cè)試進(jìn)行排序,即使粒子中測(cè)試初始順序不同,但是并不會(huì)影響排序結(jié)果,所有粒子中測(cè)試順序完全一樣的,降低了粒子的多樣性,無(wú)法找到最優(yōu)解。因此,需要限制上述公式對(duì)測(cè)試集搜索與排序的范圍,增加粒子多樣性。
為解決上述問(wèn)題,引入“鄰域”的概念,設(shè)定在自身認(rèn)知階段上述公式僅能在向量的某個(gè)區(qū)域內(nèi)尋找最優(yōu)測(cè)試。該區(qū)域即為鄰域,設(shè)定規(guī)則如下:
1)向量的第1個(gè)元素為鄰域的起點(diǎn);
2)該區(qū)域內(nèi)測(cè)試數(shù)量即為鄰域大小,設(shè)置為2q,q為當(dāng)前模糊集個(gè)數(shù)。
矢量控制系統(tǒng)是將飛機(jī)方向舵取消,通過(guò)一個(gè)矢量電機(jī)座將電機(jī)和舵機(jī)連接起來(lái)安裝在機(jī)身上,再利用舵機(jī)的轉(zhuǎn)動(dòng)來(lái)控制電機(jī)的左右轉(zhuǎn)動(dòng),從而改變電機(jī)提供的拉力方向(即拉力線)或推力方向,通過(guò)拉力線或者推力線方向的改變,進(jìn)而控制飛機(jī)的左右轉(zhuǎn)向。取消方向舵舵面,然后將舵面和垂尾固定在一起形成新的垂直尾翼保持方向安定。本設(shè)計(jì)不僅僅適用于前拉式飛機(jī),同樣適用于尾推式飛機(jī)。
對(duì)于規(guī)模相同的二值系統(tǒng)和多值系統(tǒng),二值系統(tǒng)需要更多測(cè)試,因此用二值系統(tǒng)來(lái)確定鄰域大小。二值系統(tǒng)中,若對(duì)q個(gè)模糊子集診斷隔離,則總共需要用2q-1個(gè)測(cè)試(包含已經(jīng)使用和將要使用的測(cè)試)。但是初始時(shí),系統(tǒng)只有1個(gè)模糊故障集,其鄰域大小為1,即僅有一個(gè)測(cè)試,無(wú)法實(shí)現(xiàn)測(cè)試選擇。因此,設(shè)定鄰域大小為2q,其對(duì)多值系統(tǒng)而言包含足夠多的測(cè)試。另外,由于測(cè)試集中測(cè)試數(shù)量是有限的,所以鄰域最大不能超過(guò)測(cè)試集中的測(cè)試總數(shù)。
社會(huì)知識(shí)階段,粒子通過(guò)改變其內(nèi)部測(cè)試的位置實(shí)現(xiàn)朝最優(yōu)粒子移動(dòng),其過(guò)程是將粒子中的測(cè)試位置進(jìn)行轉(zhuǎn)換,使粒子相應(yīng)位置上的測(cè)試改成最優(yōu)粒子相同位置上的測(cè)試。因此,需要重新計(jì)算,判斷新粒子是否使目標(biāo)函數(shù)取最優(yōu)值。為便于實(shí)現(xiàn)粒子內(nèi)部測(cè)試位置的改變,引入交換序的概念。
交換序(ta,tb)表示測(cè)試ta與tb在粒子向量中的位置進(jìn)行互換。當(dāng)位置互換后,若當(dāng)前循環(huán)中還需更換測(cè)試順序時(shí),ta的位置不能變,但tb可以改變。
根據(jù)重塑的離散PSO算法過(guò)程,結(jié)合自身認(rèn)知和社會(huì)知識(shí)的計(jì)算規(guī)則,引入粒子的更新公式:
(6)
VGi=PG-Pi
(7)
(8)
一般情況下,PG中的測(cè)試只有部分被使用,因此,可將使用的測(cè)試組成交換序。另外,ε的值越大算法運(yùn)行時(shí)間越短,但是會(huì)影響最終結(jié)果,導(dǎo)致無(wú)法獲得最優(yōu)診斷策略。
在重塑離散PSO算法的基礎(chǔ)上,提出了測(cè)試序列尋優(yōu)算法,記為PSO-TS算法,流程圖如圖1所示。PSO-TS算法詳細(xì)實(shí)現(xiàn)步驟如下:
1)初始化五元組(F,P,T,C,D)和最大循環(huán)次數(shù)Lmax。若F中故障數(shù)量≤1,則算法結(jié)束。
2)隨機(jī)產(chǎn)生N個(gè)粒子,每個(gè)粒子為一組1×n維向量,其元素為T(mén)中的測(cè)試,元素順序隨機(jī)排列。
3) 重復(fù)以下步驟,直到循環(huán)次數(shù)等于Lmax或獲得使得(1)式獲得最優(yōu)值。
①設(shè)定鄰域,根據(jù)(2)式~(5)式選擇測(cè)試,獲得故障的測(cè)試序列,確定N個(gè)粒子的新位置。
②采用(1)式計(jì)算①中測(cè)試序列的期望測(cè)試費(fèi)用J,選擇最小值對(duì)應(yīng)的粒子,設(shè)其為最優(yōu)粒子PG。
③利用(6)式、(7)式和(8)式計(jì)算出所有交換序。
④隨機(jī)取ε個(gè)交換序,根據(jù)交換序的更換規(guī)則,更新粒子所有的非最優(yōu)粒子。
4) 輸出最終的期望測(cè)試費(fèi)用和測(cè)試序列。
以文獻(xiàn)[6]和文獻(xiàn)[19]中某型電站除氧器系統(tǒng)的多值D矩陣為例(見(jiàn)表3),驗(yàn)證算法的正確性。
運(yùn)用PSO-TS算法處理該矩陣,詳細(xì)步驟如下:
1)設(shè)定粒子群規(guī)模為24,即隨機(jī)產(chǎn)生24組向量,設(shè)置最大循環(huán)次數(shù)為20次;
2)自身認(rèn)知階段,利用(2)式~(5)式得到20個(gè)新粒子;基于(1)式,選擇成本最小的粒子為最優(yōu)粒子PG,PG=[12 5 10 7 3 11 9 1 6 4 8 13 14 2];
3)社會(huì)知識(shí)階段,其他粒子與最優(yōu)粒子的序列對(duì)比,找到相同位置上不同的測(cè)試,確定交換序;通過(guò)改變粒子中測(cè)試順序,實(shí)現(xiàn)測(cè)試序列尋優(yōu),完成粒子朝著最優(yōu)粒子位置移動(dòng)過(guò)程,進(jìn)而優(yōu)化診斷策略。以某粒子[12 7 3 1 11 10 6 13 8 9 2 4 5 14]為例說(shuō)明,通過(guò)與PG對(duì)比,確定有(5,7)、(10,3)、(7,1)等13組交換序,隨機(jī)選取其中一個(gè)(10,3),將該粒子上的t10與t3所在位置交換,從而形成新的粒子[12 7 10 1 11 3 6 13 8 9 2 4 5 14]。
表3 電站除氧器MVAS的多值D矩陣Table 3 Multi-valued D matrix of a power plant deaerator
4)重復(fù)上述步驟,直至尋找到較優(yōu)結(jié)果或者達(dá)到最大循環(huán)次數(shù)。
在上述過(guò)程中,新粒子與PG距離減少,體現(xiàn)了測(cè)試序列的優(yōu)化,而且后續(xù)的循環(huán)過(guò)程PG不斷改變,粒子群也在不斷變化,從而找到較優(yōu)的診斷策略。
圖2 基于PSO-TS算法的故障診斷樹(shù)Fig.2 Diagnosis tree based on PSO-TS algorithm
最后輸出測(cè)試序列,以診斷樹(shù)的形式展示結(jié)果,如圖2所示?;?1)式,PSO-TS算法的結(jié)果為3.339 8,這與文獻(xiàn)[6]和多值Rollout算法的結(jié)果相同。
為驗(yàn)證算法的通用性和穩(wěn)定性,在MATLAB軟件平臺(tái)上編寫(xiě)PSO-TS算法,同時(shí)編寫(xiě)文獻(xiàn)[4-5]中的多值Rollout和多值IG算法,簡(jiǎn)記為MV-Rollout、MV-IG。引入平均期望測(cè)試費(fèi)用(avgJ)和平均運(yùn)行時(shí)間(avgRt)來(lái)評(píng)價(jià)上述算法的優(yōu)劣。
(9)
(10)
式中:Ji為某算法第i次計(jì)算的期望測(cè)試費(fèi)用;Q為多值D矩陣被計(jì)算的總次數(shù);Rti為某算法第i次的運(yùn)行總時(shí)間。
隨機(jī)產(chǎn)生一組矩陣,模擬多值D矩陣,其維數(shù)如表4所示,矩陣元素dij在{0,1,2,3}中隨機(jī)取值。當(dāng)矩陣規(guī)模較大時(shí),PSO-TS算法消耗時(shí)間較多,因此設(shè)定每個(gè)矩陣計(jì)算15次。在每次計(jì)算過(guò)程中,測(cè)試費(fèi)用在區(qū)間[1 2]中隨機(jī)取值。每個(gè)多值D矩陣的行對(duì)應(yīng)為系統(tǒng)故障,第1行表示無(wú)故障狀態(tài)。所有故障的先驗(yàn)概率均隨機(jī)產(chǎn)生,總和為1,而無(wú)故障狀態(tài)的先驗(yàn)概率在0.5~0.8之間隨機(jī)取值。設(shè)置PSO-TS算法的粒子規(guī)模為故障數(shù)的3倍,最大循環(huán)次數(shù)為20,當(dāng)PG中的測(cè)試小于10個(gè)時(shí),交換序個(gè)數(shù)ε取值為1,否則ε=?(|PG|/4)」。
采用PSO-TS、MV-Rollout和MV-IG算法的處理上述矩陣,按照(9)式和(10)式計(jì)算avgJ和avgRt,結(jié)果如表4所示。展示維數(shù)為100×100的多值D矩陣15次的結(jié)果,如圖3所示。
表4 PSO-TS、MV-Rollout和MV-IG算法的avgJ和avgRt對(duì)比Table 4 Comparison of avgJ and avgRt values for PSO-TS, MV-Rollout, and MV-IG
圖3 基于PSO-TS、MV-Rollout和MV-IG結(jié)果Fig.3 Calculation results based on PSO-TS、 MV-Rollout and MV-IG
由表4和圖3可知,PSO-TS算法的大部分avgJ小于MV-IG和MV-Rollout算法的結(jié)果。這是因?yàn)镻SO-TS算法基于鄰域、社會(huì)知識(shí)等實(shí)現(xiàn)內(nèi)部迭代,具有隨機(jī)性和指向性,能獲得更優(yōu)的結(jié)果。
MV-IG算法的avgJ大于PSO-TS和MV-Rollout算法的結(jié)果,這是因?yàn)镸V-IG屬于一步向前尋優(yōu)的算法,僅能找到局部最優(yōu)的測(cè)試,而PSO-TS和MV-Rollout算法可以通過(guò)不斷地迭代,進(jìn)而搜索到較優(yōu)的測(cè)試。
PSO-TS算法的avgRt大于MV-IG和MV-Rollout算法的結(jié)果。這是因?yàn)镻SO-TS算法在自身認(rèn)知階段需要對(duì)所有粒子進(jìn)行計(jì)算,而且所有粒子都將會(huì)迭代,導(dǎo)致算法運(yùn)行時(shí)間增加。同時(shí),因?yàn)殡S著方陣規(guī)模增加,粒子群的規(guī)模不斷增加,導(dǎo)致PSO-TS算法的avgRt逐漸增加。
本文在研究傳統(tǒng)離散PSO算法的基礎(chǔ)上,改進(jìn)了粒子群算法的自我認(rèn)知階段和社會(huì)知識(shí)階段的計(jì)算規(guī)則,提出了PSO-TS算法。得出主要結(jié)論如下:
1)重塑了離散PSO算法,運(yùn)用離散PSO算法模擬MVAS的測(cè)試序列尋優(yōu)過(guò)程,實(shí)現(xiàn)了離散PSO算法與MVAS故障診斷策略的融合。
2)根據(jù)測(cè)試序列尋優(yōu)算法的約束函數(shù),設(shè)置了自身認(rèn)知和社會(huì)知識(shí)階段的運(yùn)算規(guī)則,并引入了鄰域概念。該方式既保障了粒子的多樣性,又保留算法隨機(jī)性和指向性,使其擁有了進(jìn)化能力,改善了診斷結(jié)果。
3)實(shí)例和隨機(jī)仿真實(shí)驗(yàn)結(jié)果表明:與MV-Rollout和MV-IG算法相比,PSO-TS的期望測(cè)試費(fèi)用少,能夠獲得較優(yōu)的診斷策略,但是運(yùn)行時(shí)間較長(zhǎng)。