多目标优化算法:多目标人工蜂鸟算法MOAHA(提供Matlab代码)

一、算法简介

人工蜂鸟算法(Artificial hummingbird algorithm,AHA)由Weiguo Zhao等人于2021年提出,其灵感来自自然界中蜂鸟的特殊飞行技能和智能觅食策略。
在这里插入图片描述

二、算法原理

人工蜂鸟算法模仿蜂鸟的三种觅食策略(引导觅食、领土觅食和迁徙觅食)。 此外,还对觅食策略中使用的各种飞行技能进行了建模,例如轴向,对角线和全向飞行。 同时构建了模仿蜂鸟超常记忆能力的访问表,以引导蜂鸟在算法中执行全局优化。
在这里插入图片描述

2.1引导觅食

每只蜂鸟都有一种自然的趋势,即以最大的花蜜量访问食物来源,这意味着目标来源需要具有较高的花蜜补充率和蜂鸟长时间未访问的时间。因此,在AHA中,蜂鸟应该确定指导觅食行为访问量最高的食物来源,然后从它们中选择花蜜再填充率最高的食物来源作为其目标食物来源。在确定目标食物来源后,这只蜂鸟可以飞向它觅食。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

AHA的引导觅食策略:
在这里插入图片描述

2.2领土觅食

在访问了食用花蜜的目标食物来源后,蜂鸟可能会寻找新的食物来源,而不是访问其他现有的食物来源。因此,蜂鸟可以很容易地移动到自己领土内的邻近地区,其中可以找到新的食物来源作为候选解决方案,可能比目前的解决方案更好。模拟在领地觅食策略中本地搜寻蜂鸟的数学方程和候选食物来源如下:
在这里插入图片描述

AHA的领土觅食策略:
在这里插入图片描述

2.3迁徙觅食

当蜂鸟经常访问的地区往往缺乏食物时,这种蜂鸟通常会迁移到更远的食物来源觅食。在 AHA 算法中,定义了迁移系数。如果迭代次数超过迁移系数的预定值,则位于花蜜再填充率最差的食物源的蜂鸟将迁移到整个搜索空间中随机产生的新食物源。这时,这只蜂鸟会抛弃旧的源头,留在新的源头觅食,然后更新访问表。蜂鸟从花蜜再填充率最差的来源迁徙觅食到随机产生的新蜂鸟可以给出如下:
在这里插入图片描述

AHA的迁徙觅食策略:
在这里插入图片描述

三、算法描述

在这里插入图片描述

四、多目标人工蜂鸟算法MOAHA

将人工蜂鸟算法的优良策略与多目标优化算法框架结合形成多目标人工蜂鸟算法(MOAHA),为了验证所提的MOAHA的有效性,将其在46个多目标测试函数(ZDT1、ZDT2、ZDT3、ZDT4、ZDT6、DTLZ1-DTLZ7、WFG1-WFG10、UF1-UF10、CF1-CF10、Kursawe、Poloni、Viennet2、Viennet3)上实验。

4.1部分实验结果

4.1.1 CF1:

在这里插入图片描述

4.1.2 WFG2:

在这里插入图片描述

4.1.3 ZDT3:

在这里插入图片描述

4.1.4 ZDT4:

在这里插入图片描述

4.1.5 DTLZ5:

在这里插入图片描述

4.1.6 DTLZ6:

在这里插入图片描述

4.1.7 Viennet3:

在这里插入图片描述

4.2源代码见评论区

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
目标人工蜂鸟优化算法(Multi-objective Artificial Bee Colony Optimization Algorithm)是一种基于自然界蜜蜂觅食行为的优化算法,用于解决多目标优化问题。在MATLAB中实现该算法可以遵循以下步骤: 1. 定义目标函数:根据具体问题,定义多个目标函数,这些函数可以是需要最大化或最小化的优化指标。 2. 初始化蜜蜂群体:设置蜜蜂的数量和初始位置,并为每个蜜蜂随机分配一个目标函数。 3. 计算适应度值:根据每个蜜蜂的位置和目标函数计算适应度值,用于评估每个蜜蜂的性能。 4. 跟随行为:对于每个蜜蜂,根据其当前位置,选择一个邻近位置,并计算邻近位置的适应度值。 5. 侦查行为:如果某个蜜蜂的适应度值没有得到改进,则进行侦查行为,重新随机选择一个位置。 6. 更新位置和适应度:根据跟随行为和侦查行为计算的适应度值,更新每个蜜蜂的位置和适应度。 7. 筛选非劣解:对于所有蜜蜂中的非劣解,根据多目标优化算法的策略进行筛选,保留一定数量的最优解。 8. 终止条件:根据预设的终止条件(例如达到最大迭代次数或找到满意的解集),判断是否终止算法。 9. 输出结果:输出最终的非劣解集合作为算法的结果。 以上是多目标人工蜂鸟优化算法MATLAB中的一般实现过程,具体实现过程可能因问题而异。你可以根据自己的需求和具体问题进行相应的调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值