目录
一、MRFO数学模型
1.1 链式觅食
1.2 旋风式觅食
1.3 翻筋斗式觅食
二、MRFO伪代码
2019年提出一种新的仿生优化技术称为魔鬼鱼觅食优化算法,旨在提供一种替代优化 解决实际工程问题的方法。该算法的灵感是基于智能算法魔鬼鱼的行为。这项工作模拟了魔鬼鱼(蝠鲼)的三种独特的觅食策略,包括链状的觅食,旋风觅食,翻筋斗觅食。
蝠鲼是奇特的生物,尽管它们看起来很可怕。它们是已知最大的海洋生物之一。蝠鲼从上到下都有一个扁平的身体和一对胸鳍,它们还有一对头叶,在它们巨大的末端嘴前面延伸。图 1显示了一条蝠鲼的结构。没有锋利的牙齿,蝠鲼以浮游生物为食,主要是水中的微观动物。觅食时,它们会使用喇叭状的头叶将水和猎物倒入嘴中。然后用改良的鳃耙从水中过滤猎物。蝠鲼可以分为两个不同的物种。一种是生活在印度洋和西、南太平洋的礁蝠鲼,宽可达5.5m。另一种则是遍布热带、亚热带和暖温带海洋的巨型蝠鲼,其宽度可达7m。它们已经存在了大约 500 万年。平均寿命为 20 年,但从未达到这个年龄,因为它们会被渔民猎杀。
一、MRFO数学模型
1.1 链式觅食
蝠鲼可以观察到浮游生物的位置并朝它游去。一个位置的浮游生物浓度越高,这个位置就越好。虽然目前尚不清楚最佳解决方案,但MRFO假设目前找到的最佳解决方案是具有高浓度的浮游生物蝠鲼想要靠近并吃掉。蝠鲼首尾相连,形成一条觅食链。除了第一个以外,其他个体不仅会走向食物,还会走向食物前面的个体。也就是说,在每次迭代中,每个个体都会根据目前找到的最佳解决方案及其前面的解决方案进行更新。这种链式觅食的数学模型表示如下:
其中,是第 个个体在时间 在第维的位置,是 [0, 1] 范围内的随机向量,是权重系数,表示第代最优个体在第维上的位置,表示个体数量。 下图描绘了这种在二维空间中的觅食行为。蝠鲼个体下一位置的移动方向与步长由当前最优解与前一个个体位置共同决定。
1.2 旋风式觅食
当一群蝠鲼认出深水中的一片浮游生物时,它们会形成一条长长的觅食链,并以螺旋状游向食物。对于蝠鲼群的旋风觅食策略来说,每条蝠鲼除了螺旋状地向食物移动外,还会向前方游动。也就是说,蝠鲼排成一列,形成螺旋状觅食。 下图说明了旋风在二维空间中的觅食行为。个体不仅跟随它前面的个体,而且只会沿着螺旋形路径向食物移动。
当,描述蝠鲼螺旋状运动的数学方程可以定义为:
式中,为迭代总次数;为上均匀分布的随机数。当,描述蝠鲼螺旋状运动的数学方程可以定义为:
式中表示第代、第维的随机位置。、表示变量取值上、下界。
1.3 翻筋斗式觅食
在这种行为中,蝠鲼个体当前最优解被视为一个支点。每个个体都倾向于围绕枢轴和翻筋斗来回游动到一个新的位置。因此,他们总是围绕迄今为止找到的最佳位置更新他们的位置。数学模型可以如下创建:
其中 ,和都是[0,1]上均匀分布的随机数。