首页 理论教育基于精英保留的自适应小生境遗传算法

基于精英保留的自适应小生境遗传算法

【摘要】:智能优化求解模型中主体部分是基于精英保留策略的自适应小生境遗传算法,算法基本流程步骤为:Step1:种群初始化。遗传算法中种群的每个个体代表问题的一个解,称为染色体。自适应交叉、变异算子将自适应策略引入标准遗传算法中实现交叉和变异操作,因此,变异、交叉概率能够随种群个体适应度值变化而动态改变。

智能优化求解模型中主体部分是基于精英保留策略的自适应小生境遗传算法,算法基本流程步骤为:

Step1:种群初始化。已知M为种群规模,Max为最大迭代次数,P c和P m分别为交叉及变异概率,k为迭代次数计数器。利用小生境淘汰操作在随机产生2M个个体中选出前M个构成初始种群,令k=1。

Step2:适应度值计算。对于种群中个体计算其相应适应度值、种群平均适应度值f avg和最小适应度值f min,按照适应度值降序排列个体,再进行基于精英保留的选择操作。

Step3:交叉、变异操作。根据自适应交叉、变异算子计算相应的P c和P m,按照适应度值降序对经过选择、变异和交叉操作之后获得的M个个体进行排序。

图9-5 同一资源上任务的调度流程

Step4:小生境淘汰操作。对于Step3中获得的个体,确定小生境距离参数L,通过对比个体上等位基因来判断个体的相似度,若相似度过高,即个体相似度大于平均值,则采用罚函数策略淘汰其中适应度较小的个体,同时产生与淘汰个体数同等的新个体,加入到种群进化过程中。

Step5:算法终止条件判断。判断是否达到最大迭代次数,如未达到则更新数据,令k=k+1,将Step4中M个个体作为新个体转入Step2;如果达到最大迭代次数则算法结束,输出调度结果。

具体的算法设计:

(1)染色体编码。遗传算法中种群的每个个体代表问题的一个解,称为染色体。本算法中采用天线终端的染色体表现形式,即将任务选择的天线终端序号作为染色体上基因。

算法的编码过程:获取所有的任务序列及其相应的优先级权值,按照优先级权值降序的规则对所有任务进行排序操作,对任务序列随机分配终端天线,产生初始种群。

(2)适应度值函数。对于混合系统中的目标函数进行线性加权运算,定义加权和结果为算法的适应度值函数为

其中设目标函数为k个,分别定义目标函数i的无量纲标准化值和相应的优先级权值为和w i。由适应度值函数定义式可知,适应度值越小,即调度结果中未调度任务总权值越小、天线终端功耗越少,所有任务传输完成时间越短,则该个体就越优秀。

(3)基于精英保留策略的选择机制。与大多数单纯依据适应度值确定个体遗传概率的选择方法不同,本书通过具有精英保留策略的二元锦标赛方法来确定个体保留至下一代的概率。具体选择方法为:经过小生境淘汰操作后,种群内保留的个体数为M个,分别计算M个个体的适应度值,并通过随机设置个体对,对于种群内个体进行两两比较,其中适应度值较小的个体直接保留至子代进行下一步进化操作,同时其个体适应度值被记忆,而不再重复计算,造成资源的浪费,从而提高算法计算效率

(4)自适应交叉、变异算子。采用混合的自适应交叉、变异算子,在进化过程初期,按照固定的交叉和变异概率执行遗传操作,在进化过程后期,则按照自适应交叉、变异算子执行遗传操作。自适应交叉、变异算子将自适应策略引入标准遗传算法中实现交叉和变异操作,因此,变异、交叉概率能够随种群个体适应度值变化而动态改变。其主要思想是当种群中个体趋于一致时,增大遗传操作中的交叉概率P c和变异概率P m,可及时避免算法陷入局部最优;当个体在约束空间内分别较分散时,减小P c和P m,能够使得算法快速收敛,降低计算量。

设种群个体的平均和最小适应度值分别为f avg和f min,交叉个体平均适应度值为f c,变异个体适应度值为f m,取k 1,k 2,k 3,k 4为范围在(0,1)之间的常数,自适应交叉、变异算子为

由上式可以看出,P c和P m在个体适应度值低于平均适应度值时取值较小,而在个体适应度值高于平均适应度值时取值较大,这样交叉、变异概率的动态改变不仅有利于种群中优秀个体保留至下一代,而且增大了新个体产生的概率,能够有效避免算法陷入局部最优。

(5)小生境淘汰操作。定义小生境距离参数L为种群内前N个优秀个体之间的最小欧式距离,如式(9-16)所示,定义个体x i和x j,染色体长度为length。L随着每一代个体的不同而实时动态变化,依据不同的距离参数进而获得合理分布的小生境环境

同时为避免算法陷入局部最优,定义个体之间相似度为相同等位基因数除以染色体上总基因数,定义平均相似度为个体i与其他个体直接相似度之和除以个体数减1。根据小生境距离内的个体相似度,可以对较差个体实施淘汰操作,从而得到在约束空间内均匀分布的个体。