【FNN时序预测】基于matlab和谐搜索优化模糊神经网络负荷数据预测【含Matlab源码 2502期】

⛄一、和声搜索算法简介

和声搜索(HS)是一种已广泛应用于连续优化问题的元启发式方法。针对典型的组合优化问题——多维背包问题(MKP),提出一种改进二进制和声搜索(IBHS)算法。算法通过伯努利随机过程生成二进制群体,在候选和声生成算子中,引入动态自适应参数,通过算法参数的自适应调整来协调算法的全局搜索和局部搜索,并提出一种新的更有效的衡量商品多维加权价值密度的方法用于二进制个体修正和优化

⛄二、部分源代码

%% Clearing Things
clc
clear
close all
warning (‘off’);

%% Data Load and Preparation
Data=load(‘CovidTimeSeries’);
Data=Data.CovidTimeSeries’;
Data=Data(1:400);

%% K is Number of Desired Steps into the Future
K = 100;

%% Basic Forecast
nstep = 80;
sys = nlarx(Data,nstep);
opt = forecastOptions(‘InitialCondition’,‘e’);
[Future,ForecastMSE] = forecast(sys,Data,K,opt);
datsize=size(Data);
datsize=datsize(1,1);
ylbl=datsize+K;
t = linspace(datsize,ylbl,length(Future));
% Creating Inputs and Targets
Delays = [1];
[Inputs, Targets] = MakeTheTimeSeries(Future’,Delays);
data.Inputs=Inputs;
data.Targets=Targets;
% Making Data
Inputs=data.Inputs’;
Targets=data.Targets’;
Targets=Targets(:,1);
nSample=size(Inputs,1);
% Shuffle Data
% S=randperm(nSample);
% Inputs=Inputs(S,:);
% Targets=Targets(S,:);
% Train Data
pTrain=1.0;
nTrain=round(pTrain*nSample);
TrainInputs=Inputs(1:nTrain,:);
TrainTargets=Targets(1:nTrain,:);
TestInputs=Inputs(nTrain+1:end,:);
TestTargets=Targets(nTrain+1:end,:);
% Making Final Data Struct
data.TrainInputs=TrainInputs;
data.TrainTargets=TrainTargets;
data.TestInputs=TestInputs;
data.TestTargets=TestTargets;

%% Basic Fuzzy Model Creation
ClusNum=8; % Number of Clusters in FCM
fis=GenerateFuzzy(data,ClusNum);

%% Tarining Harmony Search Algorithm
HarmonySearchFis = HarmonySearchFCN(fis,data);

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘雅文,蒋妍,潘大志.改进二进制和声搜索算法求解多维背包问题[J].计算机与现代化 2022-08-15

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/129986824