《多目标优化实例和matlab程序》由会员分享,可在线阅读,更多相关《多目标优化实例和matlab程序(2页珍藏版)》请在人人文库网上搜索。
1、NSGA-II 算法实例目前的多目标优化算法有很多, Kalyanmoy Deb的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB自带的函数gamultiobj,该函数是基于NSGA-II改进的一种多目标优化算法。一、 数值例子多目标优化问题二、 Matlab文件1 适应值函数m文件:function y=f(x)y(1)=x(1)4-10*x(1)2+x(1)*x(2)+x(2)4-x(1)2*x(2)2;y(2)=x(2)4-x(1)2*x(2)2+x(1)4+x(1)*x(2);2 调用gamultiobj函数,及。
2、参数设置:clearclcfitnessfcn=f; %适应度函数句柄nvars=2; %变量个数lb=-5,-5; %下限ub=5,5; %上限A=;b=; %线性不等式约束Aeq=;beq=; %线性等式约束options=gaoptimset(paretoFraction,0.3,populationsize,100,generations,200,stallGenLimit,200,TolFun,1e-100,PlotFcns,gaplotpareto);% 最优个体系数paretoFraction为0.3;种群大小populationsize为100,最大进化代数generations为200,% 停止代数stallGenLimit为200, 适应度函数偏差TolFun设为1e-100,函数gaplotpareto:绘制Pareto前端x,fval=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)3. 计算结果图1. 实例1对应的Pareto前沿图从图1可以看出Pareto前分布较均匀,多样性较好。