田恒, 許榮濱, 姜艷紅, 張文虎, 鄧四二
(1.河南科技大學 機電工程學院, 河南 洛陽 471003; 2.浙江五洲新春集團股份有限公司, 浙江 紹興 312500;3.中浙高鐵軸承有限公司, 浙江 衢州 324407)
故障診斷策略是保障衛星導航、武器裝備等高端產品安全運行的關鍵,其在產品測試性方面的重要性愈加顯著[1-3]。診斷策略主要通過研究最優序列尋優算法,實現最經濟地診斷隔離系統故障。現有的序列尋優算法大都是面向二值系統,該類算法通過對二值矩陣處理,得出最優的測試序列。然而,實際工程中,大多數裝備或系統是多值屬性系統(MVAS),對應的測試被是多值測試。目前已有許多專家學者開始研究MVAS的故障診斷策略,并取得了一些成果。
黃以鋒[4-5]等在信息熵(IG)算法和Rollout算法的基礎上,擴展了測試的結果,改進算法的啟發式,提出基于IG算法和Rollout算法,實現了MVAS故障診斷策略的尋優。文獻[6]在Growing算法的基礎上,擴展了啟發式,提出基于Growing算法的MVAS測試序列優化算法。在二值系統中,此類算法僅能獲取近似最優結果,即使對其啟發算式擴展,用在MVAS中,也無法獲得最優結果。為解決上述問題,專家學者研究利用群智能算法搜索MVAS的診斷策略。粒子群優化(PSO)算法是群智能算法的重要內容,能夠解決連續域及離散域方面的問題[7-9]。
Yang等[10]在考慮故障診斷率和隔離率的基礎上,提出了一種貪婪算法確定最優測試集,利用離散二進制PSO算法搜索故障的最優測試序列。陳希祥等[11]結合二進制PSO算法和遺傳算法,提出一種混合算法,搜索最小完備測試集。Hou等[12]在傳統模糊PSO算法的基礎上改進了粒子群智能算法,通過信息流可測性建模優化測試集,提出一種測試點優化算法。為解決不完全測試條件下近似最優測試點集合的選擇問題,Deng等[13]建立了啟發式函數,設計了PSO算法的適應度函數。在考慮故障隔離率的基礎上,Lv等[14]將混沌離散粒子群(DPSO)算法與故障診斷相結合,提出一種選擇測試的優化模型,然后運用離散PSO算法解決二值系統故障診斷隔離的問題。Lian等[15]將測試序列尋優轉化為群體多維空間的排序問題,然后基于量子行為的PSO算法,提出一種搜索故障測試序列的方法。Ma等[16]在離散PSO算法的基礎上,根據測試選擇的特點,設置一種適應度函數,并為了避免早熟添加迭代權重,實現了二值系統的故障診斷隔離。文獻[17]利用改進的蟻群算法搜索MVAS的測試序列。王偉等[18]提出一種基于人工智能的搜索剪枝技術,尋找MVAS的最優故障診斷策略。
上述算法能找到測試序列,但有一些缺陷:1)最小完備測試集中不一定是最優的,導致診斷策略不是最優的,而且集合中測試被頻繁使用,使得費用升高;2)算法大都通過降低故障檢測率和故障隔離率以減少期望費用,導致無法診斷隔離所有故障,使得診斷結果較差;3)上述算法的啟發式僅能處理二值系統,無法解決MVAS的診斷策略問題。
本文為解決上述問題,首先通過重塑離散PSO算法,模擬測試序列尋優過程,將故障診斷策略問題與離散PSO算法結合。然后設置離散粒子群的自身認知和社會知識階段的運算規則,提出PSO-TS算法,最后實驗驗證PSO-TS算法的正確性和穩定性。
診斷策略主要是利用尋優算法對依賴矩陣(D矩陣)進行處理,進而獲取期望費用最小測試序列。為尋找上述測試序列,獲得合適的診斷策略,需要將故障診斷策略進行公式化處理。因此,引入文獻[17]和文獻[19]的多值D矩陣及五元組。
多值D矩陣表示MVAS中測試與故障的關聯關系,其中行向量表示故障,列表示測試項,元素dij(i=0,1,…,m,j=1,2,…,n,m、n分別為故障狀態數和測試數)為測試值,如表1所示。表1中,tj為測試,fi為故障狀態,其中f0表示無故障,p(fi)為故障fi的先驗概率,dij表示采用測試tj檢測故障fi時,若出現dij對應的測試值,表明可能出現故障fi,設定dij∈{0,1,2,…}。

表1 MVAS的依賴矩陣Table 1 Dependency-matrix of MVAS
利用五元組(F,P,T,C,D)表示MVAS的故障和先驗概率等內容,其中各組的含義如下:
1)F是系統故障集,F={f0,…,fi,…,fm}。
2)P是先驗概率集,P={p(f0),…,p(fi),…,p(fm)},該集合中所有元素之和為1。系統無故障概率較大,設p(f0)在0.5~0.8隨機取值。
3)T是測試集,T={t1,t2,…,tj,…,tn},tj的測試值為a,其與dij的取值范圍相同。
4)C是測試費用集,C={c1,c2,…,cj,…,cn},cj為使用測試ti所花費的成本,本文設其為無量綱的數值。
5)D是(m+1)×n維的矩陣,D=[dij](m+1)×n,表征測試與故障的關聯關系。
MAVS確定最優診斷策略的過程是指尋找具有最優測試序列的過程,而最優的評價標準為測試期望測試費用最小,該費用的計算公式為
(1)
式中:Tfi為故障fi的測試序列。
因此,選擇使(1)式取最小值為最優測試序列,即為MVAS的最優診斷策略。
離散PSO算法能處理旅行商推銷員(TSP)問題,而TSP問題是離散的非確定性完全(NP-C)問題。故障診斷策略問題也是離散的,同樣屬于NP-C問題。因此,通過合理的轉化,離散PSO算法可以用來尋找最優的故障診斷策略,即最優的測試序列。
為實現離散PSO算法在MVAS故障診斷策略中的應用,將算法的基本概念(如粒子、自身認知、社會知識等)與測試序列的含義進行一一對應,同時引入交換序的概念,如表2所示。

表2 離散PSO算法基本概念與診斷策略對應關系Table 2 Corresponding relationship between basic concepts of DPSO and diagnosis strategy
假設上述粒子為散落在n維空間里的坐標點,其坐標為[t1t2…tn]1×n的一組向量,其中的元素是測試集T中的測試。離散PSO算法的重要環節重新表述:
1)自身認知階段,粒子通過某種計算規則為模糊故障子集選擇測試,然后將被選的測試進行排序,而未被選擇的測試按照原來的順序補充到向量中的后續坐標,則得到新粒子坐標,記為向量Pi,表示經過自身認知計算之后粒子i的坐標;
綜上所述,離散PSO算法與MVAS的故障診斷策略可以融合,但還需要為其自身認知和社會知識設置計算規則。
假設某測試tj將故障模糊集x分割為K個故障模糊子集{xj1,…,xjK}。p(xjk)為故障模糊子集xjk的先驗概率;fg為故障,是模糊子集xjk中的元素;p(fg)為故障fg的先驗概率。粒子群自身認知階段測試尋優的計算規則為
(2)
(3)
(4)
MI(x,tj)=I(x,tj)/p(x,tj)
(5)
式中:p(x)為故障子集x的先驗概率;p(x,tj)表示運用測試tj檢測故障集x時,所有故障子集的基數與其概率的乘積;IG(x,tj)表示運用測試tj檢測故障集x的IG。
(2)式~(5)式可以對測試進行排序,但在一個計算過程之后,所有粒子測試序列都是相同的。這是因為上述算式對粒子中所有測試進行排序,即使粒子中測試初始順序不同,但是并不會影響排序結果,所有粒子中測試順序完全一樣的,降低了粒子的多樣性,無法找到最優解。因此,需要限制上述公式對測試集搜索與排序的范圍,增加粒子多樣性。
為解決上述問題,引入“鄰域”的概念,設定在自身認知階段上述公式僅能在向量的某個區域內尋找最優測試。該區域即為鄰域,設定規則如下:
1)向量的第1個元素為鄰域的起點;
2)該區域內測試數量即為鄰域大小,設置為2q,q為當前模糊集個數。
矢量控制系統是將飛機方向舵取消,通過一個矢量電機座將電機和舵機連接起來安裝在機身上,再利用舵機的轉動來控制電機的左右轉動,從而改變電機提供的拉力方向(即拉力線)或推力方向,通過拉力線或者推力線方向的改變,進而控制飛機的左右轉向。取消方向舵舵面,然后將舵面和垂尾固定在一起形成新的垂直尾翼保持方向安定。本設計不僅僅適用于前拉式飛機,同樣適用于尾推式飛機。
對于規模相同的二值系統和多值系統,二值系統需要更多測試,因此用二值系統來確定鄰域大小。二值系統中,若對q個模糊子集診斷隔離,則總共需要用2q-1個測試(包含已經使用和將要使用的測試)。但是初始時,系統只有1個模糊故障集,其鄰域大小為1,即僅有一個測試,無法實現測試選擇。因此,設定鄰域大小為2q,其對多值系統而言包含足夠多的測試。另外,由于測試集中測試數量是有限的,所以鄰域最大不能超過測試集中的測試總數。
社會知識階段,粒子通過改變其內部測試的位置實現朝最優粒子移動,其過程是將粒子中的測試位置進行轉換,使粒子相應位置上的測試改成最優粒子相同位置上的測試。因此,需要重新計算,判斷新粒子是否使目標函數取最優值。為便于實現粒子內部測試位置的改變,引入交換序的概念。
交換序(ta,tb)表示測試ta與tb在粒子向量中的位置進行互換。當位置互換后,若當前循環中還需更換測試順序時,ta的位置不能變,但tb可以改變。
根據重塑的離散PSO算法過程,結合自身認知和社會知識的計算規則,引入粒子的更新公式:
(6)
VGi=PG-Pi
(7)
(8)

一般情況下,PG中的測試只有部分被使用,因此,可將使用的測試組成交換序。另外,ε的值越大算法運行時間越短,但是會影響最終結果,導致無法獲得最優診斷策略。
在重塑離散PSO算法的基礎上,提出了測試序列尋優算法,記為PSO-TS算法,流程圖如圖1所示。PSO-TS算法詳細實現步驟如下:
1)初始化五元組(F,P,T,C,D)和最大循環次數Lmax。若F中故障數量≤1,則算法結束。
2)隨機產生N個粒子,每個粒子為一組1×n維向量,其元素為T中的測試,元素順序隨機排列。
3) 重復以下步驟,直到循環次數等于Lmax或獲得使得(1)式獲得最優值。
①設定鄰域,根據(2)式~(5)式選擇測試,獲得故障的測試序列,確定N個粒子的新位置。
②采用(1)式計算①中測試序列的期望測試費用J,選擇最小值對應的粒子,設其為最優粒子PG。
③利用(6)式、(7)式和(8)式計算出所有交換序。
④隨機取ε個交換序,根據交換序的更換規則,更新粒子所有的非最優粒子。
4) 輸出最終的期望測試費用和測試序列。
以文獻[6]和文獻[19]中某型電站除氧器系統的多值D矩陣為例(見表3),驗證算法的正確性。
運用PSO-TS算法處理該矩陣,詳細步驟如下:
1)設定粒子群規模為24,即隨機產生24組向量,設置最大循環次數為20次;
2)自身認知階段,利用(2)式~(5)式得到20個新粒子;基于(1)式,選擇成本最小的粒子為最優粒子PG,PG=[12 5 10 7 3 11 9 1 6 4 8 13 14 2];
3)社會知識階段,其他粒子與最優粒子的序列對比,找到相同位置上不同的測試,確定交換序;通過改變粒子中測試順序,實現測試序列尋優,完成粒子朝著最優粒子位置移動過程,進而優化診斷策略。以某粒子[12 7 3 1 11 10 6 13 8 9 2 4 5 14]為例說明,通過與PG對比,確定有(5,7)、(10,3)、(7,1)等13組交換序,隨機選取其中一個(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)重復上述步驟,直至尋找到較優結果或者達到最大循環次數。
在上述過程中,新粒子與PG距離減少,體現了測試序列的優化,而且后續的循環過程PG不斷改變,粒子群也在不斷變化,從而找到較優的診斷策略。

圖2 基于PSO-TS算法的故障診斷樹Fig.2 Diagnosis tree based on PSO-TS algorithm
最后輸出測試序列,以診斷樹的形式展示結果,如圖2所示。基于(1)式,PSO-TS算法的結果為3.339 8,這與文獻[6]和多值Rollout算法的結果相同。
為驗證算法的通用性和穩定性,在MATLAB軟件平臺上編寫PSO-TS算法,同時編寫文獻[4-5]中的多值Rollout和多值IG算法,簡記為MV-Rollout、MV-IG。引入平均期望測試費用(avgJ)和平均運行時間(avgRt)來評價上述算法的優劣。
(9)
(10)
式中:Ji為某算法第i次計算的期望測試費用;Q為多值D矩陣被計算的總次數;Rti為某算法第i次的運行總時間。
隨機產生一組矩陣,模擬多值D矩陣,其維數如表4所示,矩陣元素dij在{0,1,2,3}中隨機取值。當矩陣規模較大時,PSO-TS算法消耗時間較多,因此設定每個矩陣計算15次。在每次計算過程中,測試費用在區間[1 2]中隨機取值。每個多值D矩陣的行對應為系統故障,第1行表示無故障狀態。所有故障的先驗概率均隨機產生,總和為1,而無故障狀態的先驗概率在0.5~0.8之間隨機取值。設置PSO-TS算法的粒子規模為故障數的3倍,最大循環次數為20,當PG中的測試小于10個時,交換序個數ε取值為1,否則ε=?(|PG|/4)」。
采用PSO-TS、MV-Rollout和MV-IG算法的處理上述矩陣,按照(9)式和(10)式計算avgJ和avgRt,結果如表4所示。展示維數為100×100的多值D矩陣15次的結果,如圖3所示。

表4 PSO-TS、MV-Rollout和MV-IG算法的avgJ和avgRt對比Table 4 Comparison of avgJ and avgRt values for PSO-TS, MV-Rollout, and MV-IG

圖3 基于PSO-TS、MV-Rollout和MV-IG結果Fig.3 Calculation results based on PSO-TS、 MV-Rollout and MV-IG
由表4和圖3可知,PSO-TS算法的大部分avgJ小于MV-IG和MV-Rollout算法的結果。這是因為PSO-TS算法基于鄰域、社會知識等實現內部迭代,具有隨機性和指向性,能獲得更優的結果。
MV-IG算法的avgJ大于PSO-TS和MV-Rollout算法的結果,這是因為MV-IG屬于一步向前尋優的算法,僅能找到局部最優的測試,而PSO-TS和MV-Rollout算法可以通過不斷地迭代,進而搜索到較優的測試。
PSO-TS算法的avgRt大于MV-IG和MV-Rollout算法的結果。這是因為PSO-TS算法在自身認知階段需要對所有粒子進行計算,而且所有粒子都將會迭代,導致算法運行時間增加。同時,因為隨著方陣規模增加,粒子群的規模不斷增加,導致PSO-TS算法的avgRt逐漸增加。
本文在研究傳統離散PSO算法的基礎上,改進了粒子群算法的自我認知階段和社會知識階段的計算規則,提出了PSO-TS算法。得出主要結論如下:
1)重塑了離散PSO算法,運用離散PSO算法模擬MVAS的測試序列尋優過程,實現了離散PSO算法與MVAS故障診斷策略的融合。
2)根據測試序列尋優算法的約束函數,設置了自身認知和社會知識階段的運算規則,并引入了鄰域概念。該方式既保障了粒子的多樣性,又保留算法隨機性和指向性,使其擁有了進化能力,改善了診斷結果。
3)實例和隨機仿真實驗結果表明:與MV-Rollout和MV-IG算法相比,PSO-TS的期望測試費用少,能夠獲得較優的診斷策略,但是運行時間較長。