基本介绍
1.GA-HIDMSPSO算法优化神经网络+NSGAII多目标优化算法,工艺参数优化、工程设计优化!(Matlab完整源码和数据)。遗传算法辅助异构改进的动态多群粒子群优化算法(GA-HIDMS-PSO)是一种将最先进的粒子群优化算法(PSO)与遗传算法(GA)相结合的元启发式优化算法。
多目标优化是指在优化问题中同时考虑多个目标的优化过程。在多目标优化中,通常存在多个冲突的目标,即改善一个目标可能会导致另一个目标的恶化。因此,多目标优化的目标是找到一组解,这组解在多个目标下都是最优的,而不是仅仅优化单一目标。
2.先通过GA-HIDMSPSO-BP封装因变量(y1 y2 y3 y4)与自变量(x1 x2 x3 x4 x5)代理模型,再通过nsga2寻找y极值(y1极大;y2 y3 y4极小),并给出对应的x1 x2 x3 x4 x5Pareto解集。
3.data为数据集,5个输入特征,4个输出变量,NSGAII算法寻极值,求出极值时(max y1; min y2;min y3;min y4)的自变量x1,x2,x3,x4,x5。
4.main1.m为GA-HIDMSPSO-BP神经网络主程序文件、main2.m为NSGAII多目标优化算法主程序文件,依次运行即可,其余为函数文件,无需运行。
5.命令窗口输出R2、MAE、MBE、MAPE、RMSE等评价指标,输出预测对比图、误差分析图、多目标优化算法求解Pareto解集图、自变量与因变量关系映射图,可在下载区获取数据和程序内容。
6.适合工艺参数优化、工程设计优化等最优特征组合领域。
7.运行环境MATLAB2020b。
详细内容
NSGA-II算法的基本思想与技术路线
1) 随机产生规模为N的初始种群Pt,经过非支配排序、 选择、 交叉和变异, 产生子代种群Qt, 并将两个种群联合在一起形成大小为2N的种群Rt;
2)进行快速非支配排序, 同时对每个非支配层中的个体进行拥挤度计算, 根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群Pt+1;
3) 通过遗传算法的基本操作产生新的子代种群Qt+1, 将Pt+1与Qt+1合并形成新的种群Rt, 重复以上操作, 直到满足程序结束的条件。
%% 仿真测试t_sim1=sim(net,p_train);t_sim2=sim(net,p_test);%% 数据反归一化T_sim1=mapminmax('reverse',t_sim1,ps_output);T_sim2=mapminmax('reverse',t_sim2,ps_output);%% 定义结果存放模板empty.position=[];%输入变量存放empty.cost=[];%目标函数存放empty.rank=[];% 非支配排序等级empty.domination=[];%支配个体集合empty.dominated=0;%支配个体数目empty.crowdingdistance=[];%个体聚集距离pop=repmat(empty,npop,1);%% 1、初始化种群fori=1:npoppop(i).position=create_x(var);%产生输入变量(个体)pop(i).cost=costfunction(pop(i).position);%计算目标函数end%% 2、构造非支配集[pop,F]=nondominatedsort(pop);%% 计算聚集距离pop=calcrowdingdistance(pop,F);%% 主程序(选择、交叉、变异)