【塑料热压成型预测】基于matlab原子搜索算法优化支持向量机ASO-SVM塑料热压成型预测(多输入单输出)【含Matlab源码 3378期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞💞💞💞💞💞💥💥💥💥💥💥
在这里插入图片描述
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进;
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式

⛳️座右铭:行百里者,半于九十。
更多Matlab智能算法神经网络预测与分类仿真内容点击👇
Matlab神经网络预测与分类 (进阶版)
付费专栏Matlab智能算法神经网络预测与分类(中级版)
付费专栏Matlab智能算法神经网络预测与分类(初级版)

⛳️关注优快云海神之光,更多资源等你来!!

⛄一、原子搜索算法优化支持向量机

塑料热压成型是塑料加工业中简单、普遍之加工方法,主要是利用加热加工模具后,注入试料,以压力将模型固定于加热板,控制试料的熔融温度和时间,融化后硬化、冷却,再予以取出模型成品即可。热压成型具有模具便宜、成品厚度均匀等优点,其产品有冰箱门的内衬、汽车档泥板、汽车底盘、软质饮水杯、标示牌、包装材料及其它厚度均匀的产品。
在塑料热压成型中,工艺参数的选择起着至关重要的作用,确定原则是选择合适的固化温度、固化时间、固化压力、升温速度、加压温度和加压时间,保证塑料成型时获得较高性能的制件。而传统的确定方法主要依靠多次实验,采用经验设计准则设计,完全取决于设计者的经验,由此所得的工艺参数往往须经过多次试验才能调整出合适的参数,效率很低。因此需要建立获得较高性能制件的各热压成型工艺参数之间的关系,文中利用人工神经网络建立塑料热压成型工艺参数的数学模型,用遗传算法对参数进行优化,较好地控制了工艺参数,提高了制件性能。

1 塑料热压成型实验方法及其工艺参数和目标函数的确定
实验原材料为塑料树脂材料 PP( 聚丙烯) ,实验设备为液压式万能试验机、箱式电阻炉和自制的搅拌机,将原材料放入搅拌机中搅拌均匀后,放入箱式电阻炉加热到 175 ~ 180 ℃,把加热后的原材料放入到预热到相同温度的模具中,在液压式万能试验机上加压,保压一定时间,卸载冷却后脱模,即可得到试样。塑料热压成型过程中,成型产品精度是由多个成型参数共同决定的,成型工艺参数对产品精度的影响呈非线性变化,且各参数之间具有复杂的耦合关系,难以建立统一的数学公式。影响塑料热压成型的工艺参数主要有固化温度( Ts ) 、固化时间( ts ) 、固化压力( Ps ) 、升温速度( Vs ) 、加压温度( Tj) 和加压时间( tj) ,文章选择上述这 6 个工艺参数为控制因子。
塑料热压成型产品质量问题有很多,文章从塑料热压成型件力学性能的角度研究横向拉伸模量 ( Eh ) 、横 向 拉 伸 强 度( Gh ) 、层间剪切强度( Gc ) 和含胶量( Q) ,将其作为研究的目标函数。

2 神经网络建模
2.1 人工神经网络模型

人工神经网络是在人类对其大脑神经网络认识理解的基础上,人工构造的能够实现某种功能的神经网络,在人工神经网络的实际应用中,大部分网络模型是采用 BP( Back Propagation) 网络或它的变化形式[1 - 6],其算法被称为误差反向传播法,即 BP算法,文章 BP 网络模型的拓扑结构如图 1 所示,它由 3 层组成,输入层为需要优化的工艺参数,固化温度( Ts ) 、固化时间( ts ) 、固化压力( Ps ) 、升温速度( Vs ) 、加压温度( Tj) 和加压时间( tj) ,这些参数是对塑料热压成型影响最大的因素,理论上很难确定,因此确定它们作为待优化的工艺参数; 输出层为优化目标,即横向拉伸模量( Eh ) 、横向拉伸强度( Gh ) 、层间剪切强度( Gc ) 和含胶量( Q) ; 中间层神经元数由 Kolmogorov 定理和实际情况共同确定[7],最终确定神经网络结构为 6-13-4。

2.2 实验样本的获取
通过上述分析结合实际加工经验,选定需要优化的工艺参数有: 固化温度( Ts ) 、固化时间( ts ) 、固化压力( Ps ) 、升温速度( Vs ) 、加压温度( Tj) 和加压时间( tj) 。采用正交试验法,实验样本( 见表 1) 由 27 个样本组成,由正交设计表设计得到,优化目标为横向拉伸模量( Eh ) 、横向拉伸强度( Gh ) 、层间剪切强度( Gc) 和含胶量( Q) 。随机选定 1、7、13、19、25 号为检验样本,其余为训练样本。

2.3 人工神经网络训练及检测
统一后的神经网络结构为 6-13-1,训练过程利用 M 语言编程和 MATLAB 神经网络工具箱函数来完成。采用 newff 函数生成一 个 前 馈 BP 神 经 网 络,trainlm 函 数 ( 基 于 LevenbergMarquardt 算法) 训练网络,神经网络结构和函数确定后,就开始训练。设定 err-goal( 网络期望误差最小值) 为 10 - 5,当神经网络的 SSE( 网络权值修订后的误差平方和) 达到 err-goal 时,如图2,神经网络训练结束。

⛄二、部分源代码

%% 清空环境变量
clear all
clc
%% 导入数据
X = xlsread(‘输入’);
Y = xlsread(‘输出’);
%%
% 设置训练集和测试集
%temp = randperm(size(X,1));%1代表多少行,2代表多少列
% 训练集—
P_train= X((1:24)😅‘;%冒号代表取出来是整行或者整列,‘代表转置
P_test = X((25:end)😅’;
M = size(P_train,2);
% 测试集—
T_train= Y((1:24)😅’;
T_test = Y((25:end)😅';
N = size(P_test,2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax(‘apply’, P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax(‘apply’, T_test, ps_output);

%% 转置以适应模型
p_train = p_train’; p_test = p_test’;
t_train = t_train’; t_test = t_test’;

%% 参数设置
Max_Iteration = 50; % 最大的进化代数
Atom_Num = 10; % 种群最大数量
Low = [0,0]; % 参数c的变化范围
Up = [100,100]; % 参数g的变化范围
Dim=2;
v = 5; % 交叉验证参数
%% 优化算法
% [bestCVaccuracy, bestc, bestg, trace] = ASOSVMcgForRegress(t_train, p_train, option);
[Fit_XBest,X_Best,trace]=ASO(Atom_Num,Max_Iteration,Low,Up,Dim,t_train, p_train,v);
%% 最佳参数
cmd = [’ -t 2’, ’ -c ', num2str(X_Best(1)), ’ -g ‘, num2str(X_Best(2)), ’ -s 3 -p 0.1’];

%% 模型训练
model = svmtrain(t_train, p_train, cmd);
mode1 = svmtrain(t_test, p_test, cmd);
%% 仿真预测
[t_sim1, error_1] = svmpredict(t_train, p_train, model);
[t_sim2, error_2] = svmpredict(t_test , p_test , mode1);

%% 数据反归一化
T_sim1 = mapminmax(‘reverse’,t_sim1,ps_output);
T_sim2 = mapminmax(‘reverse’,t_sim2,ps_output);

%% 均方根误差 RMSE
%% 均方根误差 RMSE
error1 = sqrt(sum((T_sim1’ - T_train).^2)./M);
error2 = sqrt(sum((T_test - T_sim2’).^2)./N);

%%
%决定系数
R1=eva1(T_train,T_sim1’);
R2=eva2(T_test,T_sim2’);

%%
%均方误差 MSE
mse1 = sum((T_sim1’ - T_train).^2)./M;
mse2 = sum((T_sim2’ - T_test).^2)./N;
%%
%RPD 剩余预测残差
SE1=std(T_sim1’-T_train);
RPD1=std(T_train)/SE1;

SE=std(T_sim2’-T_test);
RPD2=std(T_test)/SE;
%% 平均绝对误差MAE
MAE1 = mean(abs(T_train - T_sim1’));
MAE2 = mean(abs(T_test - T_sim2’));
%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1’)./T_train));
MAPE2 = mean(abs((T_test - T_sim2’)./T_test));
%% 训练集绘图
figure
%plot(1:M,T_train,‘r-',1:M,T_sim1,‘b-o’,‘LineWidth’,1)
plot(1:M,T_train,'r-
’,1:M,T_sim1,‘b-o’,‘LineWidth’,1.5)
legend(‘真实值’,‘预测值’)
xlabel(‘预测样本’)
ylabel(‘预测结果’)
string={‘训练集预测结果对比’;[‘(R^2 =’ num2str(R1) ’ RMSE= ’ num2str(error1) ’ MSE= ’ num2str(mse1) ’ RPD= ’ num2str(RPD1) ‘)’ ]};
title(string)
%% 预测集绘图
figure
plot(1:N,T_test,‘r-‘,1:N,T_sim2,‘b-o’,‘LineWidth’,1.5)
legend(‘真实值’,‘预测值’)
xlabel(‘预测样本’)
ylabel(‘预测结果’)
string={‘测试集预测结果对比’;[’(R^2 =’ num2str(R2) ’ RMSE= ’ num2str(error2) ’ MSE= ’ num2str(mse2) ’ RPD= ’ num2str(RPD2) ‘)’]};
title(string)
%% 适应度曲线
figure
plot(1: length(trace), trace(:, 1), ‘r-’, ‘LineWidth’, 1.5);
title(‘ASO-SVM适应度曲线’, ‘FontSize’, 13);
xlabel(‘迭代次数’, ‘FontSize’, 10);
ylabel(‘适应度值’, ‘FontSize’, 10);
grid on
%% 测试集误差图
figure
plot(T_test’-T_sim2,'b-
’,‘LineWidth’,1.5)
xlabel(‘测试集样本编号’)
ylabel(‘预测误差’)
title(‘ASO-SVM测试集预测误差’)
grid on;
legend(‘ASO-SVM预测输出误差’)
%% 绘制线性拟合图
%% 训练集拟合效果图
figure
plot(T_train,T_sim1,‘*r’);
xlabel(‘真实值’)
ylabel(‘预测值’)
string = {‘训练集效果图’;[‘R^2_c=’ num2str(R1) ’ RMSEC=’ num2str(error1) ]};
title(string)
hold on ;h=lsline;
set(h,‘LineWidth’,1,‘LineStyle’,‘-’,‘Color’,[1 0 1])
%% 预测集拟合效果图
figure
plot(T_test,T_sim2,‘ob’);
xlabel(‘真实值’)
ylabel(‘预测值’)
string1 = {‘测试集效果图’;[‘R^2_p=’ num2str(R2) ’ RMSEP=’ num2str(error2) ]};
title(string1)
hold on ;h=lsline();
set(h,‘LineWidth’,1,‘LineStyle’,‘-’,‘Color’,[1 0 1])
%% 求平均
R3=(R1+R2)./2;
error3=(error1+error2)./2;
%% 总数据线性预测拟合图
tsim=[T_sim1’,T_sim2’]’
figure
plot(Y,tsim,‘ob’);
xlabel(‘真实值’)
ylabel(‘预测值’)
string1 = {‘所有样本拟合预测图’;[‘R^2_p=’ num2str(R3) ’ RMSEP=’ num2str(error3) ]};
title(string1)
hold on ;h=lsline();
set(h,‘LineWidth’,1,‘LineStyle’,‘-’,‘Color’,[1 0 1])
%% 打印出评价指标
disp([‘-----------------------误差计算--------------------------’])
disp([‘ASO-SVM的预测集的评价结果如下所示:’])
disp([‘平均绝对误差MAE为:’,num2str(MAE2)])
disp(['均方误差MSE为: ',num2str(mse2)])
disp(['均方根误差RMSEP为: ',num2str(error2)])
disp(['决定系数R^2为: ',num2str(R2)])
disp(['剩余预测残差RPD为: ',num2str(RPD2)])
disp([‘平均绝对百分比误差MAPE为: ‘,num2str(MAPE2)])
grid
%% 打印出评价指标
disp([’-----------------------误差计算--------------------------’])
disp([‘ASO-SVM最终的评价结果如下所示:’])
disp(['均方根误差RMSEP为: ',num2str(error3)])
disp(['决定系数R^2为: ',num2str(R3)])

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]纪良波,李永志,陈爱霞.基于神经网络和遗传算法的塑料热压成型多目标优化[J].塑料. 2012,41(03)

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

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值