9.2.2  免疫算法流程

9.2.2 免疫算法流程

一般免疫算法的主要步骤如下:

抗原识别:抗原识别就是用来判断侵入的抗原是否已经产生了相应的抗体。

初始抗体产生:如果侵入的抗原已经具有相应的抗体,则模拟免疫系统的记忆机制,从记忆细胞中取出相应的抗体作为初始群体;如果侵入的抗原没有相应的抗体,就随机产生抗体群。这样做的好处是,可以从记忆细胞中迅速找到适应度高的抗体,提高抗体多样性,无须进化,从而加快搜索速度。

计算适应度和抗体浓度:在当前产生的群体中,计算所有抗体的适应度。在免疫算法中,适应度的计算是通过适应度函数来完成。抗体的浓度是指与某一个体相同或者相近的个体在种群中所占的比例。

产生记忆细胞:若抗原是新的,对于当前群体取出适应度很高的抗体,计算它与记忆细胞中抗体的相似度,从而用它来代替记忆细胞中适应度最高的抗体,这样做可以提高记忆细胞中抗体的多样性。

抗体的促进和抑制:结合前面的抗体适应度和群体中抗体的浓度,来确定抗体的死亡和分裂的概率。抗体受到促进是指该个体的选择概率增加,抗体受到抑制是指该个体的选择概率减少。高适应度和低浓度的个体选择概率较高。

群体更新:把新产生的抗体群作为当前群体,按照一定比例淘汰掉适应度差的群体,再随机生成同样数量的抗体群加入到下一代中。

终止条件判断:如果满足终止条件(找到最优解或达到最大迭代次数),则算法结束,否则继续寻优。

免疫算法的基本流程如图9-2所示。

978-7-111-59317-1-Chapter09-4.jpg

9-2 免疫算法流程图