人工蜂群算法-要点总结

本文围绕人工蜂群算法(ABC)展开,介绍其作为优化方法的基本组成,包括雇佣蜂、跟随蜂和侦查蜂的作用及蜜源更新公式。还阐述了初始化参数,如代价函数相关参数、迭代次数等。最后提及了算法实现的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

人工蜂群算法
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列,保存每个蜜源被跟随蜂开采的轮数,该数量达到LLL值后对应该蜜源的雇佣蜂会变成侦查蜂)
算法实现
定义待优化函数,多个输入参数组成一个行向量input
初始化各参数及矩阵
随机初始化蜜源
根据初始蜜源计算代价函数,更新蜜源代价矩阵,历史最优蜜源位置/代价矩阵

雇佣蜂阶段:

根据公式寻找下一个蜜源
进行贪婪选择,如果没有找到新的蜜源,当前蜜源开采量+1;否则更新蜜源位置

跟随蜂阶段:

根据公式计算选择概率矩阵
进行轮盘赌选择
重复雇佣蜂寻找蜜源操作
进行贪婪选择,如果没有找到新的蜜源,当前蜜源开采量+1;否则更新蜜源位置

侦查蜂阶段

查看蜜源是否被开采完
保存历史最优解

输出结果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值