[发明专利]一种基于规则的软件体系结构层性能演化优化方法有效

专利信息
申请号: 201410546025.1 申请日: 2014-10-16
公开(公告)号: CN104268278B 公开(公告)日: 2017-06-30
发明(设计)人: 杜欣;倪友聪;叶鹏;谢大同;肖如良;汪春燕;昂凤平;王晓红;李松 申请(专利权)人: 福建师范大学
主分类号: G06F17/30 分类号: G06F17/30;G06N3/12
代理公司: 福州元创专利商标代理有限公司35100 代理人: 蔡学俊
地址: 350007 *** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于规则的软件体系结构层性能演化优化方法,采用遗传算法进行软件体系结构层性能演化优化A.进行种群初始化;B.输入个体编码(规则号序列)、初始软件体系结构和规则使用历史表,计算种群中每个个体的适应度值;C.采用基于精英保留的轮盘赌选择策略进行选择操作;D.采用带约束检查机制的一点交叉进行交叉操作;E.采用带约束检查机制的一点变异进行变异操作;F.判断是否满足终止条件,是则转步骤G,否则基于步骤E得到的下一代种群,返回步骤B进行下一次迭代;步骤G.将最优个体中出现的0及没有改进效果的规则号依次删除,获得最优改进方案并输出。该方法可降低软件体系结构层性能的优化成本,提高优化质量。
搜索关键词: 一种 基于 规则 软件 体系结构 性能 演化 优化 方法
【主权项】:
一种基于规则的软件体系结构层性能演化优化方法,其特征在于,采用遗传算法进行软件体系结构层性能演化优化,包括以下步骤:步骤A.进行种群初始化:设置种群规模、交叉概率、变异概率、最大进化代数、迭代数t=0,并采用一定的个体编码方法,随机生成初始种群P(t)中的每个个体;所述个体编码方法为:任意个体的编码X'=<x'1,x'2,L,x'k,L,x'l'>均采用定长自然数编码,码长l’由下式定义:l′=Σi=1nui]]>其中ui表示i号规则最多可使用的次数;规则号1到n表示对n条性能改进规则的依次编号;特别地,引入0号规则表示不做任何动作的空规则,并令:1)0号规则最多可使用的次数u0=l’;2)0号规则作用在任何软件体系结构SA上都没有性能改进;3)由0号规则构成的单规则序列作用在任何软件体系结构SA上得到的改进后的软件体系结构仍是SA;X’的每位x'k满足下式:x'k∈N∧0≤x'k≤n其中1≤k≤l',N表示自然数;X’中i号规则出现的次数记为hi(X’),其满足下式:hi(X')≤ui,0≤i≤n步骤B.适应度计算:输入个体编码X’、初始软件体系结构SA0和空的规则使用历史表T_RuleUseInHis,采用solveFitness算法计算P(t)中每个个体的适应度值fitness,并更新T_RuleUseInHis表;T_RuleUseInHis表包括rulNum、loc、nxtRulNum、impNum、totNum五个字段,rulNum表示规则号,loc表示规则号在编码中的位置,nxtRulNum表示loc+1位置的规则号,若loc+1大于码长,则其值为‑1,impNum表示在loc和loc+1位置的规则号分别是rulNum和nxtRulNum的情景下,rulNum对应规则有改进效果的使用次数,totNum表示在loc和loc+1位置的规则号分别是rulNum和nxtRulNum的情景下,rulNum对应规则的使用总数;所述solveFitness算法包括以下步骤:B1.将个体编码X’中的0号规则依次全部删除,获得规则号序列X;B2.将初始软件体系结构SA0和规则号序列X作为一定的规则序列执行算法的输入,运行所述规则序列执行算法,输出X对应规则序列执行前的系统响应时间BRT和执行后的系统响应时间ART,以及序列中规则使用情况表T_RuleUseInSeq;T_RuleUseInSeq表包括rulNum、loc、isImp三个字段,rulNum表示规则号,loc表示规则号在X中的位置,isImp表示根据loc位置上编号为rulNum的规则执行前后的系统响应时间,判定该规则的应用是否有性能改进效果,是则isImp为1,否则为0;B3.根据X对应规则序列执行前的系统响应时间BRT和执行后的系统响应时间ART,计算两者的差值ΔRT;B4.根据T_RuleUseInSeq表,统计有性能改进效果的规则数impRulNum(X)和使用的总规则数totRulNum(X),按下式计算出个体编码X’的适应度值fitness:fitness(X′)=ΔRT×impRulNum(X)totRulNum(X)]]>其中,X为删除X’中出现的0号规则得到的规则号序列;B5.根据T_RuleUseInSeq表,更新T_RuleUseInHis表;B6.输出适应度值fitness和更新后的T_RuleUseInHis表,算法结束;步骤C.选择操作:采用基于精英保留的轮盘赌选择策略在P(t)上进行个体选择,并生成临时种群P1(t);步骤D.交叉操作:采用带约束检查机制的一点交叉,对交叉操作生成的两个新个体,从交叉位开始至最后一位依次检查每位上的规则号是否违反最大出现次数的约束,若违反则将该位赋值为0;按此方法在P1(t)上进行交叉操作生成临时种群P2(t);步骤E.变异操作:采用带约束检查机制的一点变异,变异操作后执行约束检查,若变异后的规则号违反最大出现次数的约束,则将变异位赋值为0;按此方法在P2(t)上进行变异操作生成下一代种群;步骤F.判断是否满足终止条件:最优个体经过多次迭代后其适应度不再发生变化,或者迭代次数达到最大进化代数,是则转步骤G,否则基于步骤E得到的下一代种群,返回步骤B进行下一次迭代;步骤G.将最优个体中出现0及没有改进效果的规则号依次删除,获得最优改进方案X并输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建师范大学,未经福建师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410546025.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top