快生活 - 生活常识大全

国外新型智能优化算法


  韩毅 徐梓斌 沈国珍 张亮 蔡建湖
  摘 要:目前,由于工程领域中获得复杂问题最优解具有相当大的难度,工程师们只能退而求其次,寄希望于在有限的时间内获取问题的近似最优解。在此背景下,众多智能优化算法相继问世。文献[1]提出了一种受自然界口孵鱼启发的新颖全局优化算法。口孵鱼算法(Mouth Brooding Fish Algorithm, MBFA)模拟生物在生态系统中生存和繁殖所采用的共生交互策略,口孵鱼利用大嘴作为保护幼鱼免受外界危险的屏障,算法考虑了口孵鱼的运动行为、移动距离和在母鱼口附近对幼鱼的散布行为,提出了口孵鱼运动、幼鱼散布和保护行为算子,帮助算法寻找潜在的最佳方案。
  关键词:智能优化;口孵鱼;共生交互;散布
  在海洋中,慈鲷鱼属的鱼类与一般鱼类不同,它们投入大量精力抚养小鱼。这些鱼类不通过产大量的鱼卵这种形式去消耗能量和资源,而是繁殖相对较少的后代并在后代完全独立之前尽心呵护。虽然后代独立以后仍然是小鱼,但它们与其他小鱼相比更成熟、体型更大并且速度更快,可以获取更好的生存机会。虽然许多水下生物都有保护自己免受伤害的策略(例如伪装),但并不是所有的水下生物都有保护自己幼仔的方法。口孵鱼类以其照顾和保护后代的能力而闻名,这主要是由于一种非常不寻常的技术。如图1a所示,口孵鱼类用它们的嘴作为庇护所来保护它们的幼鱼。口孵鱼类包括慈鲷、海鲶鱼、天竺鲷、巴格里德鲶鱼、棱头鲈、后颌  、吻口鱼和金龙鱼。非洲慈鲷是一种母鱼,是一种在卵孵化后仍能继续保护其幼鱼的鱼类。慈鲷会在危险出现时使用独一无二的动作提示,让幼仔知道是时候游回去寻求保护了。在小鱼长大过程中,母亲的庇护所没有足够的空间容纳所有小鱼,在危险的时候,一些弱小的慈鲷不得不独自面对危险和自然环境(图1b)。
  算法特征
  一、主要参数
  MBF算法受到口孵鱼生命周期过程的启发,包含5个控制参数:慈鲷种群数量(nFish)、母鱼位置(SP)、小鱼(细胞)散播距离(Dis)、散播概率(Pdis)和母鱼位置阻尼(SPdamp)。算法中的每条鱼都是问题解,由一些代表解中变量的细胞(维度)所组成(图2)。口孵鱼算法的主要考虑慈鲷围绕它们母亲的运动以及自然或危险对这些运动的影响。
  二、慈鲷运动行为和外界影响
  慈鲷运动行为和外界影响包括:自主活动、弱小鱼苗的附加运动、轮盘赌选择交配个体和鲨鱼攻击或外界危险对慈鲷运动的影响。此外,某些因素也会对慈鲷鱼的运动产生影响。
  (1)第一个因素是母亲的力量或源点SP对慈鲷运动的影响。这个因素只影响运动距离,对运动方向没有任何影响。力量或原点是在[0,1]之间的数值。从图3中可以看出,通过增加力量值,运动距离增加,意味着慈鲷有一个强壮的母亲,必须在海里紧紧跟随。应该注意的是,增加力量值并不总是能找到最好的解。
  在自然界中,4%的慈鲷群落或种群受到鲨鱼或其他攻击。因此,MBF算法对4%的种群使用了称为鲨鱼攻击效应的额外运动,nshark=0.04×nFish,nshark是为鲨鱼攻击选择的慈鲷鱼数量。这种效应是保存解中的所有细胞编号,以及在迭代过程中当前迭代中全局最优解的细胞与上一次迭代中全局最优解中的对应细胞有60%及以上差异的次数。
  MBF算法的停止准则是最大迭代次数。根据计算实验结果,算法的种群大小、sp、Dis、Pdis和SPdamp的最佳取值为50、0.6、1.8、0.2和0.95。
  算法执行步骤:
  步骤1:初始化参数,计算nm和nshark等
  步骤2:初始化种群,计算适应度函数
  步骤3:保存个体最好解和全局最好解
  步骤4:如果,当前迭代后的全局最好解与之前所有迭代中获得的全局最好解的比值小于0.85(目标函数为求最小值),则采用effect-1、effect-2和effect-3来影响慈鲷鱼群的移动。否则,采用effect-1、effect-2、effect-3和effect-4来影响慈鲷鱼群的移动。
  步骤5:移动步长检查(不能超过ASDP或ASDN)
  步骤6:更新慈鲷鱼位置,采用鏡像效应处理超出搜索空间的位置。
  步骤7:计算种群适应度函数
  步骤8:更新全局和局部最优解
  步骤9:检查算法停止准则,满足则结束并输出全局最优解,未满足则继续步骤10。
  步骤10:计算被排斥小鱼(细胞)个数NCC
  步骤11:利用公式(9)更新母鱼位置(随机取+或-符号)
  步骤12:利用UASDP和UASDN检查小鱼的移动距离限制(母鱼新位置与旧位置的差值)
  步骤13:利用镜像效应处理超边界的解
  步骤14:计算母鱼适应值
  步骤15:更新全局和个体最优解
  步骤16:检查停止准则,满足则退出并输出全局最优解,不满足则继续执行步骤17
  步骤17:计算慈鲷鱼群的轮盘赌选择概率
  步骤18:交叉变异产生新的鱼代替亲本鱼
  步骤19:计算新鱼的适应度函数值
  步骤20:更新全局和个体最优解
  步骤21:检查停止准则,满足则退出并输出全局最优解,不满足则继续执行步骤22
  步骤22:若迭代次数大于1,则计算上一次迭代中的全局最优解和当前迭代中的全局最优解中对应细胞差异为60%及以上的细胞,利用公式(5)和公式(6)将上一次迭代中的全局最好解在自然力量驱使下进行位移。检查超界情况,计算适应值并更新全局最优解和个体最优解。
  步骤23:若迭代次数大于1,则更新鲨鱼攻击矩阵(由nVar和全局最好解的各细胞产生60%及以上差异的次数组成)。用公式(10)计算随机选择的进行鲨鱼攻击的慈鲷母鱼的新位置,用UASDP和UASDN及镜像效应处理超界情况。计算新位置的适应度函数值,更新全局和个体最好解。
  步骤33:检查停止准则,满足则结束并输出全局最好解,否则,返回步骤4。
  结束语:
  本文根据文献[1]描述,基本还原了一种新型智能优化算法——口孵鱼优化算法,再现了口孵鱼算法的基本思想、重要公式和算法执行步骤。本文目的是起到抛砖引玉的作用,为智能优化领域的学者提供参考和借鉴作用。口孵鱼算法本身并不完美,算法各细节的描述并不细致,逻辑性不强,这也给学者们在此基础上,提出改进版本提供了研究土壤。
  参考文献:
  [1]Jahani E, Chizari M. Tackling global optimization problems with a novel algorithm-Mouth brooding fish algorithm [J]. Applied Soft Computing, 2018, 62(1): 987-1002.
网站目录投稿:平彤