2025最新智能优化算法:改进型雪雁算法(Improved Snow Geese Algorithm, ISGA)求解23个经典函数测试集,MATLAB

一、改进型雪雁算法

雪雁算法(Snow Geese Algorithm,SGA)是2024年提出的一种新型元启发式算法,其灵感来源于雪雁的迁徙行为,特别是它们在迁徙过程中形成的独特"人字形"和"直线"飞行模式。该算法通过模拟雪雁的飞行行为,实现了在解空间中的高效搜索和优化。SGA算法主要分为三个阶段:初始化阶段、探索阶段和开发阶段。


改进型雪雁算法(Improved Snow Geese Algorithm, ISGA) 是2025年提出的一种新型元启发式算法,是对雪雁算法(SGA)的改进,旨在解决复杂工程优化问题和聚类优化问题。ISGA通过引入三种改进策略,显著提升了算法的探索和开发能力,从而提高了算法的收敛速度和精度。

改进策略:
领头雁轮换机制:

模拟雪雁迁徙过程中,当领头雁疲劳时,其他强壮的雪雁会接替领头雁的位置,以维持飞行效率和速度。

通过竞争机制,选择适应值最高的个体作为新的领头雁,从而增强算法的全局探索能力。
鸣叫引导机制:

模拟雪雁通过鸣叫进行沟通,以引导飞行方向。

使用声波传播的衰减模型,根据个体与领头雁的距离调整其位置更新,避免因过度聚集或分散导致的开发能力下降。
异常边界策略:

考虑雪雁作为群居鸟类,个体害怕离群的特性。

通过计算个体的适应值与群体平均适应值的差异,调整个体的位置更新,以提高算法的收敛速度和精度。


算法流程:

算法性能:

探索与开发能力:ISGA在探索阶段通过领头雁轮换机制增强全局搜索能力,在开发阶段通过鸣叫引导机制和异常边界策略提高局部搜索精度。

收敛速度与精度:ISGA在多个测试函数上表现出更快的收敛速度和更高的收敛精度,特别是在高维问题上表现更为突出。

稳定性:通过多次独立运行的实验结果表明,ISGA在不同维度和不同类型的优化问题上均表现出较高的稳定性和鲁棒性。

参考文献:

1Bian, H., Li, C., Liu, Y. et al. Improved snow geese algorithm for engineering applications and clustering optimization. Sci Rep 15, 4506 (2025). https://doi.org/10.1038/s41598-025-88080-7

21 Tian A Q , Liu F F , Lv H X .Snow Geese Algorithm: A novel migration-inspired meta-heuristic algorithm for constrained engineering optimization problemsJ.Applied Mathematical Modelling, 2024, 126:327-347.DOI:10.1016/j.apm.2023.10.045.

二、23个函数介绍

参考文献:

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

三、部分代码及结果

dart 复制代码
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]=ISGA(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('ISGA')

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




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

相关推荐
oradh1 分钟前
Oracle Undo问题总结(ORA-600 [4xxx] 系列错误)
数据库·oracle
达梦数据5 分钟前
DMDRS辅助表生成规则与作用
数据库·oracle
知识分享小能手10 分钟前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
‎ദ്ദിᵔ.˛.ᵔ₎14 分钟前
MySQL 表约束
数据库·mysql
Doris__HE15 分钟前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
hzxxxz22 分钟前
26%的研发交给AI之后-人的位置换到了哪里
人工智能
m0_5873830036 分钟前
深圳24小时自助健身房系统软件开发实战:架构设计与部署指南
人工智能·数据挖掘·系统架构·需求分析
Joy T37 分钟前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者38 分钟前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
西柚研究生12345640 分钟前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测