Matlab利用GA算法的多约束非线性问题求助

主程序:GA算法接力进化clc;closeall;clearall;T=100;%进化代数optionsOrigin=gaoptimset('Generations',T... 主程序:GA算法接力进化
clc;
close all;
clear all;
T=100; %进化代数
optionsOrigin=gaoptimset('Generations',T/2);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,2,optionsOrigin);
options1=gaoptimset('Generations',T/2,'InitialPopulation',finnal_pop,...%进行第二次接力进化
'PlotFcns',@gaplotbestf);
[x,fval,reason,output,finnal_pop]=ga(@ch14_2f,options1);
Bestx=x
BestFval=fval
编写M文件
function f=ch14_2f(x)

g1=1.5+x(1)*x(2)-x(1)-x(2); %约束条件
g2=-x(1)*x(2);
if(g1>0|g2>10)
f=100;
else
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);%目标函数
end
为什么会出现这样的错误??Optimization terminated: maximum number of generations exceeded.
Error using ga (line 283)
Number of variables (NVARS) must be a positive integer.
展开
 我来答
我有让1
2014-07-30 · TA获得超过156个赞
知道小有建树答主
回答量:477
采纳率:84%
帮助的人:106万
展开全部
你的ga函数使用不对,猜测是你用的代码的matlab版本比较老,你自己的matlab比较新,ga函数经过几次的升级,调用方法进行了改进。
追问
哦哦原来如此,那谢谢了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式