本發(fā)明涉及系統(tǒng)測試分析與設(shè)計,尤其是涉及一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法。
背景技術(shù):
1、隨著大型武器裝備系統(tǒng)越來越復雜,導致電子設(shè)備的測試性分析與測試策略設(shè)計越來越困難。而且測試策略設(shè)計的缺陷會導致對系統(tǒng)進行故障診斷與維修產(chǎn)生的費用越來越高。一個具有良好測試性的系統(tǒng),能夠大大減少其故障檢測和隔離所需要的時間,從而顯著縮短維修時間,并能夠降低對維修人員的相應(yīng)技能要求,從而達到提高系統(tǒng)可靠性、降低壽命周期費用的目的。
2、系統(tǒng)結(jié)構(gòu)和功能比較復雜時,系統(tǒng)故障模式也具有多樣性的特點,所以一般會設(shè)計較多的測試點和測試項,在這種情況下,如果不對測試性設(shè)計進行合理規(guī)劃,將會浪費大量的測試時間。在規(guī)定的故障檢測率和故障隔離率條件下,可能只需要進行所有測試中的一部分測試就能達到系統(tǒng)要求的測試性指標參數(shù),因此需要對所設(shè)計的測試項進行優(yōu)化選擇。
3、對于確定的一組測試,如果系統(tǒng)在一步一步執(zhí)行的過程中已經(jīng)把所有故障檢測到并能夠正確隔離,那么剩下的測試就不用再執(zhí)行,反之,如果能檢測到當前故障并能正確隔離的測試最后一步才被執(zhí)行,則必須要執(zhí)行完所有測試,才能檢測并隔離當前故障源,這種測試順序與前者相比明顯降低了系統(tǒng)故障檢測和隔離的效率,并且有多余的測試存在。所以,在進行故障定位時為了使測試時間最短、費用最低,在測試之前,就需要確定每個測試項被執(zhí)行的先后順序。
4、因此,急需一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法對復雜系統(tǒng)的測試策略進行優(yōu)化,以達到上述目的。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,克服了測試項設(shè)計不合理導致的測試時間過長和測試費用較高的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供了一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,包括以下步驟:
3、s1、建立系統(tǒng)的測試性仿真模型,建立故障-測試相關(guān)矩陣;
4、s2、基于遺傳算法,改進測試項選擇策略;
5、s3、基于離散粒子群算法,完成測試序列優(yōu)化。
6、優(yōu)選的,步驟s1具體包括以下步驟:
7、s11、明確被測對象的基本結(jié)構(gòu),根據(jù)獨立性原則和物理劃分原則對被測對象進行測試性仿真建模;
8、s12、基于測試性仿真模型,通過系統(tǒng)的鄰接矩陣采用warshall算法計算系統(tǒng)的可達性矩陣,進而計算完全故障相關(guān)矩陣;
9、s13、將完全故障相關(guān)矩陣和功能故障相關(guān)矩陣結(jié)合,得到系統(tǒng)的故障-測試相關(guān)矩陣。
10、優(yōu)選的,步驟s2具體包括以下步驟:
11、s21、進行種群的初始化,確定解集的規(guī)模、解集中兩個個體交叉概率、某一個體變異概率和種群的終止進化條件;
12、s22、采用實數(shù)編碼的方式,對個體直接按照測試序號編碼,以測試序號組成個體基因的序列號,同時在隨機生成個體基因的過程中保證染色體基因序列不重復;
13、s23、設(shè)計適應(yīng)度函數(shù)以評價個體的優(yōu)良程度;
14、s24、采用輪盤賭選擇方法和最佳保留選擇法相結(jié)合的方式,并用冒泡排序選出優(yōu)良解;
15、s25、交叉方式選擇單點交叉,在每一代進化過程中選擇兩個優(yōu)良解和兩個劣勢解進行交叉操作;
16、s26、采用基本位變異和均勻變異相結(jié)合的方式,如果變異后的基因與原有個體基因有重復,則重新隨機變異,直到個體的每個基因都不同為止,并加入最優(yōu)個體保護機制,避免最優(yōu)個體參與變異。
17、優(yōu)選的,步驟s3具體包括以下步驟:
18、s31、利用離散粒子群算法對每次需要擴展的測試集進行優(yōu)化選擇;
19、s32、利用與或圖啟發(fā)式搜索算法對優(yōu)化后的結(jié)果進行擴展。
20、優(yōu)選的,步驟s31具體包括以下步驟:
21、s311、首先確定搜索空間維數(shù),即優(yōu)化后得到的測試集中包含測試的個數(shù),設(shè)定群落中的粒子數(shù);
22、s312、在離散粒子群算法中,每個粒子的速度更新公式為
23、
24、其中,w是粒子自身保持原來速度的系數(shù),c1是粒子以來自身歷史最優(yōu)位置的權(quán)重系數(shù),c2是粒子追從整個群體最優(yōu)位置的權(quán)重系數(shù),ξ和η是在區(qū)間[0,1]內(nèi)的隨機數(shù);
25、粒子的更新公式為
26、
27、s313、設(shè)計測試評價函數(shù):
28、
29、其中,p(ti)是測試ti能夠檢測到的系統(tǒng)所有可能發(fā)生故障的平均概率,n(ti)是ti能夠檢測到的故障數(shù),s(ti)是ti所檢測的所有系統(tǒng)故障中系統(tǒng)故障的最小可測度;
30、s314、測試集的評價函數(shù)為:
31、
32、式中,ts表示算法隨機選擇的測試集,t表示系統(tǒng)中所有的測試項,n是ts中包含測試項的個數(shù),ηfd和ηfl分別表示經(jīng)過測試集ts測試之后系統(tǒng)的故障檢測率和隔離率,ci表示測試ti的費用,h(ti)表示測試ti的評價函數(shù)值。
33、優(yōu)選的,步驟s32具體包括以下步驟:
34、s321、根據(jù)系統(tǒng)測試序列優(yōu)化問題數(shù)學模型中的系統(tǒng)狀態(tài)集和各狀態(tài)的先驗概率向量,生成系統(tǒng)初始狀態(tài)的霍夫曼編碼;
35、s322、計算出系統(tǒng)各狀態(tài)的霍夫曼編碼長度,根據(jù)故障-測試相關(guān)矩陣,對系統(tǒng)初始節(jié)點進行擴展;
36、s323、在初始故障狀態(tài)集s=(s1,s2,…s12)中進行測試tj后,將故障集分為了兩部分,sjp由不能被測試tj檢測到的系統(tǒng)故障組成,sjf由能被tj檢測到的故障組成,根據(jù)狀態(tài)集的概率和狀態(tài)集的啟發(fā)函數(shù)值計算對應(yīng)測試的估價函數(shù)值。
37、因此,本發(fā)明采用上述一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,通過遺傳算法出了最優(yōu)的測試項集合,并結(jié)合與或圖啟發(fā)式搜索算法和離散粒子群算法這兩種算法的優(yōu)點完成了系統(tǒng)測試序列優(yōu)化,跟傳統(tǒng)算法相比大大減少了計算過程和計算量。
38、下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
1.一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,步驟s1具體包括以下步驟:
3.根據(jù)權(quán)利要求1所述的一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,步驟s2具體包括以下步驟:
4.根據(jù)權(quán)利要求1所述的一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,步驟s3具體包括以下步驟:
5.根據(jù)權(quán)利要求4所述的一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,步驟s31具體包括以下步驟:
6.根據(jù)權(quán)利要求4所述的一種基于遺傳算法和離散粒子群算法的測試策略優(yōu)化方法,其特征在于,步驟s32具體包括以下步驟: