实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现

目录

摘要

1 工艺参数优化问题

1.1 确定输入变量及其寻优范围(13个属性因素,252组)

1.2 确定优化目标,即输出变量(体脂含量指标,单输出,252组)

2 工艺参数优化问题求解的流程设计

3 部分代码

3.1 BPNN.m

3.2 GA.m

4 运行结果

4.1 BP

4.2 遗传算法和BP结合,极值寻优 

5 全部代码


摘要

通过BP 神经网络确定预测模型后,结合遗传算法GA对身体脂肪含量的影响参数进行寻优,获得身体脂肪含量最低(1/ 体脂含量的值最大)的最佳工艺参数。

1 工艺参数优化问题


 

1.1 确定输入变量及其寻优范围(13个属性因素,252组)


1.年龄(年) [20 100]

2.重量(磅)[115 365]

3.高度(英寸) [25 80]

4.颈围(厘米)[30 60]

5.胸围(厘米)[78 140]

6.腹部2周长(厘米)[65 150]

7.臀围(厘米)[80 150]

8.大腿围(厘米)[45 90]

9.膝围(厘米)[30 50]

10.踝围(厘米)[18 35]

11.二头肌(延长)周长(厘米)[20 50]

12.前臂周长(厘米)[20 40]

13 腕围(厘米)[15 25]

1.2 确定优化目标,即输出变量(体脂含量指标,单输出,252组)


1. 身体脂肪含量

将身体脂肪含量最低的寻优问题,通过对数据取倒数,转换为求解脂肪含量倒数的最大值问题,并求得相应的各个输入变量的最优值。

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第1张图片

由于遗传算法具有智能优化算法的随机性特点,每次求得的极大值都不一定是全局最大值,因此,可独立运行30次遗传算法寻优,统计每次寻优的极大值和最佳工艺参数取值,记录在结果表格中。

2 工艺参数优化问题求解的流程设计

在身体脂肪含量的影响参数优化过程中,神经网络训练拟合主要有网络的构建、样本数据训练、身体脂肪含量值(倒数值)预测三步。遗传算法极值寻优部分把训练后的BP神经网络预测体脂含量值(倒数值)作为个体适应度值,经一系列的选择、交叉、变异等遗传操作得出能够使身体脂肪含量最低(倒数值最大)的工艺参数。

工艺参数优化流程图如下,包含BP神经网络训练、测试和遗传算法极值寻优两个部分:

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第2张图片

对工艺参数采用实数编码,每个个体由所优化的13个参数组合而成,选用身体脂肪含量的倒数值作为适应度函数,优化目标为求得最佳参数使得适应度值最大。

3 部分代码

3.1 BPNN.m

%% BP主程序
% 清空环境变量
clear, close all
clc
warning off
tic

%% 读取数据
data = xlsread('数据.xlsx', 'Sheet1', 'B2:O253');   
tic
% 训练/测试数据
input = data(:,1:end-1);
output= data(:,end);
nwhole=size(data,1);
train_ratio=0.9;             %训练集比例
ntrain=round(nwhole*train_ratio);
ntest =nwhole-ntrain;


%% 构建BP网络
%初始化网络结构
hiddennum=10; %隐含层节点个数
net=newff(inputn,outputn,hiddennum,{'tansig','purelin'},'trainlm');% 建立BP模型

% 网络参数
net.trainParam.epochs=1000;         % 训练次数
net.trainParam.lr=0.1;                   % 学习速率
net.trainParam.goal=0.00001;      % 训练目标最小误差
net.trainParam.mc=0.01;                 % 动量因子

3.2 GA.m

%% 使用遗传算法寻优BP输入的工艺参数,目标为求取输出最大及相应的最佳输入参数取值
% 清空环境变量
clear 
clc
addpath('gatoolf')
format shortg

%% 遗传算法参数设置
gen = 100;              % 最大迭代次数  100-300
popsize = 30;          % 种群规模     30-50

S =13; % 自变量个数, 由实际问题确定

bound = [20 115 25 30 78 65 80 45 30 18 20 20 15;   % 优化参数的下界 S = 13个, 按实际问题来确定变量范围的下界
    100 365 80 60 140 150 150 90 50 35 50 40 25];    % 优化参数的上界 S = 13个, 按实际问题来确定变量范围的下界

%% 初始化种群


4 运行结果

4.1 BP

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第3张图片

 实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第4张图片

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第5张图片

 

4.2 遗传算法和BP结合,极值寻优 

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第6张图片

 

实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现_第7张图片

 

5 全部代码

MATLAB代码地址icon-default.png?t=L9C2https://mianbaoduo.com/o/bread/mbd-YZ6WmZdt

你可能感兴趣的:(智能优化算法多方面的应用,优化算法与预测程序设计,神经网络,算法,深度学习)