matlab优化工具箱多目标遗传算法gamultiobj函数的实例

首先编写适应度函数M文件,因为 gamultiobj 求得的是最小值,故求最大值时需在目标函数前加负号,代码如下,保存为GA_multi.m:

function y=GA_multi (x)
y(1)=-(141.337+0.018*x(1)^2+8.065*x(3)^2-0.604*x(1)*x(3)-0.690*x(2)*x(4));
y(2)=-(3.15568+0.00279*x(1)*x(3)+0.00052*x(1)*x(2));

在 MATLAB R2014b 主界面依次单击 “应用程序”—“Optimization”,使用 GUI 界面调用函数 (gamultiobj),在“Fitness function”中输入适应度函数 “@ GA _ multi”,“Number of variable”变量个数窗格中输入 “4”,“Lower”与 “Upper”中输入目标函数自变量 x 1 ~ x 4 的约束条件[60,4,1,1] 与 [80,8,3,2], “Option”项下设置“Population Size”种群大小 50, “Pareto front populationFraction”最优前端个体系数 0. 3,“Generations”最大进化代数 100 代, “Function tolerance”适应度函数值偏差 1 e-5 ,绘制 Pareto 前端,其余参数为默认值,运行程序,Pareto 前端分布随算法进化1 代而更新1 次,不断逼近均匀分布和 Pareto 最优解,当迭代停止时,得到第一前端个体分布图 (图 2),同时得到 Pareto 最优解集
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45362665/article/details/128137861