·396· 智能系统学报 第3卷 中细胞变异时,细胞进化的方向.为加快寻求最优解 ⑤在每个网络细胞的克隆体C`和父代细胞中 的速度和精度,采用合理的进化方向显然很必要.进 选择亲和力最高的细胞组成新的网络C; 化方向表是一种串行结构的表,采用具有指示进化 ⑥判断C,中的每个细胞的亲和力是否增加并 方向作用的方向算子,依据父代、当代及子代个体在 计算细胞下一次的进化方向,将计算结果存入进化 结构中的位置的产生子代个体的进化方向,沿着亲 方向表: 和度上升的方向为目标进化方向.当网络中的细胞 ⑦判断网络中是否存在细胞的亲和力大小变化 是新生成时,细胞的方向初始值为Q.禁忌人工免疫 的次数己达到阈值σ,如果没有,返回到步骤①活 网络算法的流程见图1 则,继续: 随机生成初始网络C ⑧将已达到阈值o,的细胞加入禁忌表C,如 果网络中亲和力最高的细胞也达到了,该细胞被特 计算网络细胞的亲和度/ 赦,不加入禁忌表: ⑨将禁忌表C,中禁忌次数达到特赦阈值·。 克隆网络细胞N 的细胞移到记忆表Cw中, 细胞变异,并计算细胞的求和度 ⑩计算C,和CM中所有细胞的亲和力,抑制亲 和力小于抑制阈值·,的个体: 网络中总否有在 ①入一定数目细胞不在禁忌表中细胞形成 需禁忌的细? 的邻域中)到网络中,使网络大小不变 将禁忌细胞加入禁忌表C, 3)输出C,和C中所有细胞和网络中最大亲 和力细胞, 将禁忌表中特放细胞转到记忆表CM 算法的迭代停止条件是禁忌表和记忆表中细胞 对禁忌表和记忆表进行抑制 的总数或者是达到最大迭代次数.在步骤①中,让禁 忌表和记忆表中的细胞互相作用,通过阴性选择对 满足停止条件? 引入 新生成 亲和力小于抑制阈值的个体进行抑制,剩下的个体 Y 的到胞 则保留起来.经过抑制后,若禁忌表和记忆表中的细 输出结果 胞总数比上一代的总数多,表示找到新的极值点.假 如经过几次抑制过程,禁忌表和记忆表中的细胞总 图1禁忌人工免疫网路算法流程图 数不发生变化,表明找不到新的极值点,停止搜索, Fig I Flowchart of TS-aNet algprithm 则禁忌表和记忆表中剩下的细胞和网络中最大亲和 222TS-aNet算法的实现 力细胞就是问题的解口 TS-aNet算法实现的步骤如下所示 1)随机生成N个网络细胞,计算所有网络细胞 3仿真实验及分析 的亲和力£形成初始网络Gw: 为了验证算法的性能,从局部收敛速度全局收 2 While满足迭代条件) 敛性、搜索极值点的能力3个方面进行定量分 ①将所有网络细胞的亲和力标准化: 析1 ②将网络细胞产生数目为N的克隆形成C,N。 31局部收敛速度分析 的大小与该细胞的亲和力成正比,计算公式为N。= 局部收敛速度指的是在搜索局部极值点时,找 round (f )+1: 到局部极值点的速度.采用以下2个函数进行优化 ③对产生的克隆C进行变异,如果变异后的个 并与CLONALG算法、opt-aNet来做比较 体不在可行域内,则不予保留; f(x,以=-sqt(x+y) 5) ④计算变异后形成的C`中的细胞亲和力; 人(x以=-(100(x.以2+(1.x2). 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved. http://www.cnki.net中细胞变异时 ,细胞进化的方向. 为加快寻求最优解 的速度和精度 ,采用合理的进化方向显然很必要. 进 化方向表是一种串行结构的表 ,采用具有指示进化 方向作用的方向算子 ,依据父代、当代及子代个体在 结构中的位置的产生子代个体的进化方向 ,沿着亲 和度上升的方向为目标进化方向. 当网络中的细胞 是新生成时 ,细胞的方向初始值为 0. 禁忌人工免疫 网络算法的流程见图 1. 图 1禁忌人工免疫网路算法流程图 Fig. 1 Flowchart of TS2aiNet algorithm 2. 2. 2 TS2aiNet算法的实现 TS2aiNet算法实现的步骤如下所示. 1)随机生成 N 个网络细胞 , 计算所有网络细胞 的亲和力 f, 形成初始网络 CN ; 2)W hile (满足迭代条件 ) ①将所有网络细胞的亲和力 f标准化; ②将网络细胞产生数目为 Nc 的克隆形成 C, Nc 的大小与该细胞的亲和力成正比 , 计算公式为 Nc = round ( f 3 i ×Nm ) + 1; ③对产生的克隆 C进行变异 , 如果变异后的个 体不在可行域内 , 则不予保留; ④计算变异后形成的 C 3 中的细胞亲和力; ⑤在每个网络细胞的克隆体 C 3 和父代细胞中 选择亲和力最高的细胞组成新的网络 CN ; ⑥判断 CN 中的每个细胞的亲和力是否增加并 计算细胞下一次的进化方向 ,将计算结果存入进化 方向表; ⑦判断网络中是否存在细胞的亲和力大小变化 的次数已达到阈值 σt ,如果没有 , 返回到步骤 ①否 则 , 继续; ⑧将已达到阈值 σt 的细胞加入禁忌表 CT , 如 果网络中亲和力最高的细胞也达到了 , 该细胞被特 赦 , 不加入禁忌表; ⑨将禁忌表 CT 中禁忌次数达到特赦阈值 σα 的细胞移到记忆表 CM 中; ⑩计算 CT 和 CM 中所有细胞的亲和力 , 抑制亲 和力小于抑制阈值 σs 的个体; λϖ引入一定数目细胞 (不在禁忌表中细胞形成 的邻域中 )到网络中 , 使网络大小不变. 3)输出 CT 和 CM 中所有细胞和网络中最大亲 和力细胞. 算法的迭代停止条件是禁忌表和记忆表中细胞 的总数或者是达到最大迭代次数. 在步骤 λυ中 ,让禁 忌表和记忆表中的细胞互相作用 ,通过阴性选择对 亲和力小于抑制阈值的个体进行抑制 ,剩下的个体 则保留起来. 经过抑制后 ,若禁忌表和记忆表中的细 胞总数比上一代的总数多 ,表示找到新的极值点. 假 如经过几次抑制过程 ,禁忌表和记忆表中的细胞总 数不发生变化 ,表明找不到新的极值点 ,停止搜索 , 则禁忌表和记忆表中剩下的细胞和网络中最大亲和 力细胞就是问题的解 [ 11 ] . 3 仿真实验及分析 为了验证算法的性能 ,从局部收敛速度、全局收 敛性、搜索极值点的能力 3 个方面进行定量分 析 [ 12 ] . 3. 1 局部收敛速度分析 局部收敛速度指的是在搜索局部极值点时 ,找 到局部极值点的速度. 采用以下 2个函数进行优化 , 并与 CLONALG算法、op t2aiNet来做比较. f1 ( x, y) = - sqrt( x 2 + y 2 ) , f2 ( x, y) = - (100 ( x 2 - y) 2 + (1 - x) 2 ) 1 (5) ·396· 智 能 系 统 学 报 第 3卷