灰狼优化算法在所有测试集上的历史位置图,平均适应度收敛图,历史轨迹图MATLAB代码完整获取

作品简介

VMD-LSTM(Variational Mode Decomposition - Long Short-Term Memory)是一种结合变分模态分解和长短期记忆网络的混合模型,常用于时间序列数据的分解和预测。之前我发布了关于单目标优化算法在测试集上的全部运行结果,包括最优解的均值,最优,最差,标准差,中值等值,以及P值和Frideman排名,并输出了所有值到excel,收敛图直接保存,具体使用的方法可以查看我之前发布的文章:超全面!智能算法相关统计指标导出至excel/收敛图(平均)、箱线图,秩和检验。此外,还有多目标算法的测试平台,可以直接输出衡量多目标算法的四个指标到excel,以及可以绘制帕累托前沿的图,具体可以查看我之前发布的文章:超全面!多目标优化算法跑46个测试函数/统计指标导出至excel/IGD, GD, HV, Spacing,并且绘制帕累托前沿。今天我将发布第三款集成平台,任意算法直接可以在所有测试集上的历史位置图,平均适应度收敛图,历史轨迹图。灰狼算法简介可以查看我之前的文章:引用过万!灰狼算法(Grey Wolf Optimizer, GWO)原理及实现|含源码,对应的灰狼算法变体合集可以查看我之前的文章:高被引算法变体合集(Grey Wolf Optimizer, GWO)灰狼优化算法变体合集

NO.1|算法整体介绍

算法全部封装完成,主要由一个主调函数进行调用,修复了原始算法中(尤其是CEC 2017)部分测试集的三维图像无法绘制的问题。

(1)主调函数简介

%% 清空工作区
clc
clear
close all
N = 30; % 种群量级
addpath("测试函数及配套脚本")
addpath("优化算法合集")
Max_iteration=500; % 迭代次数
dim = 10; % 可选 10, 30, 50, 100
save_path = 'figure\CEC2005';
dpi = 300 ;

其中,这个路径无需更改,只需要把算法加到“优化算法合集文件夹即可”,t图像的dpi可以自由调整,但是dpi越大需要的时间越长。

for k = 1:2
      Function_name = ['F' num2str(1)] ;% 测试函数 % 1-10,21,222324252627,28,
    %% CEC2005        disp(strcat('--------------------------- 测试函数:F',num2str(Function_name)));
    % 测试函数获取
    [lb,ub,dim,fobj] = Get_CEC2005_details(Function_name);
​
    algorithms = {'GWO2','GWO'};
    %% GWO2
    [GWO2_Best_score,GWO2_Best_pos,GWO2_cg_curve,Trajectories,fitness_history, position_history] = GWO2(N,Max_iteration,lb,ub,dim,fobj);%GWO2
    GWO2_cg_curve_mean(k, :)
 = GWO2_cg_curve;    display(['The best optimal value by GWO2  for F' [num2str(Function_name)] ' 第 ' [num2str(k)],' 次循环 is: ', num2str(GWO2_Best_score)]);
    %% GWO
    [GWO_Best_score,GWO_Best_pos,GWO_cg_curve]=GWO(N,Max_iteration,lb,ub,dim,fobj);%GWO
    GWO_cg_curve_mean(k, :)
 = GWO_cg_curve;      display(['The best optimal value by GWO  for F' [num2str(Function_name)] ' 第 ' [num2str(k)],' 次循环 is: ', num2str(GWO_Best_score)]);
end

并画出函数图像,迭代曲线,粒子轨迹图,平均收敛图和历史位置图,最近我看有些返修意见中经常提到。

绘制轨迹图

 %% Trajectories
        subplot(1,5,3)
;        hold on
        semilogy(Trajectories(1,:),'Color',color4,'linewidth',1)
;        title('Trajectory ','FontName', 'Times New Roman')
        xlabel('Iteration','FontName', 'Times New Roman')
        box on
        axis tight
        set(gca, 'FontSize', 10, 'FontName', 'Times New Roman','LineWidth',0.25)
;


NO.2|绘图结果

(1)CEC2005

(2) CEC 2017

(3) CEC 2019

(4) CEC 2020

(5) CEC 2022


创作时间:2024-10-24 15:02:30