王曉明,袁乾臣,王婧舒,李 璠
(1.北京宇航系統(tǒng)工程研究所,北京 100076;2.北京質(zhì)遠(yuǎn)恒峰科技有限公司,北京 100080)
相關(guān)性模型(dependency model),也稱(chēng)為相關(guān)性矩陣,是測(cè)試性建模的經(jīng)典模型[1-3]。相關(guān)性模型是對(duì)電氣產(chǎn)品的組成、故障模式、故障率、測(cè)試點(diǎn)、測(cè)試方法以及它們之間的邏輯關(guān)系進(jìn)行描述的模型,其數(shù)學(xué)表達(dá)為依存矩陣(dependency matrix,簡(jiǎn)稱(chēng)為D矩陣)[2]。以D矩陣為輸入,通過(guò)分析測(cè)試點(diǎn)對(duì)故障的檢測(cè)與隔離的次序能夠得出產(chǎn)品測(cè)試序列即排故引導(dǎo)樹(shù)。然而故障模式的故障率不同,不同測(cè)試點(diǎn)的測(cè)試權(quán)重、測(cè)試費(fèi)用、測(cè)試時(shí)間都是不同,從不同測(cè)試點(diǎn)出發(fā)所形成的排故引導(dǎo)樹(shù)也是不同[4]。
在解算復(fù)雜電氣產(chǎn)品的相關(guān)性矩陣時(shí)往往消耗的時(shí)間巨大[5]。目前,常用的診斷策略構(gòu)建方法主要包括:目前解決診斷策略設(shè)計(jì)問(wèn)題的方法主要有三類(lèi):DP算法、群智能算法和啟發(fā)式搜索算法。
1)DP算法:
DP是一種遞歸算法,其中故障診斷樹(shù)形成過(guò)程是由上而下,按通過(guò)優(yōu)先方法進(jìn)行搜索,隔離出全部故障為止[17]。對(duì)于診斷策略?xún)?yōu)化問(wèn)題,DP算法的儲(chǔ)存與計(jì)算需求為,其中m為故障數(shù),n為測(cè)試數(shù)量,因此當(dāng)n較小時(shí)是可行的,而對(duì)于大的復(fù)雜系統(tǒng),其儲(chǔ)存和計(jì)算量將呈指數(shù)增長(zhǎng)。因而不適合復(fù)雜電氣產(chǎn)品的診斷策略設(shè)計(jì)工作。
2)群智能算法:
群智能算法簡(jiǎn)單來(lái)說(shuō)就是一種一類(lèi)仿生算法,仿造自然界中某些規(guī)律進(jìn)行優(yōu)化,常見(jiàn)的有蟻群算法、粒子群算法等。
蟻群算法是一種用來(lái)解決多線(xiàn)路最優(yōu)的概率型算法。Dorigo等[15-16]根據(jù)螞蟻尋找食物過(guò)程中路徑尋優(yōu)的行為提出了蟻群算法。目前最常用的解決方式是將測(cè)試序貫優(yōu)化問(wèn)題轉(zhuǎn)換為搜索最小完備測(cè)試序列問(wèn)題,進(jìn)而利用蟻群的記憶性與信息素積累反饋機(jī)制解決該問(wèn)題。該算法著眼于每一只“螞蟻”的搜索,結(jié)構(gòu)簡(jiǎn)單編程容易,算法具備反饋機(jī)制,可通過(guò)反饋不斷修正缺陷。但測(cè)試序列優(yōu)化問(wèn)題與搜索最小完備測(cè)試序列問(wèn)題并不完全等同,得到的測(cè)試序列與診斷策略存在區(qū)別,應(yīng)用受限。
3)啟發(fā)式搜索算法:
常用于診斷策略?xún)?yōu)化設(shè)計(jì)問(wèn)題的啟發(fā)式搜索算法有貪婪算法、AO*算法、準(zhǔn)深度算法等。
貪婪算法是快速搜索算法。該算法搜索速度快,采用固定順序方法構(gòu)造診斷樹(shù)。該算法對(duì)整個(gè)診斷樹(shù)采取局部擇優(yōu)搜索的策略,搜索速度極快,但效果不佳。
AO*算法被廣泛應(yīng)用于測(cè)試性設(shè)計(jì)中,如TEAMS軟件就采用AO*生成診斷樹(shù)。算法優(yōu)勢(shì)是可以找到近似的全局最優(yōu)解,相比于DP算法效率有所提高,但需要處理的數(shù)據(jù)非常大,計(jì)算復(fù)雜,不適合大型系統(tǒng)。
準(zhǔn)深度算法可以看成是深度算法的簡(jiǎn)化,類(lèi)似于貪婪算法,但考慮更多,每一步考慮的是之后的診斷樹(shù)的預(yù)估值,因而速度較快,大概率可找到全局最優(yōu)解。但該算法結(jié)構(gòu)復(fù)雜,且缺少反饋過(guò)程,難以應(yīng)用于拓展場(chǎng)合。
以上三種啟發(fā)式搜索算法各有優(yōu)劣,在解決不可靠測(cè)試條件下的診斷策略?xún)?yōu)化問(wèn)題過(guò)程中可發(fā)揮一定作用。
本項(xiàng)目提出了一種結(jié)合全局最優(yōu)的啟發(fā)式AO*算法的Rollout策略的排故引導(dǎo)策略生成方法,其作為一種近優(yōu)的結(jié)算方法在解的復(fù)雜度方面要低于啟發(fā)式搜索算法,能夠確保運(yùn)算速率。
測(cè)試序列的生成方法直接影響故障診斷的準(zhǔn)確度和執(zhí)行效率,基于全局最優(yōu)的啟發(fā)式AO*算法所生成的測(cè)試序列是一種全局最優(yōu)的測(cè)試策略[6],該算法同三種信息啟發(fā)式(霍夫曼編碼、熵、熵+1)函數(shù)相結(jié)合,通過(guò)向下擴(kuò)展以及向上反饋修正兩個(gè)基本操作來(lái)得到最優(yōu)的測(cè)試序列,它的計(jì)算量小于DP算法和群智能算法,在搜索過(guò)程中會(huì)進(jìn)行不斷回溯,以實(shí)現(xiàn)最優(yōu)解[7]。
AO*算法的輸入包括以下內(nèi)容:
1)系統(tǒng)狀態(tài)集合:
S={s0,s1,...sm}
(1)
其中:s0為系統(tǒng)的無(wú)故障狀態(tài),si為故障狀態(tài)1~m。
2)故障概率向量:
p=[p(s0),p(s1),...p(sm)]T
(2)
其中:p(s0)為系統(tǒng)完好率,p(s1),...p(sm)為各故障模式的頻數(shù)比*(1-完好率)。
3)測(cè)試集合:
t={t1,t2,...tn}
(3)
4)成本向量(時(shí)間、人力、其他經(jīng)濟(jì)因素):
c=[c1,c2,...cn]T
(4)
AO*算法的輸出綜合考慮故障發(fā)生概率、測(cè)試時(shí)間,測(cè)試費(fèi)用等的最優(yōu)診斷樹(shù),AO*算法使用啟發(fā)式評(píng)估函數(shù)(HEF)指導(dǎo)測(cè)試搜索過(guò)程[8],其計(jì)算公式為:
(5)
(6)
采用AO*算法實(shí)現(xiàn)測(cè)試序列的優(yōu)化的基礎(chǔ)是啟發(fā)式評(píng)估函數(shù)的構(gòu)造。AO*算法是基于啟發(fā)式評(píng)估函數(shù)h(x),選擇最有可能達(dá)到目標(biāo)節(jié)點(diǎn)的子節(jié)點(diǎn)進(jìn)行擴(kuò)展。其基本步驟如下。
Step 1:建立一個(gè)搜索圖G,使其僅僅包含起始節(jié)點(diǎn)S,設(shè)F(s)=h(s)。如果S為終節(jié)點(diǎn),則標(biāo)記S為SOLVED,離開(kāi)算法步驟。
Step 2:重復(fù)以下步驟,直到S己經(jīng)標(biāo)記為SOLVED,此時(shí)J=F(s)為期望的測(cè)試代價(jià),并以標(biāo)記的解樹(shù)為測(cè)試算法。
Step 2.1:通過(guò)跟蹤G中從S出發(fā)的、有標(biāo)記的、連接符,計(jì)算G中的一個(gè)局部解圖G′。選擇G′中最高h(yuǎn)(x)的節(jié)點(diǎn)x進(jìn)行擴(kuò)展。最初時(shí)x=S(x為系統(tǒng)狀態(tài)集合)。
Step 2.2:擴(kuò)展節(jié)點(diǎn)x,生成它的所有后繼節(jié)點(diǎn)的二元集合,表示為(xjp,xjf),tj?Πx。其中,Πx為在通向x的路徑上已經(jīng)標(biāo)記使用的測(cè)試集。初始Πx為空。對(duì)于每一個(gè)在G中未曾出現(xiàn)過(guò)的x的后繼節(jié)點(diǎn),設(shè):
F(y)=h(y)
(7)
y=xjp,xjf,tj?Πx
(8)
其中:如果任意y屬于終節(jié)點(diǎn),則標(biāo)記其為SOLVED。
Step 2.3:建立一個(gè)僅包含節(jié)點(diǎn)x的節(jié)點(diǎn)集合Z。
Step 2.4 :執(zhí)行以下步驟,直到Z為空:
Step 2.4.1:從Z中移出這樣的節(jié)點(diǎn)y,這個(gè)y在G中的后裔不出現(xiàn)在Z中。(移出當(dāng)前沒(méi)有后裔的,最底層的節(jié)點(diǎn)進(jìn)行分析)
Step 2.4.2:修正y的值如下所示:
(9)
其中:p(yip)為相對(duì)概率。令k為測(cè)試代價(jià)最小值的坐標(biāo),并對(duì)這個(gè)具有最小值的連接符加以標(biāo)記,包括(y,ykp)和(y,ykf)。如果ykp和ykf都已標(biāo)記SOLVED,則標(biāo)記此節(jié)點(diǎn)y為SOLVED。
Step 2.4.3:如果F(y)≠e,設(shè)F(y)=e。(由于測(cè)試的選擇及向下擴(kuò)展的節(jié)點(diǎn)而導(dǎo)致的成本改變,修正y的值為選擇當(dāng)前最小成本的測(cè)試tk的情況下的成本值e。
Step 2.4.4:如果F(y)在2.4.3中修正了值,或己標(biāo)記為SOLVED,則把沿著標(biāo)記路徑的y的所有父輩節(jié)點(diǎn)都添加到Z中,忽略了沒(méi)有由標(biāo)記的連接符連接到y(tǒng)的先輩節(jié)點(diǎn)。(若y被修正或已下溯到根節(jié)點(diǎn),則將其上游的、當(dāng)前標(biāo)記路徑中的先輩節(jié)點(diǎn)都添加到Z中,對(duì)先輩節(jié)點(diǎn)進(jìn)行修正計(jì)算,即執(zhí)行2.4.1到2.4.4的步驟,直到Z為空。(Z為空表示已回溯結(jié)束,或已到起始節(jié)點(diǎn),或已到?jīng)]有發(fā)生修正的節(jié)點(diǎn))。
Rollout算法的基本思想是用一個(gè)基準(zhǔn)策略經(jīng)過(guò)Rollout仿真得到一個(gè)更新策略,再把更新策略作為基準(zhǔn)策略進(jìn)行迭代更新,逐步逼近最優(yōu)策略[9]。該方法能得到比基準(zhǔn)策略更加精確的結(jié)果,但是不能保證是全局最優(yōu)解。
設(shè)某產(chǎn)品共有(m+1)類(lèi)狀態(tài),故障測(cè)試相關(guān)矩陣表示為D=[dij],根據(jù)測(cè)試結(jié)果值的不同,可分為二值測(cè)試和多值測(cè)試,二值測(cè)試即dij只有兩個(gè)狀態(tài),比如(0,1)、(通過(guò),不通過(guò)),多值測(cè)試即dij存在三個(gè)或三個(gè)以上的狀態(tài)[9],比如(0,0.5,1)、(0,1,2,3)、(通過(guò),不通過(guò),待定)。
測(cè)試序列產(chǎn)生目標(biāo)是合理規(guī)劃測(cè)試順序,使得在達(dá)到故障隔離目的的情況下測(cè)試費(fèi)用最小。
定義所需測(cè)試費(fèi)用為:
(10)
其中:pi表示隔離故障si所用的測(cè)試集合,|pi|表示測(cè)試集合的容量。
Step 1:初始化創(chuàng)建一個(gè)模糊集Z,只包含根節(jié)點(diǎn)S。初始化一個(gè)圖G。如果S是終端節(jié)點(diǎn),則將S加入到G,則G就是問(wèn)題的解。
Step 2:重復(fù)以下操作,直到模糊集Z為空后停止,則G就是問(wèn)題的解。
Step 2.1:從模糊集Z中移除一個(gè)模糊集節(jié)點(diǎn)xi,加入到圖G中,如果xi是一個(gè)已解節(jié)點(diǎn)則從模糊集Z中取下一個(gè)模糊集節(jié)點(diǎn)。對(duì)模糊節(jié)點(diǎn)xi的可用測(cè)試集Tj中的所有測(cè)試tj,重復(fù)以下步驟。
Step 2.1.1:初始化一個(gè)模糊集節(jié)點(diǎn)Y′,創(chuàng)建一個(gè)圖G′,將測(cè)試tj加入到圖G′中,用tj將xi分解成兩個(gè)模糊子集,測(cè)試通過(guò)xijp和測(cè)試失敗xijf,將xijp和xijf加入到Y(jié)′中,重復(fù)以下步驟直到Y(jié)′為空。
(11)
IG(x,tj)=-p(xjp)log2p(xjp)-p(xjf)log2p(xjf)
(12)
(13)
Step 2.1.2:計(jì)算測(cè)試的費(fèi)用開(kāi)銷(xiāo):
(14)
其中:xl是xijp的模糊子集,lj表示xijp的模糊子集個(gè)數(shù),Pq表示隔離的節(jié)點(diǎn)到xijp節(jié)點(diǎn)的測(cè)試序列,|Pq|表示測(cè)試序列中的元素個(gè)數(shù),cpq[r]表示Pq的第r個(gè)測(cè)試費(fèi)用。
Step 2.2:令
htj(xi)=cj+h(xijp)p(xijp)+h(xijf)p(xijf)
(14)
選擇t*∈Tj使得:
h(xi,t*)=mintj∈Tjhtj(xi)
(15)
并將節(jié)點(diǎn)xi展開(kāi)。將t*加入到圖G中。把用t*拆解的模糊子集xip和xif加入Z中,然后返回Step 2.1。
為了減輕計(jì)算量并獲得比啟發(fā)式算法更好的結(jié)果,我們將Rollout策略與基于全局最優(yōu)的AO*啟發(fā)式方法相結(jié)合,以基于錯(cuò)誤狀態(tài)概率,測(cè)試成本和依賴(lài)矩陣有效地構(gòu)建測(cè)試序列。
此算法中,如果它最大化了以下測(cè)試的單位成本信息增益,則從歧義狀態(tài)中選擇測(cè)試。
(16)
其中:IG(x,tj)是信息增益,由以下公式給出:
IG(x,tj)=-{p(xjp)log2p(xjp)log2p(xjp)+
p(xjf)log2p(xjf)log2p(xjf)}
(17)
因此,信息啟發(fā)式是一個(gè)具有計(jì)算復(fù)雜性O(shè)(mn)的一步前向程序。其它相關(guān)啟發(fā)式有“分別啟發(fā)式”,dc(x,tj),(又稱(chēng)為可區(qū)分性啟發(fā)式),定義如下:
dc(x,tj)=p(xjp)·p(xjf)
(18)
選擇一個(gè)測(cè)試tk,以最大化每個(gè)歧義節(jié)點(diǎn)的可區(qū)分性標(biāo)準(zhǔn)。很容易表明,測(cè)試成本相等時(shí),信息啟發(fā)式提供了與可分辨性標(biāo)準(zhǔn)相同的測(cè)試樹(shù)?;诙嗔x的或節(jié)點(diǎn)對(duì)決策樹(shù)進(jìn)行的深度優(yōu)先擴(kuò)展,信息啟發(fā)式(稱(chēng)為多步信息啟發(fā)式算法)的變體涉及給定級(jí)別(基于多步前向)的選擇測(cè)試。測(cè)試給定級(jí)別的有效性仍根據(jù)其每單位測(cè)試成本的信息增益進(jìn)行評(píng)估。
Step 1:建立一個(gè)節(jié)點(diǎn)集Z,僅包含根節(jié)點(diǎn)S與一個(gè)空?qǐng)D形G。如果S是一個(gè)終止節(jié)點(diǎn),添加S至圖形G中,退出解。
Step 2:重復(fù)下列步驟至Z為空集,然后退出,以解決方案樹(shù)作為測(cè)試算法。
Step 2.1:從Z中移出一個(gè)或節(jié)點(diǎn)i至G。如果i是一個(gè)目標(biāo)節(jié)點(diǎn),繼續(xù)Z中的下一個(gè)或節(jié)點(diǎn);否則,考慮可行測(cè)試集Ti中的每一個(gè)測(cè)試ti,它們將節(jié)點(diǎn)i分為通過(guò)/失敗子集:xijp與xijf(i的直接后續(xù)或節(jié)點(diǎn))。創(chuàng)建一個(gè)集合Y與圖形G′,兩者均由i的直接后續(xù)或節(jié)點(diǎn)構(gòu)成。重復(fù)下列程序(信息啟發(fā)式)直至Y為空。
Step 2.1.1:從Y中移除一個(gè)或節(jié)點(diǎn)r。如果這是一個(gè)非目標(biāo)節(jié)點(diǎn),計(jì)算該節(jié)點(diǎn)每一個(gè)可行測(cè)試的單位成本信息增益;否則,前往Y的下一個(gè)或節(jié)點(diǎn)。
Step 2.1.2:選擇r中單位成本信息增益達(dá)到最高的測(cè)試。通過(guò)選擇最小指數(shù)的測(cè)試解決關(guān)系。將該項(xiàng)測(cè)試加入G′。分別根據(jù)選定測(cè)試的通過(guò)/失敗結(jié)果將r分為通過(guò)/失敗子集。將獲得的通過(guò)/失敗或節(jié)點(diǎn)加入Y與G′。
Step 2.2:基于測(cè)試序列(存于G′),計(jì)算每個(gè)i的后續(xù)或節(jié)點(diǎn)預(yù)期測(cè)試成本(如xijp),公式如下:
(19)
Step 2.3:計(jì)算或節(jié)點(diǎn)i的每個(gè)候選測(cè)試ti∈Ti的期望測(cè)試成本,公式如下:
htj(xi)=cj+p(xijp)h(xijp)+p(xijf)h(xijf)
(20)
其中:h(xijp)和h(xijf)分別對(duì)應(yīng)通過(guò)/失敗或節(jié)點(diǎn)子集xijp與xijf生成測(cè)試樹(shù)中的預(yù)期測(cè)試成本。
Step 2.4:選擇t*∈Ti,獲得最小期望測(cè)試成本。使用Step 2.1信息啟發(fā)式,通過(guò)有利于測(cè)試生成,還有最小指數(shù)目標(biāo)解決關(guān)系。將t*加入G,然后分別將t*測(cè)試生成的通過(guò)/失敗結(jié)果加入通過(guò)/失敗或子集G與Z。
表1給出某電氣系統(tǒng)的相關(guān)性矩陣[10-12]。S(i)為某電氣系統(tǒng)的故障模式,TPj為系統(tǒng)的測(cè)試項(xiàng),P(si)為S(i)的故障模式頻數(shù)比。在相關(guān)性矩陣中1代表測(cè)試項(xiàng)TP與故障模式S相關(guān),0代表不相關(guān)。
表1 某電氣系統(tǒng)相關(guān)性矩陣
初始節(jié)點(diǎn)S包含所有可能狀態(tài)s0,s1,...s5。首先,我們采用Step 2.1,應(yīng)用圖1列舉的所有5種可行測(cè)試將S分為通過(guò)/失敗節(jié)點(diǎn)。
圖1 測(cè)試分割
對(duì)于t1子樹(shù),分別有子集{s0,s1,s2}與{s3,s4,s5}對(duì)應(yīng)通過(guò)與失敗或節(jié)點(diǎn)。我們?cè)趝s0,s1,s2}上執(zhí)行步驟Step 2.1.1和Step 2.1.2(即信息啟發(fā)式)。
圖2 測(cè)試t1通過(guò)選擇第二個(gè)測(cè)試點(diǎn)
測(cè)試t2單位成本信息增益:
IGIG(x,t2)=-{p(x2p)log2p(x2p)log2p(x2p)+
p(x2f)log2p(x2f)log2p(x2f)}=
(21)
測(cè)試t3單位成本信息增益:
IG(x,t3)=-{p(x3p)log2p(x3p)log2p(x3p)+
p(x3f)log2p(x3f)log2p(x3f)}=
(22)
測(cè)試t4單位成本信息增益:
IG(x,t4)=-{p(x4p)log2p(x4p)log2p(x4p)+
p(x4f)log2p(x4f)log2p(x4f)}=
(23)
測(cè)試t5單位成本信息增益:
IG(x,t5)=-{p(x5p)log2p(x5p)log2p(x5p)+
p(x5f)log2p(x5f)log2p(x5f)}=
(24)
根據(jù):
(25)
得到k={3,4}。
t2和t5的單位成本信息增益均為0.104 4,t4與t3的單位信息成本增益最大,為0.181 2。t4與t3的增益相等,選擇測(cè)試序號(hào)較小的測(cè)試,則選擇測(cè)試t3為第二個(gè)測(cè)試點(diǎn)。
反復(fù)應(yīng)用信息啟發(fā)式,直到為或節(jié)點(diǎn){s0,s1,s2}構(gòu)建的測(cè)試子樹(shù)完整,如圖3所示。測(cè)試t2和t5分割結(jié)果相同,選擇t2。
圖3 測(cè)試t1通過(guò)側(cè)生成完整診斷樹(shù)
對(duì)測(cè)試t1失敗子集或節(jié)點(diǎn){s3,s4,s5}執(zhí)行相同的過(guò)程:我們?cè)趝s3,s4,s5}上執(zhí)行Step 2.1.1和Step 2.1.2(即信息啟發(fā)式)。
圖4 測(cè)試t1不通過(guò)選擇第二個(gè)測(cè)試點(diǎn)
測(cè)試t2單位成本信息增益:
IG(x,t2)=-{p(x2p)log2p(x2p)log2p(x2p)+
p(x2f)log2p(x2f)log2p(x2f)}=
(26)
測(cè)試t3單位成本信息增益:
IG(x,t3)=-{p(x3p)log2p(x3p)log2p(x3p)+
p(x3f)log2p(x3f)log2p(x3f)}=
(27)
測(cè)試t4單位成本信息增益:
IG(x,t4)=-{p(x4p)log2p(x4p)log2p(x4p)+
p(x4f)log2p(x4f)log2p(x4f)}=
(28)
測(cè)試t5單位成本信息增益:
IG(x,t5)=-{p(x5p)log2p(x5p)log2p(x5p)+
p(x5f)log2p(x5f)log2p(x5f)}=
(29)
綜上所述,測(cè)試t3單位成本信息增益最大,所以選擇測(cè)試t3為第二個(gè)測(cè)試點(diǎn)。
在{s3,s4}上執(zhí)行Step 2.1.1和Step 2.1.2,計(jì)算得到,測(cè)試t2、測(cè)試t4、測(cè)試t5單位成本信息增益相同,因此選擇測(cè)試t2。
圖5 測(cè)試t1不通過(guò)側(cè)生成完整診斷樹(shù)
最終采用Rollout信息啟發(fā)式算法選擇第一個(gè)測(cè)試t1得到完整的診斷樹(shù)如下:
圖6 Rollout信息啟發(fā)式算法完整的診斷樹(shù)
可見(jiàn),基于全局最優(yōu)的A0*信息啟發(fā)式Rollout算法能夠快速得到有效的測(cè)試序列樹(shù),基于測(cè)試序列樹(shù)可進(jìn)一步轉(zhuǎn)化為ATE(自動(dòng)測(cè)試設(shè)備)中TPS(測(cè)試程序集)的測(cè)試程序,作為ATE的測(cè)試策略,同時(shí),也可以進(jìn)一步轉(zhuǎn)化為符合S1000D標(biāo)準(zhǔn)和GJB6600的排故引導(dǎo)數(shù)據(jù)模塊,作為IETM(交互式電子技術(shù)手冊(cè))的重要組成部分。
裝備的復(fù)雜度與性能一直呈正相關(guān)關(guān)系,這使得隨著武器裝備的發(fā)展,對(duì)裝備開(kāi)展測(cè)試性設(shè)計(jì)的難度也越來(lái)越大,需要考慮的因素也越來(lái)越多。如何利用現(xiàn)有的數(shù)據(jù)信息建立精度最高的測(cè)試性模型,采用何種算法才能快速有效地解決診斷策略生成問(wèn)題,是測(cè)試性設(shè)計(jì)的核心問(wèn)題。
采用基于全局最優(yōu)的啟發(fā)式AO*算法的測(cè)試序列生成方法可既考慮到可靠性,也考慮測(cè)試費(fèi)用最小。其優(yōu)點(diǎn)是診斷結(jié)果為“全局最優(yōu)”診斷樹(shù)。其缺點(diǎn)是由于在搜索過(guò)程中需要存儲(chǔ)的臨時(shí)支路和數(shù)據(jù)非常大[13],一般只用于規(guī)模較小的系統(tǒng)[14](故障模式<50)。基于Rollout策略的測(cè)試序列生成方法既考慮可靠性,也考慮測(cè)試費(fèi)用最小。其優(yōu)點(diǎn)是診斷結(jié)果為“近似最優(yōu)”診斷樹(shù),診斷效率高。既減輕龐大的計(jì)算量,又獲得了比次優(yōu)啟發(fā)式算法更好的診斷結(jié)果。該方法缺點(diǎn)是需要算出全部潛在診斷樹(shù)之后再進(jìn)行尋優(yōu),不適用于規(guī)模過(guò)于龐大的系統(tǒng)。