改进交叉算子的自适应人工蜂群黏菌算法ISMA(学习笔记_09)

目录

1. 多策略改进黏菌优化算法

1. 自适应可调节反馈因子

2. 算数交叉算子

3. 改进的人工蜂群搜索策略

2. ISMA实现步骤

3. 适应度进化曲线

4. 参考文献


1. 多策略改进黏菌优化算法

1. 自适应可调节反馈因子

  • 目的:使反馈因子vc 更加准确地描述实际情况下质量和

    浓度之间的反馈关系。

  • vc 描述食物浓度与黏菌质量之间的反馈关系。

  • 算法迭代前期:黏菌个体大范围感受食物的浓度,此时食物浓度低,应加快反馈因子的下降速度,减弱反馈关系,有利于提高全局搜索能力。

  • 算法迭代后期:食物浓度高,应保持较为平稳的反馈系数,有利于提高个体局部搜索能力。

  • 下降速率调节因子k:自动调节反馈因子vc的下降速度。

  • 自适应可调节的反馈因子vc的数学模型如下:

    • t:当前迭代次数,tmax:最大迭代次数

  • k 分别取1,4,7时 vc 随迭代次数变化如下图所示:

    • 由上图可知,改进的反馈因子曲线的下降速度随调节因子k的增大而增大。

    • k值过大:算法前期收敛过快,易陷入局部最优。

    • k值过小:算法收敛速度慢。

    • 实验表明,k = 4时最合适。

2. 算数交叉算子

  • 目的:加快 SMA 的收敛速度。

  • 遗传算法中的交叉算子:通过交换两个附带的位置信息产生新的个体,新的个体继承了父代的有效信息。

  • 改进的交叉算子:以一定的概率Pt使当前个体与种群最优个体进行交叉操作。

  • 改进的交叉算子的数学模型如下:

    • t:当前迭代次数

    • XA1和XA2:分别为交叉产生的两个子代个体的位置

    • XA:当前个体位置,Xbest:当前种群最优个体位置

    • L:取值(0,1)的随机参数,控制子代从两个父代获取信息的比例,采用拉普拉斯系数控制。

    • 两个父代发生一次交叉操作,产生两个新个体

  • 采用拉普拉斯系数控制的参数 L 的数学模型如下:

    • μ :控制位置,取自然数

    • λ:控制尺度,调节父代与子代的距离,λ越小子代越靠近父代。

    • r:取值[0,1]的随机数

3. 改进的人工蜂群搜索策略

  • 目的:缓解SMA易早熟收敛的问题。

  • 基本人工蜂群搜索策略数学模型如下:

    • Zij: 产生的候选解

    • Xij:当前个体,Xkj:随机个体

    • k、j:随机参数,k = 1,2,...,NP, k ≠ i ; j∈{1,2,...,d}

    • ϕij : [-1,1] 之间的随机数

  • 加入全局最优位置引导的改进的搜索策略数学模型如下:

    • Ω :取值[0,1.5]的随机数

    • Pg:为全局最优位置

  • 添加方式:再每一次迭代结束时,对于原始算法更新产生的个体和引入改进的人工蜂群策略生成的个体,采用贪婪策略保留其中较优的个体,加快算法的收敛。

2. ISMA实现步骤

     ISMA实现流程图如下:

 3. 适应度进化曲线

  • x∈[-5,5];

    function results = func(x)
      results = 5*cos(x(1)*x(2))+x(1)*x(2)+x(2)^3;
    end

4. 参考文献

[1] 刘成汉, 何庆. 改进交叉算子的自适应人工蜂群黏菌算法[J/OL]. 小型微型计算机系统: 1-8 [2021-11-16].

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值