先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。

上一次更新还是在大年初一……

因为前段时间忙着一项工作的收尾,一直没时间做推送。这一期给大家讲一下群智能优化算法中,种群的勘探(Exploration)和开发(Exploitation)。另外,下面这种图,有同学不会画,今天给大家详细讲一下~

先做以下定义:

对于一个群智能优化算法(例如PSO、ACO、ABC、CS、FA等等),它的种群规模为N,优化问题的维度为D。这样一来,xij就代表种群中第i个个体的第j维变量值,其中,i=1,2…Nj=1,2,…D

接下来,根据图1进行阐述。

图1 N×D的种群表示

如图1所示,个体维度之间的差异可以推断种群个体在问题空间中是发散还是聚集。当算法发散时,种群个体之间维数值的差异增大,意味着种群个体在搜索环境中是分散的。这在群智能优化算法的研究中,被称为Exploration或者 Diversification。另一方面,当种群收敛时,差异减小,种群个体聚集到一个集中区域。这被称为Exploitation或者Intensification。在迭代过程中,不同的群智能优化算法采用不同的策略来实现群体个体的ExplorationExploitation

这两个概念在任何群智能优化算法中都无处不在。通过Exploration,算法能够访问搜索环境中不可见的邻域,以最大限度地提高找到全局最优位置的效率。相反,Exploitation可以使群体个体成功地收敛到一个潜在的领域,并极有可能获得全局最优解。这两种能力之间的平衡是一个需要着重考虑的问题。这两种能力都较差的算法无法产生有效的结果,只偏向于其中一种能力也不能带来理想的性能。Exploration可以理解为全局搜索,Exploitation则对应于局部搜索,这两种搜索理念都对算法性能都至关重要。因此,有必要对算法的ExplorationExploitation进行衡量,以便对影响这两个因素的搜索策略进行实际分析。尤其我们在改进算法时,需要对改进策略进行分析,探讨它对ExplorationExploitation的具体影响。

研究收敛图以及在一定次数的迭代中收敛到的解的平均值、最佳值、最差值和标准差并不能帮助理解种群的搜索行为。因此,这样的最终结果仍然对群智能优化算法的性能、效率留下了没有得到研究问题。也就是说,对于基于种群的元启发式算法,分析种群中每个个体的行为以及整个种群的行为是非常重要的。基于此,文献[2]根据文献[1]的研究,提出了维度多样性测量法。式子(1)原本是使用平均值进行计算,文献[2]替换为了中位数,因为它更能有效地反映了种群的中心。

利用上面的式子,就可以计算出每次迭代中,种群的勘探和开发百分占比,然后绘制成曲线,就可以画出最开始的那种图了~

下面就结合图2来阐述和分析:

图 2

如图2所示,从子图(b)中选取了6个点c、d、e、f、g和h来举例说明解的多样性(分布)及其各自的平衡评价。点c表示算法的早期阶段(大约20次迭代),此时的占比大约为XPL%=90和XPT%=10。在这样的百分比下,算法对搜索空间明显倾向勘探。这种效应可以由图2(c)所示,解集保持了在搜索空间中的高度分散。点d对应于60次迭代,在这个节点,此时的占比大约XPL%=70和XPT%=30。在这种行为中,算法仍以勘探为主,开发程度较低。这种行为的解集构型可以在图2(d)中举例说明,其中一些相似解组的多样性很高。点e和点f分别对应于150和250次迭代,其中平衡评估的值分别为XPL% =25, XPT% =75和XPL% =08, XPT% = 92。在此比例下,算法的种群行为发生反转,促进了更多的开发而不是勘探。图2(e)和(f)显示了图2(b)中点e和点f的解集分布。在这种配置下,解决方案分布在几个集群中,降低了种群多样性。最后,点g和点h表示种群搜索的最后阶段。此时,算法明显倾向于开发最好的解决方案,而不考虑任何探索机制。图2(g)和(h)对应于点g和点h的解集分布。

为了进一步分析,这里我们随便用一个算法来画一下,优化问题选择CEC2005中的Ackely函数。横轴为迭代次数,纵轴为百分占比。蜣螂优化(DBO)算法的勘探和开发百分比如图3所示。

图3 DBO在Ackely上的勘探和开发情况

根据图3可以看到,DBO的种群最后在ExplorationExploitation取得了良好的平衡。正常情况下,Exploitation要趋近于1。因为进化后期种群逐渐逼近最优解,整个解集是集中在最优解附近的,因此后期主要是局部搜索,即Exploitation。此外,ExplorationExploitation的百分比随着迭代的进行,应该有一个交替的过程:红色的线要上去,最终接近1;蓝色的线要下来,最终接近0。观察图3也可以发现,DBO的收敛速度非常快,种群很快就靠近最优解了。根据最新的研究结论[3],勘探和开发在搜索过程中的占比分别为10%和90%且达到平衡时,算法有最佳性能。那么DBO基本是符合这个要求,种群的勘探最后占比90%左右,开发占比10%左右。或许这也是DBO自2022年11月27日提出以来,就被广泛推崇的原因,算法性能可以~

同样是使用Ackley函数,最大迭代次数相同,接下来看看白鲸优化(BWO)、金豺优化(GJO)、蜜獾算法(HBA)、哈里斯鹰优化(HHO)、鲸鱼优化算法(WOA)在迭代中的勘探和开发占比变化。如图4至图8所示,就不再进一步讨论了。

图4 BWO在Ackely上的勘探和开发情况

图5 GJO在Ackely上的勘探和开发情况

图6 HBA在Ackely上的勘探和开发情况

图7 HHO在Ackely上的勘探和开发情况

图8 WOA在Ackely上的勘探和开发情况

另外想说的是,这种图实际上和收敛曲线一个道理,是随机的。就是说每次运行得到的都不一样,只是稳定性好的算法基本是差不多的效果。上面例举的算法都比较稳定,每次的效果差不多。但是,严格来讲,这个和收敛图一样,也应该用多次运行后的均值或者中位数来画。这样才能避免偶然性,不然完全有可能是你画了多次,恰好有个效果好的就放到论文里了。

举个例子,例如去年新提出的孔雀优化算法(POA)。同样使用Ackley函数,最大迭代次数相同。多次运行,它在迭代中的勘探和开发占比变化就相差很大,如图9所示:

图9 POA在Ackely上的勘探和开发情况

这就说明,POA的性能很不稳定。你很可能就是把恰好看着还可以的第一张放到论文里~

这也证明勘探和开发只是考察算法的一个方面,还有其他很多方面需要兼顾,例如收敛精度、收敛速度、稳定性、复杂度等。因此,为了学术的严谨性,还是建议大家多次独立运行,然后计算均值或中位数来画勘探与开发百分占比的变化曲线。

MATLAB代码:

蜣螂优化(DBO)算法的勘探(Exploration)和开发(Exploitation)占比分析:

白鲸优化(BWO)算法的勘探(Exploration)和开发(Exploitation)占比分析:

金豺优化(GJO)算法的勘探(Exploration)和开发(Exploitation)占比分析:

蜜獾算法(HBA)的勘探(Exploration)和开发(Exploitation)占比分析:

哈里斯鹰优化(HHO)算法的勘探(Exploration)和开发(Exploitation)占比分析:

鲸鱼优化算法(WOA)的勘探(Exploration)和开发(Exploitation)占比分析:

孔雀优化算法(POA)的勘探(Exploration)和开发(Exploitation)占比分析:

(公众号里有,关注:启发式算法讨论)

解释得不一定很清楚,所以还是推荐大家好好去读下面的参考文献:

[1] Cheng S, Shi Y, Qin Q, et al. Population diversity maintenance in brain storm optimization algorithm[J]. Journal of Artificial Intelligence and Soft Computing Research, 2014, 4(2): 83-97.

[2] Hussain K, Salleh M N M, Cheng S, et al. On the exploration and exploitation in popular swarm-based metaheuristic algorithms[J]. Neural Computing and Applications, 2019, 31: 7665-7683.

[3] Morales-Castañeda B, Zaldivar D, Cuevas E, et al. A better balance in metaheuristic algorithms: Does it exist?[J]. Swarm and Evolutionary Computation, 2020, 54: 100671.

种群的勘探(Exploration)与开发(Exploitation)(含MATLAB代码)相关推荐

  1. 灰狼优化(GWO)算法(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论. 文献[1]中的灰狼优化(Grey Wolf Optimizer, ...

  2. 浣熊优化算法(COA)(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...

  3. 灰狼优化(GWO)算法的8种中文变体(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...

  4. 【数字信号处理】基于DFT的滤波系列3之插值滤波(含MATLAB代码)

    四.基于DFT的(理想)滤波 例2:一个"警告" "理想DFT滤波器"虽然简单.有效,但可能会导致意想不到的问题.在博客 [数字信号处理]基于DFT的滤波系列2 ...

  5. 二、生理信号处理 ——1.心电信号(含Matlab代码及数据)

    本文适合快速了解心电信号,并能够进行数据的滤波处理. 一. 心电数据预处理(消除工频干扰.基线漂移) * 心电数据及rdmat函数见文章底部 1. 导入心电数据 ## 心电图导入及读取 clc; [T ...

  6. matlab去除大跳变,一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码)...

    一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码) 一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码) 文章目录 前言 一.MATLAB代码 二.结果示例 总结 前言 方法 ...

  7. COI实验室技能:常见的图像增强算法(含MATLAB代码)

    COI实验室技能:常见的图像增强算法(含MATLAB代码)   成像系统采集到的图片有时不一定具有很好的图像质量,往往需要进行一些图像增强的操作.本文主要整理了几种常见的图像增强算法,包括:同态滤波. ...

  8. 回声消除AEC算法(含Matlab代码)

    基于自适应滤波器的回声消除AEC算法(含Matlab代码) 摘要 自适应滤波器 声学回波抵消 AEC算法解析 LMS算法 NLMS算法 VSNLMS算法 APLMS算法 LMS-Newton算法 PF ...

  9. 哈里斯鹰优化(HHO)算法(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...

最新文章

  1. 使用功能开关更好地实现持续部署
  2. XamarinEssentials教程移除键值首选项的键值
  3. 开发日记-20190925 关键词 试错的一天
  4. Android用shareUserID实现多个Activity显示在同一界面
  5. 当店铺关联,你知道怎么办吗
  6. 矩阵理论及其应用_有限元分析ansys理论与应用视频第三课 绪论:直接法矩阵求解...
  7. ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
  8. mysql同步到另一台服务器_mysql两台服务器主从同步
  9. 稳定性与高可用保障的工作思路
  10. 高三了,一模距本科线还差22,英语才28,怎么办啊
  11. 用终端命令(Git)合并到Master分支等操作
  12. 分享一个Ubuntu16.0.4安装MySQL5.7脚本
  13. mysql排序检索数据
  14. cad化气路图_气路图符号cad下载
  15. 服务器改无线路由器怎么设置,怎么把旧路由器改装成中继器
  16. Fast RTPS原理与代码分析(2):动态发现协议之参与者发现协议PDP
  17. 转行做软件测试的原因
  18. 试用蓝牙模块的一点经验整理(Part 3, 关于iBeacon功能 )
  19. k8s 一套代码部署两个实例
  20. 微信小程序扫描小程序码进入,模拟器模拟进入

热门文章

  1. 外文文献翻译工具,怎么样又快又精准?
  2. 报告称可卷曲OLED 面板成本高三倍
  3. 数据分析常见方法及模型分类
  4. Kuberntes云原生实战04 安装前置条件及Docker环境
  5. 一次lenovo a390t刷机体验
  6. 百家姓氏json数据
  7. 卡巴斯基界面字符全变成方框的解决办法.
  8. java: 程序包lombok不存在
  9. 龙岩市物联网应用平台建设方案
  10. PPT手机版APP隐私条款