首页 理论教育 实现免疫进化算法的技巧与应用

实现免疫进化算法的技巧与应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:免疫进化算法性能取决于两个因素,一是算法的本身;二是算法中相应的实现技术问题。由于正态分布是大家所熟知并普遍采用的一种分布形式,所以,免疫进化算法中的生殖方式建议采用正态分布来产生子代群体。

实现免疫进化算法的技巧与应用

免疫进化算法作为一种稳健的优化算法,在实际应用中显示了良好的解决问题的能力,即它能以较大的概率收敛到全局最优解。免疫进化算法性能取决于两个因素,一是算法的本身;二是算法中相应的实现技术问题。前面已就区间变换、不同抗体群规模的调整等技术问题进行了说明,下面将着重探讨前面未加以明确阐述的问题,以此来进一步深化对免疫进化算法的实现技术问题的认识。

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.结束条件

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈