亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法與流程

文檔序號:11920032閱讀:347來源:國知局
基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法與流程
本發(fā)明屬于電子系統(tǒng)故障診斷
技術(shù)領(lǐng)域
,更為具體地講,涉及一種基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法。
背景技術(shù)
:在電子系統(tǒng)故障診斷技術(shù)中,序貫測試問題被定義為一個五元組問題(S,P,T,C,D)。其中,S={s0,s1,s2,…,sM}表示系統(tǒng)故障狀態(tài)的有限集,其中s0表示系統(tǒng)沒有故障發(fā)生的狀態(tài),s1到sM表示系統(tǒng)發(fā)生不同故障的狀態(tài)。P={p0,p1,p2,…,pM}是各個系統(tǒng)狀態(tài)發(fā)生的先驗故障概率向量。假設(shè)系統(tǒng)只能處于某個故障狀態(tài)或無故障狀態(tài),需要對先驗故障概率向量P進行歸一化。T={t1,t2,…,tN}是系統(tǒng)N個可用的測試集合。C={c1,c2,…,cN}表示對應(yīng)的測試代價向量,其中測試代價采用測試時間、測試費用及其他相關(guān)因素進行衡量。D是一個N×(M+1)階的0-1矩陣,其每個元素代表測試與系統(tǒng)故障的關(guān)系,被定義為故障-測試依賴矩陣。對于測試tj,如果tj能診斷出故障狀態(tài)si,那么dij=1,否則dij=0,其中i=0,1,…,M,j=1,2,…,N。顯然對于無故障狀態(tài)s0,對任意j,均有d0j=0。在單目標序貫測試問題中,測試時間、測試費用等測試相關(guān)的參數(shù)都被歸一化為測試代價C,然而在實際生產(chǎn)中,部分系統(tǒng)在對于不同測試指標上(例如測試時間、測試費用)的需求不一定一致,即在不同優(yōu)化目標存在不一致并很有可能產(chǎn)生沖突,因此需要找出符合條件的一組最優(yōu)解可以兼顧系統(tǒng)對于不同測試指標的需求,該問題實質(zhì)上是一個多目標優(yōu)化問題。在實際應(yīng)用中,人們經(jīng)常會遇到多目標設(shè)計和決策的問題。為了解決多目標優(yōu)化問題,為其建立了一個通用的數(shù)學(xué)模型。首先要確定它的決策變量,一般情況下,可把決策變量X看作n維歐氏空間En的一個點,也即:X=(x1,x2,...,xn)∈En該決策變量滿足以下約束條件:gi(x)≤0,i=1,2,…,Phj(x)=0,j=1,2,…,Q其中,gi(x)≤0表示第i個不等式約束,P表示不等式約束的數(shù)量,hj(x)=0表示第j個等式約束,Q表示等式約束的數(shù)量。假設(shè)有R個優(yōu)化目標,且各個優(yōu)化目標fr(X)之間相互沖突,r=1,2,…,R,整體優(yōu)化目標可表示為:尋求使在滿足約束gi(x)≤0和hj(x)=0的同時達到最優(yōu)。在大多數(shù)情況下,由于多目標優(yōu)化問題的各個目標是相互沖突的,一個子目標的改善有可能會引起其它子目標性能的降低,要想使得多個目標同時達到最優(yōu)是不可能的,因而在求解多目標優(yōu)化問題時只能對各個子目標進行協(xié)調(diào)和折中處理,使各個子目標函數(shù)都盡可能地達到最優(yōu)。多目標優(yōu)化問題與單目標優(yōu)化問題有著本質(zhì)的區(qū)別,多目標優(yōu)化中的最優(yōu)解,通常稱之為Pareto(帕累托)最優(yōu)解。設(shè)Xp和Xq是任意兩個同時滿足約束gi(x)≤0和hj(x)=0的不同解,稱Xp支配Xq,則必須滿足下列二個條件:(1)對所有的子目標,Xp不比Xq差,即fr(Xp)≤fr(Xq);(2)至少存在一個子目標,使Xp比Xq好,即使得fr′(Xp)<fr(Xq)。在多目標優(yōu)化問題的所有可行解中,若存在某個解,該解未被其他解支配,這個解稱為Pareto最優(yōu)解(非支配解)。理論上,多目標優(yōu)化算法在找到一個Pareto最優(yōu)解后就可以停止,但一個問題通常會有多個Pareto最優(yōu)解,決策者需要根據(jù)實際情況選出最合適的Pareto最優(yōu)解,因此多目標優(yōu)化問題的目標就是找出所有的Pareto最優(yōu)解。遺傳算法是一類模擬生物自然選擇和自然進化的隨機搜索算法,具有隱含的并行性和在全局解空間進行搜索的能力,它一次運行便能得到一組最優(yōu)解,遺傳規(guī)劃是遺傳算法的擴展,是一種搜索尋優(yōu)技術(shù),主要通過效仿生物的進化和遺傳,根據(jù)優(yōu)勝劣汰的原則,使所要解決的問題從初始解一步步地逼近最優(yōu)解,主要進化過程為種群初始化、挑選、交叉和變異。遺傳規(guī)劃中的個體一般表現(xiàn)為樹狀結(jié)構(gòu),有著靈活處理結(jié)構(gòu)和大小不預(yù)先確定問題的優(yōu)點,一般常用于解決符號回歸問題。序貫測試問題中的故障診斷樹和遺傳規(guī)劃個體表達都是采用二叉樹形結(jié)構(gòu)來表示的,因此可以遺傳規(guī)劃來解決序貫測試問題的方法。在公開號為“CN105629156A”的專利中,就公開了一種“基于遺傳規(guī)劃的模擬電路故障測試最優(yōu)序貫搜索方法”,在該方法中將模擬電路的故障診斷樹看成遺傳規(guī)劃的一個個體,然后采用遺傳規(guī)劃的算法來進化求出最優(yōu)個體解。然而該方法中只考慮了測試代價一個優(yōu)化目標,無法適用于存在多個測試指標作為優(yōu)化目標的系統(tǒng),需要進一步的改進。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法,針對存在多個測試指標作為優(yōu)化目標的系統(tǒng),求取序貫測試的故障診斷樹的Pareto最優(yōu)解,為系統(tǒng)測試人員提供指導(dǎo)。為實現(xiàn)上述發(fā)明目的,本發(fā)明基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法包括以下步驟:S1:根據(jù)系統(tǒng)的測試依賴矩陣隨機生成H個故障診斷樹,H的大小根據(jù)需要確定;S2:令迭代次數(shù)w=1;S3:分別計算種群中每個個體的測試指標值Fhr,h=1,2,…,H,r=1,2,…,R,R表示測試指標的數(shù)量;根據(jù)測試指標值Fhr對種群中的個體進行分組,分組的具體步驟包括:S3.1:初始化集合A等于當前種群,令分組序號v=1;S3.2:從集合A中搜索每個測試指標值Fhr極值對應(yīng)的個體,如果測試指標的優(yōu)化目標是盡可能大,則選擇最大值對應(yīng)的個體,如果測試指標的優(yōu)化目標是盡可能小,則選擇最小值對應(yīng)的個體;S3.3:從集合A中篩選出未被測試指標值Fhr極值支配的個體;S3.4:將本輪篩選中步驟S3.2和步驟S3.3得到的個體構(gòu)成第v個分組,并將該分組中的個體從集合A中刪除;S3.5:判斷是否集合A為空,如果是,分組結(jié)束,否則進入步驟S3.6;S3.6:令v=v+1,返回步驟S3.2;S4:計算當前種群中每個個體的適應(yīng)度值λh=αh-0.5βh,其中αh=0.5(V-vh+1),vh表示個體h所屬的分組序號,Gh表示個體h所屬分組中除該個體以外其他個體構(gòu)成的集合,γhh′表示擁擠距離,其計算公式如下:其中,δshare表示預(yù)設(shè)距離閾值,h′∈Gh;S5:根據(jù)步驟S4計算的各個個體的適應(yīng)度,選擇得到父個體集合;S6:將父個體集合中的個體隨機分為H/2組,然后以組為單位,比較每組中的兩個個體是否存在故障集相同的結(jié)點,如果某組中的兩個個體不存在故障集相同的結(jié)點,則該組不進行交叉操作,如果某組中的兩個個體存在故障集相同的結(jié)點,首先刪除大小等于M-1或等于1的相同故障集,M表示故障集S中故障數(shù)量,在剩余的相同故障集中任意選擇一個故障集,交換該故障集結(jié)點及其子樹;S7:對交叉后得到的個體進行變異操作,其變異方法為:對于種群中的每個個體,隨機選擇一個節(jié)點,若該節(jié)點只包含一個故障,則重新選擇,若該節(jié)點包含若干個故障且有能分割對應(yīng)故障集的可用測點,則從該節(jié)點的可用測點中隨機選擇一個與之前使用過的測點都不相同的測點,將以該節(jié)點為根節(jié)點的子樹從故障診斷樹中刪除,用新選出的測點重新生成相應(yīng)的子樹;S8:判斷是否w<W,W表示最大迭代次數(shù),如果是,進入步驟S9,否則進入步驟S10;S9:令w=w+1,返回步驟S3;S10:從最終代種群中搜索每個測試指標值Fhr極值對應(yīng)的個體,再篩選出未被測試指標值Fhr極值支配的個體,作為本系統(tǒng)序貫測試的非支配故障診斷樹。本發(fā)明基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法,首先初始化得到故障診斷樹種群,采用多目標遺傳規(guī)劃的方法對故障診斷樹進行選擇、交叉和變異,在每代迭代時,對故障診斷樹個體進行分組,每個個體的適應(yīng)度由分組適應(yīng)度和擁擠距離計算得到,經(jīng)過多次迭代后從最終代種群中選擇非支配的個體作為本系統(tǒng)序貫測試的非支配故障診斷樹。經(jīng)實驗驗證可知,本發(fā)明可以得到存在多個測試指標作為優(yōu)化目標的序貫測試的故障診斷樹的Pareto最優(yōu)解,供系統(tǒng)測試人員選擇,從而為系統(tǒng)測試人員提供指導(dǎo)。附圖說明圖1是本發(fā)明基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法的具體實施方式流程圖;圖2是本實施例中故障診斷樹的生成方法;圖3是本發(fā)明中種群個體分組方法流程圖;圖4是本發(fā)明中分組適應(yīng)度確定示意圖;圖5是故障診斷樹個體交叉的示例圖。具體實施方式下面結(jié)合附圖對本發(fā)明的具體實施方式進行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當已知功能和設(shè)計的詳細描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。圖1是本發(fā)明基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法的具體實施方式流程圖。如圖1所示,本發(fā)明基于多目標遺傳規(guī)劃算法的序貫測試優(yōu)化方法的具體步驟包括:S101:種群初始化:種群初始化是根據(jù)系統(tǒng)的測試依賴矩陣隨機生成H個故障診斷樹,H的大小根據(jù)需要確定。故障診斷樹的生成方法可以根據(jù)需要來選擇,圖2是本實施例中故障診斷樹的生成方法。如圖2所示,本實施例中所采用的故障診斷樹生成方法包括以下步驟:S201:初始化參數(shù):令根節(jié)點p0為故障集,即p0=S,令層數(shù)初始值k=0。S202:統(tǒng)計第k層故障集節(jié)點數(shù)量Dk。S203:判斷是否Dk=0,如果不是,進入步驟S204,否則故障診斷樹生成結(jié)束。S204:令故障集節(jié)點序號d=1。S205:選擇測點:首先確定當前測點節(jié)點的可用測點集X=T-T′,T′表示當前測點節(jié)點上層節(jié)點的測點集合,也就是說,當前測點不能與其上層節(jié)點中任何一個測點重復(fù)。從可用測點集φ中任意選擇一個可以分割故障集Skd的測點t,Skd即表示第k層第d個故障集節(jié)點所對應(yīng)的故障集,令測點節(jié)點tkd=t,根據(jù)測點t的分割結(jié)果確定故障集Skd的子故障集Skd-left和Skd-right,如果不存在可以分割故障集Skd的測點,則不做任何操作。測點t對故障集Skd的分割是根據(jù)測試能否檢測出故障來實現(xiàn)的,將故障集Skd中能夠通過測點t檢測的故障劃分一個子故障集,不能通過測點t檢測的故障劃分為另一個子故障集,如果其中一個子故障集為空,則說明測點t不能完成對故障集Skd的分割。S206:判斷是否d<Dk,如果是,進入步驟S207,否則進入步驟S208。S207:令d=d+1,返回步驟S205。S208:令k=k+1,返回步驟S202。根據(jù)本實施例中提出的故障診斷樹生成方法可能存在兩個或幾個故障構(gòu)成的模糊組最終無法被分割的情況,這種情況可能通過后續(xù)操作來進行修正,也有可能由于測點集T中測點不夠完備,最終仍然可能存在模糊組,因此應(yīng)當盡可能多地將可使用的測點都加入測點集T。S102:令迭代次數(shù)w=1。S103:個體分組:分別計算種群中每個個體的測試指標值Fhr,h=1,2,…,H,r=1,2,…,R,R表示測試指標的數(shù)量。本實施例中,測試指標采用測試時間Jt和測試費用Jc,計算公式分別如下:其中,p(si)表示故障si所發(fā)生的概率,i=1,2,…,m,m表示故障數(shù)量,aij=1表示當某個故障si發(fā)生時,測試tj能檢測出該故障,aij=0表示當故障si發(fā)生時不能被測試tj檢測出;ctj為測試tj對應(yīng)的測試時間,ccj為測試tj對應(yīng)的測試代價。然后根據(jù)測試指標值Fhr對種群中的個體進行分組。圖3是本發(fā)明中種群個體分組方法流程圖。如圖3所示,本發(fā)明中種群個體分組方法包括以下步驟:S301:初始化參數(shù):初始化集合A等于當前種群,令分組序號v=1。S302:篩選最優(yōu)非支配個體:從集合A中搜索每個測試指標值Fhr極值對應(yīng)的個體,如果測試指標的優(yōu)化目標是盡可能大,則選擇最大值對應(yīng)的個體,如果測試指標的優(yōu)化目標是盡可能小,則選擇最小值對應(yīng)的個體,這些個體分別擁有一個測試指標值在當前集合A中的極值,即為當前集合A的非支配解。以測試費用和測試時間為例,這兩個測試指標的優(yōu)化目標都是盡可能小,因此需要選擇測試費用為最小值Cbest的個體和測試時間為最小值Tbest的個體。S303:篩選非支配個體:從集合A中篩選出未被測試指標值Fhr極值支配的個體。以測試費用和測試時間為例,非支配個體即為測試費用大于Cbest且測試時間小于Cbest的個體以及測試成本小于Tbest且測試時間大于Tbest的個體。S304:獲取第v個分組:將本輪篩選中步驟S302和步驟S303得到的個體構(gòu)成第v個分組,并將該分組中的個體從集合A中刪除。可見,在每次篩選得到第v個分組后,集合A中剩余的個體都是被第1至第v個分組支配的個體,相應(yīng)地,第v個分組為第1至第v-1個分組支配,因此可以稱第v個分組為第v級非支配解,為之前的v-1個分組所支配。S305:判斷是否集合A為空,如果是,分組結(jié)束,否則進入步驟S306。S306:令v=v+1,返回步驟S302。S104:計算個體的適應(yīng)度:在本發(fā)明中對種群進行了分組,定義每個分組存在一個分組適應(yīng)度,然后采用擁擠距離來維持群體分布的多樣性,因此每個個體的適應(yīng)度是綜合了其分組適應(yīng)度和擁擠距離來計算的。記步驟S103得到的分組數(shù)量為V,當前種群中個體h的分組適應(yīng)度αh=0.5(V-vh+1),h=1,2,…,H,vh表示個體h所屬的分組序號。圖4是本發(fā)明中分組適應(yīng)度確定示意圖。如圖4所示,第1個分組是未被其他個體支配的分組(第1級非支配解),其中所有個體的分組適應(yīng)度為0.5V,第2個分組是被支配一次的分組(第2級非支配解),其中所有個體的分組適應(yīng)度為0.5(V-1),以此類推,最后一個分組,即被其他所有個體支配的分組(第V級非支配解)的個體的分組適應(yīng)度為0.5。個體的擁擠距離可以通過計算同級別的兩個個體在每個子目標上的距離差之和來求取。擁擠距離大的個體參與繁殖和進化的機會較多,從而維持種群的多樣性。首先計算個體h與其分組中其他個體h′的擁擠距離γhh′:其中,δshare表示預(yù)設(shè)距離閾值,h′∈Gh,Gh表示個體h所屬分組中除該個體以外其他個體構(gòu)成的集合,F(xiàn)h′r表示個體h′的測試指標值。個體h的累積擁擠距離βh的計算公式如下:根據(jù)個體h的分組適應(yīng)度αh和累積擁擠距離βh,就可以計算得到個體h的適應(yīng)度值λh=αh-0.5βh。根據(jù)本發(fā)明中個體適應(yīng)度的計算方法可知,個體適應(yīng)度越大的個體,其適應(yīng)能力越強,那么在新種群生成過程中越可能被保留。S105:選擇父個體:根據(jù)步驟S104計算的各個個體的適應(yīng)度,選擇得到父個體集合。父個體集合中的個體數(shù)量仍然為H,這就表明,如果某些故障診斷樹個體不被選擇,那么就有另外的故障診斷樹被選擇次數(shù)超過一次。父個體集合的選擇方法通常采用輪盤賭方法,也可以采用遺傳算法中的其他父個體選擇方法。輪盤賭方法的具體過程為:當前種群中所有個體的適應(yīng)度累加求和,將每個個體的適應(yīng)度除以適應(yīng)度累加和得到該個體適應(yīng)度占適應(yīng)度累加和的份額,并將每個個體的適應(yīng)度份額從小到大排列起來。隨機生成一個在0到1之間的數(shù),將這個隨機數(shù)與個體份額進行比較,第一個擁有比當前隨機數(shù)大的適應(yīng)度份額的個體被選中放入父個體集合。這樣一共進行H次選擇,所有被選出的個體即可構(gòu)成一個新的種群。S106:個體交叉:對步驟S105選擇的父個體集合中的個體進行交叉操作。傳統(tǒng)的遺傳規(guī)劃中的交叉操作,一般是交換兩個個體中任意兩個結(jié)點以及結(jié)點下各自所帶的子樹。但本發(fā)明所針對的故障診斷樹較之于一般的二叉樹有更多的條件限制,主要原因在于這種樹的每一個子樹都是由上級樹中的故障集內(nèi)容和所選測點所決定的,整棵樹從上到下聯(lián)系十分緊密,需要對交叉操作進行一些特殊的限制。因此本發(fā)明中個體交叉的具體方法如下:首先將父個體集合中的個體隨機分為H/2組,然后以組為單位,比較每組中的兩個個體是否存在故障集相同的結(jié)點,如果某組中的兩個個體不存在故障集相同的結(jié)點,則該組不進行交叉操作,如果某組中的兩個個體存在故障集相同的結(jié)點,為了防止交叉操作沒有意義,先排除大小等于M-1或等于1的相同故障集,M表示系統(tǒng)故障集S中故障數(shù)量,再在在剩余的相同故障集中任意選擇一個故障集,交換該故障集結(jié)點及其子樹。為了提高交叉的意義與保證種群的多樣性,每組個體最多只交換一次。圖5是故障診斷樹個體交叉的示例圖。如圖5所示,這兩個故障診斷樹個體中都有一個包含故障s1、s2、s5以及s12的故障集,交叉操作時應(yīng)該將這兩個故障集所在的節(jié)點以及它們各自的子樹一并交換過來。S107:個體變異:對交叉后得到的個體進行變異操作,其變異方法為:對于種群中的每個個體,隨機選擇一個節(jié)點,若該節(jié)點只包含一個故障,則重新選擇,若該節(jié)點包含若干個故障且有能分割對應(yīng)故障集的可用測點,則從該節(jié)點的可用測點中隨機選擇一個與之前使用過的測點都不相同的測點,將以該節(jié)點為根節(jié)點的子樹從故障診斷樹中刪除,用新選出的測點重新生成相應(yīng)的子樹。S108:判斷是否w<W,W表示最大迭代次數(shù),如果是,進入步驟S109,否則進入步驟S110。S109:令w=w+1,返回步驟S103。S110:篩選最終非支配個體:從最終代種群中搜索每個測試指標值Fhr極值對應(yīng)的個體,再篩選出未被測試指標值Fhr極值支配的個體,也就是篩選出最終代種群中的非支配個體,作為本系統(tǒng)序貫測試的非支配故障診斷樹。實施例為了更好地說明本發(fā)明的技術(shù)效果,采用一個具體實施例進行仿真驗證。表1是本實例中電子系統(tǒng)含故障概率和測試代價的故障-測試依賴矩陣。表1本次實驗驗證的條件如下:CPU:奔騰G3250;操作系統(tǒng):Windows7;編程語言:JAVA。遺傳規(guī)劃相關(guān)參數(shù):種群大?。?00;進化代數(shù):100交叉率:0.8;變異率0.05。所采用的測試指標為測試費用和測試時間,擁擠距離的閾值δshare=0.3。采用本發(fā)明進行序貫測試優(yōu)化,得到12個Pareto最優(yōu)解。表2是本實施例中Pareto最優(yōu)解的測試費用和測試時間列表。測試時間測試費用3.30312.4873.78412.1184.61511.8664.70811.7444.72411.2754.819.4784.8758.0155.0357.9945.1987.6155.2327.225.3116.6015.5484.764表2從表2可以看出,該系統(tǒng)的最小測試費用為4.764,此時其測試時間為5.548,系統(tǒng)的最小測試時間為3.303,其對應(yīng)的測試費用為12.487,系統(tǒng)無法同時獲得最小的測試費用與時間。在Pareto最優(yōu)解中,測試費用越大的個體測試時間越少,實際操作中可以根據(jù)需要從中選擇最適合系統(tǒng)的解??梢?,采用本發(fā)明可以得到存在多個測試指標作為優(yōu)化目標的序貫測試的故障診斷樹的Pareto最優(yōu)解,為系統(tǒng)測試人員提供指導(dǎo)。盡管上面對本發(fā)明說明性的具體實施方式進行了描述,以便于本
技術(shù)領(lǐng)域
的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實施方式的范圍,對本
技術(shù)領(lǐng)域
的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1