1 简介

蚁狮优化算法( Ant Lion Optimizer,ALO) 是 Mirjalili 研究并提出的一种群智能优化算法.算法具有调节参数较少、易于实现等优点,成为近几年进化计算领域的重要算法和研究热点之一,已被成功应用于杠杆结构优化、电力系统的无功优化调度和无人机航线规划等许多问题的优化求解当中.

2 部分代码

%___________________________________________________________________%

%  Ant Lion Optimizer (ALO) source codes demo version 1.0           %

%                                                                   %

% You can simply define your cost in a seperate file and load its handle to fobj

% The initial parameters that you need are:

%__________________________________________

% fobj = @YourCostFunction

% dim = number of your variables

% Max_iteration = maximum number of generations

% SearchAgents_no = number of search agents

% lb=[lb1,lb2,...,lbn] where lbn is the lower bound of variable n

% ub=[ub1,ub2,...,ubn] where ubn is the upper bound of variable n

% If all the variables have equal lower bound you can just

% define lb and ub as two single number numbers

% To run ALO: [Best_score,Best_pos,cg_curve]=ALO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj)

%__________________________________________

clear all

clc

SearchAgents_no=100; % Number of search agents

Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)

Max_iteration=100; % Maximum numbef of iterations

% Load details of the selected benchmark function

[lb,ub,dim,fobj]=Get_Functions_details(Function_name);

[min_value,Best_score,Best_pos,cg_curve]=ALO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);

figure('Position',[500 500 660 290])

%Draw search space

subplot(1,2,1);

func_plot(Function_name);

title('Test function')

xlabel('x_1');

ylabel('x_2');

zlabel([Function_name,'( x_1 , x_2 )'])

grid off

%Draw objective space

subplot(1,2,2);

semilogy(cg_curve,'Color','r')

title('Convergence curve')

xlabel('Iteration');

ylabel('Best score obtained so far');

axis tight

grid off

box on

legend('ALO')

display(['The best solution obtained by ALO is : ', num2str(Best_pos)]);

display(['The best optimal value of the objective funciton found by ALO is : ', num2str(Best_score)]);

% figure(1)

% plot(min_value);

% xlabel('迭代次数')

% ylabel('适应度值');

img =gcf;  %获取当前画图的句柄

print(img, '-dpng', '-r600', './运行结果.png')         %即可得到对应格式和期望dpi的图像

3 仿真结果

4 参考文献

[1]陈倩雯. (2019). 基于改进蚁狮优化算法的含风电配电网多目标无功优化. (Doctoral dissertation, 西安理工大学).

5 MATLAB代码与数据下载地址

见博客主页

【优化求解】基于蚁狮算法求解最优多目标Matlab代码相关推荐

  1. 【智能优化算法】基于蚁狮算法求解多目标问题附Matlab代码

    1 简介 蚁狮算法( ALO) 通过对随机解的探索,逐渐寻找近似最优解.与粒子群等优化算法不同的是,在 ALO 算法中有两类种群个体,即蚂蚁和蚁狮.ALO 算法的寻优过程模拟蚁狮捕食的六个基本步骤: ...

  2. 【路径优化】基于帝企鹅算法求解TSP问题(Matlab代码实现)

    目录 1 帝企鹅算法 2 旅行商问题(TSP) 3 运行结果 4 参考文献 5 Matlab代码实现 1 帝企鹅算法 帝企鹅优化算法(emperor penguin optimizer,EPO)是Ga ...

  3. 【布局优化】基于蚁狮算法的无线传感器网(WSN)覆盖优化matlab源码

    一.WSN模型 1.1 动机 近年来,随着对等网络.云计算和网格计算等分布式环境的发展,无线传感器网络(WSN)得到了广泛的应用.无线传感器网络(WSN)是一种新兴的计算和网络模式,它可以被定义为一个 ...

  4. 鲁棒优化入门(4)-两阶段鲁棒优化及行列生成算法(CCG)超详细讲解(附matlab代码)

    本文的主要参考文献: Zeng B , Zhao L . Solving Two-stage Robust Optimization Problems by A Constraint-and-Colu ...

  5. 【图像增强】基于萤火虫算法实现图像对比度增强附matlab代码

    1 内容介绍 由于图像本身的复杂性和数据量大,传统的图像处理和分析技术常存在计算复杂度高的问题,因此基于进化算法的图像处理方法得到广泛研究和关注.萤火虫算法(Firefly Algorithm,FA) ...

  6. 【WSN通信】基于注水算法实现宽带无线通信资源分配附matlab代码

    1 简介 功率分配技术能有效提高认知网络传输链路的信道容量,而注水算法利用凸优化的思想能实现功率分配最优化.针对认知网络中使用注水算法分配信道功率时未考虑邻近认知信道干扰的情况,对认知网络中邻近认知信 ...

  7. 【图像检测】基于AC算法实现图像显著性检测附matlab代码

    1 简介 AC算法也是Achanta等提出的,与FT算法类似,只是在求欧式距离时使用的均值不再是整幅图像的均值,而是选取不同大小邻域内的均值(三种大小)分别求取欧式距离,再相加得到. 2 部分代码 ​ ...

  8. 【优化调度】基于蚁狮算法求解经济调度问题附matlab代码

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

  9. 【显著性检测】基于HC算法实现图像显著性检测附MATLAB代码

    1 简介 图像融合是一种重要的增强图像信息的技术方法,如何对同一目标的多源遥感图像数据进行有效的融合,最大限度地利用多源遥感数据中的有用信息,提高系统的正确识别.判断和决策能力,这是遥感数据融合研究的 ...

最新文章

  1. 人脸检测--Supervised Transformer Network for Efficient Face Detection
  2. SAP MIGO收货界面'批次'分类选项卡里不出现'分类'按钮之对策
  3. 云计算如何重塑和简化大规模IT资产
  4. Android: Execution failed for task ':app:processDebugResources' 异常解决
  5. O(logn*2^logn)和O(n*logn)算法
  6. python3随笔-相关系数
  7. SOA系列文章(二):服务设计原理:服务模式和反模式
  8. Java Double类详解
  9. 再让大家清爽一下,给加班的oscer们,哈
  10. 利用Servlet做一套增删改查
  11. java map 集合实例_Java之集合类【HashMap】【入门版,实例解析】
  12. java-idea-3批处理文件运行jar包
  13. mysql提高运行效率_提升Mysql执行效率的SQL优化技巧汇总
  14. 数据库 | Mysql - [索引]
  15. Office 远程代码执行漏洞复现过程
  16. Kotlin高仿微信-第6篇-主页-我的
  17. anyconnect免密码登录
  18. 昭阳区计算机学校,2019昭通中职学校名单大全
  19. linux下怎么退出vi编辑器,按esc没有用;vim recording
  20. HTML和CSS3写的switch插件

热门文章

  1. 专业扫盲 且听安企谈智慧停车那些事儿
  2. Maven中的scope总结
  3. 机器学习(二):基于XGBoost的分类与预测
  4. win7 设置锁定计算机,怎么锁定计算机?Win7锁定电脑屏幕的步骤
  5. RTSP 在线测试地址
  6. 提升游戏陪玩源码请求响应速度,应从哪方面下手?
  7. 「2024」预备研究生mem-出题套路四:同时给出逻辑真事实真
  8. SSM疫情防控小程序 计算机毕业设计 疫情防控系统
  9. About Scott
  10. 嵌入式中的BSP---BSP到底是什么