优化算法——人工蜂群算法(ABC)

一、人工蜂群算法的介绍

人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法属于群智能算法的一种。

二、人工蜂群算法的原理

1、原理

标准的ABC算法通过模拟实际蜜蜂的采蜜机制将人工蜂群分为3类: 采蜜蜂、观察蜂和侦察蜂。整个蜂群的目标是寻找花蜜量最大的蜜源。在标准的ABC算法中,采蜜蜂利用先前的蜜源信息寻找新的蜜源并与观察蜂分享蜜源信息;观察蜂在蜂房中等待并依据采蜜蜂分享的信息寻找新的蜜源;侦查蜂的任务是寻找一个新的有价值的蜜源,它们在蜂房附近随机地寻找蜜源。

假设问题的解空间是

维的,采蜜蜂与观察蜂的个数都是

,采蜜蜂的个数或观察蜂的个数与蜜源的数量相等。则标准的ABC算法将优化问题的求解过程看成是在

维搜索空间中进行搜索。每个蜜源的位置代表问题的一个可能解,蜜源的花蜜量对应于相应的解的适应度。一个采蜜蜂与一个蜜源是相对应的。与第

个蜜源相对应的采蜜蜂依据如下公式寻找新的蜜源:

其中,

是区间

上的随机数,

。标准的ABC算法将新生成的可能解

与原来的解

作比较,并采用贪婪选择策略保留较好的解。每一个观察蜂依据概率选择一个蜜源,概率公式为

其中,

是可能解

的适应值。对于被选择的蜜源,观察蜂根据上面概率公式搜寻新的可能解。当所有的采蜜蜂和观察蜂都搜索完整个搜索空间时,如果一个蜜源的适应值在给定的步骤内(定义为控制参数“limit”) 没有被提高, 则丢弃该蜜源,而与该蜜源相对应的采蜜蜂变成侦查蜂,侦查蜂通过已下公式搜索新的可能解。

其中,

是区间

上的随机数,

是第

维的下界和上界。

2、流程

  • 初始化;
  • 重复以下过程:
    • 将采蜜蜂与蜜源一一对应,根据上面第一个公式更新蜜源信息,同时确定蜜源的花蜜量;
    • 观察蜂根据采蜜蜂所提供的信息采用一定的选择策略选择蜜源,根据第一个公式更新蜜源信息,同时确定蜜源的花蜜量;
    • 确定侦查蜂,并根据第三个公式寻找新的蜜源;
    • 记忆迄今为止最好的蜜源;
  • 判断终止条件是否成立;

三、人工蜂群算法用于求解函数优化问题

对于函数

其中

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-07-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黄成甲

数据分析之Logistic回归

所有的线性回归分析中,因变量的类型都是连续变量,如果需要预测的变量类型为分类变量,则需要采用回归分析中的Logistic回归。

601
来自专栏用户2442861的专栏

SIFT算法详解

如果你学习SIFI得目的是为了做检索,也许 OpenSSE 更适合你,欢迎使用。

751
来自专栏YoungGy

坦克问题的频率及贝叶斯解释

背景 频率解释 推导 直观理解 置信区间 贝叶斯解释 参考资料 ? 在统计学理论的估计中,用不放回抽样来估计离散型均匀分布最大值问题在英语世界中是著名的德国坦克...

17410
来自专栏Petrichor的专栏

深度学习: 数据扩充 (Data Augmentation)

包括:水平翻转、垂直翻转、水平垂直翻转。OpenCV中的 cv2.flip 接口可用于快速实现翻转操作:opencv: cv2.flip 图像翻转 进行 数据增...

1663
来自专栏计算机视觉战队

人脸对齐之GBDT(ERT)算法解读

1.概述 文章名称:One Millisecond Face Alignment with an Ensemble of Regression Trees 文...

47912
来自专栏人工智能

Coursera吴恩达《卷积神经网络》课程笔记(1)-卷积神经网络基础

推荐阅读时间:8min~15min 主要内容:卷积神经网络 《Convolutional Neural Networks》是Andrw Ng深度学习专项课程中的...

1869
来自专栏机器学习算法全栈工程师

你必须要知道CNN模型:ResNet

作者:叶 虎 编辑:张 欢 PART 01 ResNet简介 引言 深度残差网络(Deep residual network, ResNet)的提出是CNN...

5587
来自专栏用户2442861的专栏

GoogleNet论文笔记/小结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

913
来自专栏程序生活

End to End Sequence Labeling via Bidirectional LSTM-CNNs-CRF论文摘要简介神经网络结构训练总结

1354
来自专栏算法channel

机器学习:对决策树剪枝

昨天推送中介绍了决策树的基本思想,包括从众多特征中找出最佳的分裂点,刚开始大家都是用选择这个特征后带来的信息增益为基本方法,后来发现它存在一个严重的bug,因此...

3258

扫码关注云+社区