一种基于遗传算法的选择最优DSP系统软防护的方法转让专利

申请号 : CN201510689961.2

文献号 : CN105335784B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 闫允一郭宝龙

申请人 : 西安电子科技大学

摘要 :

本发明属于DSP系统软防护技术领域,具体涉及一种基于遗传算法的选择最优DSP系统软防护的方法,包括步骤一、建立目标优化模型;步骤二、采用遗传算法对目标模型进行求解;步骤三、防护方法组合输出建立了DSP系统出错率与资源参数的目标模型,该基于遗传算法的选择最优DSP系统软防护的方法,并对资源开销进行了约束;利用遗传对划分程序块之间不同防护方法的使用获益进行最优求解,得到全局最优的防护方法组合,遗传算法从空间多个点开始寻找最优解,不易陷入局部最优;而且对于不同的防护方法组合,采用遗传算法可以对自适应值进行并行运算,可以节约最优解寻找时间。

权利要求 :

1.一种基于遗传算法的选择最优DSP系统软防护的方法,其特征在于,包括如下步骤:步骤一、建立目标优化模型;

(1)将工程代码分成若干代码块,将每个代码块用不同的防护方法进行防护,并计算系统的出错率P、防护后总代码大小C、防护后总数据大小D、防护后总执行时间T;

(2)利用已求出的参数P、C、D、T建立目标优化方程组,即目标优化模型:其中,k代表对不同代码块的防护方法组合,f(k)代表用防护方法组合k防护后的模型的目标值,CZ代表最大允许的代码容量,DZ代表最大允许的数据空间大小,TZ代表最大允许的时间延迟,a、b、c为资源的权值系数,且同时满足a+b+c=1,a≥0,b≥0,c≥0,设计者可以在防护中根据实际情况对a、b、c的值进行分配;

步骤二、采用遗传算法对目标模型进行求解;

(1)根据划分的总程序块数m和总的防护方法种数n确定解的二进制编码方案;

(2)确定资源权值系数a、b、c的值,结合步骤一中建立的目标优化模型确定适应值函数;

(3)种群初始化:即为种群中的所有样本确定初始编码值;

(4)根据样本编码值和(2)中所提出的适应值函数计算每个样本的适应值fi;

(5)终止判断:根据各个样本的适应值fi及所有样本的适应值中的最小值fmin判断第i个样本编码值是否为最优编码值,如果是则输出该样本编码值并停止算法,否则继续;

(6)根据种群中所有样本的适应值fi计算各个样本的相对适应值(7)种群繁殖:根据相对适应值 种群规模N计算第i个样本的数量Bi,将Bi=0的样本从种群中删除;

(8)对种群中的样本执行遗传算子,包括交叉算子和变异算子,用产生的新样本替代原来的样本产生新一代种群,返回(2)执行;

步骤三、防护方法组合输出;

(1)将步骤二所得的二进制最优编码以每l位为一组,共划分为m组,与m个程序块一一对应,其中, n为防护方法的种数;

(2)将(1)中产生的m组二进制编码转换为对应的十进制数,该十进制数即为各程序块对应的防护方法,该防护方法的组合为最优防护方案;

(3)输出最优防护方案,即(2)中产生的十进制数对应的防护方法的组合。

2.如权利要求1所述的基于遗传算法的选择最优DSP系统软防护的方法,其特征在于:所述步骤一、建立目标优化模型包括如下步骤:

(1)将工程代码划分为m块具有先后执行顺序的程序块,记为X1、X2、X3…Xm,程序块的各种防护方法记为ks,Xs出错的概率记为Ps,程序块Xs采用第ks种防护方法防护后出错的概率为 程序块Xs的信号总数记为Ns,程序块Xs第j个信号的错误传播概率记为Psj,程序块Xs的代码指令条数记为Cs,数据大小记为Ds,执行时间记为Ts,采用第ks种防护方法之后,代码指令条数为 数据大小记为 执行时间记为则可以得到系统出错率P的计算式如下:

得到系统防护后总代码大小C的计算式如下:

得到系统防护后总数据大小D的计算式如下:

得到系统防护后总执行时间T的计算式如下:

(2)建立目标函数优化模型:

其中,CZ代表最大允许的代码容量,DZ代表最大允许的数据空间大小,TZ代表最大允许的时间延迟,a、b、c为资源的权值系数,其中a+b+c=1,且a≥0,b≥0,c≥0,设计者可以在防护中根据实际情况对a、b、c的值进行分配,从而权衡三个资源参考量的重要关系,得到优化函数方程组:

3.如权利要求2所述的基于遗传算法的选择最优DSP系统软防护的方法,其特征在于:所述步骤二、采用遗传算法对目标模型进行求解,包括如下步骤:(1)确定编码方案;

对于DSP代码划分的总模块数为m,总共采用的防护方法共有n种,对于任意一个模块而言,可以选择这n种防护方法中的一种,也可以选择不防护,即可以供选择的防护方法共有n+1种,用二进制数据表示,则编码长度l,l为正整数,且应该满足以下关系式:

2l≥n+1

即 因此,对于每一个解而言,二进制编码的长度为L=m×l,种群规模为N,取N=10;

(2)确定适应值函数;

根据(1)中的编码规律,确定了每一个模块的每一种编码与防护方法的对应关系,查询对应防护方法的获益与资源开销,通过对资源参考量的权值设置,可计算出该编码样本下的目标函数值;将步骤一所得到的优化函数方程组作为适应值函数;一般取 则适应值函数如下:(3)种群初始化;

在保证没有无效编码的前提下,产生N个长度为L的二进制随机数,以此对种群中每个个体进行编码,完成种群初始化,编码个体的长度L=m×l;

(4)样本适应值计算;

将N个个体取值带入(2)中的适应函数,分别计算每一组编码的适应值函数值;其中,第i(i=1,2,3…N)个值计算得到的样本适应值记为fi;如果种群初始值中有不满足限定条件者,即将该个体从种群中删除,为了维持种群规模的稳定,新的样本将在步骤(8)中产生;

(5)终止判定;

构建一个长度为N的样本适应值差值数组:比较(4)中得到的样本适应值的大小,取出样本适应值的最小值fmin,并将所有的样本适应值与fmin作差,将差值存入样本适应值差值数组中;如果数组中连续出现w个0,则判定该差值对应的样本为最优解,输出该样本的编码值,否则,继续执行;

其中,w值根据种群规模N值确定,可设定为

(6)相对适应值计算;

通过(4)计算得到样本适应值的大小,用以下公式得出每个初始编码值的相对适应值,(7)种群繁殖;

相对适应值表征了样本种群中各种组合防护方法下适应值函数取值的比例;其中,比例越高,说明其对应的样本取值的适应值函数值越低,防护组合方法的效益越好;以相对适应值为参考,采用轮盘赌的方法确定新种群;

新种群中,第i个个体的数量Bi用如下计算式得到:

其中函数g(x)表示对x进行四舍五入取整数;这样,计算出每个个体在新种群中的数量,Bi=0,该个体将在新种群中被淘汰;如新种群中个体的数量超过原种群的数量,则将样本适应值最大的个体剔除;如新种群中的个体数量少于原种群的数量,则将样本适应值最小的个体加入新种群;

(8)遗传算子设计;

变异是从新种群中随机选择一定的二进制位进行取反,即变异操作,得到新的种群成员;取变异概率pm,即从杂交后的临时种群中选择N×pm个二进制位进行变异,一般取变异概率pm=0.02;

杂交即从新种群中随机选取一定数量的个体,随机进行位交换,得到新的种群成员;取杂交概率pc,即临时种群中选择N×pc个个体进行杂交,得到杂交后的新种群,一般取杂交概率pc=0.75pm;

在进行遗传算子运算时,杂交和变异的过程中不能出现无效编码;如果出现,则重新执行遗传算子计算;

(9)将新种群的编码值作为初始值,返回(2)执行。

4.如权利要求2所述的基于遗传算法的选择最优DSP系统软防护的方法,其特征在于:所述(2)确定适应值函数,在同时满足a+b+c=1,a≥0,b≥0,c≥0的前提下,根据资源参考设置权值a、b、c。

5.如权利要求2所述的基于遗传算法的选择最优DSP系统软防护的方法,其特征在于:所述步骤三、防护方法组合输出,是将通过遗传算法得到的编码进行解码,将该编码每l位一组,从左至右依次编号为1到m,分别将每组的二进制数转化为十进制数,产生的m个十进制数即为各程序块对应的防护方案,所有程序块的防护方案的组合为整个程序的最优防护方案。

说明书 :

一种基于遗传算法的选择最优DSP系统软防护的方法

技术领域

[0001] 本发明属于DSP系统软防护技术领域,具体涉及一种基于遗传算法的选择最优DSP系统软防护的方法。

背景技术

[0002] DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法;广义来说,数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科。但很多人认为:数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法。随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也相应地得到发展,其应用领域十分广泛。
[0003] 数字信号处理器(DSP),以其高速的运算速度,在现代科技产品中有了越来越广泛的应用,尤其是在尖端科技、航空航天等领域,扮演着越来越重要的角色。对于航空航天技术,DSP器件的应用不得不面对复杂的太空环境,比如高能粒子的辐射、撞击等。采用特殊工艺制造的器件,从某种程度上都会削弱器件的相关性能,而且成本高昂。随着器件运行速度的不断提升,器件集成度的提升,其受到外太空粒子干扰的频率在增大,所以为了保证处理器的稳定工作从而保证系统的稳定工作,针对DSP器件会进行一系列的软防护工作。
[0004] DSP系统在太空运行的过程中,易发生单粒子效应,实际的应用中针对DSP的防护方法较多,单一的防护方法往往很难达到系统对于资源及可靠性的要求,所以,在实际的设计中,一般是采用多种防护方法相互融合对系统采取防护。各种防护方法的获益与代价模型不一,致使在选择防护方法的过程中难以权衡,设计者很难直观的知道当前选定的方案是否具有可优化的空间。
[0005] 那么这些方法该如何组合才能使系统既能达到容许出错的概率又能不过多的占用资源呢?是否我们所使用的组合防护方法是最优的设计呢?
[0006] 针对这种情况,本发明提供了一种基于遗传算法的DSP软防护方案最优设计方法,通过对系统出错率与资源开销(指令条数)的建模,通过遗传算法求解最优解,得到最优的防护组合方法,最大程度提高系统的性能。

发明内容

[0007] 本发明的目的是克服现有技术中各种DSP系统防护方法的获益与代价模型不一,致使在选择防护方法的过程中难以权衡的问题。
[0008] 为此,本发明提供了一种基于遗传算法的选择最优DSP系统软防护的方法,包括如下步骤:
[0009] 步骤一、建立目标优化模型;
[0010] 步骤二、采用遗传算法对目标模型进行求解;
[0011] 步骤三、防护方法组合输出。
[0012] 上述步骤一、建立目标优化模型包括如下步骤:
[0013] (1)将工程代码划分为m块具有先后执行顺序的程序块,记为X1、X2、X3…Xm,程序块的各种防护方法记为ks,Xs出错的概率记为Ps,程序块Xs采用第ks种防护方法防护后出错的概率为 程序块Xs的信号总数记为Ns,程序块Xs第j个信号的错误传播概率记为Psj,程序块Xs的代码指令条数记为Cs,数据大小记为Ds,执行时间记为Ts,采用第ks种防护方法之后,代码指令条数为 数据大小记为 执行时间记为
[0014] 则可以得到系统出错率P的计算式如下:
[0015]
[0016] 得到系统防护后总代码大小C的计算式如下:
[0017]
[0018] 得到系统防护后总数据大小D的计算式如下:
[0019]
[0020] 得到系统防护后总执行时间T的计算式如下:
[0021]
[0022] (2)建立目标函数优化模型:
[0023]
[0024] 其中,CZ代表最大允许的代码容量,DZ代表最大允许的数据空间大小,TZ代表最大允许的时间延迟,a、b、c为资源的权值系数,其中a+b+c=1,a≥0,b≥0,c≥0,设计者可以在防护中根据实际情况对a、b、c的值进行分配,从而权衡三个资源参考量的重要关系。
[0025] 得到优化函数方程组:
[0026]
[0027] 上述步骤二、采用遗传算法对目标模型进行求解,包括如下步骤:
[0028] (1)确定编码方案;
[0029] 对于DSP代码划分的总模块数为m,总共采用的防护方法共有n种,对于任意一个模块而言,可以选择这n种防护方法中的1种,也可以选择不防护,其可以选择的模式有(n+1)种,用二进制数据表示,则编码长度l应该满足以下关系式:
[0030] 2l≥n+1
[0031] 即 因此,对于每一个解而言,二进制编码的长度为L=m×l,种群规模为N,一般而言可取N=10;
[0032] (2)确定适应值函数;
[0033] 根据(1)中的编码规律,确定了每一个模块的每一种编码与防护方法的对应关系,查询对应防护方法的获益与资源开销,通过对资源参考量的权值设置,可计算出该编码样本下的目标函数值;将步骤一所得到的优化函数方程组作为适应值函数;一般取则适应值函数如下:
[0034]
[0035] (3)种群初始化;
[0036] 在保证没有无效编码的前提下,产生N个长度为L的二进制随机数,以此对种群中每个个体进行编码,完成种群初始化,编码个体的长度L=m×l;
[0037] (4)样本适应值计算;
[0038] 将N个个体取值带入(2)中的适应函数,分别计算每一组编码的适应值函数值;其中,第i(i=1,2,3…N)个值计算得到的样本适应值记为fi;如果种群初始值中有不满足限定条件者,即将该个体从种群中删除,为了维持种群规模的稳定,新的样本将在步骤(8)中产生;
[0039] (5)终止判定;
[0040] 构建一个长度为N的样本适应值差值数组:比较(4)中得到的样本适应值的大小,取出样本适应值的最小值fmin,并将所有的样本适应值与fmin作差,将差值存入样本适应值差值数组中;如果数组中连续出现w个0,则判定该值为最优解,输出该编码值,否则,继续执行;
[0041] 其中,w值根据种群规模N值确定,可设定为
[0042] (6)相对适应值计算;
[0043] 通过(4)计算得到样本适应值的大小,用以下公式得出每个初始编码值的相对适应值,
[0044]
[0045] (7)种群繁殖;
[0046] 相对适应值表征了样本种群中各种组合防护方法下适应值函数取值的比例;其中,比例越高,说明其对应的样本取值的适应值函数值越低,防护组合方法的效益越好;以相对适应值为参考,采用轮盘赌的方法确定新种群;
[0047] 新种群中,第i个个体的数量Bi用如下计算式得到:
[0048]
[0049] 其中函数g(x)表示对x四舍五入取整数;这样,计算出每个个体在新种群中的数量,Bi=0,该个体将在新种群中被淘汰;如新种群中个体的数量超过原种群的数量,则将样本适应值最大的个体剔除;如新种群中的个体数量少于原种群的数量,则将样本适应值最小的个体加入新种群;
[0050] (8)遗传算子设计;
[0051] 变异是从新种群中随机选择一定的二进制位进行取反,即变异操作,得到新的种群成员;取变异概率pm,即从杂交后的临时种群中选择N×pm个二进制位进行变异,一般取变异概率pm=0.02;
[0052] 杂交即从新种群中随机选取一定数量的个体,随机进行位交换,得到新的种群成员;取杂交概率pc,即临时种群中选择N×pc个个体进行杂交,得到杂交后的新种群,一般取杂交概率pc=0.75pm;
[0053] 在进行遗传算子运算时,杂交和变异的过程中,不能出现无效编码;如果出现,则重新执行遗传算子计算;
[0054] (9)将新种群的编码值作为初始值,返回(2)执行。
[0055] 上述(2)确定适应值函数,在同时满足a+b+c=1,a≥0,b≥0,c≥0的[0056] 前提下,根据资源参考设置权值a、b、c。
[0057] 上述步骤三、防护方法组合输出,是将通过遗传算法得到的编码进行解码,将该编码每l位一组,从左至右依次编号为1到m,分别将每组的二进制数转化为十进制数,产生的m个十进制数即为各程序块对应的防护方案,所有程序块的防护方案的组合为整个程序的最优防护方案。
[0058] 本发明的有益效果:本发明提供的这种基于遗传算法的选择最优DSP系统软防护的方法,包括步骤一、建立目标优化模型;步骤二、采用遗传算法对目标模型进行求解;步骤三、防护方法组合输出建立了DSP系统出错率与资源参数的目标模型,该基于遗传算法的选择最优DSP系统软防护的方法,并对资源开销进行了约束;利用遗传对划分程序块之间不同防护方法的使用获益进行最优求解,得到全局最优的防护方法组合,遗传算法从空间多个点开始寻找最优解,不易陷入局部最优;而且对于不同的防护方法组合,采用遗传算法可以对适应值进行并行运算,可以节约最优解寻找时间。
[0059] 以下将结合附图对本发明做进一步详细说明。

附图说明

[0060] 图1是基于遗传算法的选择最优DSP系统软防护的方法的遗传算法流程图。

具体实施方式

[0061] 为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施例对本发明的具体实施方式、结构特征及其功效,详细说明如下。
[0062] 实施例1:
[0063] 为了克服现有技术中各种DSP系统防护方法的获益与代价模型不一,致使在选择防护方法的过程中难以权衡的问题。
[0064] 为此,本发明提供了一种基于遗传算法的选择最优DSP系统软防护的方法,包括如下步骤:
[0065] 步骤一、建立目标优化模型;
[0066] 步骤二、采用遗传算法对目标模型进行求解;
[0067] 步骤三、防护方法组合输出。
[0068] 上述步骤一、建立目标优化模型包括如下步骤:
[0069] (1)将工程代码划分为m块具有先后执行顺序的程序块,记为X1、X2、X3…Xm,程序块的各种防护方法记为ks,Xs出错的概率记为Ps,程序块Xs采用第ks种防护方法防护后出错的概率为 程序块Xs的信号总数记为Ns,程序块Xs第j个信号的错误传播概率记为Psj,程序块Xs的代码指令条数记为Cs,数据大小记为Ds,执行时间记为Ts,采用第ki种防护方法之后,代码指令条数为 数据大小记为 执行时间记为
[0070] 则可以得到系统出错率P的计算式如下:
[0071]
[0072] 得到系统防护后总代码大小C的计算式如下:
[0073]
[0074] 得到系统防护后总数据大小D的计算式如下:
[0075]
[0076] 得到系统防护后总执行时间T的计算式如下:
[0077]
[0078] (2)建立目标函数优化模型:
[0079]
[0080] 其中,CZ代表最大允许的代码容量,DZ代表最大允许的数据空间大小,TZ代表最大允许的时间延迟,a、b、c为资源的权值系数,其中a+b+c=1,且a≥0,b≥0,c≥0,设计者可以在防护中根据实际情况对a、b、c的值进行分配,从而权衡三个资源参考量的重要关系。
[0081] 得到优化函数方程组:
[0082]
[0083] 如图1所示,上述步骤二、采用遗传算法对目标模型进行求解,包括如下步骤:
[0084] (1)确定编码方案;
[0085] 对于DSP代码划分的总模块数为m,总共采用的防护方法共有n种,对于任意一个模块而言,可以选择这n种防护方法中的1种,也可以选择不防护,其可以选择的模式有(n+1)种,用二进制数据表示,则编码长度l应该满足以下关系式:
[0086] 2l≥n+1
[0087] 即 因此,对于每一个解而言,二进制编码的长度为L=m×l;种群规模为N,一般而言可取N=10;
[0088] (2)确定适应值函数;
[0089] 根据(1)中的编码规律,确定了每一个模块的每一种编码与防护方法的对应关系,查询对应防护方法的获益与资源开销,通过对资源参考量的权值设置,可计算出该编码样本下的目标函数值;将步骤一所得到的优化函数方程组作为适应值函数;一般取则适应值函数如下:
[0090]
[0091] (3)种群初始化;
[0092] 在保证没有无效编码的前提下,产生N个长度为L的二进制随机数,以此对种群中每个个体进行编码,完成种群初始化,编码个体的长度L=m×l;
[0093] (4)样本适应值计算;
[0094] 将N个个体取值带入(2)中的适应函数,分别计算每一组编码的适应值函数值;其中,第i(i=1,2,3…N)个值计算得到的样本适应值记为fi;如果种群初始值中有不满足限定条件者,即将该个体从种群中删除,为了维持种群规模的稳定,新的样本将在步骤(8)中产生;
[0095] (5)终止判定;
[0096] 构建一个长度为N的样本适应值差值数组:比较(4)中得到的样本适应值的大小,取出样本适应值的最小值fmin,并将所有的样本适应值与fmin作差,将差值存入样本适应值差值数组中;如果数组中连续出现w个0,则判定该值为最优解,输出该编码值,否则,继续执行;
[0097] 其中,w值根据种群规模N值确定,可设定为
[0098] (6)相对适应值计算;
[0099] 通过(4)计算得到样本适应值的大小,用以下公式得出每个初始编码值的相对适应值,
[0100]
[0101] (7)种群繁殖;
[0102] 相对适应值表征了样本种群中各种组合防护方法下适应值函数取值的比例;其中,比例越高,说明其对应的样本取值的适应值函数值越低,防护组合方法的效益越好;以相对适应值为参考,采用轮盘赌的方法确定新种群;
[0103] 新种群中,第i个个体的数量Bi用如下计算式得到:
[0104]
[0105] 其中函数g(x)表示对x四舍五入取整数;这样,计算出每个个体在新种群中的数量,Bi=0,该个体将在新种群中被淘汰;如新种群中个体的数量超过原种群的数量,则将样本适应值最大的个体剔除;如新种群中的个体数量少于原种群的数量,则将样本适应值最小的个体加入新种群;
[0106] (8)遗传算子设计;
[0107] 变异是从新种群中随机选择一定的二进制位进行取反,即变异操作,得到新的种群成员;取变异概率pm,即从杂交后的临时种群中选择N×pm个二进制位进行变异,一般取变异概率pm=0.02;
[0108] 杂交即从新种群中随机选取一定数量的个体,随机进行位交换,得到新的种群成员;取杂交概率pc,即临时种群中选择N×pc个个体进行杂交,得到杂交后的新种群,一般取杂交概率pc=0.75pm;
[0109] 在进行遗传算子运算时,杂交和变异的过程中,不能出现无效编码;如果出现,则重新执行遗传算子计算;
[0110] (9)将新种群的编码值作为初始值,返回(2)执行。
[0111] 上述(2)确定适应值函数,在满足a+b+c=1的前提下,在同时满足
[0112] a+b+c=1,a≥0,b≥0,c≥0的前提下,根据资源参考设置权值a、b、c。
[0113] 上述步骤三、防护方法组合输出,是将通过遗传算法得到的编码进行解码,将该编码每l位一组,从左至右依次编号为1到m,分别将每组的二进制数转化为十进制数,产生的m个十进制数即为各程序块对应的防护方案,所有程序块的防护方案的组合为整个程序的最优防护方案。
[0114] 实施例2:
[0115] 利用上述方法将工程代码划分为5块具有先后执行顺序的程序块,每个模块可以采用4种防护方法来计算最优防护组合,初始数据如下表1所示
[0116] 表1模块相关数据与防护数据
[0117]
[0118]
[0119] (1)编码方案
[0120] 对于上述数据而言,模块数量为5,即m=5,每个模块有4种防护方法,即n=4,所以,对于每一个模块而言,有五种选择。对这五种选择采用二进制编码,由于两位二进制编码最多只能表示四种组合,所以这里我们选用三位二进制编码。三位二进制编码总共有八种组合,我们只用到其中的五种,具体选用的组合如下表2所示。
[0121] 表2有效编码及对应方式
[0122]防护 无防护 方法1 方法2 方法3 方法4
编码 000 001 010 011 100
[0123] 对于系统每一个模块的防护方法组合输出,其编码的长度L=M*l=5*3=15,即每一种有效的组合输出编码为15位二进制编码。
[0124] (2)适应值函数
[0125] 这里我们用上述建立的目标函数作为适应值函数,将每个模块看成是独立模块,即错误率采用累加的方式。取a=b=c=1/3,取约束条件CZ=4000,DZ=500,TZ=5000。
[0126] (3)种群初始化
[0127] 这里样本空间选N=10,随机选择10组15位二进制数,要求从左至右每三位组合在表2所述的取值范围内,否则,剔除后重新再生成。随机生成的组合如下表3所示。
[0128] 表3初始种群表
[0129]
[0130]
[0131] (4)样本适应值计算
[0132] 对于表3中的初始种群,将每一组编码从左到右,三个一组进行分开,第一个三位分组代表模块1,其防护方法对应根据表2确定,然后,通过查找表1,将出错率、防护后的代码大小、数据大小和执行时间代入目标函数优化模型,中,计算每一种编码的适应值。我们以第一组001100010011100为例,将其拆分,拆分结果如下表4.
[0133] 表4编码拆分方法
[0134]模块1 模块2 模块3 模块4 模块5
001 100 010 011 100
方法1 方法4 方法2 方法3 方法4
[0135] 通过查找表1,确定了第一组编码的防护方法组合,代入到目标函数优化模型中,得到f1。同样的方法计算样本中的每一组编码,得到每一个样本的适应值。
[0136] (5)终止判定
[0137] 构建一个长度为N的样本适应值差值数组。比较步骤(4)中得到的样本适应值的大小,取出样本适应值的最小值fmin,并将所有的样本适应值与fmin作差,将差值存入样本适应值差值数组中;如果数组中连续出现8个0,则判定该值为最优解,输出该编码值;否则,继续执行。
[0138] (6)相对适应值计算
[0139] 通过步骤(4)计算得到样本适应值的大小,用以下公式得出每个初始编码值的相对适应值,
[0140]
[0141] (7)种群繁殖
[0142] 相对适应值表征了样本种群中各种组合防护方法下适应值函数取值的比例,其中,比例越高,说明其对应的样本取值的适应值函数值越低,防护组合方法的效益越好。以相对适应值为参考,采用轮盘赌的方法确定新种群。新种群中,第i个个体的数量Bi用如下计算式得到:
[0143]
[0144] 其中函数g(x)表示对x四舍五入取整数;这样,计算出每个个体在新种群中的数量,Bi=0,该个体将在新种群中被淘汰。如果新种群中个体的数量超过原种群的数量,则将样本适应值最大的个体剔除;如果新种群中的个体数量少于原种群的数量,则将样本适应值最小的个体加入新种群。
[0145] (8)遗传算子设计
[0146] 取杂交概率pc=0.7,也就是种群中7个体进行杂交,得到杂交后的新种群。取变异概率pm=0.02,即从杂交后的临时种群中1个二进制位进行翻转。在进行遗传算子运算时,注意杂交和变异的过程中,不能出现无效编码;如果出现,需要重新执行遗传算子计算。
[0147] (9)将新种群的编码值作为初始值,返回(2)执行。
[0148] 最后再输出最优的防护方法。
[0149] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。