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