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. 展开
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. 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询