新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 一种用于函数优化的免疫算法

一种用于函数优化的免疫算法

作者:刘丽珏 唐琏 蔡自兴 时间:2008-06-06 来源:电子技术应用 收藏

  3.1 克隆变异

本文引用地址://www.cghlg.com/article/83867.htm

  算法中主要的免疫操作包括了克隆和变异。

  克隆是拷贝抗体编码模式的过程,假设父代抗体为X=[x1,x2,……xn]T,则克隆后产生的子代抗体为X′=Ii×X,Ii是NCi维行向量。而NCi就决定了抗体克隆的数量,在这里NCi可由下式得到:

        

  β∈(0,1)是克隆常数,N是种群规模,将要克隆的抗体按亲和度排序,i是其序号。其结果是亲和度越高的抗体克隆的数量越多。

  变异的目的是使子代抗体的编码发生变化,以期得到优于父代的更好的解。由于算法中的抗体采用实数编码,因此原来的变异方法不再适用,而是采取了高斯变异的方式,并且变异并不作用到原始种群。

  为了能在亲和度高的抗体周围集中搜索,同时又保证抗体的多样性,本文引入了一种自适应变异算子,即对每一个变异算子作用到的个体分量:

       

  其中N(0,1)是一个服从标准高斯分布的随机数;而Nmi则对应抗体的变异率,不失一般性,对求解最小值的问题:

       

  显然,抗体的变异率是与其亲和度成反比的,亲和度越高变异率越小,抗体在每次迭代过程中根据亲和度自适应的调整变异步长,使得在亲和度高的抗体周围集中搜索以提高收敛速度,同时保持种群的多样性。ρ为变异常数,用来调整变异强度,与搜索的空间大小和种群规模相关。

  3.2 调整免疫网络

  与遗传算法相比,的一大特点就是其具有记忆性,从新的抗体群中选出优势个体,排除退化个体的过程就是重新生成免疫网络的过程。

  经过克隆和变异后,若存在新抗体ρ=min{f(xij)|j=1,2,……n},使得f(p)

  而对于那些退化的个体,即亲和度最低的一部分抗体,则通过重新初始化的方法使其消亡,以保持种群的多样性。

  4 实验

        

  为测试算法性能采用了以下3个典型测试函数:

       

  初始种群大小为100,维数为20,最大截止代数为400的情况下,改进的克隆选择算法(表1中显示为ACLONALG)连续lO次实验的结果与CLONALG算法比较见表l。

        

  实验结果表明,算法在3个函数上均优于CLONALG算法,收敛速度和精度都有明显提高。图1、图2和图3分别显示了CLONALG和改进的克隆选择算法(ACLONLG)在3个函数上运行10次的平均实验结果,纵坐标取函数值的对数,其中cLONALG(10)表示维数为10的CLONALG算法,其他类似。从图中可以看出,本文提出的算法对于f1来说,在lO维的情况下不及CLONALG,但在20维的情况下却优于CLONALG,特别在运行后期收敛速度加快;而在f2和f3上,收敛速度和精度均高出CLONALC,显示出明显的优势。

  本文介绍了免疫优化算法的基本原理,并通过分析,提出了一种改进的算法用于。该算法的主要步骤包括初始化种群、亲和度计算、选择、克隆、超变异、消亡等,属随机优化算法,具有显示的并行性。通过3个典型测试函数对算法进行了实验,与CLONALG的结果进行了比较。结果表明,本文所提算法收敛速度和精度均有提高,解的多样性增加,在高维情况下优势明显。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭