范苗,許一川,謝定君,彭輝
1中國(guó)艦船研究設(shè)計(jì)中心,湖北武漢430064
2武漢大學(xué)電氣工程學(xué)院,湖北武漢430072
測(cè)試性作為裝備的一種設(shè)計(jì)特性,是構(gòu)成武器裝備質(zhì)量特性的重要組成部分。優(yōu)良的測(cè)試性設(shè)計(jì)可以提高裝備的戰(zhàn)備完好性、任務(wù)成功性和安全性,減少維修人力和其他保障資源,降低全壽期費(fèi)用[1]。測(cè)試集優(yōu)化以及測(cè)試序列求解是測(cè)試性分析的重要研究?jī)?nèi)容,其正確性和診斷能力的優(yōu)劣將直接影響到裝備維修保障的效率。
對(duì)艦船作戰(zhàn)系統(tǒng)而言,系統(tǒng)級(jí)測(cè)試是指針對(duì)任務(wù)通道的測(cè)試,目的是驗(yàn)證作戰(zhàn)系統(tǒng)的功能與性能是否滿足技術(shù)規(guī)格書的定義,用以為故障診斷提供信息。目前,艦船作戰(zhàn)系統(tǒng)所應(yīng)用的測(cè)試性分析方案主要源自專家經(jīng)驗(yàn)或啟發(fā)式函數(shù)。隨著艦船武器系統(tǒng)的復(fù)雜性和集成性的不斷提高,艦船設(shè)備單元的層級(jí)和數(shù)量也在大量增加,因此難以保證診斷策略的正確性和優(yōu)化精度。同時(shí),人工手動(dòng)測(cè)試方法耗時(shí)長(zhǎng)、測(cè)試序列重復(fù)度高,其相應(yīng)的測(cè)試性分析結(jié)果已無(wú)法滿足現(xiàn)代艦船系統(tǒng)的維護(hù)效率要求。因此,研究適用于艦船作戰(zhàn)系統(tǒng)的高效、準(zhǔn)確的測(cè)試性分析方案以及實(shí)用化的工具與技術(shù)手段,已成為海軍艦船裝備能力發(fā)展亟待解決的問(wèn)題。
測(cè)試集優(yōu)化和測(cè)試序列求解是測(cè)試性分析的關(guān)鍵內(nèi)容,在減少冗余測(cè)試、提高故障檢測(cè)率和故障隔離率、降低期望測(cè)試代價(jià)等方面具有重要意義,其正確性和診斷能力的優(yōu)劣將直接影響裝備維修保障的效率。在測(cè)試集優(yōu)化的相關(guān)研究中,有關(guān)學(xué)者提出了基于蟻群算法[2]、Rollout算法[3]、多目標(biāo)離散粒子群算法[4]、模擬退火算法[5]的優(yōu)化方案,其中前2種方法存在優(yōu)化目標(biāo)單一、優(yōu)化精度不高等缺點(diǎn),后2種方法存在初始搜索空間較為龐大、因適應(yīng)度函數(shù)構(gòu)造不唯一導(dǎo)致的搜索效率較低等問(wèn)題。而測(cè)試序列優(yōu)化是NP完全問(wèn)題(Non-deterministic Polynomial complete problem),即在測(cè)試集優(yōu)化的前提下,尋求測(cè)試代價(jià)最小的診斷策略[6]。為此,Shakeri等[7]提出了基于信息理論概念和啟發(fā)式函數(shù)的AO*算法,即通過(guò)啟發(fā)式評(píng)估函數(shù)計(jì)算各候選測(cè)試的優(yōu)先程度,自頂而下擴(kuò)展診斷樹(shù)節(jié)點(diǎn)并同時(shí)向上回溯修正。在此基礎(chǔ)上,相關(guān)學(xué)者提出了改進(jìn)信息熵算法以及一步前向回溯的Rollout算法[8]等改進(jìn)方案,其通過(guò)縮小待擴(kuò)展節(jié)點(diǎn)范圍、減少回溯次數(shù)來(lái)降低原有AO*算法的計(jì)算復(fù)雜度。然而,這些方法仍然存在高效啟發(fā)式評(píng)價(jià)函數(shù)的選取問(wèn)題以及不能保證獲得全局最優(yōu)解的問(wèn)題。在智能算法方面,基于混合粒子群算法和蟻群算法[9]的優(yōu)化方案已被成功用于求解最優(yōu)診斷策略。由于適應(yīng)度函數(shù)直接由測(cè)試序列所對(duì)應(yīng)的測(cè)試代價(jià)構(gòu)造,其優(yōu)化精度較高、算法運(yùn)行時(shí)間較長(zhǎng),故適用于對(duì)計(jì)算實(shí)時(shí)性要求不高的測(cè)試性分析。
鑒此,本文將首先通過(guò)評(píng)估艦船作戰(zhàn)系統(tǒng)初始相關(guān)性矩陣的隔離能力,確定最小完備測(cè)試集所包含的測(cè)試數(shù)目,構(gòu)造唯一的適應(yīng)度函數(shù),從而采用離散蝙蝠算法實(shí)現(xiàn)測(cè)試集的優(yōu)化工作;然后,將對(duì)優(yōu)化結(jié)果采用離散蝙蝠算法,得到比其他算法平均期望測(cè)試代價(jià)更小的測(cè)試序列,用以為測(cè)試性分析方案提供新的思路。
艦船作戰(zhàn)系統(tǒng)是通過(guò)警戒、跟蹤、目標(biāo)識(shí)別、數(shù)據(jù)處理、威脅估計(jì)以及控制武器實(shí)現(xiàn)對(duì)敵作戰(zhàn)功能的各要素綜合體[10]。作為艦船的核心,作戰(zhàn)系統(tǒng)集成了大量的先進(jìn)電子武器裝備[11],包括雷達(dá)系統(tǒng)、作戰(zhàn)指揮系統(tǒng)、武器系統(tǒng)和綜合通信系統(tǒng)等分系統(tǒng)。本文將采用以多信號(hào)流圖模型為基礎(chǔ)的測(cè)試性建模理論,選取作戰(zhàn)系統(tǒng)中較為典型的故障模式來(lái)表述各故障模式之間的關(guān)聯(lián)并進(jìn)行測(cè)試性的初步分析。1994年,美國(guó)康涅狄格大學(xué)的Pattipati教授和Somnath教授提出了多信號(hào)流圖模型。該方法基于研究對(duì)象的結(jié)構(gòu)和功能,以分層有向圖的形式來(lái)表示信號(hào)流向與各功能單元之間的連接關(guān)系,即通過(guò)定義信號(hào)與組成單元所包含的故障模式、測(cè)試點(diǎn)所包含的測(cè)試信息,來(lái)表示系統(tǒng)組成、故障、信號(hào)以及測(cè)試點(diǎn)之間相關(guān)性的一種模型化表示方法[12]。
多信號(hào)流圖模型的主要建模過(guò)程[12]如下:
1)熟悉建模對(duì)象,明確系統(tǒng)的組成結(jié)構(gòu),識(shí)別和提取模型信息,主要包括系統(tǒng)各組成單元和功能單元的輸入/輸出信號(hào)、故障模式、故障率信息和測(cè)試信息等。
2)構(gòu)建多信號(hào)流圖模型。首先,根據(jù)系統(tǒng)組成建立系統(tǒng)的結(jié)構(gòu)模型(原理圖或概念框圖);然后,將功能信號(hào)添加至系統(tǒng)各組成單元,并根據(jù)信號(hào)流向確定組成單元的輸入、輸出以及各單元之間的連接關(guān)系,從而建立有向圖;最后,添加測(cè)試點(diǎn)位置以及測(cè)試點(diǎn)所包含的測(cè)試信息,并設(shè)置模型中各節(jié)點(diǎn)的屬性。
3)對(duì)模型的測(cè)試性能進(jìn)行初步評(píng)估,并結(jié)合工程實(shí)際對(duì)模型進(jìn)行調(diào)整、校驗(yàn)和修改。
本文利用TesLab軟件提供的測(cè)試性建模與分析工具,對(duì)系統(tǒng)的測(cè)試性水平進(jìn)行分析和評(píng)估,并選取20種典型的故障模式來(lái)完成艦船作戰(zhàn)系統(tǒng)的多信號(hào)流圖建模。故障模式模型和相關(guān)性矩陣分別如圖1和表1所示。表1中,F(xiàn)0為無(wú)故障狀態(tài),F(xiàn)1~F20分別為圖1中的20種故障模式,t1~t18為測(cè)試性建模過(guò)程中初步選定的測(cè)試方案。表1中的故障概率數(shù)據(jù)來(lái)源于各二級(jí)系統(tǒng)的設(shè)計(jì)數(shù)據(jù)以及裝備實(shí)際應(yīng)用的統(tǒng)計(jì)數(shù)據(jù)(本文中數(shù)據(jù)僅為示例,并非實(shí)船數(shù)據(jù))。
圖1 艦船作戰(zhàn)系統(tǒng)的故障模式模型圖Fig.1 Illustration model of ship combat system failure mode
表1 故障—測(cè)試的依賴關(guān)系矩陣Table 1 Dependency matrix of fault-test
2010年,提出了一種新的元啟發(fā)式算法,即蝙蝠算法[13](Bat Algorithm,BA),其優(yōu)化機(jī)理是模擬自然界微型蝙蝠躲避障礙物并尋找目標(biāo)的回聲定位原理。針對(duì)這種已成功應(yīng)用于連續(xù)域函數(shù)優(yōu)化問(wèn)題的隨機(jī)搜索優(yōu)化算法,為了對(duì)其進(jìn)行改進(jìn)以解決組合優(yōu)化問(wèn)題,文獻(xiàn)[14-16]以旅行商(TSP)問(wèn)題為例提出了離散蝙蝠算法(Discrete Bat Algorithm,DBA),仿真結(jié)果表明離散蝙蝠算法在尋優(yōu)能力、偏差率、收斂率、時(shí)間耗費(fèi)等指標(biāo)上的優(yōu)勢(shì)遠(yuǎn)超其他傳統(tǒng)算法。由于測(cè)試性分析中的測(cè)試序列優(yōu)化問(wèn)題僅與旅行商問(wèn)題的目標(biāo)函數(shù)不同,因此可以采用DBA來(lái)完成測(cè)試執(zhí)行順序的優(yōu)化求解,并可將該方法應(yīng)用于測(cè)試集優(yōu)化問(wèn)題。
在離散蝙蝠算法中,每個(gè)蝙蝠的位置表示待優(yōu)化問(wèn)題的一個(gè)可行解。對(duì)于種群規(guī)模為m的蝙蝠而言,蝙蝠個(gè)體i(i=1,2,…,m)發(fā)出聲波的頻率f(i)為
式中:fmax,fmin分別為聲波頻率的最大值和最小值;β∈[0,1],為隨機(jī)數(shù)。
設(shè)蝙蝠個(gè)體i在t時(shí)刻的速度矩陣和位置向量分別為vt(i),xt(i),則蝙蝠個(gè)體i在t+1時(shí)刻的速度vt+1(i)和位置xt+1(i)為:
式中:x*為t時(shí)刻搜索過(guò)程中蝙蝠的全局最優(yōu)位置向量。
式(2)中,向量xt(i)與向量x*的差值定義如下:
設(shè)xt(i)=(x1,x2,…,xn),x*=(x*1,x*2,…,x*n),其中n為蝙蝠搜索空間的維度;設(shè)vd為第i個(gè)蝙蝠的位置差,初始化矩陣vd為空集。逐一檢查xt(i),x*的每個(gè)分量,若xn-x*n≠0 ,則將向量 (xn,x*n)作為矩陣vd的第1列,并以此方式逐列疊加。
式(2)中,vt+1(i)的定義如下:
設(shè)速度向量vt(i)為n×2的整數(shù)矩陣,且矩陣元 素 為 1~n 的 自 然 數(shù) ;設(shè)v=vt(i)∪vd,l=round[f(i)·n)]+1,其中round函數(shù)表示向下取整。從矩陣v中隨機(jī)抽取l行,即可得到蝙蝠個(gè)體i在t+1時(shí)刻的速度向量vt+1(i)。
式(3)中,xt+1(i)的定義如下:
根據(jù)式(2)可知vt+1(i)為l×2的矩陣,設(shè)矩陣vt+1(i)中第1列元素為p和q,交換向量xt(i)中第p個(gè)元素和第q個(gè)元素的位置,如此逐列操作直至vt+1(i)的第l列,即可得到t+1時(shí)刻蝙蝠個(gè)體i的位置向量xt+1(i)。
在獲取目標(biāo)的過(guò)程中,為了均衡局部搜索和全局搜索,蝙蝠需要調(diào)節(jié)發(fā)射聲波的響度和頻率。設(shè)蝙蝠個(gè)體i在t時(shí)刻發(fā)出聲波的響度為At,初始聲波響度為A0,脈沖發(fā)射速率為rt,則蝙蝠個(gè)體i在t+1時(shí)刻的聲波響度At+1和脈沖發(fā)射速率rt+1為:
式中:α∈[0,1],為聲波響度增強(qiáng)系數(shù);r0為初始脈沖發(fā)射速率;γ為脈沖發(fā)射速率衰減系數(shù),是一個(gè)常量。
局部搜索的主要步驟如下:
1)在[0,1]范圍內(nèi)生成一個(gè)隨機(jī)數(shù)rand1,判斷rand1>rt是否成立。若成立,則對(duì)當(dāng)前位置施加隨機(jī)擾動(dòng),得到新解xnew,并計(jì)算新解的函數(shù)適應(yīng)值fitness(xnew),其中fitness為適應(yīng)度函數(shù)。
2)在[0,1]范圍內(nèi)生成另一個(gè)隨機(jī)數(shù)rand2,判斷rand2>At和fitness(xnew)<fitness[xt(i)]是否同時(shí)成立。如果成立,則接受新解xnew,同時(shí)按照式(4)和式(5)更新At和rt。
3)重復(fù)上述步驟不斷更新蝙蝠位置向量,直至達(dá)到最大迭代次數(shù)并輸出最優(yōu)解。
首先,通過(guò)建立系統(tǒng)的多信號(hào)流圖模型來(lái)得到相關(guān)性矩陣;然后,合并模糊組并刪除冗余測(cè)試。以構(gòu)建診斷用測(cè)試集為例,測(cè)試集優(yōu)化的目的是找到滿足系統(tǒng)所要求故障隔離率的測(cè)試集,并在滿足最大故障隔離率的條件下令測(cè)試集中的測(cè)試數(shù)目最少、測(cè)試代價(jià)最低,其中所優(yōu)化的目標(biāo)按重要性依次為最大故障隔離數(shù)、最小測(cè)試數(shù)目和最低平均測(cè)試代價(jià)。對(duì)于n維蝙蝠搜索空間,初始測(cè)試集中的測(cè)試數(shù)目即為n。本文采用二進(jìn)制編碼來(lái)表示相應(yīng)測(cè)試的選取操作,其中編碼1表示選取相應(yīng)序號(hào)的測(cè)試,編碼0表示不選取相應(yīng)序號(hào)的測(cè)試。
在測(cè)試集尋優(yōu)過(guò)程中,為減少離散蝙蝠算法的迭代次數(shù),首先需要確定最優(yōu)測(cè)試集中所包含的測(cè)試數(shù)量。通過(guò)分析系統(tǒng)初始相關(guān)性矩陣,可以得到所設(shè)計(jì)的測(cè)試集合能隔離的最大故障數(shù)目Imax。理論上,n個(gè)測(cè)試的最大故障隔離數(shù)為2n,當(dāng)2n<Imax時(shí),所選擇的測(cè)試數(shù)目不可能使系統(tǒng)故障隔離率最大,故需添加測(cè)試數(shù)目再次進(jìn)行測(cè)試性分析。
本文采用鏈長(zhǎng)為1的模擬退火方式,按概率接受對(duì)測(cè)試進(jìn)行擾動(dòng)后的故障隔離數(shù)目。采用的擾動(dòng)方式為三變換法,即任選序號(hào)U,V,W(U<V<W≤n),將序號(hào)U,V及其之間的二進(jìn)制編碼插入序號(hào)W之后。同時(shí),與傳統(tǒng)優(yōu)化問(wèn)題中為避免陷入局部最優(yōu)而進(jìn)行的局部搜索步驟不同,該算法的最大故障隔離數(shù)目已經(jīng)確定,因此當(dāng)找到最優(yōu)解后無(wú)需再添加隨機(jī)擾動(dòng),直接輸出測(cè)試數(shù)目即可。求解最小測(cè)試數(shù)目的流程如圖2所示。其中:N為采用信息熵算法求得的最優(yōu)完備測(cè)試集中所包含的測(cè)試數(shù)目,用以防止算法避開(kāi)最優(yōu)解;I1為隨機(jī)抽取產(chǎn)生的測(cè)試集的故障隔離數(shù)目;I2為擾動(dòng)后所選取測(cè)試集的故障隔離數(shù)目;e為經(jīng)測(cè)試集優(yōu)化后所得的最小完備測(cè)試集中的測(cè)試數(shù)目。
圖2 確定最小測(cè)試數(shù)目的實(shí)現(xiàn)流程圖Fig.2 The realization flow chart for determining the minimum number of tests
確定最小完備測(cè)試集的測(cè)試數(shù)目之后,需要構(gòu)造合理的適應(yīng)度函數(shù)并依據(jù)重要性來(lái)優(yōu)化故障隔離數(shù)目和平均測(cè)試代價(jià)。本文采用統(tǒng)一的適應(yīng)度函數(shù)以避免使用條件嵌套語(yǔ)句,從而減少程序的運(yùn)行時(shí)間。
式中:cmax為所選的測(cè)試代價(jià)列向量中n個(gè)最大測(cè)試代價(jià)之和;cmin為所選的測(cè)試代價(jià)列向量中n個(gè)最小測(cè)試代價(jià)之和;X為使不等式成立的任一正實(shí)數(shù)。
為了優(yōu)先考慮所選測(cè)試的故障隔離能力,式(6)實(shí)際上表示了2種最不理想的情況:一是故障隔離數(shù)目和平均測(cè)試代價(jià)同時(shí)達(dá)到最大;二是故障隔離數(shù)目第2大,平均測(cè)試代價(jià)最小。當(dāng)找到合適的X值時(shí),適應(yīng)度函數(shù)可以簡(jiǎn)化為
式中:fitness[xt(i)]為適應(yīng)度函數(shù)值;I為所選測(cè)試集的故障隔離數(shù)目;C為測(cè)試代價(jià)列向量。
采用離散蝙蝠算法時(shí),由于二進(jìn)制編碼中蝙蝠位置向量的減法操作與TSP問(wèn)題有所不同,故需要對(duì)第2節(jié)中關(guān)于蝙蝠位置向量差的操作進(jìn)行重新定義。設(shè)第i個(gè)蝙蝠的位置向量為xi=(x1,x2,…,xn),當(dāng)前全局最優(yōu)的蝙蝠位置向量為x*=(x*1,x*2,…,x*n)。定義第 i個(gè)蝙蝠位置向量的減法操作為:分別記錄向量xi和x*每個(gè)分量中編碼為0的序號(hào)集合矩陣xi0和x*0,則第i個(gè)蝙蝠的位置向量差為vd=[xi0;x*0]'。同時(shí),在初始解空間中加入確定最小測(cè)試數(shù)目過(guò)程中最終輸出的蝙蝠位置向量,以進(jìn)一步避免算法陷入局部最優(yōu),而其他操作定義、算子設(shè)計(jì)和算法步驟則與基本離散蝙蝠算法保持一致。
本文將以艦船作戰(zhàn)系統(tǒng)測(cè)試性模型為研究對(duì)象,對(duì)初始測(cè)試集進(jìn)行優(yōu)化。優(yōu)化算法中的相關(guān)參數(shù)為:在確定最小測(cè)試數(shù)目的算法中,設(shè)初始溫度T0=1,降溫速率為0.99,終止溫度為6.6×10-3。在離散蝙蝠算法中,設(shè)蝙蝠種群規(guī)模m=10,fmin=0,fmax=1,A0=1.6,r0=0.000 1。由于測(cè)試集優(yōu)化問(wèn)題的復(fù)雜度較低,α和γ的取值對(duì)優(yōu)化結(jié)果的影響很小,所以根據(jù)經(jīng)驗(yàn)取α=0.9,γ=0.9,迭代次數(shù)Maxgen=100。將基于離散蝙蝠算法的測(cè)試集優(yōu)化結(jié)果分別與混合粒子群—遺傳算法(HPSOGA)、改進(jìn)離散粒子群優(yōu)化(DPSO)算法、信息熵算法、Rollout算法、蟻群優(yōu)化(ACO)算法、最大/最小蟻群優(yōu)化(MMACO)算法和模擬退火算法(SAA)進(jìn)行比較,對(duì)各算法分別運(yùn)行50次,仿真結(jié)果取平均值。其中各算法迭代次數(shù)與本文算法保持一致,均為150。
期望測(cè)試代價(jià)統(tǒng)一采用離散蝙蝠算法,迭代次數(shù)為Maxgen'=300。優(yōu)化過(guò)程中的相關(guān)統(tǒng)計(jì)指標(biāo)如表2所示。
從仿真結(jié)果可知,與其他主流算法相比,本文采用的優(yōu)化算法在平均故障隔離數(shù)、平均測(cè)試個(gè)數(shù)、期望測(cè)試代價(jià)和最優(yōu)比例方面均取得了更為理想的結(jié)果。其中故障隔離率最多可提高5.5%,平均測(cè)試個(gè)數(shù)、平均測(cè)試代價(jià)最多可分別下降1.4%和6.35%,達(dá)到最優(yōu)的比例可增至86%。同時(shí),在群智能優(yōu)化算法中,本文算法的平均收斂時(shí)間也較短。仿真結(jié)果表明,本文算法可以成功應(yīng)用于測(cè)試集優(yōu)化問(wèn)題。
在僅考慮發(fā)生單一故障的前提下,得到相關(guān)性矩陣并對(duì)測(cè)試集優(yōu)化后,需要根據(jù)可靠性求解測(cè)試代價(jià)最優(yōu)的診斷策略。其中,各組成單元的可靠性數(shù)據(jù)(故障率或故障概率)可從可靠性設(shè)計(jì)分析資料中獲取,而與測(cè)試相關(guān)的代價(jià)則應(yīng)考慮測(cè)試時(shí)間、測(cè)試點(diǎn)設(shè)計(jì)費(fèi)、研制費(fèi)用和實(shí)施測(cè)試所需的費(fèi)用等。因此,測(cè)試序列優(yōu)化的目標(biāo)即令隔離系統(tǒng)故障狀態(tài)所需的總期望測(cè)試費(fèi)用J最小,其適應(yīng)度函數(shù)為
表2 診斷測(cè)試集優(yōu)化結(jié)果比較Table 2 Comparison of test set optimization for fault diagnosis
式中:P為故障概率向量;I為故障隔離矩陣[17];a為故障模式數(shù)量;b為故障模式序號(hào),b=0,為隔離故障模式Fb所需的測(cè)試序列pb的長(zhǎng)度;j為測(cè)試序列pb的測(cè)試序號(hào),j=1,2,…,;為pb所對(duì)應(yīng)測(cè)試序號(hào)j的代價(jià)值;p(Fb)為故障模式Fb發(fā)生的概率。
在測(cè)試性設(shè)計(jì)工程中,測(cè)試序列優(yōu)化的目的是找到一組合適的測(cè)試執(zhí)行順序,使得期望測(cè)試費(fèi)用最低,用以為裝備維修保障提供支撐。
基于離散蝙蝠算法的測(cè)試序列優(yōu)化的基本步驟如下:
1)設(shè)蝙蝠種群的規(guī)模為m,隨機(jī)生成初始蝙蝠位置集合S,采用反向?qū)W習(xí)機(jī)制求出反向的蝙蝠位置集合S*。根據(jù)適應(yīng)值大小對(duì)集合S,S*中的位置進(jìn)行優(yōu)劣排序,取適應(yīng)度函數(shù)值前m位的蝙蝠位置作為初始解集。通過(guò)將初始解較為均勻地集中在優(yōu)質(zhì)解區(qū)域中,可以在保證優(yōu)化精度的同時(shí)減少算法運(yùn)行時(shí)間。
2)參數(shù)初始化。設(shè)置初始脈沖發(fā)射頻率r0、初始聲波響度A0、聲波頻率的最大值fmax和最小值fmin、聲波響度增強(qiáng)系數(shù)α、脈沖發(fā)射速率衰減系數(shù)γ、算法迭代次數(shù)Maxgen。設(shè)隨機(jī)生成的第i個(gè)蝙蝠速度初始矩陣為v0(i),其中v0(i)是維度為n×2的矩陣,其元素取值范圍為自然數(shù)1~n。
3)按照式(2)和式(3)分別更新每個(gè)蝙蝠的速度與位置。
4)在[0,1]范圍內(nèi)生成一個(gè)隨機(jī)數(shù)rand1,判斷rand1>rt是否成立。若成立,則對(duì)當(dāng)前位置采用3變換法施加隨機(jī)擾動(dòng),產(chǎn)生新解xnew,并計(jì)算新解對(duì)應(yīng)的函數(shù)適應(yīng)值fitness(xnew)。
5)在[0,1]范圍內(nèi)生成另一個(gè)隨機(jī)數(shù)rand2,若rand2>At且適應(yīng)度函數(shù)滿足fitness(xnew)<fitness[xi],則接受收步驟 4)中產(chǎn)生的新解xnew,并按式(4)和式(5)更新At和rt。
6)更新當(dāng)前時(shí)刻最優(yōu)解x*,判斷迭代終止條件是否滿足。若不滿足,則轉(zhuǎn)至步驟3);若滿足,則停止迭代計(jì)算過(guò)程。
7)輸出最優(yōu)解。
完成測(cè)試集優(yōu)化后,即可采用基于離散蝙蝠算法的優(yōu)化方案來(lái)確定最優(yōu)測(cè)試序列,離散蝙蝠算法的相關(guān)參數(shù)為:蝙蝠種群規(guī)模m=10,fmin=0,fmax=1,A0=1.5,r0=0.000 1,α=0.9,γ=0.99,Maxgen=300。其中參數(shù)α和γ的取值由仿真實(shí)驗(yàn)確定,分別在0.9~1的范圍內(nèi)每隔0.01取值做100組實(shí)驗(yàn)。仿真結(jié)果表明,當(dāng)α=0.9,γ=0.99時(shí),算法運(yùn)行結(jié)果最優(yōu)。將基于離散蝙蝠算法的優(yōu)化結(jié)果分別與基于信息熵、改進(jìn)信息熵方案、Rollout算法、HPSO算法、ACO算法、MMA?CO算法進(jìn)行對(duì)比,對(duì)各智能算法分別運(yùn)行50次,其平均期望測(cè)試代價(jià)、最優(yōu)期望測(cè)試代價(jià)、最優(yōu)測(cè)試序列結(jié)果、算法平均收斂時(shí)間、平均偏差和收斂率指標(biāo)的對(duì)比結(jié)果如表3所示。其中,平均偏差為算法的最終運(yùn)算結(jié)果與其最優(yōu)結(jié)果之差的平均值,收斂率為算法運(yùn)行結(jié)果成功收斂至本算法最優(yōu)期望測(cè)試代價(jià)的比例。
表3 測(cè)試序列優(yōu)化結(jié)果對(duì)比Table 3 Comparison of test sequence optimization
由表3可知,與其他算法相比,基于離散蝙蝠算法的測(cè)試序列優(yōu)化結(jié)果所需的期望測(cè)試代價(jià)最多可以降低17.01%,且平均期望測(cè)試代價(jià)最低,平均收斂速度在智能算法中最快,證明了離散蝙蝠算法應(yīng)用于測(cè)試序列優(yōu)化問(wèn)題的優(yōu)勢(shì),但離散蝙蝠算法在收斂率方面仍有一定的改進(jìn)空間。另一方面,與信息熵算法、改進(jìn)信息熵算法、Rollout算法相比,群智能優(yōu)化算法用時(shí)較長(zhǎng),考慮到本文算法僅應(yīng)用于測(cè)試性設(shè)計(jì)階段而非故障的實(shí)時(shí)隔離診斷階段,為了獲得優(yōu)化精度更高的結(jié)果,所以對(duì)算法的時(shí)間要求較低。由離散蝙蝠算法確定的最優(yōu)測(cè)試序列所構(gòu)成的系統(tǒng)診斷策略優(yōu)化過(guò)程如圖3所示。
圖3 基于離散蝙蝠算法優(yōu)化的診斷策略Fig.3 Optimizing strategy of fault diagnosis based on discrete bat algorithm optimization
本文采用基于離散蝙蝠算法的優(yōu)化方案,完成了對(duì)艦船作戰(zhàn)系統(tǒng)測(cè)試性分析中測(cè)試集優(yōu)化和測(cè)試序列優(yōu)化問(wèn)題的求解,為系統(tǒng)的測(cè)試診斷和功能驗(yàn)證提供了新的研究思路。同時(shí),該方法較為簡(jiǎn)單,可以推廣至其他武器裝備系統(tǒng)的測(cè)試性工程應(yīng)用中。通過(guò)在設(shè)計(jì)階段提高測(cè)試性分析的優(yōu)化精度,可對(duì)武器裝備系統(tǒng)測(cè)試性模型的改進(jìn)和后期的維修保障工作提供更高效的指導(dǎo)。然而,隨著測(cè)試規(guī)模的進(jìn)一步增加,采用群智能優(yōu)化算法進(jìn)行測(cè)試性分析時(shí)需要以大量的算法運(yùn)行時(shí)間為代價(jià)才能獲得更高的優(yōu)化精度,這將為測(cè)試性設(shè)計(jì)工作帶來(lái)不便。但隨著測(cè)試手段智能化水平的不斷提升,可以結(jié)合數(shù)據(jù)分析對(duì)測(cè)試信息進(jìn)行收集、處理,并通過(guò)初步確定故障范圍來(lái)合理縮小診斷策略優(yōu)化設(shè)計(jì)過(guò)程中的測(cè)試范圍,從而實(shí)現(xiàn)優(yōu)化精度與算法運(yùn)行時(shí)間的平衡,以進(jìn)一步改善測(cè)試性分析方案。