点击上方“蓝字”关注我们了解更多精彩
人工蜂群算法(ABC)
1.相关知识
人工蜂群(Artificial Bee Colony,ABC)算法是2005年由土耳其学者Karaboga提出的基于蜜蜂采蜜机理的蜂群算法。蜜蜂对食物源的搜索主要由以下3部分组成。(1) 引领蜂发现 食物源(解),并记录食物源的信息。(2) 跟随蜂根据引领蜂提供的食物源信息, 选择一个 食物源(选择解)。(3)当一个 食物源被 放弃(解不好)时,与之对应的 引领蜂变为 侦察蜂, 随机寻找新的 食物源(随机产生解)。2.算法流程图
(1)首先,ABC算法随机生成含有N个解的初始种群,每个解xi(i=1,2,…,N)用一个d维向量xi=(xi1,xi2,…,xid)T来表示,d是待优化问题参数的个数。产生初始解根据下式:
xi=lb+(ub-lb)·rand(0,1)(33.1)
其中,ub、lb分别为x取值范围的上、下限;rand(0,1)为0与1之间的随机数。
(2)引领蜂和跟随蜂搜索食物源按照下式进行:
(33.2)
其中,j∈{1,2,…,d},k∈{1,2,…,N},j和k都是随机选取的,但是k不等于j;rij∈[-1,1],是一个随机数。
(3)跟随蜂采蜜选择第i食物源的概率为