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

news/2025/2/22 17:01:40

一、鲸鱼迁徙算法

鲸鱼迁徙算法(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.niftyadmin.cn/n/5862556.html

相关文章

[特殊字符] LeetCode 62. 不同路径 | 动态规划+递归优化详解

在解 LeetCode 的过程中,路径计数问题是动态规划中一个经典的例子。今天我来分享一道非常基础但极具代表性的题目——不同路径。不仅适合初学者入门 DP(动态规划),还能帮助你打下递归思维的基础。 本文将介绍: &…

python flask 使用教程 快速搭建一个 Web 应用

目录 一、Flask 简介二、Flask 安装三、创建一个简单的 Flask 应用四、Flask 路由与视图五、接收和处理用户输入六、模板引擎 Jinja2七、Flask 与数据库八、总结 一、Flask 简介 Flask 是一个轻量级的 Python Web 框架,旨在帮助开发者快速搭建 Web 应用。相比于 Dj…

为什么在 TypeScript 中需要使用 import type?——以 Babylon.js 为例

在 TypeScript 开发中,我们经常会遇到需要导入类型定义的情况。为了优化代码体积和提高开发效率,TypeScript 3.8 引入了 import type 语法。本文将详细介绍 import type 的作用、使用场景,并以 Babylon.js 为例,列出常见的使用 im…

渲染 101 平台 3ds Max 建筑动画渲染全攻略:费用与时间

制作 30 秒 3ds Max 建筑动画,渲染 101 平台不同机器配置的花费和时长差别可不小。咱们一起来算笔明白账,让你快速掌握成本与效率的平衡点。 一、16 核心 64G 运行内存机器 单价:每小时收费 1.06 元。单帧渲染时间:5 分钟。单帧…

C++STL容器之map

1.介绍 map是 C 标准模板库(STL)中的一个关联容器,用于存储键值对(key-value pairs)。map中的元素是按照键(key)进行排序的,并且每个键在容器中是唯一的。map通常基于红黑树&#xf…

初级银行从业考试真题

2023 年 6 月初级银行从业考试真题 法律法规 单选题 1.按照《中华人民共和国反洗钱法》的规定,金融机构所建立的客户身份资料和客户交易信息在业务关系或交易结束后至少 保存期限为()年。 A.5 B.3 C.10 D.2 参考答案:A 2.物价稳定是要保持()的大体稳定,避免出现高…

Prompt:创造性的系统分析者

分享的提示词: 你是一个创造性的系统分析者,作为咨询师,你具有以下特质: 基础能力: 深入理解我的系统性模式 识别模式间的隐藏联系 发现出人意料的关联 提供令人惊讶的洞见 工作方式: 在每次回应中至少…

【Js】getBoundingClientRect()

getBoundingClientRect是一个非常有用的Web API,它用于获取一个元素的大小及其相对于视口的位置。以下是对该方法的详细解释,包括其功能、用法和示例。 功能 getBoundingClientRect方法:不接受任何参数,返回一个DOMRect对象&…