CPO-BP+NSGA,豪冠猪优化BP神经网络+多目标遗传算法!(Matlab完整源码和数据)
目录
- 效果一览
- 基本介绍
- 程序设计
- 参考资料
效果一览
基本介绍
1.CPO-BP+NSGA,豪冠猪优化BP神经网络+多目标遗传算法!(Matlab完整源码和数据),豪冠猪算法优化BP神经网络的权值和阈值,运行环境Matlab2020b及以上。
多目标优化是指在优化问题中同时考虑多个目标的优化过程。在多目标优化中,通常存在多个冲突的目标,即改善一个目标可能会导致另一个目标的恶化。因此,多目标优化的目标是找到一组解,这组解在多个目标下都是最优的,而不是仅仅优化单一目标。冠豪猪优化算法(Crested Porcupine Optimizer, CPO)是一种新型的元启发式算法,由Abdel-Basset等人于2024年提出。该算法模拟了冠豪猪的防御行为,包括视觉、声音、气味和物理攻击四种策略,用于解决复杂的优化问题。
2.先通过CPO-BP封装因变量(稳态下的效率、压缩机经济成本 )与自变量(转速、余隙容积全关、用户排气量、冷却水流量)代理模型,再通过nsga寻找极值(稳态下的效率极大;压缩机经济成本极小),并给出对应的转速、余隙容积全关、用户排气量、冷却水流量Pareto解集。
3.data为数据集,4个输入特征,2个输出变量,NSGA算法寻极值,求出极值时(max y1; min y2)的自变量x1,x2,x3,x4。
4.main1.m为CPO-BP神经网络主程序文件、main2.m为NSGA多目标优化算法主程序文件,依次运行即可,其余为函数文件,无需运行。
5.命令窗口输出MAE、MAPE、MSE、RMSE等评价指标,输出相预测对比图、误差分析图、多目标优化算法求解Pareto解集图,可在下载区获取数据和程序内容。
6.适合工艺参数优化、工程设计优化等最优特征组合领域。
数据集
程序设计
- 完整程序和数据获取方式:私信博主回复CPO-BP+NSGA,豪冠猪优化BP神经网络+多目标遗传算法!(Matlab完整源码和数据)。
clear
close all
addpath('toolboox\')
load net.mat
%% 定义自变量范围
nvar = 4;
nobj = 2;
npop = 50;
maxit = 20;
pc = 0.8;
nc = round(pc * npop / 2) * 2;
mu = 0.05;
VarMin = [510,0.125,0.0118,2.7];
VarMax = [720,1,0.044,3.9];
lb=VarMin;
ub=VarMax ;
varmin=lb;
varmax=ub;
step = [30, 0.125, 0.0001, 0.3];
len = (varmax - varmin) ./ step;
var = [varmin;step;varmax;round(len, 0)];
%% 定义结果存放模板
empty.position = [];
empty.cost = [];
empty.rank = [];
empty.domination = [];
empty.dominated = 0;
empty.crowdingdistance = [];
pop = repmat(empty, npop, 1);
%% 初始化种群
for i = 1 : npoppop(i).position = create_x(var);pop(i).cost = costfunction(pop(i).position);
end
%% 非支配排序
[pop,F] = nondominatedsort(pop);
%% 拥挤度计算
pop = calcrowdingdistance(pop,F);
%% 主程序
for it = 1 : maxitpopc = repmat(empty, nc/2,2);for j = 1 : nc / 2p1 = tournamentsel(pop);p2 = tournamentsel(pop);[popc(j, 1).position, popc(j, 2).position] = crossover(p1.position, p2.position);endpopc = popc(:);for k = 1 : ncpopc(k).position = mutate(popc(k).position, mu, var);popc(k).cost = costfunction(popc(k).position);endnewpop = [pop; popc];[pop,F] = nondominatedsort(newpop);pop = calcrowdingdistance(pop,F);% 排序pop = Sortpop(pop);% 淘汰pop = pop(1: npop);
参考资料
GRU门控循环单元+NSGAII多目标优化算法,深度学习工艺参数优化+酷炫相关性气泡图!(Matlab完整源码和数据)
LSTM+NSGAII多目标优化算法,酷炫相关性气泡图!(Matlab完整源码和数据)
NRBO-CNN+NSGAII+熵权TOPSIS,附相关气泡图,Matlab代码!
深度学习工艺参数优化+酷炫相关性气泡图!CNN卷积神经网络+NSGAII多目标优化算法(Matlab完整源码)
工艺参数优化、工程设计优化!GRNN神经网络+NSGAII多目标优化算法(Matlab)
工艺参数优化、工程设计优化陪您跨年!RBF神经网络+NSGAII多目标优化算法(Matlab)
工艺参数优化、工程设计优化来袭!BP神经网络+NSGAII多目标优化算法(Matlab)
北大核心工艺参数优化!SAO-BP雪融算法优化BP神经网络+NSGAII多目标优化算法(Matlab)
工艺参数优化、工程设计优化上新!Elman循环神经网络+NSGAII多目标优化算法(Matlab)
强推未发表!3D图!Transformer-LSTM+NSGAII工艺参数优化、工程设计优化!