1 简介

为降低某车型前保险杠注塑成型中产生的翘曲变形,基于数值模拟结果,将神经网络-遗传算法寻优模型与麻雀算法结合,确定了BP神经网络的初始权值和阈值.将SSA-BP模型代入遗传算法中求解最佳工艺参数.由极差分析可知,影响翘曲变形最显著的因素为保压时间和模具温度.基于极差分析设计补充实验,训练SSA-BP神经网络并作为遗传算法的适应度值进行迭代寻优.结果表明:SSA-BP模型的相关系数R2可达0.99以上,平均绝对误差为1.05%,能较精准地预测翘曲量.

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_数据

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_数据_02

2 部分代码

% 清空环境
clc
clear

%读取数据
% load data input output
data=xlsread('data.xlsx','1','B2:D61');
%节点个数
inputnum=2;
hiddennum=4;
outputnum=1;
[M,N]=size(data);
%训练数据和预测数据
input_train=data(1:M-10,2:3)';
input_test=data(M-9:M,2:3)';
output_train=data(1:M-10,1)';
output_test=data(M-9:M:M,1)';

%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);

%构建网络
net=newff(inputn,outputn,hiddennum);
   
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 迭代寻优
x=bestX
%% 结果分析
figure(1)
plot(yy)
title(['适应度曲线 ' '终止代数=' num2str(maxgen)]);
xlabel('进化代数');ylabel('适应度');
%% 把最优初始阀值权值赋予网络预测

%% 训练
%网络进化参数
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;

%网络训练
[net,tr]=train(net,inputn,outputn);

%%预测
%数据归一化
inputn_test=mapminmax('apply',input_test,inputps);%归一化
an=sim(net,inputn_test);%预测
test_simu=mapminmax('reverse',an,outputps);%反归一化
error=test_simu-output_test;%计算误差
figure(2)
plot(error)
title('仿真预测误差','fontsize',12);
xlabel('仿真次数','fontsize',12);ylabel('误差百分值','fontsize',12);

3 仿真结果

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_遗传算法_03

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_遗传算法_04

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_归一化_05

4 参考文献

[1]吴丁杰, 周庆兴, 温立书. 基于Logistic混沌映射的改进麻雀算法[J]. 高师理科学刊, 2021, 41(6):6.

部分理论引用网络文献,若有侵权联系博主删除。

【预测模型】基于麻雀算法SSA优化BP神经网络实现风电功率预测matlab代码_遗传算法_06