汪芊芊,藍(lán) 鯤,王海濤
(北京宇航系統(tǒng)工程研究所,北京100076)
運(yùn)載火箭故障檢測序列優(yōu)化
汪芊芊,藍(lán) 鯤,王海濤
(北京宇航系統(tǒng)工程研究所,北京100076)
針對運(yùn)載火箭故障檢測序列優(yōu)化這一新問題,建立數(shù)學(xué)模型并提出基于離散粒子群算法的故障檢測序列優(yōu)化方法。該算法通過測試集優(yōu)化獲得優(yōu)選測試集,再通過檢測序列優(yōu)化對優(yōu)選測試集中測試進(jìn)行排序,獲得優(yōu)化的故障檢測序列。最后以運(yùn)載火箭時(shí)序控制系統(tǒng)為對象進(jìn)行了驗(yàn)證,結(jié)果證明,基于離散粒子群算法的故障檢測序列優(yōu)化方法能夠在保證故障狀態(tài)全覆蓋的前提下減少測試數(shù)量及成本,大大提高測試效率,且相較于遺傳算法具有更好的優(yōu)化性能和計(jì)算效率,適用于運(yùn)載火箭故障檢測序列優(yōu)化。
故障檢測序列; 離散粒子群; 測試性設(shè)計(jì)
面對當(dāng)前運(yùn)載火箭高密度、高效率、低成本的發(fā)射需求,如何合理安排測試項(xiàng)目及測試順序,提高運(yùn)載火箭的測試效率并降低測試成本,即測試序列優(yōu)化[1],成為運(yùn)載火箭測試的重要課題。對于運(yùn)載火箭來說,測試序列優(yōu)化需解決兩個(gè)問題:(1)故障檢測序列優(yōu)化,即以較低的測試成本對各個(gè)可能發(fā)生故障的狀態(tài)進(jìn)行測試覆蓋;(2)故障隔離序列優(yōu)化,即以較低的測試成本實(shí)現(xiàn)故障發(fā)生后的快速故障定位。
傳統(tǒng)的測試序列優(yōu)化多關(guān)注的是故障隔離序列優(yōu)化[2-4],而對于故障檢測序列優(yōu)化的研究較少。故障檢測序列優(yōu)化是約束優(yōu)化問題,解決該類問題的方法目前主要有逆向的動態(tài)規(guī)劃[5]、正向的啟發(fā)式搜索[1,6-7]和進(jìn)化算法[8-10]。對于故障檢測序列優(yōu)化來說,利用動態(tài)規(guī)劃算法解決該問題具有O(n!)的計(jì)算復(fù)雜度,而運(yùn)載火箭僅單個(gè)分系統(tǒng)測試項(xiàng)目就動輒數(shù)十項(xiàng),因此難以利用動態(tài)規(guī)劃算法或直接遍歷來解決該問題;啟發(fā)式搜索是一種局部的逐步優(yōu)化“貪心算法”,易陷入局部最優(yōu),且需依靠回溯保證其優(yōu)化性能,因此容易產(chǎn)生計(jì)算爆炸,不適用于大規(guī)模系統(tǒng);而進(jìn)化算法在全局樣本空間內(nèi)利用樣本的迭代使當(dāng)前解不斷向最優(yōu)解進(jìn)化,如粒子群算法、遺傳算法等,適用于約束條件較少的大范圍尋優(yōu)。本文選取進(jìn)化算法中的離散粒子群算法(Discrete particle swarm optimization, DPSO),提出了基于DPSO算法的運(yùn)載火箭故障檢測序列優(yōu)化方法,并以時(shí)序控制系統(tǒng)的故障檢測序列優(yōu)化為例,驗(yàn)證了該方法的有效性。
1.1 問題提出
對于被測系統(tǒng)來說,其故障及測試信息可以用六元組(F,P,T,C,S,Ω)表示,其中:
F={f1,f2,f3,…,fm}是系統(tǒng)故障狀態(tài)集合;
P={p(f1),p(f2),…,p(fm)}是系統(tǒng)各個(gè)故障fi的故障率集合;
T={t1,t2,…,tn}是系統(tǒng)的可選測試集;
C={c(t1),c(t2),…,c(tn)}是以時(shí)間、人力要求、測試難度等指標(biāo)衡量的測試成本集合;
S={s1,s2,…,sl}是測試狀態(tài)集,表示系統(tǒng)在測試過程中可能產(chǎn)生的狀態(tài);
Ω={F(t1),F(t2),…,F(tn)}是故障覆蓋集,其中F(ti)表示測試ti所能檢測到的故障集合。
故障檢測序列優(yōu)化包括兩個(gè)方面:(1)測試集優(yōu)化:利用優(yōu)化算法對系統(tǒng)的可用測試集進(jìn)行優(yōu)選;(2)檢測序列優(yōu)化:對于優(yōu)選測試集,依據(jù)測試狀態(tài)、故障檢測率等因素對優(yōu)選的測試集進(jìn)行排序,得到故障檢測優(yōu)化序列。
(1)測試集優(yōu)化
定義故障檢測覆蓋率為被測試覆蓋的故障數(shù)與總故障數(shù)的比值,即
(1)
式中:TS表示所選測試集??焖贉y試的基本前提是達(dá)到100%的故障檢測覆蓋率,以保證運(yùn)載火箭無故障漏檢。在此前提下,對系統(tǒng)可選測試集進(jìn)行優(yōu)化,以盡量減少測試成本及測試個(gè)數(shù)。構(gòu)造檢測集代價(jià)函數(shù)CTs為:
(2)
(3)
(2)檢測序列優(yōu)化
為確定測試實(shí)施策略,對(1)中所得的最優(yōu)測試集進(jìn)行檢測序列優(yōu)化。在測試實(shí)施過程中,總是希望盡早覆蓋到可能發(fā)生故障的狀態(tài),以預(yù)留充分的時(shí)間進(jìn)行故障診斷及系統(tǒng)修復(fù);同時(shí),各個(gè)測試的實(shí)施之間可能需要進(jìn)行系統(tǒng)測試狀態(tài)的轉(zhuǎn)換,導(dǎo)致測試時(shí)間延長,且測試狀態(tài)的頻繁轉(zhuǎn)換易導(dǎo)致系統(tǒng)故障。所以,測試排序需要遵循以下原則:
(a)優(yōu)先進(jìn)行故障檢測率高的測試;
(b)盡量減少測試過程中的由于測試狀態(tài)轉(zhuǎn)換導(dǎo)致的測試成本。
C=K1×CFDR+K2×CSchange
(4)
2.1 離散粒子群算法簡介
離散粒子群算法由Kennedy等在1997年提出[12],算法采用速度-位置模型,在允許范圍內(nèi)初始化一群隨機(jī)粒子(潛在解),每個(gè)粒子都有一個(gè)速度決定它們的飛行,在每一次迭代中通過跟蹤兩個(gè)極值來更新自己:粒子本身迄今為止所找到的個(gè)體極值Pbesti和整個(gè)種群迄今為止所找到的全局極值Gbesti。所有粒子的優(yōu)劣由被優(yōu)化函數(shù)所決定的適應(yīng)度來衡量。粒子的速度和位置公式如下:
(5)
(6)
2.2 測試集優(yōu)化
由離散粒子群算法的概念可知,離散粒子群算法利用粒子適應(yīng)度函數(shù)來體現(xiàn)實(shí)際問題的優(yōu)化需求,而粒子就是問題的潛在解。將測試集優(yōu)化問題與離散粒子群算法結(jié)合,抽象出新的速度-位置模型如下:
(1)粒子位置:粒子位置表示測試集優(yōu)化的潛在解,為使粒子形式一致且能夠表示不同的測試集優(yōu)化結(jié)果,將粒子位置定義為二進(jìn)制向量xi=(xi1,xi2,…,xin),n為可選測試項(xiàng)目的總數(shù)。xij表示第i個(gè)粒子是否選中第j個(gè)測試,是則為1,否則為0。xi的值按照式(6)更新。
(2)粒子速度:粒子速度將決定粒子下一次所在的位置,即測試集的優(yōu)化方向。本文中將粒子速度定義為和粒子同維數(shù)的隨機(jī)矩陣vi=(vi1,vi2,…,vin)。vij的值域?yàn)閇0,1],其值按式(5)更新。
(3)粒子適應(yīng)度函數(shù):粒子適應(yīng)度值將決定粒子是否能被選中,對于測試集優(yōu)化問題來說,如何把故障檢測率、測試代價(jià)等因素融入粒子適應(yīng)度函數(shù),是構(gòu)建粒子適應(yīng)度函數(shù)需考慮的主要問題。結(jié)合式(2)所列測試集優(yōu)化模型,構(gòu)造適應(yīng)度函數(shù)如下:
(7)
2.3 檢測序列優(yōu)化
檢測序列優(yōu)化也屬于離散量優(yōu)化,但由于組成序列的各個(gè)數(shù)值之間具有約束關(guān)系(序列中各個(gè)數(shù)值出現(xiàn)且僅出現(xiàn)一次),因此無法直接應(yīng)用傳統(tǒng)的離散粒子群算法進(jìn)行優(yōu)化。文獻(xiàn)[13]根據(jù)序列優(yōu)化問題對粒子群算法的速度-位置模型進(jìn)行了適應(yīng)性改進(jìn),定義了新的粒子位置與速度更新公式如下:
(8)
(9)
對于檢測序列優(yōu)化問題,抽象出粒子位置及速度模型如下:
(3)適應(yīng)度函數(shù):根據(jù)檢測序列優(yōu)化的數(shù)學(xué)模型可知,測試成本函數(shù)C是檢測序列優(yōu)化目標(biāo),因此,將測試成本函數(shù)C作為適應(yīng)度函數(shù),即:
F(xi)=C=K1×CFDR+K2×CSchange
(10)
式中:序列xi的故障檢測實(shí)施成本CFDR可根據(jù)式(4)唯一確定。但由于每個(gè)測試對應(yīng)的測試狀態(tài)不止1個(gè),同一測試序列可能有多種狀態(tài)轉(zhuǎn)換方式,但總存在最低的狀態(tài)轉(zhuǎn)換成本。因此,設(shè)計(jì)CSchange的計(jì)算方法如下:
第一步:讀取第1個(gè)測試的測試狀態(tài)作為第1個(gè)測試的可行測試狀態(tài);
第二步:依次對各個(gè)測試判斷其與前一個(gè)測試的最小狀態(tài)轉(zhuǎn)換成本,直至最后一個(gè)測試,具體步驟如下:
1)對測試序列中的第i個(gè)測試,讀取其測試狀態(tài)作為第i個(gè)測試的可行測試狀態(tài)。i的初始值為2;
2)判斷第i個(gè)測試與第i-1個(gè)測試是否有相同的可行測試狀態(tài),若有,則第i個(gè)測試與第i-1個(gè)測試間的最小狀態(tài)轉(zhuǎn)換成本為0,跳到第二步;否則, 跳到3);
3)判斷第i個(gè)測試與第i-1個(gè)測試間的最小狀態(tài)轉(zhuǎn)換成本,并根據(jù)該最小狀態(tài)轉(zhuǎn)換成本所對應(yīng)的測試狀態(tài)更新第i個(gè)測試和第i-1個(gè)測試的可行測試狀態(tài)。
4)i=i+1,跳到1),直至所有測試間的最小狀態(tài)轉(zhuǎn)換成本均得出;
第三步:根據(jù)式(4)計(jì)算狀態(tài)轉(zhuǎn)換成本CSchange。
2.4 故障檢測序列優(yōu)化方法步驟
基于離散粒子群算法的故障檢測序列優(yōu)化方法流程如圖1所示。
3.1 實(shí)例校驗(yàn)
為驗(yàn)證該方法的有效性,以某運(yùn)載火箭時(shí)序控制系統(tǒng)為對象進(jìn)行故障檢測序列優(yōu)化。該時(shí)序控制系統(tǒng)共有26個(gè)故障狀態(tài),11個(gè)備選測試項(xiàng)目,5種測試狀態(tài)。目前對于時(shí)序控制系統(tǒng)的測試多依據(jù)測試人員的經(jīng)驗(yàn)進(jìn)行。為保證故障狀態(tài)全覆蓋,一般會選取所有測試項(xiàng)目,并依據(jù)經(jīng)驗(yàn)定性分析確定測試順序,因而導(dǎo)致了較多的測試冗余及較高的測試成本。時(shí)序控制系統(tǒng)的故障-測試相關(guān)矩陣及測試與測試狀態(tài)的對應(yīng)關(guān)系如表1所示。考慮測試狀態(tài)轉(zhuǎn)換費(fèi)用、難度、時(shí)間及人力成本等因素,定義各測試狀態(tài)間的狀態(tài)轉(zhuǎn)換成本如表2所示:
表1 時(shí)序控制系統(tǒng)的故障-測試相關(guān)矩陣Table 1 D-matrix of the timing sequencing control system
續(xù)表1
表2 各測試狀態(tài)間的轉(zhuǎn)換成本矩陣Table 2 Costs caused by conversions between test states
假設(shè)各個(gè)測試項(xiàng)目的成本均為1,各個(gè)故障狀態(tài)的故障率相同,對時(shí)序控制系統(tǒng)進(jìn)行故障檢測序列優(yōu)化。取粒子數(shù)M=10,迭代次數(shù)t=50,各權(quán)重系數(shù)K=10,K1=K2=1,運(yùn)算結(jié)果如表3所示。
表3 時(shí)序控制系統(tǒng)故障檢測序列優(yōu)化結(jié)果Table 3 Optimization result of the timing sequence control system
注:原成本表示選取備選測試集中的11個(gè)測試并依順序?qū)嵤┑某杀尽?/p>
由圖2、圖3離散粒子群最優(yōu)適應(yīng)度變化趨勢圖可以看出,在解決故障檢測序列優(yōu)化問題時(shí),離散粒子群算法可以較快地收斂到最優(yōu)適應(yīng)度值,且收斂趨勢穩(wěn)定。通過優(yōu)化的故障檢測序列所得到的故障檢測樹如圖4所示,T代表被當(dāng)前測試覆蓋到的故障,NT表示未被之前的所有測試覆蓋到的故障。
根據(jù)以上優(yōu)化結(jié)果可以發(fā)現(xiàn):
(1)優(yōu)化的快速測試集滿足故障檢測率γFD=100%,且將備選測試集中的11個(gè)測試縮減到5個(gè)測試,測試集成本降低為原成本的20.6%;
(2)優(yōu)化的故障檢測序列利用前兩個(gè)測試即覆蓋了85%的故障,并且合理規(guī)避了較高的狀態(tài)轉(zhuǎn)換成本,測試總成本降為原成本的23.6%,實(shí)現(xiàn)了快速低成本的測試。
3.1 算法對比分析
為驗(yàn)證基于離散粒子群算法的故障檢測序列優(yōu)化方法的有效性及優(yōu)越性,將離散粒子群算法與遺傳算法進(jìn)行對比分析。仍以上述運(yùn)載火箭時(shí)序控制系統(tǒng)為應(yīng)用對象,在相同的仿真環(huán)境下,利用遺傳算法進(jìn)行故障檢測序列優(yōu)化。以測試集優(yōu)化為例,取遺傳算法的雜交概率為0.9,變異概率為0.04,離散粒子群算法的參數(shù)設(shè)置不變,在迭代次數(shù)均為50的條件下,分別對兩種算法重復(fù)運(yùn)行20次,比較兩種算法性能差異,結(jié)果如表所示。
表4 算法性能對比Table 4 Comparison of tow algorithms
注:運(yùn)行時(shí)間取20次重復(fù)運(yùn)行的平均值,最優(yōu)序列及最優(yōu)適應(yīng)度值取20次重復(fù)運(yùn)行中出現(xiàn)次數(shù)最多的優(yōu)化結(jié)果。
由表4可以看出,離散粒子群算法和遺傳算法均可應(yīng)用于測試集優(yōu)化并能夠收斂到某個(gè)優(yōu)化解。但離散粒子群算法在種群數(shù)量達(dá)到10以上即可較穩(wěn)定地尋得最優(yōu)解,而遺傳算法需要50以上。同時(shí),在相同的種群規(guī)模及迭代次數(shù)下,離散粒子群算法的運(yùn)行時(shí)間要短于遺傳算法,約為遺傳算法的60%。相較之下,離散粒子群算法能夠更加快速有效地實(shí)現(xiàn)故障檢測序列優(yōu)化。
通過對基于離散粒子群算法的故障檢測序列優(yōu)化方法進(jìn)行驗(yàn)證,可以發(fā)現(xiàn):故障檢測序列優(yōu)化能夠在保證故障測試全覆蓋的前提下極大減少測試數(shù)量及測試代價(jià),提高了運(yùn)載火箭的測試效率。同時(shí),基于離散粒子群算法的故障檢測序列優(yōu)化方法能夠多維度考慮影響測試選擇及實(shí)施順序的因素,包括測試成本、測試的故障檢測能力、測試狀態(tài)轉(zhuǎn)換等,對于運(yùn)載火箭的故障檢測序列優(yōu)化可行有效,且具有通用性。
[1]PattipatiKR,AlexandridisM.Applicationofheuristicsearchandinformationtheorytosequentialfaultdiagnosis[J].IEEETransactionsonSMC, 1990, 20(4): 872-887.
[2] 于勁松,張帆,萬九卿. 基于故障相關(guān)矩陣的最優(yōu)測試序列生成方法[J]. 計(jì)算機(jī)測量與控制,2009, 17(6):1077-1083. [YuJin-song,ZhangFan,WanJiu-qing.Approachofoptimaldiagnosistreegenerationbasedondependencematrix[J].ComputerMeasurement&Control, 2009, 17(6):1077-1083.]
[3] 劉成瑞,張慶振,任章. 基于擴(kuò)展故障樹的運(yùn)載火箭故障診斷專家系統(tǒng)[J]. 宇航學(xué)報(bào),2008,29(6):1936-1941. [LiuCheng-rui,ZhangQing-zhen,RenZhang.Faultdiagnosisexpertsystemforlaunchvehiclebasedonaugmentedfaulttree[J].JournalofAstronautic, 2008, 29(6):1936-1941.]
[4] 景小寧,李全通,陳云翔,等. 基于信息熵的最少測試費(fèi)用故障診斷策略[J]. 計(jì)算機(jī)應(yīng)用,2005, 25(2):417-420. [JingXiao-ning,LiQuan-tong,ChenYun-xiang,etal.Informationentropy-basedfaultdiagnosisstrategywithleasttestcost[J].ComputerApplication, 2005, 25(2):417-420.]
[5]BertsekasDP.Dynamicprogramming:deterministicandstochasticmodels[M].EnglewoodCliff,NewJersey:Prentice-Hall, 1987.
[6] 黃以鋒,景博,羅炳海,等. 基于Rollout算法的序貫多故障診斷策略[J]. 控制與決策,2015, 30(3):572-576. [HuangYi-feng,JingBo,LuoBing-hai,etal.Sequentialmultiplefaultdiagnosisstrategybasedonrolloutalgorithm[J].ControlandDesign, 2015, 30(3):572-576.]
[7] 杜敏杰,蔡金燕,劉利民. 基于分支定界-改進(jìn)AO*算法的序貫測試策略優(yōu)化[J]. 計(jì)算機(jī)測量與控制, 2012, 20(5): 1214-1218. [DuMin-jie,CaiJin-yan,LiuLi-min.Integrationofbranch-and-boundandmodifiedAO*algorithmforsequentialtestingstrategyoptimization[J].ComputerMeasurement&Control, 2012, 20(5): 1214-1218.]
[8] 蔣榮華,王厚軍,龍兵. 基于離散粒子群算法的測試選擇[J]. 電子測量與儀器學(xué)報(bào),2008, 22(2):12-15. [JiangRong-hua,WangHou-jun,LongBing.Testselectionbasedonbinaryparticleswarmoptimization[J].JournalofElectronicMeasurementandInstrument, 2008, 22(2):12-15.]
[9] 蔣榮華,王厚軍,龍兵. 基于DPSO的改進(jìn)AO*算法在大型復(fù)雜電子系統(tǒng)最優(yōu)序貫測試中的應(yīng)用[J]. 計(jì)算機(jī)學(xué)報(bào), 2008, 31(10):1835-1840. [JiangRong-hua,WangHou-jun,LongBing.ApplyingimprovedAO*basedonDPSOalgorithmintheoptimaltestsequencingproblemoflargescalecomplicatedelectricsystem[J].ChineseJournalofComputers, 2008, 31(10): 1835- 1840.]
[10] 丁昊. 基于多信號流圖的系統(tǒng)測試性建模分析及軟件設(shè)計(jì)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2013. [DingHao.Modeling,analysisandsoftwaredesignforsystemtestabilitybasedonmulti-signalflowgraph[D].Harbin:HarbinInstituteofTechnology, 2013.]
[11]DebS,PattipatiKR.Multi-signalflowgraphs:anovelapproachforsystemtestabilityanalysisandfaultdiagnosis[J].IEEEAerospaceandElectronicSystemsMagazine, 1995, 10(5): 14-25.
[12]KennedyJ,EberhartRC.Adiscretebinaryversionoftheparticleswarmalgorithm[C].The3rdProceedingsoftheWorldMultiConferenceonSystemic,CyberneticsandInformatics,Piscataway,NJ,USA,June10-July13, 1997.
[13] 陳海彬,郭建文,孫振忠,等. 基于自適應(yīng)變異粒子群優(yōu)化算法的產(chǎn)品裝配序列優(yōu)化[J]. 組合機(jī)床與自動化加工技術(shù), 2015, 7(7):153-156. [ChenHai-bin,GuoJian-wen,SunZhen-zhong,etal.Productassemblysequencesplanningbasedonadaptiveparticleswarm[J].ModularMachineTool&AutomaticManufacturingTechnique, 2015, 7(7):153-156.]
通信地址:北京市9200信箱10分箱9號(100076)
電話:18518921392
E-mial:lucky306@163.com
(編輯:張宇平)
Research on Optimal Test-Sequencing Problem for Fault Detection of Launch Vehicle
WANG Qian-qian, LAN Kun, WANG Hai-tao
(Beijing Institute of Astronautical System Engineering, Beijing 100076, China)
An algorithm based on discrete particle swarm optimization (DPSO) is proposed in this paper for the optimal test-sequencing for the fault detection of a launch vehicle. This algorithm optimizes the original test set first to obtain the optimal test set, and then optimizes the test sequence based on the optimal test set. A timing sequencing control system is taken as an example for modeling. The result shows that this algorithm not only reduces the quantity of the test sets and the test cost, but also performs much better than the genetic algorithm (GA) in the optimization results and computational efficiency.
Optimal test-sequencing problem for fault detection; Discrete particle swarm optimization; Design for testability
2016-07-29;
2017-02-09
裝備預(yù)先研究項(xiàng)目"運(yùn)載火箭快速測試與發(fā)射總體技術(shù)"(51320120301)
TH873.7
A
1000-1328(2017)04-0428-07
10.3873/j.issn.1000-1328.2017.04.013
汪芊芊(1992-),女,碩士生,主要從事運(yùn)載火箭測試性評估方面的研究。