侠客雪飞 发表于 2011-2-13 23:27

急求高手指点!!!

想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:

function z=dd(x);
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
+190.2*x(5)*x(10);
g(1)=-x(1)+x(6);
g(2)=-x(2)+x(7);
g(3)=-x(3)+x(8);
g(4)=-x(4)+x(9);
g(5)=-x(5)+x(10);
g(6)=x(1)-0.73;
g(7)=x(2)-0.33;
g(8)=x(3)-0.93;
g(9)=x(4)-0.85;
g(10)=x(5)-1;
g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;
if(g(1)<0) &(g(2)<0) &(g(3)<0) &(g(4)<0) &(g(5)<0) &(g(6)<0) &(g(7)<0) &(g(8)<0) &(g(9)<0) &(g(10)<0) &(g(11)>0) &(g(12)>0) & (x>=0) z=f;
else z=-100;
end
z=-z;

主程序里是:
options=gaoptimset
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
=ga(@dd,10,options)
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。

跪求指点!
页: [1]
查看完整版本: 急求高手指点!!!