9.2.3  一般的免疫遗传算法

9.2.3 一般的免疫遗传算法

为了克服遗传算法在解决全局最优化问题时出现早熟收敛问题,提高遗传算法的全局搜索能力,将免疫算子与传统遗传算法相结合,构造出一种改进的遗传算法——免疫遗传算法。形式上比较免疫算法和免疫遗传算法,就是在免疫算法中添加了遗传算子,与遗传算法相比,增加了抗原识别、记忆功能和调节功能,并没有附加复杂的操作,也没有降低遗传算法的鲁棒性,免疫遗传算法兼顾了搜索速度、全局搜索能力和局部搜索能力。

在解决实际问题时,将待求解的优化设计问题作为抗原,将问题的解作为抗体,通过抗原和抗体的亲和度描述可行解与最优解的逼近程度。免疫遗传算法是从随机生成的初始解抗体种群出发,对父代(当前代)抗体群进行交叉、变异等遗传操作后,计算抗体的浓度,根据抗体的期望繁殖率进行选择操作,期望繁殖率高的个体有较高的概率被选中并复制到下一代,如此产生的子代通常优于父代。上述过程循环执行直到满足停止条件,最终使优化过程以大概率趋于全局最优解。免疫遗传算法的一般算法流程图如图9-3所示。

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

9-3 免疫遗传算法的一般流程图

免疫遗传算法可以克服遗传算法收敛方向无法控制的缺陷,把目标函数和约束条件作为抗原,这样做能保证所产生的抗体直接与问题相关联,收敛方向能得到控制。生成的抗体可以有效地排除抗原,也就相当于求得问题的最优解。对抗原亲和力高的抗体进行记忆,能够促进快速求解,即当遇到同类的抗原时可以快速产生相应的抗体。在许多方面表现出超越遗传算法和免疫算法的优点。