国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于屬性排查的軟件運行風(fēng)險多目標(biāo)控制仿真

2021-11-17 12:39張開利
計算機仿真 2021年9期
關(guān)鍵詞:排查粒子矩陣

張開利,李 俊

(1.遼東學(xué)院工程技術(shù)學(xué)院,遼寧 丹東 118003;2.廣州大學(xué)電子與通信工程學(xué)院,廣東 廣州 510006)

1 引言

目前,軟件行業(yè)產(chǎn)生了眾多以軟件項目研發(fā)進(jìn)度延期、投資成本超支及運行質(zhì)量缺陷為特征的軟件危機,其中軟件運行缺陷是損失最為慘重的危機之一。為完善軟件運行質(zhì)量,就要對其運行風(fēng)險采取有效評估,并依照真實的風(fēng)險情況使用必要的控制措施,最大限度降低風(fēng)險[1-2]。在軟件研發(fā)與實踐中,由于人力、資金或時間等方面的限制,無法有效識別出全部的風(fēng)險因素,且軟件運行風(fēng)險會伴隨時間的推移產(chǎn)生風(fēng)險積累與擴散,不同的風(fēng)險屬性之間會互相作用與影響[3]。

針對上述問題,本文將傳統(tǒng)軟件運行風(fēng)險控制目標(biāo)延伸為多個,同時全面總結(jié)軟件風(fēng)險之間的屬性問題,提出一種基于屬性排查的軟件運行風(fēng)險多目標(biāo)控制方法。規(guī)劃不同的軟件屬性項目,使用自乘運算推導(dǎo)出所有屬性影響值,并在屬性間的影響邊中代入影響值,使用可達(dá)矩陣?yán)碚撘?guī)范化直接影響矩陣,計算各個軟件屬性影響的延伸水準(zhǔn),起到軟件全局質(zhì)量評估作用;通過風(fēng)險相關(guān)性,構(gòu)建軟件運行風(fēng)險多目標(biāo)控制模型,使用多目標(biāo)粒子群算法進(jìn)行模型求解,實現(xiàn)高效精準(zhǔn)的軟件運行風(fēng)險控制。

2 基于屬性排查的軟件質(zhì)量評估方法

軟件運行風(fēng)險多目標(biāo)控制之前,首先要全方位分析軟件目前的整體狀態(tài),判斷軟件運行是否存在風(fēng)險行為,提出一種基于屬性排查的軟件質(zhì)量評估方法。軟件屬性排查過程中,將軟件可信度當(dāng)作軟件質(zhì)量的外在表現(xiàn),將軟件運行時產(chǎn)生的因素屬性叫作軟件可信度屬性,將可信度屬性記作表1。

表1 可信度屬性列表

軟件屬性排查時,設(shè)定兩個基礎(chǔ)假設(shè),即數(shù)量假設(shè)與質(zhì)量假設(shè)。數(shù)量假設(shè)就是在屬性影響模型內(nèi),若一個節(jié)點至其余節(jié)點的邊越多,表明此節(jié)點屬性越重要。質(zhì)量假設(shè)表示一個節(jié)點對另一個節(jié)點的影響數(shù)值越高,表明節(jié)點的屬性越重要[4]。

在上述假設(shè)前提下,計算軟件屬性影響數(shù)值,并更新全部屬性影響值,直至更新結(jié)束。屬性影響模型內(nèi),若節(jié)點B擁有一個面向節(jié)點A的邊,證明B的屬性權(quán)重較高,則將B的權(quán)重作為一個影響值的總和。

(1)

為排查出軟件屬性之間的影響水平,在屬性之間的影響邊內(nèi)引入影響值lij,即

(2)

將屬性影響模型表示為鄰接矩陣P,矩陣P描述模型內(nèi)的屬性節(jié)點關(guān)聯(lián)[5]。若節(jié)點i到節(jié)點j有入邊,影響水準(zhǔn)為lij,影響指數(shù)為βij,那么pij=βijlij,反之pij=0。由此將矩陣P定義為

(3)

為詳細(xì)分析軟件屬性影響,按照可達(dá)矩陣?yán)碚?,?yōu)化直接影響矩陣[6],再利用自乘運算獲得綜合影響矩陣,即計算出各個軟件屬性影響的延伸水準(zhǔn)的總和T:

T=G1+G2+…+Gn

(4)

得到綜合影響值后就能排查出屬性在軟件內(nèi)對其余屬性的影響程度,然后給影響較多的屬性更大的權(quán)重值,歸一化后即可明確屬性權(quán)重,評估軟件運行的整體質(zhì)量。線性映射綜合影響值,得到最終的屬性排查解析式為

(5)

3 基于相關(guān)性分析的軟件運行風(fēng)險多目標(biāo)控制模型

明確軟件運行的實時狀態(tài)后,若軟件運行存在較大風(fēng)險,證明軟件質(zhì)量存在缺陷,需建立一個風(fēng)險多目標(biāo)控制模型。設(shè)定軟件運行風(fēng)險集合是{Ri|i=1,2,…,n},n為風(fēng)險數(shù)量。RE為風(fēng)險損失預(yù)期值,RIi為風(fēng)險評估值。假設(shè)第i個風(fēng)險形成的損失為Li,由此得到

REi=RIiLi

(6)

本文構(gòu)建的多目標(biāo)控制模型中,關(guān)鍵控制兩個目標(biāo)為最小:風(fēng)險的損失預(yù)期值最小和風(fēng)險控制成本最小[7]。在式(6)基礎(chǔ)上,組建軟件運行風(fēng)險多目標(biāo)控制優(yōu)化控制模型

(7)

(8)

其中,xi為風(fēng)險系數(shù)。由于xi的值只能是0或1,因此組建的多目標(biāo)控制模型為一個0-1規(guī)劃模型:

(9)

軟件運行風(fēng)險之間具備一定相關(guān)性,在軟件運行風(fēng)險多目標(biāo)控制優(yōu)化控制模型中代入一個風(fēng)險相關(guān)性,構(gòu)建相關(guān)性分析下的軟件運行風(fēng)險多目標(biāo)控制優(yōu)化控制模型,提升多目標(biāo)控制的精確性與實用性。

本文所描述的軟件運行風(fēng)險為在某個固定環(huán)境下的某個時段中,產(chǎn)生風(fēng)險的不確定性和風(fēng)險引發(fā)的經(jīng)濟損失。風(fēng)險的相關(guān)性包含概率與損失兩個因素,著重考慮損失因素的相關(guān)性。描述風(fēng)險相關(guān)性的核心指標(biāo)就是交互性指數(shù),交互性指數(shù)代表兩個風(fēng)險間的表現(xiàn)出的正相關(guān)聯(lián)系,取值范圍在[-1,1],正數(shù)就是兩個風(fēng)險同時產(chǎn)生的損失總和要高于單獨產(chǎn)生的損失總和,0代表兩個風(fēng)險在損失水平上不具備相關(guān)性,也就是風(fēng)險之間互不影響,損失展現(xiàn)出可加性特征;負(fù)數(shù)代表兩個風(fēng)險之間的負(fù)相關(guān),即兩個風(fēng)險同時產(chǎn)生的損失總和低于單獨產(chǎn)生的損失值。

若風(fēng)險i與風(fēng)險j是擁有相關(guān)性的風(fēng)險,設(shè)定Iij是其交互性指數(shù),則Iij=Iji。Lij是兩個相關(guān)性風(fēng)險同時產(chǎn)生的相關(guān)性損失,則Lij=Lji。

Choquet積分為一種模糊積分[8],能夠很好地處理軟件屬性之間的互相作用問題,利用模糊集的模糊測度把相關(guān)數(shù)據(jù)代入屬性控制流程,衡量風(fēng)險相關(guān)性損失水平。按照Choquet積分定理,集成算子和Lij值相等,則

(10)

其中,μi為通過第i個風(fēng)險構(gòu)成的模糊集合的測度值。將基于2-可加的模糊測度值描述成

(11)

其中,wi為第i個風(fēng)險權(quán)重,Iij、Iji分別為兩個風(fēng)險的交互性指數(shù)。

將風(fēng)險損失值引入風(fēng)險多目標(biāo)控制模型內(nèi)[9],設(shè)定REC是基于風(fēng)險相關(guān)性損失后的損失期望值,則REC的推導(dǎo)公式為

(12)

其中,W表示具備相關(guān)性的風(fēng)險集,i,j∈W為兩個風(fēng)險間的相關(guān)性,由于xi、xj的值只能是0或1,只要控制二者中的一個風(fēng)險,即xi、xj的值有一個等于1的情況下,軟件運行風(fēng)險就不具備相關(guān)性。

融合單風(fēng)險損失預(yù)期值REI,獲得風(fēng)險相關(guān)性下的風(fēng)險損失預(yù)期值:

RE=REI+REC

(13)

則最終的軟件運行風(fēng)險多目標(biāo)控制模型表達(dá)式為

(14)

4 多目標(biāo)粒子群算法下風(fēng)險多目標(biāo)控制求解

多目標(biāo)粒子群算法為一種優(yōu)化方法,將其代入運行風(fēng)險多目標(biāo)控制模型中完成模型求解,可幫助軟件開發(fā)者進(jìn)一步優(yōu)化軟件運行過程,規(guī)避有可能存在的運行風(fēng)險,保證軟件應(yīng)用穩(wěn)定性與安全性。

背包問題為優(yōu)化定理內(nèi)的一種多目標(biāo)優(yōu)化方式[10]。該方法使用一個背包輸送不同物品,貨物的價值越高,輸送成本越低,與此同時,輸送貨物質(zhì)量不可高于固定閾值,將以上輸送需求描述成

s.t.CX≤Z

(15)

式中,i代表貨品類別,M為各類貨品包含的貨品個數(shù),P為貨品價值矩陣,V為體積矩陣,C表示質(zhì)量矩陣,X代表挑選矩陣,Z是質(zhì)量約束矩陣。

粒子搜尋面積[11]通過不同的約束條件進(jìn)行規(guī)劃,若一共有m只鳥處于D維空間完成搜尋任務(wù),則粒子群算法的運算過程為:

步驟1:初始化。設(shè)定Xi={xi1,xi2,…,xiD}是粒子i的初始范圍,Vi={vi1,vi2,…,viD}是粒子i的原始速率,數(shù)據(jù)集Pi={pi1,pi2,…,piD}可以記載粒子i遍歷過的方位內(nèi)目標(biāo)函數(shù)最佳值相對的方位,數(shù)據(jù)集Pg={pg1,pg2,…,pgD}可記載全部粒子遍歷方位內(nèi)目標(biāo)函數(shù)最佳值相對的方位。

步驟2:迭代。每個粒子的方位與速率更新解析式為

(16)

式中,d∈[1,2,…,D],w代表上個時段的方位與速率對目前粒子的影響,c1、c2為學(xué)習(xí)因子,r1、r2為擾動系數(shù),利用擾動系數(shù)能提升搜尋時每個粒子遍歷方位的隨機性,防止方法產(chǎn)生局部最優(yōu)情況。

步驟4:終止迭代。終止迭代包含如下條件:若干次迭代后,方位Pg無更新情況,且在指定次數(shù)中,方位Pg相對的目標(biāo)函數(shù)值改變量低于固定臨界值。

針對軟件運行風(fēng)險控制多樣性需求,代入一個非劣解,創(chuàng)建多目標(biāo)粒子群算法。在多目標(biāo)控制可行域內(nèi),多目標(biāo)粒子群在迭代時對收集和記載全部遍歷過程中產(chǎn)生的非劣解[12],綜合全局最優(yōu)解就能構(gòu)成下一輪粒子進(jìn)化的速率與方向,持續(xù)循環(huán)上述過程后就能推導(dǎo)出軟件運行風(fēng)險多目標(biāo)控制模型的帕累托最佳解,如果最佳解內(nèi)的決策變量是1,證明軟件運行風(fēng)險得到很好的控制,實現(xiàn)期望軟件運行風(fēng)險控制目的。計算過程為

(17)

v(t+1)=ω×v(t)+c1×rand(0,1)×(xbest-x)+

c2×rand(0,1)×(xgbest-x)

(18)

其中,Tmax為最高迭代次數(shù),t為目前迭代次數(shù),ωmax、ωmin分別為ω的最大與最小值,xbest表示粒子本身的最佳值,xgbest為全局最佳粒子值。

處理了最佳解選擇問題后,還要注意迭代時產(chǎn)生的迭代規(guī)則問題,也就是一次迭代后得到多個非劣解后,要明確唯一的Pi與Pg,確保迭代的持續(xù)更新。在Pg的挑選過程中,將擁擠度當(dāng)作權(quán)衡準(zhǔn)則獲得迭代后的最佳權(quán)值,在真實模型求解任務(wù)中,把目標(biāo)空間等量劃分成若干小網(wǎng)格,將各小網(wǎng)格迭代后涵蓋的粒子個數(shù)看作網(wǎng)格中粒子的擁擠度,擇取擁擠度最低的粒子作為下一時段的迭代初始點。

5 仿真研究

為表明所提方法在實際應(yīng)用中的可靠性,使用Matlab仿真平臺進(jìn)行實驗,實驗環(huán)境為Intel Core i5處理器,8G內(nèi)存,使用Web數(shù)據(jù)庫系統(tǒng)存儲軟件運行數(shù)據(jù)。選擇某中型軟件項目為研究目標(biāo),開發(fā)商是通過定量管理認(rèn)證的軟件企業(yè)。在表1可信度屬性列表基礎(chǔ)上,細(xì)分如下幾點軟件運行潛在風(fēng)險,控制成本關(guān)鍵是人力成本,單位是人/日。如表2所示。

表2 軟件運行風(fēng)險屬性與控制成本

設(shè)置Tmax值為11000,c1與c2值均為0.7,非劣解集合容量為150,原始粒子個數(shù)是220,非劣解篩選密度是0.06。本文方法的運算結(jié)果是一組軟件運行風(fēng)險多目標(biāo)控制的帕累托最佳解集,集合內(nèi)各個解在兩個控制目標(biāo)上均無法同時優(yōu)于其它解,結(jié)果如圖1所示,圖1中風(fēng)險暴露值表示風(fēng)險對軟件的破壞程度。

圖1 帕累托最佳解軟件運行風(fēng)險多目標(biāo)控制關(guān)系圖

從圖1可知,風(fēng)險暴露值和風(fēng)險控制成本目標(biāo)呈現(xiàn)出非線性置換關(guān)聯(lián),在控制成本為0時,表明全部風(fēng)險均沒有得到有效抑制,這時風(fēng)險總值最高。在風(fēng)險暴露值是0的情況下,表明軟件運行得到很好控制,這時風(fēng)險成本最高。軟件運行風(fēng)險多目標(biāo)控制中,一般是通過某些資源完成風(fēng)險控制,但不能控制全部風(fēng)險,這就要挑選恰當(dāng)?shù)娘L(fēng)險目標(biāo)完成運行優(yōu)化,實現(xiàn)最佳風(fēng)險多目標(biāo)控制。圖2所示本文方法下的最佳解前沿準(zhǔn)確清楚地刻畫出不同風(fēng)險控制成本下的最佳控制策略,讓軟件研發(fā)者快速做出運行風(fēng)險控制響應(yīng),維護(hù)軟件正常運行。

圖2為考慮軟件屬性與未考慮軟件屬性二種不同控制策略下的風(fēng)險控制對比。

圖2 考慮屬性排查前后的風(fēng)險多目標(biāo)控制對比

從圖2看出,兩種控制策略結(jié)果存在很大區(qū)別,在同樣控制成本下,本文方法風(fēng)險值要高于沒有考慮軟件屬性排查的風(fēng)險值,證明本文方法不會局限于軟件淺層意義上運行風(fēng)險,而是發(fā)掘出更多不易被發(fā)現(xiàn)的缺陷與漏洞,更貼合軟件真實運行風(fēng)險控制現(xiàn)狀,對提升軟件運行風(fēng)險管理水準(zhǔn)發(fā)揮重要作用。

6 結(jié)論

針對軟件運行過程中存在的風(fēng)險問題,提出基于屬性排查的軟件運行風(fēng)險多目標(biāo)控制方法。利用屬性排查評估軟件質(zhì)量,構(gòu)建軟件運行風(fēng)險多目標(biāo)控制模型,引入多目標(biāo)粒子群算法完成模型求解,更全面地提取出軟件不同屬性之間的關(guān)聯(lián),有效提高風(fēng)險控制精度。

猜你喜歡
排查粒子矩陣
重卡雨刮工作原理及電器故障排查
如何排查并改錯
虛擬校園漫游中粒子特效的技術(shù)實現(xiàn)
一種用于抗體快速分離的嗜硫納米粒子的制備及表征
多項式理論在矩陣求逆中的應(yīng)用
撫松農(nóng)發(fā)行開展貸款風(fēng)險排查
慣性權(quán)重動態(tài)調(diào)整的混沌粒子群算法
用電安全知多少
問:超對稱是什么?
矩陣