人工蜂群算法详解.pptVIP

  • 207
  • 0
  • 约3.49千字
  • 约 24页
  • 2019-08-02 发布于福建
  • 举报
更新策略 式中:N为进化代数;LR(N)表示第N代路径长度排序后得到的引领路径矩阵;gm表示蜂群中蜜蜂总数;λij表示第k只蜜蜂在第N次迭代循环中留在路径ij上的引领因子。 算法实现 更新策略 ABC算法提供了3种不同模型,分别为Bcs, Bqs, Bds,它们的差别在于引领因子λkij的计算表达式不同. 上述三种模型中,后两者利用的是局部信息,而前者利用的是整体信息.其中:Q为引领常数;Lk为第k只蜜蜂在本次迭代中所走过路径的长度;dij表示第i个城市到第j个城市的距离. 算法实现 * * * * * * * * * * * * * * * 蜂群算法简介 人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用。 主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。 为了解决多变量函数优化问题,Karaboga在2005年提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。 一 、蜜蜂采蜜机理 蜜蜂是一种群居昆虫,虽然单个昆虫的行为极其简单,但是由单个简单的个体所组成的群体却表现出极其复杂的行为。真实的蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵)中采集花蜜;同时,它们能适应环境的改变。 蜂群产生群体智慧的最小搜索模型包含基本的三个组成要素:食物源、被雇佣的蜜蜂(employed foragers)和未被雇佣的蜜蜂(unemployed foragers);两种最为基本的行为模型:为食物源招募(recruit)蜜蜂和放弃(abandon)某个食物源。 一 、蜜蜂采蜜机理 (1)食物源:食物源的价值由多方面的因素决定,如:它离蜂巢的远近,包含花蜜的丰富程度和获得花蜜的难易程度。使用单一的参数,食物源的“收益率”(profitability),来代表以上各个因素。 (2)被雇用的蜜蜂:也称引领蜂(Leader),其与所采集的食物源一一对应。引领蜂储存有某一个食物源的相关信息(相对于蜂巢的距离、方向、食物源的丰富程度等)并且将这些信息以一定的概率与其他蜜蜂分享。 (3)未被雇用的蜜蜂:其主要任务是寻找和开采食物源。有两种未被雇用的蜜蜂:侦查蜂(Scouter)和跟随蜂(Follower)。侦察蜂搜索蜂巢附近的新食物源;跟随蜂等在蜂巢里面并通过与引领蜂分享相关信息找到食物源。一般情况下,侦察蜂的平均数目是蜂群的5%-20%。 一 、蜜蜂采蜜机理 (4)舞蹈区:在群体智慧的形成过程中,蜜蜂间交换信息是最为重要的一环。舞蹈区是蜂巢中最为重要的信息交换地。蜜蜂的舞蹈叫做摇摆舞。食物源的信息在舞蹈区通过摇摆舞的形式与其他蜜蜂共享,引领蜂通过摇摆舞的持续时间等来表现食物源的收益率,故跟随蜂可以观察到大量的舞蹈并依据收益率来选择到哪个食物源采蜜。收益率与食物源被选择的可能性成正比。因而,蜜蜂被招募到某一个食物源的概率与食物源的收益率成正比。 初始时刻,蜜蜂以侦察蜂的身份搜索。其搜索可以由系统提供的先验知识决定,也可以完全随机。经过一轮侦查后,若蜜蜂找到食物源,蜜蜂利用它本身的存储能力记录位置信息并开始采蜜。此时,蜜蜂将成为“被雇用者”。蜜蜂在食物源采蜜后回到蜂巢卸下蜂蜜然后将有如下选择:   (1)放弃食物源而成为非雇佣蜂。   (2)跳摇摆舞为所对应的食物源招募更多的蜜蜂,然后回到食物源采蜜。   (3)继续在同一个食物源采蜜而不进行招募。   对于非雇佣蜂有如下选择:   (1)转变成为侦察蜂并搜索蜂巢附近的食物源。其搜索可以由先验知识决定,也可以完全随机。   (2)在观察完摇摆舞后被雇用成为跟随蜂,开始搜索对应食物源邻域并采蜜。 二、蜜蜂采蜜过程 三、ABC算法原理 在基本ABC算法中,人工蜂群包含3种个体:雇佣蜂、观察蜂和侦查蜂。 每个雇佣蜂对应一个确定的食物源(解向量)并在迭代中对蜜源的邻域进行搜索。 根据蜜源丰富程度(适应值的大小)采用轮盘赌的方式雇佣观察蜂采蜜(搜索新蜜源) 如果蜜源多次更新没有改进,则放弃该蜜源,雇佣蜂转为侦查蜂随机搜索新蜜源。 蜂群采蜜行为 待求解问题 食物源位置 可行解 食物源质量 适应度 采蜜速度 收敛速度 食物源质量最大值(最大收益度) 最优解 1.蜜源初始化 初始化时,随机生成SN个可行解(等于雇佣蜂的数量)并计算适应度函数值。随机产生可行解的公式如下: (1) 式中,xi(i=1, 2, . . . , SN)为D维向量,D为

文档评论(0)

1亿VIP精品文档

相关文档