版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,人工蜂群算法 (Artificial Bee Colony,ABC),蜂群算法简介,人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用。 主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。 为了解决多变量函数优化问题,Karaboga在2005年提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。,一 、蜜蜂采蜜机理,蜜蜂是一种群居昆虫,虽然单个昆虫的行为极其简单,但是由单个简单的个体所组成的群体却表现出极其复杂的行为。真实的
2、蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵)中采集花蜜;同时,它们能适应环境的改变。,蜂群产生群体智慧的最小搜索模型包含基本的三个组成要素:食物源、被雇佣的蜜蜂(employed foragers)和未被雇佣的蜜蜂(unemployed foragers);两种最为基本的行为模型:为食物源招募(recruit)蜜蜂和放弃(abandon)某个食物源。,一 、蜜蜂采蜜机理,(1)食物源:食物源的价值由多方面的因素决定,如:它离蜂巢的远近,包含花蜜的丰富程度和获得花蜜的难易程度。使用单一的参数,食物源的“收益率”(profitability),来代表以上各个因素。,(2)被雇用的蜜蜂:也
3、称引领蜂(Leader),其与所采集的食物源一一对应。引领蜂储存有某一个食物源的相关信息(相对于蜂巢的距离、方向、食物源的丰富程度等)并且将这些信息以一定的概率与其他蜜蜂分享。,(3)未被雇用的蜜蜂:其主要任务是寻找和开采食物源。有两种未被雇用的蜜蜂:侦查蜂(Scouter)和跟随蜂(Follower)。侦察蜂搜索蜂巢附近的新食物源;跟随蜂等在蜂巢里面并通过与引领蜂分享相关信息找到食物源。一般情况下,侦察蜂的平均数目是蜂群的5%-20%。,一 、蜜蜂采蜜机理,(4)舞蹈区:在群体智慧的形成过程中,蜜蜂间交换信息是最为重要的一环。舞蹈区是蜂巢中最为重要的信息交换地。蜜蜂的舞蹈叫做摇摆舞。食物源的
4、信息在舞蹈区通过摇摆舞的形式与其他蜜蜂共享,引领蜂通过摇摆舞的持续时间等来表现食物源的收益率,故跟随蜂可以观察到大量的舞蹈并依据收益率来选择到哪个食物源采蜜。收益率与食物源被选择的可能性成正比。因而,蜜蜂被招募到某一个食物源的概率与食物源的收益率成正比。,初始时刻,蜜蜂以侦察蜂的身份搜索。其搜索可以由系统提供的先验知识决定,也可以完全随机。经过一轮侦查后,若蜜蜂找到食物源,蜜蜂利用它本身的存储能力记录位置信息并开始采蜜。此时,蜜蜂将成为“被雇用者”。蜜蜂在食物源采蜜后回到蜂巢卸下蜂蜜然后将有如下选择: (1)放弃食物源而成为非雇佣蜂。 (2)跳摇摆舞为所对应的食物源招募更多的蜜蜂,然后回到食物
5、源采蜜。 (3)继续在同一个食物源采蜜而不进行招募。 对于非雇佣蜂有如下选择: (1)转变成为侦察蜂并搜索蜂巢附近的食物源。其搜索可以由先验知识决定,也可以完全随机。 (2)在观察完摇摆舞后被雇用成为跟随蜂,开始搜索对应食物源邻域并采蜜。,二、蜜蜂采蜜过程,三、ABC算法原理,在基本ABC算法中,人工蜂群包含3种个体:雇佣蜂、观察蜂和侦查蜂。 每个雇佣蜂对应一个确定的食物源(解向量)并在迭代中对蜜源的邻域进行搜索。 根据蜜源丰富程度(适应值的大小)采用轮盘赌的方式雇佣观察蜂采蜜(搜索新蜜源) 如果蜜源多次更新没有改进,则放弃该蜜源,雇佣蜂转为侦查蜂随机搜索新蜜源。,1.蜜源初始化,初始化时,随
6、机生成SN个可行解(等于雇佣蜂的数量)并计算适应度函数值。随机产生可行解的公式如下: (1) 式中,xi(i=1, 2, . . . , SN)为D维向量,D为优化参数的个数,j 1, 2, , D。,2. 新蜜源的更新搜索公式,蜜蜂记录自己到目前为止的最优值,并在当前蜜源邻域内展开搜索,基本ABC在蜜源附近搜索新蜜源的公式为: (2) 式中,j 1, 2, , D ,k 1, 2, , SN ,k为随机生成且ki,ik 为 - 1, 1之间的随机数。,3. 观察蜂选择雇佣蜂的概率,式中,fit(xi)为第i个解的适应值对应蜜源的丰富程度。蜜源越丰富,被观察蜂选择的概率越大。,4. 侦察蜂的产
7、生,为防止算法陷入局部最优,当某蜜源迭代limit次没有改进时,便放弃该蜜源, 并且将该蜜源记录在禁忌表中,同时该蜜源对应的雇用蜂转变为侦察蜂按式(1)随机产生一个新的位置代替原蜜源。,四、基本ABC算法的流程 1: 根据式(1)初始化种群解xi,i =1,SN 2: 计算种群中各个蜜蜂的适应值 3: cycle = 1 4: repeat 5: 雇佣蜂根据(2)产生新的解vi 并计算适应值 6: 雇佣蜂根据贪心策略选择蜜源 7: 根据(3)式计算选择蜜源xi的概率Pi 8: 观察蜂根据概率Pi选择蜜源xi,根据(2)式在该蜜源附近产生新的蜜源vi ,并计算新蜜源vi的适应值 9: 观察蜂根据
8、贪心策略选择蜜源 10: 决定是否存在需要放弃的蜜源,如果存在,根据(1)式随机产生一个蜜源替代它 11: 记录最优解 12: cycle = cycle + 1 13: until cycle = MCN,所有城市的任一种排列即是问题的一个解,解空间由若干解构成,因此初始化解空间就是随机产生多个不同的城市序列。以n个城市为例,从1到n对其进行编号,那么完成一次旅行的路径就用1到n的一个排列组合来表示。 在人工蜂群算法中,每一个引领蜂或者跟随蜂的位置就对应一个路径的组合,食物源的丰富程度对应这条路径的长度,用适应度函数值来描述食物源的丰富程度,也就是说,适应度函数值越小的引领蜂或者跟随蜂所在的
9、位置,所代表的路径也最优。,五、人工蜂群算法解TSP的实现,算法实现,TSP问题与蜂群采蜜行为对应关系,更新策略,实现TSP问题的算法中存在两级因子,即引领因子及转移因子. 引领因子是指通过上一级引领路径直接确定的城市之间引领强度的大小; 转移因子是指蜜蜂从城市i到城市j的转移强度,与引领因子及更新策略有关,而转移因子归一化后,又可以求出相应两个城市的转移概率,算法实现,下一步选择的城市可以表示为: Ak=1,2, ,n- Tk 其中Ak表示蜜蜂k下一步可以选择的城市,Tk表示以记录蜜蜂k本代所走过的城市,Tk随蜜蜂不断选择下一个城市而做动态调整.进化代数N每增加一次,各条路径上的转移因子就要
10、清零一次,保证转移因子没有遗留历史信息,而仅仅是根据本代路径信息更新.所有蜜蜂完成一次迭代循环,各路径上转移因子根据式(1)(2)(3)作调整.然后,对所有路径长度排序,得到引领路径矩阵LR.最后采用2级更新策略.,更新策略,算法实现,第1级:引领因子更新策略 引领路径的选择有3种方式:取长度最短的路 径为引领路径;取长度前位(或%为引领路径); 上代全部蜜蜂走过的路径为引领路径.,更新策略,算法实现,更新策略,式中:N为进化代数;LR(N)表示第N代路径长度排序后得到的引领路径矩阵;gm表示蜂群中蜜蜂总数;ij表示第k只蜜蜂在第N次迭代循环中留在路径ij上的引领因子。,算法实现,更新策略,A
11、BC算法提供了3种不同模型,分别为Bcs, Bqs, Bds,它们的差别在于引领因子kij的计算表达式不同.,上述三种模型中,后两者利用的是局部信息,而前者利用的是整体信息.其中:Q为引领常数;Lk为第k只蜜蜂在本次迭代中所走过路径的长度;dij表示第i个城市到第j个城市的距离.,算法实现,更新策略,第2级:转移因子动态更新策略 转移因子更新,人工蜜蜂根据当前允许选择的城市及上一代建立的引领路径矩阵,动态确定每个待选城市的转移因子转移因子动态更新公式为,算法实现,更新策略,式中:kij为第k只蜜蜂从城市i到城市j的转移因子;为除引领蜂走过的路径外,可选城市的总数;为转移强度;为可选城市总数;
12、当可选路径中不含引领蜂走过的路径时,转移因子取/,其中,当可选路径中含引领蜂走过的路径且为引领蜂走过的路径时,转移因子等于ij,若选其它路径,则转移因子为,算法实现,更新策略,蜂群算法的状态转移策略,设蜂群中蜜蜂总数为gm,侦察蜜蜂数为sm,跟随蜜蜂数fm,则有gm=sm+ fm.其中sm取总数的1/c左右,c为常数,取值小于10,以保证算法收敛.在从城市i转移到城市j的过程中,引领蜂完全重走上一次的路径.跟随蜂和侦察蜂依据下式计算在第N代第k只蜜蜂节点转移的概率.状态转移公式为,算法实现,更新策略,式中对于引领蜂,完全重走上次的路径,概率等于1.对于跟随蜂,根据转移因子大小依概率选择路径,启
13、发式因子ij= 1/ dij,dij(i,j= 1,2, ,n)为城市i和城市j之间的欧式距离;为表示转移因子ij重要程度的参数;为表示启发式因子ij重要程度的参数;BS,BF,BL分别为侦察蜂、跟随蜂及引领蜂集合.,对于侦察蜂,t是允许路径集中,可以选择城市的总数,构造累加集序列Psum,累加集序列位置代表城市标号,通过计算机产生(0,1)之间的随机数,并由此确定在Psum的位置,最终确定选择城市.此外,c可以随着进化代数动态调整:起初,为了增加解的多样性,可适当增大c,随着迭代次数的增 加,为了加速并保证收敛,可适当减小c.,算法实现,更新策略,跟随蜂根据转移因子大小按概率状态转移,保证大部分蜜蜂依上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理收款合同范例
- 建筑勘察设计合同
- 简化保价合同协议
- 电脑定制化购销协议
- 便利店薯片购销合同
- 个人借款合同的还款方式
- 借款协议书集团内部
- 工作服采购合同模板
- 芜湖市房屋买卖合同版式示例
- 集中采购和政府采购合同的效益分析
- 《地质灾害监测技术规范》
- 2024-2030年中国云母制品制造市场发展状况及投资前景规划研究报告
- 2025年上半年内蒙古鄂尔多斯伊金霍洛监狱招聘17名(第三批)易考易错模拟试题(共500题)试卷后附参考答案
- QC080000培训讲义课件
- 24秋国家开放大学《农产品质量管理》形考任务1-2+形考实习1-3参考答案
- 科技兴国未来有我主题班会教学设计
- 房子管护合同范例
- 光伏施工安全措施
- 2024-2025华为ICT大赛(网络赛道)高频备考试题库500题(含详解)
- 汽车智能制造技术课件
- 江苏省扬州市邗江中学2025届物理高一第一学期期末学业质量监测试题含解析
评论
0/150
提交评论