免疫进化算法作为一种稳健的优化算法,在实际应用中显示了良好的解决问题的能力,即它能以较大的概率收敛到全局最优解。免疫进化算法性能取决于两个因素,一是算法的本身;二是算法中相应的实现技术问题。前面已就区间变换、不同抗体群规模的调整等技术问题进行了说明,下面将着重探讨前面未加以明确阐述的问题,以此来进一步深化对免疫进化算法的实现技术问题的认识。
1.生殖方式
免疫进化算法的生殖方式如式(5-22),它是在上一代最优个体的基础上叠加一个服从正态分布的随机变量,以此来体现父代最优个体的遗传和变异。为了寻求最优的生殖效果,我们作了用柯西(Cauchy)分布代替正态分布的尝试。一维柯西概率密度函数集中在原点附近,其定义为
式中:t>0为比例系数,其相应的概率分布函数为
从概率密度函数看[161],柯西分布类似于正态分布,但在垂直方向上柯西分布较小,而在水平方向上柯西分布愈靠近水平轴变得愈宽。柯西分布的弱点在于其中央部分较小。
在以柯西分布代替正态分布的实际应用中,我们发现:
(1)对于解决本身比较复杂(如多模态问题)、变量空间分布较广的这一类问题,在采用免疫进化算法进行寻优时,由于它能使子代个体的变化更广、更容易跳出局部最优解,相比之下,其性能稍优。
(2)在采用域约束免疫进化算法和基于网络调整的免疫进化算法时,从数值实验结果来看,二者实际应用效果无明显差别。
由于正态分布是大家所熟知并普遍采用的一种分布形式,所以,免疫进化算法中的生殖方式建议采用正态分布来产生子代群体。
2.标准差动态调整
标准差的动态调整是免疫进化算法的重要技术环节,它的变化直接决定了群体的多样性。通过标准差的动态调整,免疫进化算法的流程大致可以粗分为两个阶段:第一阶段主要是侧重于全局搜索;第二阶段主要是侧重于局部搜索。具体而言,标准差的调整方式有以下三种:
(1)指数调整法
式中各参数的含义同式(5-22),它是免疫进化算法最早和普遍采用的标准差的调整方式[163,164]。
(2)双曲调整法
式中:α>0、β>0均为系数,其他参数同前。
(3)混合调整法
混合调整法实际上是指数调整法和双曲调整法的算术平均。(www.xing528.com)
在使用这三种方法进行标准差调整时,变量中各分量对应的初始标准差应满足
实际应用表明,指数调整法的标准差的衰减较快,群体多样性很快丧失,使得免疫进化算法很快陷入局部搜索。而双曲调整法和混合调整法中的标准差的变化较平缓,它能够较好地平衡全局搜索和局部搜索,因此,在对一些复杂优化问题的处理中,二者的寻优效果要优于指数调整法,具体计算结果见表5-5。
表5-5 不同标准差调整对函数寻优的影响
注 表中数字分母表示计算总次数,分子表示收敛次数。如“8/10”表示总共运算10次,其中8次收敛。
3.群体的规模
免疫进化算法中群体的作用为一搜索引擎,它是最优个体得以收敛到全局最优解的保证,因此,群体性质的变化也就决定了该算法的寻优能力。就群体而言,其多样性和规模是在算法设计时必须考虑的技术问题,群体的多样性主要与标准差的调整有关。
在理论上对任意一种进化算法而言,群体规模越大,群体中个体的多样性越好,算法陷入局部最优解的可能性就越小。但是,群体规模越大,个体的适应度计算和评估次数增加,计算量也随之增加,算法的效率会显著降低。实际应用中也发现,免疫进化算法的群体规模随迭代进行作一定程度的减小,不会影响算法的寻优效果,相反,该方法能在计算开支和寻优效率之间达到较好的平衡。群体规模的取值是一个比较复杂的问题,它取决于问题的复杂程度和寻优空间的大小,一般群体规模N的取值区间为[50,300],在此区间内免疫进化算法均取得了良好的效果。
4.结束条件
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。