群体智能之人工蜂群算法及其改进(ABC)

在这里插入图片描述

获取更多资讯,赶快关注上面的公众号吧!

文章目录

  • 第三章 人工蜂群算法及其改进
    • 3.1 介绍
    • 3.2 ABC算法
    • 参考文献

第三章 人工蜂群算法及其改进

3.1 介绍

在自然界中,群体是由多个为实现一共同目标的个体构成,目标可以是抵御捕食者、建巢穴、保留或繁殖种群、充分利用环境中的资源等。在群体中为完成目标,存在着任务选择机制和分工,个体根据局部规则和相邻个体间的相互作用进行自组织。这些低层次的交互导致了全局的群体行为。Bonabeau等人[1]将自组织定义为正反馈、负反馈、波动和多重交互作用的组合。正反馈促进个体更频繁地做出有益的行为,或促使其他个体向适当的行为靠拢。蚂蚁分泌信息素或蜜蜂跳舞都是正反馈的例子。由于正反馈效应的存在,当种群趋于饱和时,负反馈机制抛弃了无效的模式。蚂蚁信息素的蒸发或蜜蜂放弃已耗尽的资源就是负反馈的例子。这种波动带来了创造力和创新,以探索新的模式。多重交互是群中相邻代理之间的通信。自组织和分工使群体适应外部和内部的变化。结合上述特点的群体智能具有可扩展性、容错性、适应性、速度快、模块化、自主性、并行性等优点[2]。

蚂蚁、白蚁、蜜蜂、鸟类和鱼类群居生活,在没有监督的情况下共同完成一些任务。这些生物的集体和智能行为启发一些研究人员将集体智能应用到解决问题的技术中。Dorigo[3]的蚁群优化算法和Kennedy和Eberhart[4]的粒子群优化算法都是群体智能算法的例子。

蜂群具有多种智能行为模式,如巢内任务分工、交配、导航、巢址选择、觅食等[5]。蜜蜂通过自组织和分工特性,非常有效地完成觅食任务。被分配到觅食任务的蜜蜂分为三类:雇佣蜂、观察蜂和侦察蜂,这与觅食任务中的劳动分工相对应。雇佣蜂负责开采食物来源,并通过舞蹈招引其他蜜蜂。观察蜂在蜂房中等待,通过观看雇佣蜂的舞蹈来选择食物来源。侦察蜂寻找未知的新资源。被剥削殆尽的食物来源被雇佣蜂抛弃,此时雇佣蜂就变成了侦察蜂。将蜜蜂招引到有利的资源中是一种正反馈现象,而放弃枯竭的资源则是一种负反馈现象。侦察蜂寻找未被发现的食物来源是一种波动效应,它给现有的食物来源带来新的发现。蜜蜂通过舞蹈进行的交流包含了食物源的位置信息和质量信息,这是自组织的多重交互特性。

由Karaboga[6]设计的人工蜂群算法(ABC)是一种模拟蜜蜂觅食行为的群体智能算法,可以成功地用于优化无约束和有约束、单目标和多目标以及连续和组合设计问题[5,7]。本部分将详细介绍ABC算法及其改进。

3.2 ABC算法

2005年,Karaboga开发了一种模拟蜜蜂觅食行为的优化算法,并将其称为人工蜂群算法(ABC)。该算法使用一群食物源位置,每个食物源都是优化问题的可选方案,而食物源的花蜜量就是该方案的适应度。该算法除了使用蜜蜂执行的各种选择机制外,还使用一些局部和全局搜索机制,试图找到一个最优解(最有利的食物源)。

如前一节所述,蜜蜂根据食物来源的选择类型分为三组,这些类对应于算法的阶段。算法的主要步骤如下:

初始化
repeat雇佣蜂阶段观察蜂阶段记忆当前获得的最优解侦查蜂阶段
until 达到终止标准
算法1:ABC算法的主要步骤

在初始化阶段,使用下式随机初始化食物源种群:

x i j = x j min ⁡ + r a n d ( 0 , 1 ) ( x j max ⁡ − x j min ⁡ ) (1) {x_{ij}} = x_j^{\min } + rand(0,1)(x_j^{\max } - x_j^{\min })\tag 1 xij=xjmin+rand(0,1)(xjmaxxjmin)(1)

其中i=1,2,…,SN,j=1,2,…,DSN是食物源数量,D是设计参数的个数(即维度),xjminxjmax分别是第j维的下界和上界。

最初的种群是通过雇佣蜂、观察蜂和侦察蜂的觅食循环来改善的,觅食循环将一直迭代至终止准则满足。终止准则可以是达到最大评估次数,也可以是找到一个可接受的函数值。

在雇佣蜂阶段,通过在食物源的领域内进行局部搜索来模拟真实觅食行为中的食物源开采。基础ABC算法的局部搜索由式(2)定义:

v i j = x i j + ϕ i j ( x i j − x k j ) (2) {v_{ij}} = {x_{ij}} + {\phi _{ij}}({x_{ij}} - {x_{kj}})\tag 2 vij=xij+ϕij(xijxkj)(2)

其中i是当前解,k是随机选择的邻域解,φij是[-1,1]之间符合均匀分布的随机数。上式定义的局部搜索中,只改变了当前解中随机选择的一个维度(参数j)。局部搜索完成后,贪婪选择当前解和变异解中较好的解保留下来,并丢弃较差解。种群中的每个食物源都会应用局部搜索和贪婪选择。

在文献[7]中提出了在局部搜索ABC时的各种改进。

一旦雇佣蜂阶段完成,就开始观察蜂阶段开始。在这一阶段会搜索食物源的邻域,以寻找类似于雇佣蜂阶段中的较优解一样。不同的是,搜索不是在每个解附近逐一执行的,相反,需要搜索的解是根据适应度值随机选择的,也就是说高质量的解将更有可能被选择到,这就是ABC算法的正反馈属性。选择每个解的概率正比于其适应度值:

p i = f i t n e s s i ∑ i = 1 S N f i t n e s s i (3) {p_i} = \frac{{fitnes{s_i}}}{{\sum\nolimits_{i = 1}^{SN} {fitnes{s_i}} }}\tag 3 pi=i=1SNfitnessifitnessi(3)

计算出概率值后,采用基于适应度值的选择机制以较大机会选择较优解,选择机制可以是轮盘赌、基于排名、随机遍历抽样、锦标赛等,而在基础的ABC中采用的是轮盘赌,这与真实蜂群是类似的,根据雇佣蜂的跳舞信息,更好的食物源会吸引更多蜜蜂的注意。一旦概率性的选择了SN个解,并在这些解的附近进行局部搜索,然后贪婪搜索以获得更优的解。在雇佣蜂和观察蜂阶段,如果局部搜索无法再改善解,那么其计数器加1,该计数器保存了这个解在种群中被利用和保留的次数,因此这类似于现实中蜜蜂开发食物源的数量。在现实中,就像ABC算法中所模拟的那样,一个食物源的花蜜在开采结束时被耗尽,如果一个食物源被充分开采,这个食物源就会被其蜜蜂抛弃。计数器用于确定开采的充分性和耗尽性,如果计数器超过限制,和该计数器相关联的解被认为已耗尽,然后被通过式(1)随机产生的新解替代。

对于所有阶段,算法包含三个控制参数:食物源数量、循环最大代数和确定食物源耗尽的上限。

对于实参数优化,对ABC算法的改进提高了其收敛性[8]。在基础的ABC算法中,变异解的生成只是通过改变参数向量中一维,而在改进的ABC算法中可以改变多维:
在这里插入图片描述(4)

其中Rij是修改率,由(0,1)上的标准正态分布得到,MR控制扰动的频率。因此对于每一个维度j,如果满足Rij<MR,就通过局部搜索产生vij,否则等于xij

在[8]中,还提出了对的大小的改进。在基础的ABC算法中φij是[-1,1]之间的随机数,而改进后则是由尺度因子限定的区间[-SF,SF]得到,SF是尺度因子,基于Rechenberg的1/5规则进行自动调整以实现微调,即如果成功变异与所有变异的比率小于1/5,则降低SF,否则增大以加速搜索。

参数定义:
CS:食物源数量,
MCN:最大循环次数,
limit:放弃食物源的最大试验次数,即食物源耗尽上限。begin//初始化for s=1 to CS do使用式(1)随机生成解;计算解的适应度值;初始化试验次数为0.endcycle=1while cycle<MCN do//雇佣蜂阶段for s=1 to CS do根据式(2)随机生成一个新解;计算新解的适应度值;//贪婪选择if 新解适应度由于原有解 then用新解替换原有解;	else原有解试验次数加1;endend根据式(3)计算观察蜂选择概率;//观察蜂阶段(注意,此处仍然需要变异CS次,但是较优解变异次数更多)for s=1 to CS do根据上面计算的概率选择解并按公式(2)产生新解;计算新解的适应度值;//贪婪选择if 新解适应度由于原有解 then用新解替换原有解;	else原有解试验次数加1;endend记忆当前获得的最优解;//侦查蜂阶段找出试验次数最大的解,超过limit则根据式(1)重新初始化;cycle++;	endend
算法2 完整ABC

参考文献

  1. Bonabeau, E., M. Dorigo, and G. Theraulaz, Swarm Intelligence - From Natural to Artificial Systems. Vol. 14. 1999.
  2. Kassabalidis, I., et al. Swarm intelligence for routing in communication networks. in GLOBECOM’01. IEEE Global Telecommunications Conference (Cat. No.01CH37270). 2001.
  3. Dorigo, M., V. Maniezzo, and A. Colorni, Positive Feedback as a Search Strategy. Tech rep., 91-016, Dip Elettronica, Politecnico di Milano, Italy, 1999.
  4. Kennedy, J. and R. Eberhart. Particle swarm optimization. in Proceedings of ICNN’95 - International Conference on Neural Networks. 1995.
  5. Karaboga, D. and B. Akay, A survey: algorithms simulating bee swarm intelligence. Artificial Intelligence Review, 2009. 31(1-4): p. 61-85.
  6. Karaboga, D., An Idea Based on Honey Bee Swarm for Numerical Optimization, Technical Report - TR06. Technical Report, Erciyes University, 2005.
  7. Karaboga, D., et al., A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artificial Intelligence Review, 2012. 42(1): p. 21-57.
  8. Akay, B. and D. Karaboga, A modified Artificial Bee Colony algorithm for real-parameter optimization. Information Sciences, 2012. 192: p. 120-142.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380941.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

人工蜂群算法(ABC算法)Java实现

人工蜂群算法(ABC算法)&#xff08;Artificial Bee Colony&#xff09; Java实现测试函数Rastrigin&#xff0c;附上原型代码翻译后的注释。 题目&#xff1a; 待优化问题参数设置10个&#xff0c;运行一次&#xff0c;[-5.12,5.12]。 附上代码&#xff1a; package ABCtes…

暴强:用iOS设备控制的HTML5“小蜜蜂”游戏

摘要&#xff1a;红白机上的经典“小蜜蜂”游戏在HTML5技术下得到了革新&#xff1a;英国伦敦的Webdigi公司运用HTML5结合Node.js进行开发&#xff0c;扫描二维码使得游戏在PC浏览器中显示&#xff0c;玩家通过左右摇晃iPhone/iPad控制飞船&#xff0c;向小蜜蜂发起攻击。 近日…

【Android】Android外接音源设备之小蜜蜂坑

在开发直播APP时&#xff0c;有用到小蜜蜂外接音源&#xff0c;总是会存在声音噪音很大或者很多手机声音很小的问题&#xff1a; 适配的几个手机都测试了&#xff0c;总是得不到解决方案&#xff0c;因为在外接小蜜蜂MIC时&#xff0c;会用到转接线 最开始考虑的是否转接线存在…

Meefeng蜜蜂系统——手机应用营销工具

最新媒体是什么&#xff1f; Meefeng是什么&#xff1f; Meefeng三大商业价值是什么&#xff1f; Meefeng优势是什么&#xff1f; Meefeng实现价值全过程是什么&#xff1f; Meefeng案例有什么、适合那些行业&#xff1f;&#xff1f;&#xff1f; Meefeng解答以上问题&a…

蜜蜂

蜜蜂的数感&#xff08;蜜蜂知道0比1要小&#xff09; 2018/6/8th Sicence上的论文&#xff0c;原文链接 像蜜蜂这样的昆虫是否能有数字“0”的概念呢&#xff1f;于是实验人员做了一个实验来测试。基本方式是训练蜜蜂知道“大于”还是“小于”规则&#xff08;跟普通Transitiv…

密蜂路线

题目&#xff1a; 一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你&#xff1a;蜜蜂从蜂房M开始爬到蜂房N&#xff0c;M<N&#xff0c;有多少种爬行路线&#xff1f; Input 输入M&#xff0c;N的值。 Output 爬行有多少种路线。…

Python(八十)字符串的常用操作——字符串的劈分

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

(三十五)ArcMap创建最小边界几何

ArcMap数据管理——创建最小边界几何 目录 ArcMap数据管理——创建最小边界几何1.概念2.插图3.几何类型4.组选项(可选)5.将几何特征作为属性添加输出中 (可选)1.概念 创建包含若干面的要素类,用以表示封闭单个输入要素或成组的输入要素指定的最小边界几何。 2.插图 输出最…

Object C实现三国英雄对战

Object C实现三国英雄对战 实验要求游戏介绍英雄机制对战机制 英雄介绍蜀国英雄吴国英雄魏国英雄群雄 代码实现数据隐秘性封装继承多态 实验结果游戏源码 实验要求 输出随机选择的英雄及其关键属性&#xff0c;输出单挑中每回合的过程、结果&#xff0c;以及最终胜负结果输出程…

DTF:预测抗癌药物协同作用的深度张量分解

DTF: Deep Tensor Factorization for predicting anticancer drug synergy 摘要1 介绍2 材料与方法2.1 数据采集和预处理2.2 DTF:深张量因式分解2.2.1 符号2.2.2 张量分解算法2.2.3 CP-WOPT2.2.4 深度神经网络2.2.5 特征工程2.2.6 模型构建 2.3 模型与比较评价CP-WOPT基准分类器…

元宇宙需要“基建狂魔”

当互联网行业从先进生产力的象征&#xff0c;逐渐成为带有原罪的资本力量时&#xff0c;元宇宙作为这个行业的元叙事&#xff0c;变成了万能药&#xff0c;能解一切忧愁。 荔枝说自己是“声音元宇宙”&#xff0c;Soul 说自己是“年轻人社交元宇宙”&#xff0c;Facebook 现在…

牛逼|珍藏多年的工具让我实现了带薪摸鱼自由

文 | 豆豆 来源&#xff1a;Python 技术「ID: pythonall」 资本是噬血的&#xff0c;因此打工人最有效的抵抗资本的方法就是上班划水&#xff0c;带薪摸鱼&#xff0c;但前提是你要先搞完自己手上的工作才行&#xff0c;今天就给大家推荐几款我常用的在线工具&#xff0c;每一款…

岂有此理? 珍藏多年的工具让我实现了带薪摸鱼自由

资本是噬血的&#xff0c;因此打工人最有效的抵抗资本的方法就是上班划水&#xff0c;带薪摸鱼&#xff0c;但前提是你要先搞完自己手上的工作才行&#xff0c;今天就给大家推荐几款我常用的在线工具&#xff0c;每一款都能让你提高不少工作效率。 drawio (https://jq.qq.com/…

基于ipad协议的gewe框架进行微信群组管理(二)

友情链接 geweapi.com 点击访问即可。 获取群组详情 小提示&#xff1a; 该接口可以一次查询20个群组查询出来的信息是不带公告的 请求URL&#xff1a; http://域名地址/api/group/detail 请求方式&#xff1a; POST 请求头&#xff1a; Content-Type&#xff1a;applica…

如何打开计算机控制界面,如何打开控制面板 【使用途径】

大家都知道电脑使用起来非常方便,但遇见如何打开控制面板 的时候就非常头疼了,如果你是第一次遇到如何打开控制面板 ,怎么样才能快速解决如何打开控制面板 带来的烦恼呢?小编为大家收集了很多关于如何打开控制面板 问题的解决方法,下面请看具体的解决方法步骤: 电脑的控制…

【JAVA基础】- BIO介绍及其使用

【JAVA基础】- BIO介绍及其使用 文章目录 【JAVA基础】- BIO介绍及其使用一、BIO概述二、BIO工作机制客户端服务端 三、同步阻塞步骤四、编码实现传统BIO服务端代码客户端代码总结 五、BIO编程现实多发多收服务端代码客户端代码 六、BIO模拟客户端服务端多对一实现步骤服务端实…

39、传输层的任务和协议

从本节内容开始&#xff0c;我们学习TCP/IP模型的传输层的知识。传输层是TCP/IP模型中的重要组成部分&#xff0c;如果没有传输层的处理&#xff0c;那么源主机发送的IP数据包到达目的主机之后&#xff0c;目的主机将不知道这个数据是哪个应用程序的数据&#xff0c;就不能很好…

央行、外管局、银行业协会牵头银行区块链联盟,三驾马车齐攻国际金融市场...

文丨互链脉搏黑珍珠号 未经授权&#xff0c;不得转载! 11月20日&#xff0c;恒生电子股份有限公司官方消息&#xff0c;恒生电子区块链运营总监任珊日前表示&#xff0c;由中国银行业协会牵头&#xff0c;11家头部银行以及4家科技公司共同参与的“中国贸易金融跨行交易区块链平…

CDA数据分析师高级师资研修班在重庆仙桃大数据学院顺利开班

7月22日&#xff0c;由CDA数据分析(成都)研究院、重庆仙桃大数据学院联合筹备及招生的“CDA数据分析师高级师资研修班”在重庆仙桃大数据学院顺利开班。 本次培训由CDA数据分析(成都)研究院副院长、中科院博士、电子科技大学博士后卢宇老师主讲。分别从大数据系统架构、数据的导…

阿里巴巴区签约重庆,这些合作亮点你不得不知!

&#xff08;原文标题&#xff1a;刚刚&#xff0c;阿里巴巴区域中心落地&#xff01;马云来重庆要干这些大事情&#xff01;&#xff09; 马云携团队来重庆了&#xff0c;背后隐藏着大信息&#xff01;显然是要干大事情&#xff01; 就在刚刚&#xff0c;重庆市政府与阿里巴巴…