具有随机分形自适应搜索策略的蚁狮优化算法-附代码
具有随机分形自适应搜索策略的蚁狮优化算法
文章目录
摘要:针对蚁狮算法在平衡开发能力与探索能力不足的缺点,提出了具体有随机分形自适应搜索策略的改进算法。在该策略中,蚂蚁利用随机分形搜索方程提高算法的探索能力;蚁狮利用自适应搜索方程在最优位置进行精细搜索,以提高算法的开发能力。
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(λ)=π1∫0∞exp(−α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 +(2∗r−1)(glog( iter ))( Eli best −aliii)
式中,
r
r
r 是 0 到 1 之间的随机数, Elibest 表示蚑狮全局 最优位置, ali 表示种群
i
i
i 中第
t
t
t 只蚁狮的位置, iter 表示当前迭代的次数。随着迭代次数的增加, 蚊狮 搜索范围自适应减小, 在全局最优位置附近进行精细开发。
算法的具体步骤如下:
- 初始化算法的各个参数;
2)计算每个蚁狮对应位置的适应度值并记录 全局最优值; - while 结束条件不满足;
- 蚂蚁根据式 (16) 进行随机分形游走, 并计算 更新后的适应度值, 与全局最优值进行比较, 采用 贪婪选择机制进行更替;
- 位置最佳蚁狮根据式 (18) 进行自适应陷姗 设置,应用贪婪机制更新蚁狮最优位置;
- 判断当前迭代次数是否超过极限值, 如果条 件不满足, 转至第 4) 步; 否则进入第 7) 步;
- 结束循环, 输出最优解。
3.实验结果
4.参考文献
[1]赵克新,黄长强,王渊.具有随机分形自适应搜索策略的蚁狮优化算法[J].火力与指挥控制,2019,44(02):41-45+49.
5.Matlab代码
6.Python代码
相关文章
- ☆打卡算法☆LeetCode 211. 添加与搜索单词 - 数据结构设计 算法解析
- ☆打卡算法☆LeetCode 212. 单词搜索 II 算法解析
- 最佳实践|用腾讯云AI图像搜索打造属于自己的拍立淘
- 浅析 集束搜索(Bean Search) 算法
- 算法:记忆化搜索「建议收藏」
- 城堡问题 (搜索+二进制)------------C语言—菜鸟级
- 【算法竞赛 - 搜索】八数码
- 【算法竞赛 - 搜索】DNA sequence
- 【算法竞赛 - 搜索】Black And White
- 【算法竞赛 - 搜索】Eight II
- 算法基础-搜索与图论
- [Nat. Biomed. Eng. | 论文简读] 基于自监督深度学习的全切片病理图像快速可扩展搜索
- PTA 数据结构与算法题目集(中文)7-4 是否同一棵二叉搜索树 (25 分) 题解
- 【数据结构与算法】图遍历算法 ( 深度优先搜索 DFS | 深度优先搜索和广度优先搜索 | 深度优先搜索基本思想 | 深度优先搜索算法步骤 | 深度优先搜索理论示例 )
- 【数据结构与算法】图遍历算法 ( 深度优先搜索代码示例 )
- 【记】滑动拼图验证码在搜索中的作用
- 二叉搜索树算法详解与Java实现编程语言
- 算法-二叉搜索树的后序遍历序列详解编程语言
- 探索Linux:字符搜索功能(linux字符搜索)
- 表达式使用Linux Grep正则表达式高效搜索文件(linuxgrep正则)
- Linux下grep:强大的文本搜索工具(linux 下grep)
- 利用Oracle数据库实现全表搜索(oracle 全表 搜索)
- 搜索不到MySQLAPT无能为力(apt找不到mysql)
- 基于文本的搜索