文章目录

  • 【`获取资源`请见文章第5节:资源获取】
  • 1. 原始蚁狮优化算法
    • 1.1 蚂蚁随机游走公式
    • 1.2 设置陷阱
    • 1.3 陷阱诱惑蚂蚁
    • 1.4 捕获猎物并重建洞穴
  • 2. 改进蚁狮优化算法
    • 2.1 连续性边界收缩因子
    • 2.2 位置更新动态权重系数
  • 3. 部分代码展示
  • 4. 结果图展示
  • 5. 资源获取

获取资源请见文章第5节:资源获取】


1. 原始蚁狮优化算法

蚁狮优化算法模模仿了自然界中蚁狮在捕猎蚂蚁时的智能行为。

1.1 蚂蚁随机游走公式

随机游走在数学上的表达式为:

其中,cussum为计算累加和,n为最大迭代次数,t为随机步长,r(t)取0或者1。

为了保证在搜索空间内随机游走,而不超出搜索空间,对其进行归一化:

其中,ai和bi表示第i个变量随机游走的最小和最大值,cit和dit表示第t次迭代第i个变量的最小值和最大值。

1.2 设置陷阱

蚂蚁的游走行为受到蚁狮陷阱的影响,模型这一行为的数学表达式为:

其中,ct和dt分别表示第t次迭代所有变量的最小值和最大值,Antlionjt表示第t次迭代第j个蚁狮的位置。

1.3 陷阱诱惑蚂蚁

针对此行为有如下数学公式:

1.4 捕获猎物并重建洞穴

蚁狮把蚂蚁拉到沙子里吃掉,为了模仿这一过程,假设当蚂蚁变得比相应的蚁狮更适合捕食时(进入沙地)。然后,蚁狮需要更新自己的位置到被捕食蚂蚁的最新位置:

2. 改进蚁狮优化算法

2.1 连续性边界收缩因子

在基本 ALO 算法中蚂蚁围绕陷阱游走阶段,其边界即搜索范围逐渐缩小,以开发陷阱邻域最优值。但是边界收缩因子 I 的变化呈现间断增大趋势,其间断式增大易导致蚂蚁遗漏部分区域,使算法易错过最优值。针对以上问题,为了增强算法的遍历性,使其更全面地搜索求解空间以及提高算法收敛速度,提出一种随着算法迭代进化而快速连续增大的边界收缩因子。
新的蚂蚁游走边界更新公式为:

2.2 位置更新动态权重系数

在精英化阶段,蚂蚁根据轮盘赌选择蚁狮和精英蚁狮行为以更新位置,但是由于精英蚁狮具有最优适应度值,有较大概率被选作轮盘赌选择蚁狮,导致蚂蚁只绕精英蚁狮游走,而降低算法全局探索能力。针对上述问题,将基于迭代次数的动态权重系数引入蚂蚁位置更新公式:

权重系数k1 在迭代前期较大,使蚂蚁在搜索空间内探索更优区域; 而在后期,精英蚁狮邻近最优区域,其权重系
数 k2 逐渐增大,使蚂蚁在最优区域邻域开发,以此提高算法全局探索与局部开发的平衡能力。

3. 部分代码展示

I=(400/max_iter)*sinh(20*current_iter/max_iter); %% 改进1:连续性边界收缩因子% Dicrease boundaries to converge towards antlion
lb=lb/(I); % Equation (2.10) in the paper
ub=ub/(I); % Equation (2.11) in the paper
for i=1:size(ant_position,1) % 返回ant_position的行数,就是蚂蚁数量% Select ant lions based on their fitness (the better anlion the higher chance of catching ant)Rolette_index=RouletteWheelSelection(1./sorted_antlion_fitness); % RouletteWheelSelection意思是轮盘赌if Rolette_index==-1  Rolette_index=1;end% RA is the random walk around the selected antlion by rolette wheelRA=IAOL_Random_walk_around_antlion(dim,Max_iter,lb,ub,Sorted_antlions(Rolette_index,:),Current_iter);% RA is the random walk around the elite (best antlion so far)[RE]=IAOL_Random_walk_around_antlion(dim,Max_iter,lb,ub, Elite_antlion_position(1,:),Current_iter);k1=...;%% 改进2:位置更新动态权重系数k2=...;ant_position(i,:)= ...;     end

4. 结果图展示

The best solution obtained by ALO is : 1.752e-06 -6.6015e-06 -4.5149e-05  3.3942e-05  2.8805e-05  4.5751e-06 -8.5604e-06  1.9466e-05 -4.9646e-07  1.2015e-05
The best optimal value of the objective funciton found by ALO is : 4.6847e-09
The best solution obtained by IALO is : 0  0  0  0  0  0  0  0  0  0
The best optimal value of the objective funciton found by IALO is : 0

5. 资源获取

可以获取完整代码资源。

【群智能算法】一种改进的蚁狮优化算法IALO【Matlab代码#5】相关推荐

  1. 一种改进的蚁狮优化算法 改进的ALO算法

    一种改进的蚁狮优化算法 改进的ALO算法[matlab代码] 在原始ALO算法的基础上添加了两种改进策略 改进1:将原先的间断性边界收缩因子变为连续性边界收缩因子,从而增强算法的遍历性 改进2:将原先 ...

  2. 一种改进的灰狼优化算法-附代码

    一种改进的灰狼优化算法 文章目录 一种改进的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 基于混沌的种群初始化方法 2.2 修改位置更新方程 2.3 控制参数随机调整策略 3.实验结 ...

  3. 一种改进的鲸鱼优化算法

    文章目录 一.理论基础 1.鲸鱼优化算法 2.改进的鲸鱼优化算法 (1)准反向学习初始化种群 (2)非线性收敛因子 (3)自适应权重策略与随机差分法变异策略 二.仿真实验及分析 三.参考文献 一.理论 ...

  4. 一种改进的鲸鱼优化算法-附代码

    一种改进的鲸鱼优化算法 文章目录 一种改进的鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 准反向学习初始化种群 2.2 非线性收敛因子 2.3 自适应权重策略与随机差分法变异策略 3 ...

  5. MATLAB群智能开源第二十三期-魔鬼鱼优化算法

    1 写在前面 该系列为基础群智能优化算法,欢迎私信一起交流问题,更多的改进算法可查看往期的推文.有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的情况与本博客以及作者无 ...

  6. MATLAB群智能开源第十五期-闪电优化算法(LAPO)

    1 写在前面 该系列为基础群智能优化算法,欢迎私信一起交流问题,更多的改进算法可查看往期的推文.有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的情况与本博客以及作者无 ...

  7. 【优化求解】基于新授粉方式的花授粉算法(NMFPA)求解单标目优化问题附matlab代码

    1 简介 为了解决因花授粉算法搜索方程存在的不足所导致的易早熟.后期收敛速度慢和寻优精度低的问题,提出了一种新授粉方式的花授粉算法(Flower Pollination Algorithm with ...

  8. 一种改进的天鹰优化算法和非洲秃鹫混合优化算法(Matlab代码实现)

  9. 基于模拟退火优化算法的的并行车间机器优化调度附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

最新文章

  1. 字符串匹配的sunday算法
  2. blob jdbc mysql,JDBC能否处理Blob和Clob?
  3. SAP CRM后台取数据逻辑的性能优化
  4. c语言多线程 视频教程,如何用C语言实现多线程
  5. 如何在Java 8中创建线程安全的ConcurrentHashSet?
  6. MapDB的使用实战[基于Java的数据库]
  7. plt的纵坐标的百分号显示
  8. 冠军轮流转:Q3 季苹果超越小米,回到全球最大的可穿戴设备厂商宝座
  9. 把解压缩版的tomcat6注册成服务并设置自启动
  10. 全网首发:首个安卓摄像头预览加显示的项目
  11. UVA 1153 Keep the Customer Satisfied 顾客是上帝(贪心)
  12. PS PR AI AE LR AU LR ID 下载资源,简单安装,多种方式下载
  13. puppeteer实现百度贴吧自动签到
  14. dell h330 不要做raid5 ,做raid0就可以了
  15. 《C++ 黑客编程揭秘与防范(第2版)》目录—导读
  16. Blog Management System Based on JSP(基于JSP的实验室设备管理系统的开发)外文翻译
  17. 性能测试工程师面试一定会问的14个面试题型
  18. React中实现类似v-click-outside效果
  19. 操作系统实验Ucore:Kernel_init(四)
  20. 将web网站转为App

热门文章

  1. Android nrg格式,《Android Programming BNRG》笔记十七
  2. C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析
  3. 〖Python 数据库开发实战 - Python与MySQL交互篇②〗- SQL 注入攻击案例
  4. Sony电脑重装系统Linux,索尼 SONYSVF15能不能安装windows7系统_索尼 SONYSVF15怎么安装win7系统-win7之家...
  5. UTC时间、GMT时间、CST时间
  6. xml与java对象互转
  7. NoSQL数据库入门 二
  8. java游戏英雄时代攻略_策略游戏英雄时代攻略
  9. 阿里巴巴21年校招面经题目解答
  10. 使用gitlab搭建maven仓库