zl程序教程

您现在的位置是:首页 >  其他

当前栏目

具有随机分形自适应搜索策略的蚁狮优化算法-附代码

搜索算法代码 优化 策略 随机 适应 具有
2023-09-14 09:06:12 时间

具有随机分形自适应搜索策略的蚁狮优化算法


摘要:针对蚁狮算法在平衡开发能力与探索能力不足的缺点,提出了具体有随机分形自适应搜索策略的改进算法。在该策略中,蚂蚁利用随机分形搜索方程提高算法的探索能力;蚁狮利用自适应搜索方程在最优位置进行精细搜索,以提高算法的开发能力。

1.蚁狮优化算法

基础蚁狮优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107726004

2. 改进蚁狮优化算法

2.1 蚂蚁随机分形搜索方程

分形现象是自然界很常见的一种现象, 例如植 物的生长、山河的形成以及大脑皮层等, 这种部分 以某种方式与整体相似的形式称为分形。随机分形 一般由不同的随机原则反复迭代产生。常用的随机 原则有高斯游走 (Gaussian Walk)、列维飞行 (levy Flight)、自回避游走 (Self- avoiding Walks)。列维飞行 具有较强的全局搜索能力, 将列维飞行与蚁狮优化 算法中蚂蚁的搜索行为相结合, 提出了蚂蚁随机分 形搜索方程:
X i t = X i + α i t × L ( λ ) L ( λ ) = 1 π ∫ 0 ∞ exp ⁡ ( − α q β ) cos ⁡ ( q x i t ) d x \begin{gathered} X_{i}^{t}=X_{i}+\alpha_{i}^{t} \times L(\lambda) \\ L(\lambda)=\frac{1}{\pi} \int_{0}^{\infty} \exp \left(-\alpha q^{\beta}\right) \cos \left(q x_{i}^{t}\right) d x \end{gathered} Xit=Xi+αit×L(λ)L(λ)=π10exp(αqβ)cos(qxit)dx
式中, q q q 表示种群数量, α \alpha α 表示比例因子, X i X_{i} Xi 表示最 初的蚂蚁位置。通过上述改进有效地提高了蚂蚁对 整个解空间的探索能力。

2.2 蚁狮自适应搜索方程

标准 ALO 算法中蚁狮根据蚂蚁进行陷阱位置的调整,蚁狮与蚂蚁采用相同的搜索方程,经过对算法的原理分析得到:蚁狮的行为方式影响了算法对解的精细化搜索。所以受到文献 [15]的启发, 提 出了蚊狮自适应搜索方程:
v i t = E l i best  + ( 2 ∗ r − 1 ) ( log ⁡ (  iter  ) g ) (  Eli  best  − ali ⁡ i i ) v_{i}^{t}=\mathrm{Eli}^{\text {best }}+(2 * r-1)\left(\frac{\log (\text { iter })}{g}\right)\left(\text { Eli }^{\text {best }}-\operatorname{ali}_{i}^{i}\right) vit=Elibest +(2r1)(glog( iter ))( Eli best aliii)
式中, r r r 是 0 到 1 之间的随机数, Elibest 表示蚑狮全局 最优位置, ali 表示种群 i i i 中第 t t t 只蚁狮的位置, iter 表示当前迭代的次数。随着迭代次数的增加, 蚊狮 搜索范围自适应减小, 在全局最优位置附近进行精细开发。

算法的具体步骤如下:

  1. 初始化算法的各个参数;
    2)计算每个蚁狮对应位置的适应度值并记录 全局最优值;
  2. while 结束条件不满足;
  3. 蚂蚁根据式 (16) 进行随机分形游走, 并计算 更新后的适应度值, 与全局最优值进行比较, 采用 贪婪选择机制进行更替;
  4. 位置最佳蚁狮根据式 (18) 进行自适应陷姗 设置,应用贪婪机制更新蚁狮最优位置;
  5. 判断当前迭代次数是否超过极限值, 如果条 件不满足, 转至第 4) 步; 否则进入第 7) 步;
  6. 结束循环, 输出最优解。

3.实验结果

请添加图片描述

4.参考文献

[1]赵克新,黄长强,王渊.具有随机分形自适应搜索策略的蚁狮优化算法[J].火力与指挥控制,2019,44(02):41-45+49.

5.Matlab代码

6.Python代码