如何用matlab解决多元遗传算法问题?

题目如下 实在不会代码
2024-12-31 17:12:12
推荐回答(1个)
回答1:

如何用matlab解决多元遗传算法的极值问题?可以按下列步骤做

1、首先,建立自定义带条件的最大值目标函数文件,ga_fun.m

if x(1)+x(2)>=-1

y=-(exp(-0.1*(x(1)^4+x(2)^4))+ exp(cos(2*pi*x(1))+cos(2*pi*x(2)))

else

y=inf

end

式中:x=x(1),y=x(2)

2、利用ga遗传算法工具箱求解

3、在工具箱中,Fitness function项输入@ga_fun;Number of variables项输入2;Lower项输入[-1,2];Upper项输入[2,1];

4、点击Start按钮,运行可以得到 fmax(0,0)值(Objective function value)。说明这里负号是最大值的标志

运行界面