matlab,遗传算法,求大佬帮忙
matlab,遗传算法,求大佬帮忙具体求图中函数最大值,运用matlab编写遗传算法程序,约束条件也有,图中f(1)......f(12)取0或者1这两个值中一个...
matlab,遗传算法,求大佬帮忙具体求图中函数最大值,运用matlab编写遗传算法程序,约束条件也有,图中f(1)......f(12)取0或者1这两个值中一个
展开
1个回答
展开全部
用遗传算法求最大值问题,可以这样来解决。
1、将最大值问题转换为最小值问题,即 max Z =- min Z;
2、建立其自定义函数,即
z=-(f1*40^1.5/1+f2*30^1.5/2+f2*20^1.5/2+。。。+f12*127^1.5/2+f12*5^1.5/4)
其中:f1,f2,f3,。。。f11,f12为0,1变量,可以用sign()符号函数来处理。
3、用遗传算法ga()函数求解,使用方法
objectivef=@ga_func;
nvars=12;
[x, fval] =ga(objectivef,nvars)
4、编程运行后得到
f1=1,f2=1,f3=1,f4=0,f5=1,f6=0,f7=1,f8=1,f9=1,f10=1,f11=1,f12=1
Zmax=27329.5018
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询