[發(fā)明專利]一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法有效
| 申請?zhí)枺?/td> | 201410546025.1 | 申請日: | 2014-10-16 |
| 公開(公告)號: | CN104268278B | 公開(公告)日: | 2017-06-30 |
| 發(fā)明(設(shè)計)人: | 杜欣;倪友聰;葉鵬;謝大同;肖如良;汪春燕;昂鳳平;王曉紅;李松 | 申請(專利權(quán))人: | 福建師范大學(xué) |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06N3/12 |
| 代理公司: | 福州元創(chuàng)專利商標(biāo)代理有限公司35100 | 代理人: | 蔡學(xué)俊 |
| 地址: | 350007 *** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 規(guī)則 軟件 體系結(jié)構(gòu) 性能 演化 優(yōu)化 方法 | ||
1.一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法,其特征在于,采用遺傳算法進(jìn)行軟件體系結(jié)構(gòu)層性能演化優(yōu)化,包括以下步驟:
步驟A.進(jìn)行種群初始化:設(shè)置種群規(guī)模、交叉概率、變異概率、最大進(jìn)化代數(shù)、迭代數(shù)t=0,并采用一定的個體編碼方法,隨機(jī)生成初始種群P(t)中的每個個體;所述個體編碼方法為:
任意個體的編碼X'=<x'1,x'2,L,x'k,L,x'l'>均采用定長自然數(shù)編碼,碼長l’由下式定義:
其中ui表示i號規(guī)則最多可使用的次數(shù);規(guī)則號1到n表示對n條性能改進(jìn)規(guī)則的依次編號;特別地,引入0號規(guī)則表示不做任何動作的空規(guī)則,并令:1)0號規(guī)則最多可使用的次數(shù)u0=l’;2)0號規(guī)則作用在任何軟件體系結(jié)構(gòu)SA上都沒有性能改進(jìn);3)由0號規(guī)則構(gòu)成的單規(guī)則序列作用在任何軟件體系結(jié)構(gòu)SA上得到的改進(jìn)后的軟件體系結(jié)構(gòu)仍是SA;
X’的每位x'k滿足下式:
x'k∈N∧0≤x'k≤n
其中1≤k≤l',N表示自然數(shù);
X’中i號規(guī)則出現(xiàn)的次數(shù)記為hi(X’),其滿足下式:
hi(X')≤ui,0≤i≤n
步驟B.適應(yīng)度計算:輸入個體編碼X’、初始軟件體系結(jié)構(gòu)SA0和空的規(guī)則使用歷史表T_RuleUseInHis,采用solveFitness算法計算P(t)中每個個體的適應(yīng)度值fitness,并更新T_RuleUseInHis表;T_RuleUseInHis表包括rulNum、loc、nxtRulNum、impNum、totNum五個字段,rulNum表示規(guī)則號,loc表示規(guī)則號在編碼中的位置,nxtRulNum表示loc+1位置的規(guī)則號,若loc+1大于碼長,則其值為-1,impNum表示在loc和loc+1位置的規(guī)則號分別是rulNum和nxtRulNum的情景下,rulNum對應(yīng)規(guī)則有改進(jìn)效果的使用次數(shù),totNum表示在loc和loc+1位置的規(guī)則號分別是rulNum和nxtRulNum的情景下,rulNum對應(yīng)規(guī)則的使用總數(shù);所述solveFitness算法包括以下步驟:
B1.將個體編碼X’中的0號規(guī)則依次全部刪除,獲得規(guī)則號序列X;
B2.將初始軟件體系結(jié)構(gòu)SA0和規(guī)則號序列X作為一定的規(guī)則序列執(zhí)行算法的輸入,運(yùn)行所述規(guī)則序列執(zhí)行算法,輸出X對應(yīng)規(guī)則序列執(zhí)行前的系統(tǒng)響應(yīng)時間BRT和執(zhí)行后的系統(tǒng)響應(yīng)時間ART,以及序列中規(guī)則使用情況表T_RuleUseInSeq;T_RuleUseInSeq表包括rulNum、loc、isImp三個字段,rulNum表示規(guī)則號,loc表示規(guī)則號在X中的位置,isImp表示根據(jù)loc位置上編號為rulNum的規(guī)則執(zhí)行前后的系統(tǒng)響應(yīng)時間,判定該規(guī)則的應(yīng)用是否有性能改進(jìn)效果,是則isImp為1,否則為0;
B3.根據(jù)X對應(yīng)規(guī)則序列執(zhí)行前的系統(tǒng)響應(yīng)時間BRT和執(zhí)行后的系統(tǒng)響應(yīng)時間ART,計算兩者的差值ΔRT;
B4.根據(jù)T_RuleUseInSeq表,統(tǒng)計有性能改進(jìn)效果的規(guī)則數(shù)impRulNum(X)和使用的總規(guī)則數(shù)totRulNum(X),按下式計算出個體編碼X’的適應(yīng)度值fitness:
其中,X為刪除X’中出現(xiàn)的0號規(guī)則得到的規(guī)則號序列;
B5.根據(jù)T_RuleUseInSeq表,更新T_RuleUseInHis表;
B6.輸出適應(yīng)度值fitness和更新后的T_RuleUseInHis表,算法結(jié)束;
步驟C.選擇操作:采用基于精英保留的輪盤賭選擇策略在P(t)上進(jìn)行個體選擇,并生成臨時種群P1(t);
步驟D.交叉操作:采用帶約束檢查機(jī)制的一點(diǎn)交叉,對交叉操作生成的兩個新個體,從交叉位開始至最后一位依次檢查每位上的規(guī)則號是否違反最大出現(xiàn)次數(shù)的約束,若違反則將該位賦值為0;按此方法在P1(t)上進(jìn)行交叉操作生成臨時種群P2(t);
步驟E.變異操作:采用帶約束檢查機(jī)制的一點(diǎn)變異,變異操作后執(zhí)行約束檢查,若變異后的規(guī)則號違反最大出現(xiàn)次數(shù)的約束,則將變異位賦值為0;按此方法在P2(t)上進(jìn)行變異操作生成下一代種群;
步驟F.判斷是否滿足終止條件:最優(yōu)個體經(jīng)過多次迭代后其適應(yīng)度不再發(fā)生變化,或者迭代次數(shù)達(dá)到最大進(jìn)化代數(shù),是則轉(zhuǎn)步驟G,否則基于步驟E得到的下一代種群,返回步驟B進(jìn)行下一次迭代;
步驟G.將最優(yōu)個體中出現(xiàn)0及沒有改進(jìn)效果的規(guī)則號依次刪除,獲得最優(yōu)改進(jìn)方案X并輸出。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建師范大學(xué),未經(jīng)福建師范大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410546025.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:變速箱體消失模模樣固定裝置
- 下一篇:一種同體雙工位鍛造加工裝置
- 規(guī)則發(fā)現(xiàn)程序、規(guī)則發(fā)現(xiàn)處理和規(guī)則發(fā)現(xiàn)裝置
- 不規(guī)則瓶蓋
- 相關(guān)規(guī)則分析裝置以及相關(guān)規(guī)則分析方法
- 分析規(guī)則調(diào)整裝置、分析規(guī)則調(diào)整系統(tǒng)以及分析規(guī)則調(diào)整方法
- 規(guī)則抽取方法和規(guī)則抽取設(shè)備
- 終端規(guī)則引擎裝置、終端規(guī)則運(yùn)行方法
- 布(規(guī)則)
- 規(guī)則呈現(xiàn)方法、存儲介質(zhì)和規(guī)則呈現(xiàn)裝置
- 可編寫規(guī)則配置模塊、規(guī)則生成系統(tǒng)、及規(guī)則管理平臺
- 不規(guī)則圍棋
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法
- 評估企業(yè)體系結(jié)構(gòu)的方法和系統(tǒng)
- 一種計算機(jī)體系結(jié)構(gòu)性能模擬方法及系統(tǒng)
- 基于云的主數(shù)據(jù)管理體系結(jié)構(gòu)
- 一種軟件體系結(jié)構(gòu)并行演化沖突的檢測方法
- 基于進(jìn)程代數(shù)的軟件體系結(jié)構(gòu)安全模型的建立方法
- 一種作戰(zhàn)體系建模與仿真系統(tǒng)
- 用于測試混合指令體系結(jié)構(gòu)的方法和系統(tǒng)
- 一種在微體系結(jié)構(gòu)層面表征區(qū)塊鏈系統(tǒng)的方法和裝置
- 基于設(shè)計數(shù)據(jù)與實(shí)驗(yàn)數(shù)據(jù)的體系結(jié)構(gòu)評估方法及其系統(tǒng)
- 一種Java項(xiàng)目的體系結(jié)構(gòu)策略定位方法及系統(tǒng)





