当前位置: 首页 > article >正文

2025最新智能优化算法:鲸鱼迁徙算法(Whale Migration Algorithm,WMA)求解23个经典函数测试集,MATLAB

一、鲸鱼迁徙算法

鲸鱼迁徙算法(Whale Migration Algorithm,WMA)是2025年提出的一种新颖生物启发式元启发式优化方法,其灵感来源于座头鲸的协作迁徙行为。该算法通过模拟座头鲸的迁徙和捕食行为,实现了在优化过程中的高效搜索和优化能力。WMA通过整合领导者-追随者动态和自适应迁徙策略,平衡了探索和开发之间的关系,从而提高了算法避免局部最优和有效收敛的能力。WMA通过模拟座头鲸的迁徙行为,实现了在搜索空间中的有效探索和开发。这种平衡使得算法能够在避免陷入局部最优的同时,快速收敛到全局最优解。WMA的自适应迁徙策略使其能够根据问题的复杂性和搜索空间的特性动态调整搜索策略,从而在不同的优化问题中表现出良好的适应性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考文献:
[1]Ghasemi, M., Deriche, M., Trojovský, P., Mansor, Z., Zare, M., Trojovská, E., Abualigah, L.M., Ezugwu, A.E., & Mohammadi, S.K. (2025). An efficient bio-inspired algorithm based on humpback whale migration for constrained engineering optimization. Results in Engineering.

二、23个函数介绍

在这里插入图片描述
参考文献:

[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

三、部分代码及结果



clear;
clc;
close all;
warning off all;

SearchAgents_no=50;    %Number of search solutions
Max_iteration=500;    %Maximum number of iterations

Func_name='F1'; % Name of the test function

% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_F(Func_name); 

tic;
[Best_score,Best_pos,cg_curve]=SGA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); 
tend=toc;

% figure('Position',[500 500 901 345])
%Draw search space
subplot(1,2,1);
func_plot(Func_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Func_name,'( x_1 , x_2 )'])

%Draw objective space
subplot(1,2,2);
semilogy(cg_curve,'Color','m',LineWidth=2.5)
title(Func_name)

% title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');

axis tight
grid on
box on
legend('SGA')

display(['The running time is:', num2str(tend)]);
display(['The best fitness is:', num2str(Best_score)]);
display(['The best position is: ', num2str(Best_pos)]);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、完整MATLAB代码见下方名片


http://www.kler.cn/a/555552.html

相关文章:

  • 访问者模式 Visitor Pattern
  • Elasticsearch 数据建模:从原理到实战的降维打击指南
  • MySQL Binlog 监听:Canal + Spring Boot 实战指南
  • 【分布式理论14】分布式数据库存储:分表分库、主从复制与数据扩容策略
  • 网络协议相关知识有哪些?
  • 一次交换机故障导致的云平台(opensatck+ceph)不可用的记录
  • Compose 定制UI视图
  • Netty入门详解
  • pyside6学习专栏(二):程序图像资源的加载方式
  • 庙算兵棋推演AI开发初探(5-数据处理)
  • 阿里云子账号管理ECS权限配置全指南
  • Canvas进阶-2、可视化应用
  • C# 中关于补位的写法 PadLeft,PadRight 函数
  • 猎板PCB百科——键盘PCB
  • cesium(vue)一些面试问题(包含Three.js)
  • el-tree选中数据重组成树
  • 【Python爬虫(24)】Redis:Python爬虫的秘密武器
  • AI 编程助手 cursor的系统提示词 prompt
  • 基于大数据的工业废水处理解决方案分享
  • Python迭代器知多少