精华内容
下载资源
问答
  • 人工蜂殖民算法 对人工蜂群算法的理解和改进人工蜂群算法思想,以及人工蜂群算法及其改进算法的C / Java / Python实现群算法的思路以及人工蜂群算法及其改进算法的C / Java / Python实现
  • 人工蜂群算法是近年来群智能方向的研究热点。首先介绍了蜂群算法的思想,然后从Markov链角度证明了蜂群算法的收敛性,从算法改进和算法应用两个方面对蜂群算法的研究现状进行了总结,与其他算法进行了优缺点的对比,...
  • 人工蜂群算法

    千次阅读 2017-05-24 16:25:25
    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值...

    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,Karaboga提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。

    蜜蜂采蜜机理

    蜜蜂是一种群居昆虫,虽然单个昆虫的行为极其简单,但是由单个简单的个体所组成的群体却表现出极其复杂的行为。真实的蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵)中采集花蜜;同时,它们能适应环境的改变。
    蜂群产生群体智慧的最小搜索模型包含基本的三个组成要素:食物源、被雇佣的蜜蜂(employed foragers)和未被雇佣的蜜蜂(unemployed foragers);两种最为基本的行为模型:为食物源招募(recruit)蜜蜂和放弃(abandon)某个食物源。
    (1)食物源:食物源的价值由多方面的因素决定,如:它离蜂巢的远近,包含花蜜的丰富程度和获得花蜜的难易程度。使用单一的参数,食物源的“收益率”(profitability),来代表以上各个因素。
    (2)被雇用的蜜蜂:也称引领蜂(Leader),其与所采集的食物源一一对应。引领蜂储存有某一个食物源的相关信息(相对于蜂巢的距离、方向、食物源的丰富程度等)并且将这些信息以一定的概率与其他蜜蜂分享。
    (3)未被雇用的蜜蜂:其主要任务是寻找和开采食物源。有两种未被雇用的蜜蜂:侦查蜂(Scouter)和跟随蜂(Follower)。侦察蜂搜索蜂巢附近的新食物源;跟随蜂等在蜂巢里面并通过与引领蜂分享相关信息找到食物源。一般情况下,侦察蜂的平均数目是蜂群的5%-20%。
    在群体智慧的形成过程中,蜜蜂间交换信息是最为重要的一环。舞蹈区是蜂巢中最为重要的信息交换地。蜜蜂的舞蹈叫做摇摆舞。食物源的信息在舞蹈区通过摇摆舞的形式与其他蜜蜂共享,引领蜂通过摇摆舞的持续时间等来表现食物源的收益率,故跟随蜂可以观察到大量的舞蹈并依据收益率来选择到哪个食物源采蜜。收益率与食物源被选择的可能性成正比。因而,蜜蜂被招募到某一个食物源的概率与食物源的收益率成正比。
    初始时刻,蜜蜂以侦察蜂的身份搜索。其搜索可以由系统提供的先验知识决定,也可以完全随机。经过一轮侦查后,若蜜蜂找到食物源,蜜蜂利用它本身的存储能力记录位置信息并开始采蜜。此时,蜜蜂将成为“被雇用者”。蜜蜂在食物源采蜜后回到蜂巢卸下蜂蜜然后将有如下选择:
    (1)放弃食物源而成为非雇佣蜂。
    (2)跳摇摆舞为所对应的食物源招募更多的蜜蜂,然后回到食物源采蜜。
    (3)继续在同一个食物源采蜜而不进行招募。
    对于非雇佣蜂有如下选择:
    (1)转变成为侦察蜂并搜索蜂巢附近的食物源。其搜索可以由先验知识决定,也可以完全随机。
    (2)在观察完摇摆舞后被雇用成为跟随蜂,开始搜索对应食物源邻域并采蜜。
    (以上摘自百度百科)

    ABC算法原理

    在基本的ABC算法中,人工蜂群包含3中个体:雇佣蜂,跟随蜂和侦查蜂。
    每个雇佣蜂对应一个确定的蜜源(解向量),并在迭代中对蜜源的邻域进行搜索。
    根据蜜源的丰富程度(适应值的大小),采用轮盘赌的方式雇佣跟随蜂采蜜(搜索新蜜源)。
    如果蜜源多次更新都没有改进,则放弃该蜜源,雇佣蜂转为侦查蜂随机搜索新蜜源。
    ##蜜源初始化
    初始化时,随机生成SN个可行解(等于雇佣蜂的数量)并计算适应度函数值。随机产生可行解的公式如下:
    x i j = x m i n , j + r a n d ( 0 , 1 ) ( x m a x , j − x m i n , j ) ( 1 ) x_{ij}=x_{min,j}+rand(0,1)(x_{max,j}-x_{min,j})\qquad (1) xij=xmin,j+rand(0,1)(xmax,jxmin,j)(1)
    式中, x i ( i = 1 , 2 , . . . , S N ) x_i(i=1,2,...,SN) xi(i=1,2,...,SN)为D维向量,D为优化参数个数, j ∈ { 1 , 2 , . . . , D } j\in \{1,2,...,D\} j{1,2,...,D}
    ##新蜜源的更新搜索
    蜜蜂记录自己到目前位置的最优解,并在当前蜜源邻域内展开搜索,基本ABC在蜜源附近搜索新蜜源的公式为:
    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})\qquad (2) vij=xij+ϕij(xijxkj)(2)
    式中, j ∈ { 1 , 2 , . . . D } , k ∈ { 1 , 2 , . . . , S N } j\in \{1,2,...D\},k\in\{1,2,...,SN\} j{1,2,...D},k{1,2,...,SN},k位随机生成且 k ≠ i , ϕ i k k\ne i,\phi_{ik} k=i,ϕik为[-1,1]之间的随机数。
    ##跟随蜂选择雇佣蜂的概率
    P i = f i t ( x i ) Σ n = 1 S N f i t ( x n ) ( 3 ) P_i = \frac{fit(x_i)}{\Sigma_{n=1}^{SN}fit(x_n)}\qquad(3) Pi=Σn=1SNfit(xn)fit(xi)(3)
    式中, f i t ( x i ) fit(x_i) fit(xi)为第i个解的适应值对应蜜源的丰富程度。蜜源越丰富,被跟随蜂选择的概率越大。
    适应度的计算公式:
    f i t m ( x m ) = { 1 + a b s ( f m ( x m ) ) i f f m ( x m ) < 0 1 1 + f m ( x m ) i f f m ( x m ) ≥ 0 fit_m(x_m)=\{^{\frac{1}{1+f_m(x_m)}\quad if\quad f_m(x_m)\ge 0}_{1+abs(f_m(x_m))\quad if \quad f_m(x_m)< 0} fitm(xm)={1+abs(fm(xm))iffm(xm)<01+fm(xm)1iffm(xm)0
    ##侦查蜂的产生
    为防止算法陷入局部最优,当某蜜源迭代limit次没有改进时,便放弃该蜜源,并且将该蜜源记录在禁忌表中,同时该蜜源对应的雇佣蜂变为侦查蜂按式(1)随机产生一个新位置代替原蜜源。
    #参数控制

    1. 蜜源的个数(与雇佣蜂相等)SN
    2. 算法终止的最大进化数(maximum evaluation number)MEN
    3. limit。
      #ABC算法的基本流程
      这里写图片描述

    ABC算法优点

    1.  根据蜜蜂的觅食行为而得到;
      
    2.  是全局优化算法;
      
    3.  为了数值优化而设计;
      
    4.  也可以用来求解组合优化问题;
      
    5.  可以用于有约束的和无约束的优化问题;
      
    6.  只使用了三个参数(种群数量,最大循环次数以及阈值),这些参数是用户事先确定的;
      
    7.  非常的简单,具有柔性和鲁棒性。
      

    ABC算法实现(python版)

    人工蜂群算法-python实现

    展开全文
  • 针对电网故障诊断中的0-1规划问题,从代数和几何角度优化了人工蜂群算法。...在两种人工蜂群算法中,基于几何思想人工蜂群算法具有更好的稳定性和搜索能力,更加适用于对稳定性和精准度要求很高的场合。
  • 人工蜂群算法matlab程序

    热门讨论 2013-05-27 16:04:28
    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值...
  • 人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值...
  • 群智能算法之人工蜂群算法(ABC算法)

    千次阅读 2020-10-14 16:23:30
    人工蜂群算法是模仿蜜蜂行为所提出的一种优化方法,是集群体智能思想的一个具体应用。 主要特点是不需要了解问题的特殊信息而只需要对问题进行优劣比较,通过每个人工蜂个体的局部寻优行为,最终在群体中使全局最优...

    人工蜂群算法(ABC算法)(Artificial Bee Colony)

    该算法标准原型代码下载地址:https://abc.erciyes.edu.tr/index.htm ,包括C、Java、Matlab、伪代码和python。

    或点击此链接在CSDN网下载点击此处

    蜂群算法简介

    • 人工蜂群算法是模仿蜜蜂行为所提出的一种优化方法,是集群体智能思想的一个具体应用。
    • 主要特点是不需要了解问题的特殊信息而只需要对问题进行优劣比较,通过每个人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着比较快的收敛速度。
    • 为了解决多变量函数优化问题,Karaboga在2005年提出了人工蜂群算法ABC模型。

    1、蜜蜂采蜜机理

    蜜蜂是一种群居昆虫,虽然单个昆虫的行为极其简单,但是由单个简单的个体所组成的群体却表现出极其复杂的行为。真实的蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵)中采集花蜜;同时,它们能适应环境的改变。

                                                       

    蜂群产生群体智慧的最小搜索模型包含基本的三个组成要素:食物源被雇佣的蜜蜂未被雇佣的蜜蜂。两种最基本的行为模型:为食物源招募蜜蜂放弃某个食物源

    (1)   食物源

    食物源的价值由多方面因素决定,如:离蜂巢的远近、包含花蜜的丰富程度和获得花蜜的难易程度。使用单一的参数,食物源的“收益率”来代表以上各个因素。

    (2)   被雇佣的蜜蜂

    也称引领蜂,其与所采集的食物源一一对应。引领蜂储存有食物源的相关信息(相对与蜂巢的距离、方向和食物源的丰富程度等)并把这些信息以一定的概率与其他蜜蜂分享。

    (3)   未被雇佣的蜜蜂

    其主要任务是寻找和开采食物源。有两种未被雇佣的蜜蜂:侦查蜂和跟随蜂。侦查蜂搜索附近的新食物源;跟随蜂等在蜂巢里面并通过与引领蜂分享相关信息找到食物源。一般情况下,侦查蜂的数量是蜂群的5%--20%

    在群体智慧形成过程中,蜜蜂间交换信息是最重要的一环。舞蹈区是蜂巢中最为重要的信息交换地。蜜蜂的舞蹈也叫摇摆舞。食物源的信息在舞蹈区通过摇摆舞的形式与其他蜜蜂共享,引领蜂通过摇摆舞的持续时间等来表现食物源的收益率,故跟随蜂可以观察到大量的舞蹈并依据收益率来选择到哪个食物源采蜜。收益率与食物源被选择的可能性成正比。因而,蜜蜂被招募到一个食物源的概率与食物源的收益率成正比。

    初始时刻,蜜蜂以侦查蜂的方式搜索。其搜索可以由系统的先验知识决定,也可以完全随机。经过一轮侦查后,若蜜蜂找到食物源,蜜蜂利用它本身的存储能力记录位置信息并开始采蜜。此时,蜜蜂将称为“被雇佣者”。蜜蜂在食物源采蜜后回到蜂巢卸下蜂蜜,然后将有如下选择:

    (1)   放弃食物源而成为非雇佣蜂

    (2)   跳摇摆舞为所对应的食物源招募更多的蜜蜂,然后回到食物源采蜜

    (3)   继续在食物源采蜜而不进行招募

    对于非雇佣蜂有如下选择:

    (1)   转变为侦查蜂并搜索蜂巢附近的食物源,其搜索可以由先验知识决定也可以完全随机

    (2)   在观察完摇摆舞以后,被雇佣成为跟随蜂,开始搜索对应食物源领域并采蜜

    2、 ABC算法原理

    在基本ABC算法中,人工蜂群包含三种个体:雇佣蜂、观察蜂和侦查蜂

    每个雇佣蜂对应一个确定的蜜源(解向量),并在迭代中对蜜源的领域进行搜索。

    根据蜜源的丰富程度(适应值的大小)采用轮盘赌的方式雇佣观察蜂采蜜(搜索新蜜源)

    如果蜜源多次更新没有改进,则放弃该蜜源,雇佣蜂转为侦查蜂随机搜索新蜜源。

    (1)   蜜源初始化

    初始化时,随机生成SN个可行解(等于雇佣蜂的数量)并计算适应度函数值。随机产生可行解的公式如下:

                  

    (2)   新蜜源的更新搜索公式

                  

    (3)   观察蜂选择雇佣蜂的概率

                  

    (4)   侦查蜂的产生

    为了防止算法陷入局部最优,当蜜源迭代limit次没有改进时,便放弃该蜜源,并且将该蜜源记录在禁忌表中,同时该蜜源对应的雇佣蜂转变为侦查蜂按式(1)随机产生一个新的位置代替原蜜源。

    3、 控制参数

    (1)   蜜源的个数(与雇佣蜂或观察蜂相等)SN

    (2)   算法终止的最大进化数(maximum evaluation number)MEN

    (3)   Limit

    基本ABC算法的流程:

    (1)   根据式(1)初始化种群解xi,i=1,2,…,SN;

    (2)   计算种群中各蜜蜂的适应值

    (3)   cycle=1

    (4)   repeat

    (5)   雇佣蜂根据(2)产生新的解vi并计算适应值

    (6)   雇佣蜂根据贪心策略选择蜜源

    (7)   根据(3)式计算选择蜜源xi的概率pi

    (8)   观察蜂根据概率pi选择蜜源xi,根据(2)式在该蜜源附近产生新的蜜源vi,并计算新蜜源vi的适应值

    (9)   观察蜂根据贪心算法选择蜜源

    (10)   决定是否存在需要放弃的蜜源,如果存在,根据(1)式随机产生一个蜜源代替它

    (11)   记录最优解

    (12)   cycle = cycle + 1

    (13)   until cycle=MCN

    4、 算法可能的改进方式

    (1)   新蜜源的搜索领域(2)式的改进(如:其他拓扑邻域)

    (2)   观察蜂选择雇佣蜂的概率(3)式的改进(如:动态的)

    参考文章:文章1文库算法介绍

    展开全文
  • 针对人工蜂群算法存在易陷入局部最优、收敛速度慢的缺陷,提出一种改进邻域搜索策略的人工蜂群算法.首先,将混沌思想和反向学习方法引入初始种群,设计混沌反向解初始化策略,以增大种群多样性,增强跳出局部最优的能力;...
  • 人工蜂群算法是模仿蜜蜂行为提出的一种优化方法是集 群智能思想的一个具体应用 ? 主要特点是不需要了解问题的特殊信息只需要对问题进 行优劣的比较通过各人工蜂个体的局部寻优行为最终 在群体中使全局最优值突现...
  • 人工蜂群算法是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。
  • 人工蜂群算法详解(附代码下载)

    千次阅读 2020-09-15 20:03:48
    一个由蜂群行为启发的算法!本文主要内容:什么是人工蜂群算法?蜜蜂的采蜜机制蜂群算法的原理及流程小结1. 什么是人工蜂群算法人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的...

    一个由蜂群行为启发的算法!

    本文主要内容:

    • 什么是人工蜂群算法?

    • 蜜蜂的采蜜机制

    • 蜂群算法的原理及流程

    • 小结

    1. 什么是人工蜂群算法?

    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,Karaboga提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。

    人工蜂群算法属于群智能算法的一种,其受启发于蜜蜂的寻蜜和采蜜过程,相比于常见的启发式算法,它的优点在于其使用了较少的控制参数,并且鲁棒性强,在每次迭代过程中都会进行全局和局部的最优解搜索,因此能够找到最优解的概率大大增加。

    相比于遗传算法来说,人工蜂群算法在局部的收敛和寻优能力上要更为出色,不会出现遗传算法的“早熟”现象,并且算法的复杂度也较低。但由于遗传算法有交叉以及变异的操作,因此遗传算法在全局最优值的搜索上要优于人工蜂群算法。此外,人工蜂群算法适用于进行连续函数的全局优化问题,而不适用于一些离散函数。

    2. 蜜蜂的采蜜机制

    蜜蜂具有群智能应必备的两个条件:自组织性和分工合作性。虽然单个蜜蜂的行为很简单,但是由单个蜜蜂所组成的群体却能够表现出极其复杂的行为,它们可以在任何复杂的环境下以很高的效率从花朵中采集花蜜,同时还能够很快的适应环境的改变。

    任务分工

    人工蜂群算法就是模拟蜜蜂的采蜜过程而提出的一种新型智能优化算法,它也是由食物源、雇佣蜂和非雇佣蜂三部分组成。

    食物源:食物源即为蜜源。在任何一个优化问题中,问题的可行解都是以一定形式给出的。在人工蜂群算法中,食物源就是待求优化问题的可行解,是人工蜂群算法中所要处理的基本对象。食物源的优劣即可行解的好坏是用蜜源花蜜量的大小即适应度来评价的。

    雇佣蜂:雇佣蜂即为引领蜂(采蜜蜂)与食物源的位置相对应,一个食物源对应一个引领蜂。在人工蜂群算法中,食物源的个数与引领蜂的个数相等;引领蜂的任务是发现食物源信息并以一定的概率与跟随蜂分享;概率的计算即为人工蜂群算法中的选择策略,一般是根据适应度值以轮盘赌的方法计算。

    非雇佣蜂:非雇佣蜂包括跟随蜂(观察蜂)和侦査蜂跟随蜂在蜂巢的招募区内根据引领蜂提供的蜜源信息来选择食物源,而侦查蜂是在蜂巢附近寻找新的食物源。在人工蜂群算法中,跟随蜂依据引领蜂传递的信息,在食物源附近搜索新食物源,并进行贪婪选择。若一个食物源在经过次后仍未被更新,则此引领蜂变成侦査蜂,侦查蜂寻找新的食物源代替原来的食物源。

    采蜜机制

    在蜜蜂群体智能形成的过程中,蜜蜂之间的信息交流是最重要的环节,而舞蹈区是蜂巢中最重要的信息交换地。采蜜蜂在舞蹈区通过跳摇摆舞与其他蜜蜂共同分享食物源的信息,观察蜂则是通过采蜜蜂所跳的摇摆舞来获得当前食物源的信息的,所以,观察蜂要以最小的资源耗费来选择到哪个食物源采蜜。因此,蜜蜂被招募到某个食物源的概率与食物源的收益率成正比。

    初始时刻,蜜蜂的搜索不受任何先验知识的决定,是完全随机的。此时的蜜蜂有以下两种选择:

    • 它转变成为侦察蜂,并且由于一些内部动机或可能的外部环境自发地在蜂巢附近搜索食物源;

    • 在观看了摇摆舞之后,它可能被招募到某个食物源,并且开始开采食物源。

    在蜜蜂确定食物源后,它们利用自己本身的存储能力来记忆位置信息并开始采集花蜜。此时,蜜蜂将转变为“雇佣蜂”。蜜蜂在食物源处采集完花蜜,回到蜂巢并卸下花蜜后有如下选择:

    • 放弃食物源成为非雇佣蜂;

    • 跳摇摆舞为所对应的食物源招募更多的蜜蜂,然后回到食物源采蜜;

    • 继续在同一食物源采蜜而不进行招募。

    蜜蜂在采蜜时所表现出来的这种自组织性和合理分配性主要由其自身的基本性质所决定的,它们所特有的基本性质如下:

    • 正反馈性:食物源的花蜜量与食物源被选择的可能性成正比;

    • 负反馈性:蜜蜂停止对较差食物源的开采过程;

    • 波动性:在某个食物源被放弃时,随机搜索一个食物源替代原食物源;

    • 互动性:蜜蜂在舞蹈区与其他蜜蜂共同分享食物源的相关信息。

    3. 蜂群算法的原理及流程

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

    算法原理

    假设问题的解空间是D维的,采蜜蜂与观察蜂的个数都是SN,采蜜蜂的个数或观察蜂的个数与蜜源的数量相等。则标准的ABC算法将优化问题的求解过程看成是在D维搜索空间中进行搜索。每个蜜源的位置代表问题的一个可能解,蜜源的花蜜量对应于相应的解的适应度。一个采蜜蜂与一个蜜源是相对应的。与第i个蜜源相对应的采蜜蜂依据如下公式寻找新的蜜源:

    其中, , 是区间上[-1,1]的随机数, 。标准的ABC算法将新生成的可能解与原来的解作比较:

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

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

    其中,r是区间[0,1]上的随机数, 是第d维的下界和上界。

    算法流程

    人工蜂群算法具体实现步骤:

    1. 初始化种群解

    2. 计算种群中各个蜜蜂的适应值;

    3. 重复一下步骤,知道满足终止条件:

    4. 采蜜蜂根据(1)产生新的解 并计算适应值;

    5. 采蜜蜂根据贪心策略选择蜜源;

    6. 根据(2)式计算选择蜜源 的概率

    7. 观察蜂根据概率 选择蜜源 ,根据(3)式在该蜜源附近产生新的蜜源 ,并计算新蜜源 的适应值;

    8. 观察蜂根据贪心策略选择蜜源;

    9. 决定是否存在需要放弃的蜜源,如果存在,则随机产生一个蜜源替代它;

    10. 记录最优解直至满足终止条件输出最优解;

    4.小结

    在人工蜂群算法的基础上,还发展出了许多混合算法,如基于量子分布的人工蜂群算法,禁忌搜索-蜂群混合优化算法,模拟退火-蜂群混合优化算法,基于copula分布估计的改进人工蜂群算法等,它们都是针对蜜蜂在寻找新蜜源的过程中来进行基本人工蜂群算法的优化。

    在应用中,人工蜂群算法的复杂度较低,因此如果目标函数满足连续或近似连续条件,那么可以优先考虑人工蜂群算法。在编写算法时,可以考虑使用遗传算法中的交叉操作来找到全局中其他的最优解来避免陷入局部最优。

    ♥点个赞再走呗♥

    [智能算法]公众号回复“ 蜂群代码”即可下载相关代码。
    展开全文
  • * * * * * * * * * * * 蜂群算法简介 人工蜂群算法是模仿蜜蜂行为提出的一种优化方法是集群智能思想的一个具体应用 主要特点是不需要了解问题的特殊信息只需要对问题进行优劣的比较通过各人工蜂个体的局部寻优行为...
  • 人工蜂群算法是群体智能算法中新的分支.本文针对人工蜂群算法的建模思想和算法的框架结构设计方法进行了分析和研究,并针对实际问题编程完成问题的求解.实践表明,人工蜂群算法具有较高的灵活性和适应性.
  • 为了提高人工蜂群算法的搜索性能,引入了连续状态下的生物病毒机制和宿主与病毒基于感染操作等思想优化人工蜂群算法搜索机制。人工蜂群算法具有控制参数少、实现简单的优点,但是由于蜂群收敛采用局部搜索,使得算法...
  • 多选择背包问题是组合优化中的NP难题之一,采用一种新的智能优化算法——人工蜂群算法进行求解。该算法通过雇佣蜂、跟随蜂和侦察蜂的局部寻优来实现全局最优。基于算法实现的核心思想,用MATLAB编程实现,对参考文献...
  • 人工蜂群算法-要点总结

    千次阅读 2019-05-03 18:39:16
    人工蜂群算法 Marshal 2019-05-03 ABC算法——优化方法 基本组成 雇佣蜂:定位点 蜜源更新公式 phi = a*rand([-1,1],[1,nVar]) NewPosition = PopPosition[i] + phi*(PopPosition[i]-PopPosition[k]) ...

    人工蜂群算法

    Marshal Zheng
    2019-05-03
    ABC算法——优化方法
    基本组成
    • 雇佣蜂:定位点

      • 蜜源更新公式

      • phi = a*rand([-1,1],[1,nVar])
        NewPosition = PopPosition[i] + phi*(PopPosition[i]-PopPosition[k])
        
    • 跟随蜂:跟着采蜜

    • 侦查蜂:找

    初始化参数
    • 代价函数计算函数CostFunction;
    • 代价函数参数数目nVar;
    • 代价函数各参数上下界[VarMin,VarMax]
    • 最大迭代次数iter_max
    • 单次保存的蜜源最大数量nPop
    • 跟随蜂数目nOnLooker
    • 蜜源抛弃上界L(一般为round(0.6nVarnPop))
    • 蜜源搜索范围扩大系数a(一般为1)
    • 蜜源位置矩阵PopPositon(nPop行nVar列,每一行代表一个可行解)
    • 蜜源代价矩阵PopCost(nPop行1列,保存每个可行解的质量值)
    • 蜜源选择概率矩阵Probability(nPop行1列,保存跟随蜂选择各蜜源的概率)
    • 历史最优蜜源矩阵BestSol(iter_max+1行nVar列,保存每次迭代中的最优蜜源位置)
    • 蜜源开采量矩阵Mine(nPop行1列,保存每个蜜源被跟随蜂开采的轮数,该数量达到 L L L值后对应该蜜源的雇佣蜂会变成侦查蜂)
    算法实现
    定义待优化函数,多个输入参数组成一个行向量input
    初始化各参数及矩阵
    随机初始化蜜源
    根据初始蜜源计算代价函数,更新蜜源代价矩阵,历史最优蜜源位置/代价矩阵
    
    雇佣蜂阶段:
    
    根据公式寻找下一个蜜源
    进行贪婪选择,如果没有找到新的蜜源,当前蜜源开采量+1;否则更新蜜源位置
    
    跟随蜂阶段:
    
    根据公式计算选择概率矩阵
    进行轮盘赌选择
    重复雇佣蜂寻找蜜源操作
    进行贪婪选择,如果没有找到新的蜜源,当前蜜源开采量+1;否则更新蜜源位置
    
    侦查蜂阶段
    
    查看蜜源是否被开采完
    保存历史最优解
    
    输出结果
    
    展开全文
  • 为提高人工蜂群算法(ABC)的全局搜索能力,加快收敛速度,提出了一种基于混沌优化的双种群人工蜂群算法(BCABC)。算法将种群随机分为2个种群,在子种群中分别采用不同的选择策略,并通过种群间的信息交互,提高算法的收敛...
  • 人工蜂群优化算法

    2018-08-25 19:52:39
    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值...
  • 针对空间优化选址的特点及人工蜂群算法收敛速度慢的问题,提出了适合空间选址的邻域搜索新公式,并将交叉的思想引入到了算法中,加快了全局最优解的寻优速度。对算法的可行性和有效性进行了验证,实验表明增强型人工...
  • 针对人工蜂群算法(Artificial Bee Colony,ABC)邻域搜索能力不强且容易陷入局部最优的不足,引入禁忌搜索的思想,提出了基于禁忌搜索的人工蜂群算法(TS_ABC)。TS_ABC算法在ABC算法的基础上加入两个禁忌表,分别...
  • 具有多种搜索策略的人工蜂群算法(MuABC) 摘要:考虑到人工蜂群算法(ABC)的解的搜索方程在探索方面做得好,但在开发方面比较差,因此会导致收敛慢.这篇文章研究了ABC的性能能否通过组合具有不同优势的搜索策略得到改善...
  • 摘要:文章提出一种基于人工蜂群算法的非确定性双向规划机制搜索算法。首先针对不同场景,采用两种方法进行环境建模;其次,结合非确定性搜索机制引入双向规划方法,对人工蜂群算法中食物的产生方式做出改进,优化下...
  • 改进了人工蜂群(ABC)算法,构造了一种混合多目标ABC算法,称为HMOABC,该算法通过同时优化OPF的三个冲突目标来解决最优潮流(OPF)问题,而不是将多目标函数转换为最优目标。单一目标函数。 HMOABC的主要思想是...
  • 为了克服人工蜂群算法由于开发能力较弱而导致收敛速度慢、搜索精度不高等缺点, 结合子蜂群思想和免疫克隆选择算法, 提出一种基于分布式精英进化模型的人工蜂群免疫算法. 首先对外层子蜂群进行启发式快速人工蜂群操作...
  • 针对这些问题,引进差分进化的思想改进人工蜂群算法并对跟随蜂的搜索行为进行更准确的描述,结合模糊C-均值聚类算法具有收敛速度快、易于实现且局部搜索能力较强的优点,提出一种基于模糊C-均值的改进人工蜂群聚类...
  • 为了克服人工蜂群算法由于开发能力较弱而导致收敛速度慢、搜索精度不高等缺点,结合子蜂群思想和免疫克隆选择算法,提出一种基于分布式精英进化模型的人工蜂群免疫算法.首先对外层子蜂群进行启发式快速人工蜂群操作...
  • 其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入。但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人。从论文刊登...
  • 一、多无人机协同作业简介 0 引言 多架无人机组成无人机集群可以协同完成任务,是未来无人机的发展方向。...美国防部战略能力办公室(SCO)2014年启动了“无人机蜂群”项目,旨在通过有人机空射“灰山
  • 针对这些问题,引进差分进化的思想改进人工蜂群算法并对跟随蜂的搜索行为进行更准确的描述,结合模糊C-均值聚类算法具有收敛速度快、易于实现且局部搜索能力较强的优点,提出一种基于模糊C-均值的改进人工蜂群聚类...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 274
精华内容 109
关键字:

人工蜂群算法的思想