新型智能优化算法——海鸥优化算法(基于Matlab代码实现)

   目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

  2019 年,Dhiman G等人提出了一种受自然界海鸥启发的新颖全局优化算法—海鸥优化算法(Seagull Optimization Algorithm, SOA)。与其他智能优化算法类似,海鸥优化算法也是基于种群的算法,模拟了海鸥群体的迁徙和攻击行为,算法提出者将这些行为抽象化建立数学模型。 

  算法的主要算子是模拟全局搜索的海鸥迁徙算子和模拟局部搜索的海鸥攻击算子。海鸥优化算法的提出,为工程优化和人工智能领域提供了新的优化工具。虽然海鸥优化算法的模型相对简洁,但与其他优化算法相比,海鸥优化算法在实际问题求解中还是体现出了一定的优势。

📚2 运行结果

 

🎉3 参考文献

[1]李沅航.海鸥优化算法与鲸鱼优化算法的寻优性能对比研究[J].现代信息科技,2021,5(03):67-71.DOI:10.19850/j.cnki.2096-4706.2021.03.018.

👨‍💻4 Matlab代码

主函数部分代码:

%% 海鸥优化算法(Seagull Optimization Algorithm,SOA)
clc
clear
close all
SearchAgents=30; 
Fun_name='F1';  
Max_iterations=1000; 
[lowerbound,upperbound,dimension,fitness]=func_info(Fun_name);
[Best_score,Best_pos,SOA_curve]=SOA(SearchAgents,Max_iterations,lowerbound,upperbound,dimension,fitness);
figure('Position',[500 500 660 290])
subplot(1,2,1);
func_plot(Fun_name);
title('Objective space')
xlabel('x_1');
ylabel('x_2');
zlabel([Fun_name,'( x_1 , x_2 )'])
subplot(1,2,2);
plots=semilogx(SOA_curve,'Color','r');
set(plots,'linewidth',2)
hold on
title('Objective space')
xlabel('Iterations');
ylabel('Best score');
axis tight
grid on
box on
legend('SOA')
display(['The best solution obtained by SOA is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton found by SOA is : ', num2str(Best_score)]);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值