简介:免疫算法(Immune Algorithm,IA)是指以在人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别、细胞分化、记忆和自我调节的功能的一类算法。
免疫算法和遗传算法很类似:
遗传算法的思想简单讲就是父代之间通过交叉互换以及变异产生子代,不断更新适应度更高的子代,从而达到优化的效果。
而免疫算法本质上其实也是更新亲和度(这里对应上面的适应度)的过程,抽取一个抗原(问题),取一个抗体(解)去解决,并计算其亲和度,而后选择样本进行变换操作(免疫处理),借此得到得分更高的解样本,在一次一次的变换过程中逐渐接近最后解。
在生物学中学过免疫系统,大概讲述一下
免疫算法基本流程 :
首先对应一下免疫系统和免疫算法
综上:免疫算法主要包括以下模块
(1)抗原识别与初始抗体的产生
(2)抗体评价
(3)免疫操作(利用免疫选择,克隆,变异,克隆抑制,种群刷新等算子模拟生物免疫)
主要特点:有全局搜索能力,多样性保持机制,鲁棒性强,并行式搜索机制,避免“早熟”(陷入局部最优)
下面进入正题,开始免疫算法
基本流程
1、基本步骤:
(1)首先进行抗原识别,即理解代优化问题,构造合适的亲和度函数及各种约束条件。
(2)生成初始种群
(3)对种群中的每一个个体进行亲和度评价
(4)判断算法是否满足终止条件,如果满足则算法终止,输出计算结果;否则,继续寻优计算
(5)计算抗体浓度和激励度
(6)进行免疫处理,包括免疫选择、克隆、变异和克隆抑制
(7)种群刷新,以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代抗体&#x