Moth Flame Optimization飞蛾扑火算法与鸟群(粒子群)算法PSO浅析

飞蛾扑火算法Moth Flame Optimization

MFO算法2015年诞生,就是固定数量的Moth(飞蛾)在解空间内游荡(游荡路线见更新公式)寻找更合适的位置(更符合目标函数的解),而Flame(火)就是目前最优秀的解(Flame数量处于变化)。

理解粒子群PSO的同学就比较好理解这类算法,相对粒子群算法,这个算法区别在:

1、更新公式中,新Moth的解变化范围更大,让MFO比传统粒子群的开发能力更强;

2、Flame个数随迭代变化。PSO始终追逐一个最优解,而MFO最初拥有n个Flame(同时n个moths),在迭代中逐步淘汰最次Flame,最终剩1个最优秀Flame。如此,迭代之初Moths(PSO的粒子)不会迅速集中,有利于MFO的开发能力;

3、更新公式中r取值的变化也是为了加强迭代末期的探索能力。后期可以让新Moth更加接近Flame,提高了探索能力。

这个算法求解优势在不需要求导,Hessian 矩阵,可以应付更多类型的函数。

但是在单峰函数unimodal中探索能力exploration不如最速下降法,牛顿法,换言之,精度不够,可以选择非常高的迭代次数来弥补。

在多峰函数multimodal中开发能力强,善于发现全局极值global minimum,避开局部极值local minimum。

本人初学,目前认为如果使用时发现每次运行结果都差别很大(精度也不够),直接加大迭代次数就可以应付。

1、 初始n个moth&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ry_zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值