張子劍,姜 利,龍中權(quán),林 海,劉 虎
(北京宇航系統(tǒng)工程研究所,北京 100076)
對(duì)于系統(tǒng)的可靠性進(jìn)行理論研究時(shí)候,需要通過(guò)系統(tǒng)測(cè)試性分析完成系統(tǒng)的整體測(cè)試和檢測(cè)來(lái)提高系統(tǒng)的可靠性,保證系統(tǒng)在發(fā)射前有正常狀態(tài),從而保證系統(tǒng)的發(fā)射成果,同時(shí)如果遇到問(wèn)題,可以快速地發(fā)現(xiàn)問(wèn)題并解決[1]。國(guó)內(nèi)外對(duì)于導(dǎo)彈、火箭等武器系統(tǒng)的研究,是需要進(jìn)行大量彈射實(shí)驗(yàn)和演示驗(yàn)證,完成重點(diǎn)成果的輸出[2-3]。飛行器進(jìn)行試驗(yàn)發(fā)射前,需要在地面對(duì)飛行器各個(gè)設(shè)備的工作狀態(tài)進(jìn)行逐一檢查,完成檢查后按照規(guī)定流程進(jìn)行發(fā)射,地面測(cè)試系統(tǒng)的測(cè)試結(jié)果決定飛行器是否具備發(fā)射條件,所以飛行器測(cè)試也十分重要[4]。
對(duì)于本文研究的飛行器發(fā)射控制系統(tǒng)進(jìn)行故障分析時(shí)候,由于系統(tǒng)結(jié)構(gòu)組成復(fù)雜,故采取逐層分析的故障分析方法。分析3個(gè)子部分之間聯(lián)系的故障形式,從而分析出系統(tǒng)的可能故障形式,分析其原因和產(chǎn)生的后果,最后針對(duì)可能潛在出現(xiàn)的故障采用相應(yīng)的措施和檢測(cè)手段,從而保證整個(gè)系統(tǒng)的可靠性和安全性。
1.1.1 故障模式
針對(duì)飛行器發(fā)射控制系統(tǒng)進(jìn)行研究時(shí)候,由于其組成部件數(shù)量巨多,故可能會(huì)產(chǎn)生很多的故障形式,而且系統(tǒng)完成很多功能,每個(gè)功能實(shí)現(xiàn)過(guò)程中可能會(huì)出現(xiàn)很多故障模式,但是,分析故障時(shí)候要把握完備性和唯一性兩個(gè)基本要求,即要將系統(tǒng)故障識(shí)別全面并且識(shí)別出的故障模式是明確的,彼此之間互相排斥,不存在交叉部分。并且對(duì)于系統(tǒng)的故障分析要全面,盡可能將系統(tǒng)的所有可能發(fā)生的故障進(jìn)行分析和整理,進(jìn)而可以分析出系統(tǒng)的薄弱環(huán)節(jié),從而在進(jìn)行系統(tǒng)的設(shè)計(jì)的時(shí)候,可以對(duì)這部分薄弱的環(huán)節(jié)進(jìn)行重點(diǎn)設(shè)計(jì),提高其可靠度。故障模式獲取方法有很多,包括分析、預(yù)測(cè)、實(shí)驗(yàn)、統(tǒng)計(jì)等。
當(dāng)我們進(jìn)行系統(tǒng)的故障分析的時(shí)候,可以根據(jù)如下原則進(jìn)行故障模式分析[5]:
1)對(duì)于具有相似的系統(tǒng)組成部分,可以根據(jù)已有的相似功能單元或者具有相似結(jié)構(gòu)的單元出現(xiàn)的故障,從而進(jìn)行系統(tǒng)的故障分析。
2)根據(jù)系統(tǒng)的統(tǒng)計(jì)數(shù)據(jù)和測(cè)試數(shù)據(jù)不斷豐富系統(tǒng)的故障模式。
3)對(duì)于常見(jiàn)的元器件、零部件等,可以根據(jù)國(guó)內(nèi)外標(biāo)準(zhǔn)手冊(cè)確定失效模式。
1.1.2 故障原因分析
通過(guò)對(duì)系統(tǒng)進(jìn)行故障識(shí)別后,為了提高系統(tǒng)可靠度,還需要通過(guò)故障原因分析找出系統(tǒng)的每個(gè)故障模式產(chǎn)生的原因,進(jìn)而可以做出針對(duì)性的改進(jìn),從系統(tǒng)設(shè)計(jì)階段就可以消除故障產(chǎn)生的可能性。對(duì)于故障原因進(jìn)行分析的時(shí)候可以從兩個(gè)角度進(jìn)行分析,即成因機(jī)理和成因階段。成因階段就是包括設(shè)計(jì)階段、制造階段和使用階段,從而可以根據(jù)階段設(shè)計(jì)相應(yīng)措施進(jìn)而消減故障,降低系統(tǒng)故障的可能性,從而提高系統(tǒng)的可靠性[6]。
1.1.3 嚴(yán)酷度分析
結(jié)合已有的針對(duì)武器系統(tǒng)的嚴(yán)酷度定義,本文對(duì)飛行器發(fā)射控制系統(tǒng)的嚴(yán)酷度進(jìn)行定義如表1所示[7]。
表1 嚴(yán)酷度定義
對(duì)于系統(tǒng)來(lái)講,由于要保證人員安全和發(fā)射過(guò)程中各個(gè)系統(tǒng)接收開(kāi)始動(dòng)作信號(hào)的同步,采用分布式設(shè)計(jì),主要分為3個(gè)子部分,遠(yuǎn)端發(fā)控設(shè)備、前端測(cè)控設(shè)備、飛行器控制設(shè)備。由于飛行器發(fā)射控制系統(tǒng)中,直流穩(wěn)壓電源、光電轉(zhuǎn)換模塊、飛行器控制供電模塊等可靠性非常高,并且由于設(shè)計(jì)重量、費(fèi)用的要求,故擬在遠(yuǎn)端發(fā)控裝置、前端測(cè)控裝置、時(shí)序控制器這三部分進(jìn)行冗余余度設(shè)計(jì)。經(jīng)過(guò)理論計(jì)算和推導(dǎo),飛行器發(fā)射控制單元采用三冗余結(jié)構(gòu),前端測(cè)控單元采用主備份二冗余設(shè)計(jì),遠(yuǎn)端不采用冗余設(shè)計(jì)。并且實(shí)際飛行器發(fā)射控制系統(tǒng)要完成飛行器發(fā)射需要嚴(yán)格按照時(shí)序完成動(dòng)作,實(shí)際運(yùn)行過(guò)程飛行器控制系統(tǒng)需要實(shí)時(shí)監(jiān)測(cè)火工品的電壓,以及完成地面和飛行器的電壓切換。地面工作人員通過(guò)遠(yuǎn)端發(fā)控計(jì)算機(jī)完成對(duì)飛行器的實(shí)時(shí)監(jiān)測(cè),并根據(jù)監(jiān)測(cè)結(jié)果,產(chǎn)生相應(yīng)得動(dòng)作指令,各個(gè)子系統(tǒng)需要完成對(duì)應(yīng)的功能,飛行器發(fā)射系統(tǒng)的硬件架構(gòu)如圖1所示。
圖1 硬件架構(gòu)圖
由于在設(shè)計(jì)系統(tǒng)階段需要考慮如何最大可能地提高系統(tǒng)的可靠性,在設(shè)計(jì)過(guò)程中就將系統(tǒng)的測(cè)試考慮其中??紤]系統(tǒng)的測(cè)試點(diǎn)、組成單元之間的信號(hào)關(guān)系,通過(guò)合理布置單元之間的關(guān)系,布置相關(guān)的測(cè)試點(diǎn),分析關(guān)鍵的測(cè)試,以便當(dāng)系統(tǒng)出現(xiàn)故障的時(shí)候,可以及時(shí)準(zhǔn)確地完成故障的檢測(cè)并隔離,采用相應(yīng)的解決措施,完成故障的清除,可以更好地完成飛行器發(fā)射任務(wù),提高系統(tǒng)的可靠性[8]。
針對(duì)初步設(shè)計(jì)的飛行器發(fā)射控制系統(tǒng)硬件架構(gòu),進(jìn)行系統(tǒng)時(shí)序測(cè)試、火工品的通路測(cè)試、火工品電壓測(cè)試,針對(duì)測(cè)試需要,本文先以火工品通路測(cè)試為例,進(jìn)行故障樹(shù)分析,基本事件表如表2所示。
表2 基本事件表
火工品電路失效,可能是由于火工品電路繼電器不動(dòng)作,繼電器卡死,有可能火工品沒(méi)有問(wèn)題。進(jìn)而分析控制火工品電路的時(shí)序控制單元,火工品控制單元的控制是由三冗余的時(shí)序控制單元通過(guò)仲裁單元輸出信號(hào)從而完成控制[9]。因此。需要分析仲裁單元是否故障,當(dāng)仲裁單元沒(méi)有故障的時(shí)候,進(jìn)而分析時(shí)序控制單元中的火工品繼電器驅(qū)動(dòng)電路。本文將模型進(jìn)行簡(jiǎn)化,分析到單元級(jí)。當(dāng)判斷時(shí)序控制單元無(wú)故障的時(shí)候,進(jìn)而分析前端測(cè)控裝置,遠(yuǎn)端發(fā)控裝置是否故障[10]。通過(guò)此方式遞推尋找基本事件。由于對(duì)于本文研究的飛行器發(fā)射控制系統(tǒng),火工品電路相對(duì)關(guān)鍵,進(jìn)而對(duì)火工品通路測(cè)試進(jìn)行分析的時(shí)候。故障樹(shù)分析結(jié)果如圖2所示。
圖2 故障樹(shù)結(jié)果圖
本文在研究了飛行器發(fā)射控制系統(tǒng)結(jié)構(gòu)和功能的基礎(chǔ)上,分析信號(hào)和單元之間關(guān)系,對(duì)于測(cè)試關(guān)鍵問(wèn)題進(jìn)行FTA的研究,從而可以分析出在關(guān)鍵測(cè)試中系統(tǒng)各個(gè)組成部分的主要故障部位。要對(duì)系統(tǒng)進(jìn)行測(cè)試性分析,需要建立系統(tǒng)的測(cè)試性分析模型,通過(guò)分析系統(tǒng)的各個(gè)功能模塊的信號(hào)和測(cè)試之間的關(guān)系,從而可以分析整個(gè)系統(tǒng)的測(cè)試性。系統(tǒng)的多信號(hào)流程圖模型是目前可以簡(jiǎn)化的分析系統(tǒng)故障和測(cè)試之間關(guān)系的方法,該方法在測(cè)試性建模中應(yīng)用廣泛,適合用于工程中的系統(tǒng)分析。
在上一節(jié)對(duì)系統(tǒng)火工品通路的故障樹(shù)模型分析后,結(jié)合時(shí)序測(cè)試、火工品電壓等測(cè)試,簡(jiǎn)化對(duì)模型的測(cè)試性分析,從底事件入手對(duì)系統(tǒng)進(jìn)行系統(tǒng)的多信號(hào)流圖建模分析,確定多信號(hào)流圖中的模型的各個(gè)組成。由于系統(tǒng)組成繁雜,本文從系統(tǒng)級(jí)進(jìn)行分析,對(duì)應(yīng)部件級(jí)分析類似,不再贅述,系統(tǒng)的模型要素如下。
2.2.1 故障源
系統(tǒng)中主要可以分析的故障源如下:c1:發(fā)控計(jì)算機(jī);c2:遠(yuǎn)端發(fā)控單元;c3:前端測(cè)控單元B1;c4:前端測(cè)控單元B2;c5:前端切換裝置:c6時(shí)序控制單元C1;c7:時(shí)序控制單元C2;c8:時(shí)序控制單元C3;c9:仲裁單元。
2.2.2 故障測(cè)點(diǎn)和相關(guān)信號(hào)
根據(jù)火工品測(cè)試、時(shí)序測(cè)試等關(guān)鍵測(cè)試和其相關(guān)信號(hào),可以進(jìn)行相關(guān)測(cè)點(diǎn)設(shè)置和測(cè)試信號(hào)分析。故障測(cè)點(diǎn)和信號(hào)如表3所示。
表3 飛行器控制系統(tǒng)故障源和測(cè)試點(diǎn)總結(jié)
2.2.3 故障源、測(cè)試點(diǎn)、測(cè)試、和信號(hào)之間的關(guān)系
根據(jù)上述得到飛行器發(fā)射控制系統(tǒng)的故障、測(cè)試、測(cè)試點(diǎn)、測(cè)試之間的關(guān)系,并且得到多信號(hào)流程圖模型如圖3所示,至此完成系統(tǒng)測(cè)試性建模。
圖3 多信號(hào)流程圖
上節(jié)完成系統(tǒng)的測(cè)試性建模,對(duì)于多信號(hào)流圖模型進(jìn)行分析的時(shí)候,可以引入相關(guān)性矩陣,相關(guān)性矩陣又稱依存矩陣(D矩陣),表示系統(tǒng)中故障源和測(cè)試相關(guān)的關(guān)系矩陣。D矩陣是用數(shù)字定性地去表示測(cè)試和故障、故障和故障、測(cè)試和測(cè)試的依存關(guān)系。在進(jìn)行系統(tǒng)測(cè)試性分析的時(shí)候,矩陣可以將測(cè)試性模型和故障分析聯(lián)系起來(lái),并且可以包括故障信息和測(cè)試信息。本文研究的相關(guān)性矩陣[11]如式(1)所示:
(1)
根據(jù)各模塊的屬性,結(jié)合建立的可達(dá)矩陣建立相關(guān)性矩陣,數(shù)據(jù)如表4所示。
表4 相關(guān)性矩陣
對(duì)于系統(tǒng)進(jìn)行故障分析主要分為單故障分析和多故障分析。對(duì)于上述建立的系統(tǒng)相關(guān)矩陣進(jìn)行分析,從而可以驗(yàn)證上述建立的故障測(cè)試矩陣。對(duì)于測(cè)試系統(tǒng)來(lái)說(shuō),在同一個(gè)時(shí)刻,最多出現(xiàn)一種故障,此時(shí)就是單故障。并且對(duì)于多數(shù)的測(cè)試系統(tǒng)來(lái)說(shuō),為了簡(jiǎn)化模型,多進(jìn)行單故障的假設(shè)和分析。單故障分析主要進(jìn)行三方面的思考,分析系統(tǒng)中模型建立的準(zhǔn)確性、故障檢測(cè)的完整性、測(cè)點(diǎn)設(shè)置的冗余性。根據(jù)系統(tǒng)的故障測(cè)試矩陣,可以從單故障和多故障方向進(jìn)行分析,具體分析如下。
3.1.1 單故障分析
對(duì)于測(cè)試系統(tǒng)來(lái)說(shuō),在同一個(gè)時(shí)刻,最多出現(xiàn)一種故障,此時(shí)就是單故障。并且對(duì)于多數(shù)的測(cè)試系統(tǒng)來(lái)說(shuō),為了簡(jiǎn)化模型,多進(jìn)行單故障的假設(shè)和分析。單故障分析主要進(jìn)行三方面的思考,分析系統(tǒng)中模型建立的準(zhǔn)確性、故障檢測(cè)的完整性、測(cè)點(diǎn)設(shè)置的冗余性。根據(jù)系統(tǒng)的故障測(cè)試矩陣,可以從上述3個(gè)方面進(jìn)行分析,具體分析如下。
1)模型建立的準(zhǔn)確性:在進(jìn)行系統(tǒng)模型的分析時(shí),分析系統(tǒng)是否存在模糊項(xiàng),即故障測(cè)試矩陣中是存在相同的行向量。如果存在不同行的元素值是相同的,就可以認(rèn)為相同行對(duì)應(yīng)的故障是沒(méi)有辦法進(jìn)行區(qū)分的,即出現(xiàn)無(wú)法準(zhǔn)確定位的故障,進(jìn)而說(shuō)明模型建立的準(zhǔn)確性不夠。此時(shí)需要對(duì)建立的模型的進(jìn)行優(yōu)化,保證故障測(cè)試矩陣沒(méi)有模糊故障的情況存在。
2)故障檢測(cè)的完整性:分析比較故障測(cè)試矩陣,觀察矩陣是否出現(xiàn)行向量中每一個(gè)元素值都是0。如果出現(xiàn)某行元素值全為0,則表示該行代表的故障是通過(guò)測(cè)試無(wú)法檢測(cè)到的。說(shuō)明對(duì)于系統(tǒng)進(jìn)行測(cè)試點(diǎn)布置的時(shí)候,無(wú)法完成系統(tǒng)所有故障的檢測(cè)。因此,當(dāng)故障測(cè)試矩陣中任意一行的行向量中所有的元素值不全為0,說(shuō)明系統(tǒng)測(cè)試可以檢測(cè)所有故障,故障檢測(cè)具有完整性。
3)測(cè)試性的冗余性:測(cè)點(diǎn)設(shè)置的冗余性即分析系統(tǒng)是否出現(xiàn)測(cè)試相同的情況,如果分析比較出故障檢測(cè)矩陣中有些列向量對(duì)應(yīng)的元素值都是相同的,說(shuō)明出現(xiàn)了相同的測(cè)試項(xiàng),測(cè)試冗余選擇一個(gè)測(cè)試進(jìn)行分析。如果故障測(cè)試矩陣中沒(méi)有出現(xiàn)相同的列向量,則反映出測(cè)試項(xiàng)具有合理性。
根據(jù)相關(guān)性矩陣分析可知,飛行器發(fā)射控制系統(tǒng),不存在某行向量的元素全為0,不存在系統(tǒng)的列向量,不存在相同的行向量,因此,對(duì)于單故障分析而言,該測(cè)試性模型測(cè)點(diǎn)布置合理,并且模型可以準(zhǔn)確反應(yīng)系統(tǒng)各單元組成之間的關(guān)系,以及之間信號(hào)、故障關(guān)系。
3.1.2 多故障分析
對(duì)應(yīng)大多數(shù)復(fù)雜系統(tǒng)來(lái)說(shuō),系統(tǒng)在相同時(shí)刻會(huì)同時(shí)發(fā)生多個(gè)故障。此時(shí),不能對(duì)系統(tǒng)進(jìn)行單故障分析,要采用多故障分析的方式,分析判斷出系統(tǒng)中是否出現(xiàn)了由于多故障情況產(chǎn)生的隱藏故障和掩蓋故障,從而準(zhǔn)確分析整個(gè)系統(tǒng),對(duì)系統(tǒng)進(jìn)行故障的分析。
1)系統(tǒng)的隱藏故障:系統(tǒng)在某一時(shí)間內(nèi)產(chǎn)生多個(gè)故障模式,系統(tǒng)中所有測(cè)試產(chǎn)生的故障結(jié)果和系統(tǒng)中某一個(gè)測(cè)點(diǎn)測(cè)試故障結(jié)果相同,我們就可以確定是這個(gè)故障使得系統(tǒng)無(wú)法進(jìn)行故障定位,并且隱藏了其它測(cè)試點(diǎn)的故障特征信息。通過(guò)對(duì)系統(tǒng)的故障測(cè)試矩陣進(jìn)行分析,如果出現(xiàn)這種情況,則認(rèn)為該系統(tǒng)存在隱藏故障。
2)系統(tǒng)的掩蓋故障:系統(tǒng)在某一時(shí)間內(nèi)產(chǎn)生多個(gè)故障模式,系統(tǒng)中所有測(cè)試產(chǎn)生的故障結(jié)果和故障外某一個(gè)測(cè)點(diǎn)測(cè)試故障結(jié)果相同,我們就可以確定是這個(gè)故障使得系統(tǒng)無(wú)法進(jìn)行故障定位,并且掩蓋了其它測(cè)試點(diǎn)的故障特征信息。通過(guò)對(duì)系統(tǒng)的故障測(cè)試矩陣進(jìn)行分析,如果出現(xiàn)這種情況,則認(rèn)為該系統(tǒng)存在隱藏故障。
結(jié)合計(jì)算出實(shí)際得到的相關(guān)性矩陣,通過(guò)分析系統(tǒng)的測(cè)試結(jié)果,判斷矩陣中行向量的之間的關(guān)系,發(fā)現(xiàn)系統(tǒng)中不存在掩蓋故障,但是存在隱藏故障的情況,通過(guò)比較分析得到系統(tǒng)得隱藏故障如表5所示。
表5 隱藏故障集
在對(duì)復(fù)雜系統(tǒng)進(jìn)行測(cè)試性分析的時(shí)候,需要對(duì)故障建模的模型進(jìn)行分析,分析測(cè)試點(diǎn)和測(cè)試性的選擇,從而保證模型的正確性和測(cè)試的合理性。在大多數(shù)系統(tǒng)進(jìn)行測(cè)試性分析的時(shí)候,主要需要考慮故障檢測(cè)率和故障隔離率兩個(gè)評(píng)價(jià)參數(shù)。
3.2.1 故障檢測(cè)率
故障檢測(cè)率的定義為在系統(tǒng)工作測(cè)試的一段時(shí)間內(nèi),按照系統(tǒng)的測(cè)試方法和流程完成系統(tǒng)的檢測(cè),正確檢測(cè)出的系統(tǒng)故障的數(shù)量和被檢測(cè)系統(tǒng)發(fā)生的故障總數(shù)的百分比,數(shù)學(xué)模型可以表示為:
(1)
式中,ND為系統(tǒng)檢測(cè)項(xiàng)正確檢測(cè)出的故障源數(shù);NT為系統(tǒng)在一段工作時(shí)間實(shí)際產(chǎn)生的故障總數(shù)。
對(duì)于一些系統(tǒng)和設(shè)備來(lái)講,假如各個(gè)故障發(fā)生的概率λ是一個(gè)常數(shù),那么上式可以改寫(xiě)為:
(2)
式中,λD為系統(tǒng)能夠被檢測(cè)出的故障模式的概率總和;λ為系統(tǒng)所有故障模式的發(fā)生總概率之和;λi為第個(gè)故障發(fā)生的故障率;λDi為第個(gè)系統(tǒng)被檢測(cè)出的故障模式發(fā)生的故障率。
3.2.2 故障隔離率
故障隔離率定義為:在系統(tǒng)工作測(cè)試的一段時(shí)間內(nèi),按照系統(tǒng)的測(cè)試方法和流程完成系統(tǒng)的檢測(cè),正確檢測(cè)出的系統(tǒng)故障的被正確隔離的故障數(shù)和被檢測(cè)系統(tǒng)發(fā)生的故障總數(shù)的百分比,數(shù)學(xué)模型可以表示為:
(3)
式中,NL為在規(guī)定時(shí)間內(nèi)測(cè)試項(xiàng)可以正確檢測(cè)到的故障隔離數(shù);ND為系統(tǒng)檢測(cè)項(xiàng)正確檢測(cè)出的故障源數(shù)。
對(duì)于一些系統(tǒng)和設(shè)備來(lái)分析及預(yù)計(jì)的數(shù)學(xué)模型為:
(4)
式中,λD為系統(tǒng)能夠被檢測(cè)出的故障模式的概率總和;λL為系統(tǒng)可隔離不大于個(gè)可更換單元數(shù)的故障模式的故障率之和;λLi為系統(tǒng)可隔離不大于個(gè)可更換單元數(shù)中第個(gè)故障模式故障率;L表示系統(tǒng)所有的可以被隔離更換的單元數(shù)。
對(duì)復(fù)雜系統(tǒng)進(jìn)行測(cè)試性建模后,需要對(duì)系統(tǒng)測(cè)試性進(jìn)行分析和驗(yàn)證。由于系統(tǒng)測(cè)試性參數(shù)有很多,為滿足這些測(cè)實(shí)性要求,可以進(jìn)行不同測(cè)試點(diǎn)布置和測(cè)試項(xiàng)的設(shè)計(jì),如何計(jì)算得出最優(yōu)的測(cè)試選擇方法,成為復(fù)雜系統(tǒng)進(jìn)行測(cè)試性分析過(guò)程中重要研究問(wèn)題。
當(dāng)面對(duì)測(cè)試項(xiàng)選擇最優(yōu)設(shè)計(jì)問(wèn)題時(shí)候,智能算法在該類問(wèn)題的解決上提供很好的方法,并且有很多學(xué)者提出多種算法,如粒子群算法[12-13]、遺傳算法[14]、模擬退火算法[15-16]、貪婪算法[17-18]等。本文在遺傳算法的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行測(cè)試性分析和驗(yàn)證。本文在遺傳算法的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行測(cè)試性分析和驗(yàn)證。遺傳算法是一個(gè)解最優(yōu)化問(wèn)題的概率論方法,它通過(guò)模仿自然界的進(jìn)化過(guò)程來(lái)解決問(wèn)題,而自然界的種群通過(guò)雜交、變異和自然選擇經(jīng)歷著持續(xù)的變化[19-20]。對(duì)于各種各樣的問(wèn)題遺傳算法都可以容易在計(jì)算機(jī)上實(shí)施。對(duì)于直接采用數(shù)學(xué)方法進(jìn)行處理很麻煩的問(wèn)題,遺傳算法在解決這些復(fù)雜問(wèn)題特別有用處,并且遺傳算法在處理大規(guī)模、實(shí)際離散或者連續(xù)問(wèn)題上非常有效。只要保證以模擬自然進(jìn)化為基礎(chǔ),遺傳算法可以被適當(dāng)?shù)脑O(shè)計(jì)和修正來(lái)探索解決問(wèn)題的特有特征。因此,為解決各種優(yōu)化問(wèn)題,遺傳算法形成一種方法和方法論。
當(dāng)研究根據(jù)上述遺傳算法流程,研究測(cè)試覆蓋性問(wèn)題,通過(guò)改進(jìn)遺傳算法,提出了一種基于測(cè)試覆蓋度的算法,算法設(shè)計(jì)流程如下所示。
1)初始化:本文采用實(shí)數(shù)編碼的方式,用浮點(diǎn)數(shù)表示每一個(gè)基因,每一個(gè)浮點(diǎn)數(shù)即表示一個(gè)故障源的解,通過(guò)對(duì)多個(gè)故障源進(jìn)行適應(yīng)度函數(shù)的計(jì)算可得到測(cè)試測(cè)試評(píng)價(jià)函數(shù)值,集合的數(shù)目即表征了染色體的長(zhǎng)度,初始化種群數(shù)目為50。
2)適應(yīng)度計(jì)算:在適應(yīng)度函數(shù)設(shè)計(jì)過(guò)程中,考慮系統(tǒng)的測(cè)試性指標(biāo),即故障檢測(cè)率、故障隔離率。適應(yīng)度計(jì)算應(yīng)該遵循著,非負(fù)、連續(xù)的。并且應(yīng)該考慮,如何在測(cè)試代價(jià)較低的情況下,系統(tǒng)的故障檢測(cè)率和故障隔離率較高。本文提出的算法和傳統(tǒng)算法在初始化,終止條件上設(shè)置相同,最大的區(qū)別和不同在于適應(yīng)度函數(shù)的設(shè)計(jì)。傳統(tǒng)適應(yīng)度可取為:
(5)
本文提出一種基于測(cè)試覆蓋率的適應(yīng)度函數(shù),函數(shù)公式如下:
(6)
式中,ci測(cè)試費(fèi)用;TS測(cè)試項(xiàng);ki可以對(duì)測(cè)試進(jìn)行評(píng)價(jià)的函數(shù)。
具體表達(dá)式為:
(7)
式中,h(ti)為測(cè)試項(xiàng)的覆蓋度,即某個(gè)故障發(fā)生時(shí),能夠被測(cè)試項(xiàng)檢測(cè)到的最小的數(shù)量;d(ti)為測(cè)試項(xiàng)能夠檢測(cè)出系統(tǒng)中的故障數(shù)量。
對(duì)于測(cè)試覆蓋度進(jìn)行分析,結(jié)合系統(tǒng)建立的多信號(hào)流圖模型,對(duì)系統(tǒng)進(jìn)行分析,系統(tǒng)總共故障源個(gè)數(shù)為10,根據(jù)測(cè)試和故障源的關(guān)系,可以得出評(píng)價(jià)函數(shù)如表6所示。
表6 評(píng)價(jià)函數(shù)值
由于測(cè)試評(píng)價(jià)函數(shù)k(ti)和h(ti)成正比,和d(ti)成反比,所以,當(dāng)測(cè)試評(píng)價(jià)函數(shù)值低的時(shí)候,其測(cè)試越為重要,越要優(yōu)先進(jìn)行,越可以將其優(yōu)秀的個(gè)體進(jìn)行遺傳。所以,測(cè)點(diǎn)6,7,8最為重要,測(cè)試優(yōu)先集會(huì)被最先選中。將各個(gè)測(cè)試函數(shù)值用折線如圖4所示。
圖4 評(píng)價(jià)函數(shù)值
3)選擇操作:本文的選擇函數(shù)為式(8):
(8)
4)交叉變異:對(duì)于遺傳算法,交叉概率多數(shù)在0.3~1之間,變異概率多數(shù)在0~0.08之間,本文選擇交叉概率0.6,變異概率為0.008,根據(jù)此條件進(jìn)行算法的計(jì)算,完成適應(yīng)度函數(shù)的計(jì)算。
5)設(shè)置停止條件:本文規(guī)定程序停止運(yùn)行的準(zhǔn)則,計(jì)算出系統(tǒng)的適應(yīng)度值,并將運(yùn)行結(jié)果進(jìn)行統(tǒng)計(jì)。
根據(jù)上述算法設(shè)計(jì),在VS中使用MFC完成,將遺傳算法進(jìn)行改進(jìn),提出基于測(cè)試覆蓋率的算法進(jìn)行編程,算法軟件主要是3個(gè)組成部分:一個(gè)部分是將測(cè)試參數(shù)進(jìn)行輸入;一個(gè)部分是顯示運(yùn)行結(jié)果,顯示算法優(yōu)選測(cè)試集和故障率,檢測(cè)率;最后一個(gè)部分顯示算法的測(cè)試集和對(duì)應(yīng)的適應(yīng)度函數(shù)值,如圖5所示。
圖5 算法結(jié)果
3.4.1 算法測(cè)試結(jié)果
本文中選用算法的參數(shù)選擇,交叉概率選擇為0.6,變異概率為0.008,并且給定測(cè)試項(xiàng)的個(gè)數(shù),設(shè)置不同的停止規(guī)定條件,通過(guò)算法的運(yùn)行可以計(jì)算出不同測(cè)試集的故障檢測(cè)率,故障隔離率。通過(guò)輸入不同的測(cè)試集合,可以得出相應(yīng)的結(jié)果,計(jì)算結(jié)果如圖5所示。將改進(jìn)算法的輸出結(jié)果列于表7。
表7 適應(yīng)度值
根據(jù)計(jì)算出的結(jié)果,可以分析計(jì)算出相應(yīng)測(cè)試集對(duì)應(yīng)的故障檢測(cè)率和隔離率的折線圖6所示。
圖6 故障檢測(cè)率和故障隔離率
從圖6中可以清晰地知道,在算法計(jì)算中7個(gè)測(cè)試項(xiàng)就可以完成使得系統(tǒng)得故障檢測(cè)率達(dá)到100%,故障隔離率達(dá)到100%,并且此時(shí)測(cè)試項(xiàng)最少,也就是說(shuō)算法可以選擇出最優(yōu)個(gè)體組合為:{ 2,3,4,5,6,7,8 }。測(cè)試項(xiàng)個(gè)數(shù)為6的時(shí)候,系統(tǒng)的故障隔離率沒(méi)有達(dá)到100%,即系統(tǒng)出現(xiàn)模糊項(xiàng)組合。
算法將測(cè)試項(xiàng)1和9進(jìn)行了剔除,可以得出最新的相關(guān)性矩陣,如表8所示。根據(jù)此表進(jìn)行分析,表格中任意的行向量都是不一樣的,即沒(méi)有模糊組,故障隔離率達(dá)到100%。相關(guān)性矩陣中,每一個(gè)列向量都不一樣,即沒(méi)有冗余測(cè)試。并且系統(tǒng)的故障檢測(cè)率和故障隔離率都為100%。
表8 算法改進(jìn)相關(guān)性矩陣
3.4.2 適應(yīng)度函數(shù)值
當(dāng)選擇的測(cè)試項(xiàng)不同是計(jì)算出的適應(yīng)度函數(shù)值如上述表中所示,將其變化趨勢(shì)用曲線圖表示如圖7所示。算法在7的時(shí)候適應(yīng)度最高,該測(cè)試最優(yōu)測(cè)試,會(huì)優(yōu)先遺傳。
圖7 適應(yīng)度函數(shù)值
3.4.3 算法的收斂性對(duì)比
根據(jù)本文提出算和傳統(tǒng)遺傳算法對(duì)比,其算法的收斂性如圖8所示。本文設(shè)計(jì)算法在15代的就達(dá)到最優(yōu)解,而傳統(tǒng)遺傳算在21代左右才收斂,本文算法收斂性更好。
圖8 算法結(jié)果
根據(jù)本文提出算和傳統(tǒng)遺傳算法對(duì)比,其算法的收斂性如圖8所示。由于本文的遺傳算法自動(dòng)對(duì)適應(yīng)度函數(shù)進(jìn)行優(yōu)化設(shè)計(jì),相比較傳統(tǒng)的遺傳算法適應(yīng)度函數(shù)中的選擇函數(shù)進(jìn)行了4個(gè)范圍的分類處理,對(duì)不同情況下的故障檢測(cè)率和故障隔離率增添了3種可能情況,提高了算法的準(zhǔn)確性,本文設(shè)計(jì)算法在15代的就達(dá)到最優(yōu)解,而傳統(tǒng)遺傳算在21代左右才收斂,本文算法收斂性更好。
本文采用了小規(guī)模案例進(jìn)行了分析,對(duì)于大規(guī)模案例的問(wèn)題上,本文算法收斂性同樣好于傳統(tǒng)遺傳算法,因?yàn)閷?duì)選擇函數(shù)的優(yōu)化處理是具有通用性,同樣適合大規(guī)模案例。
本文主要是分析了系統(tǒng)的故障模式和結(jié)構(gòu)功能,根據(jù)實(shí)際系統(tǒng)的要求的功能,進(jìn)行主要測(cè)試的分析,進(jìn)行完成故障樹(shù)模型,通過(guò)分析,進(jìn)行相應(yīng)的測(cè)試和測(cè)試點(diǎn)問(wèn)題的討論,建立多信號(hào)流圖模型。結(jié)合系統(tǒng)的故障檢測(cè)率和故障隔離率進(jìn)行的系統(tǒng)級(jí)的故障、信號(hào)、測(cè)試點(diǎn)分析。為了更方便的進(jìn)行測(cè)試分析和計(jì)算,進(jìn)行遺傳算法的研究,提出一種基于測(cè)試覆蓋的改進(jìn)遺傳算法,并且和傳統(tǒng)的遺傳算法進(jìn)行對(duì)比,改進(jìn)后的算法有這更好的收斂性,對(duì)系統(tǒng)分析更好。由于篇幅問(wèn)題,只是對(duì)系統(tǒng)級(jí)進(jìn)行分析,同樣的方法可以對(duì)具體的組成單元分析,更好地完成相關(guān)的測(cè)試分析和測(cè)點(diǎn)的布置,有利于指導(dǎo)系統(tǒng)進(jìn)行設(shè)計(jì)。