Failure in initial user-supplied fitness function evaluation. GA cannot continue.
显示 更早的评论
Hello, I have a problem when applying Useparallel in genetic algorithms. This is my code:
i
ObjFcn = @myFitness;
IntCon=[1 2 3 4 5];
nvars = 5;
LB= [lb1 lb2 lb3 lb4 lb5];
UB= [20 100 100 100 100];
ConsFcn= @Repecarga;
opts = gaoptimset('PlotFcns',{@gaplotbestf,@gaplotbestindiv},'UseParallel',true);
opts.PopulationSize = 30;
[ho,fval]=ga(ObjFcn,nvars,[],[],[],[],LB,UB,ConsFcn,IntCon,opts)
My objective function is as follows:
i
function y = myFitness(ho)
y = 65*ho(1)+15*ho(2)+13*ho(3)+ 7*ho(4)+2*ho(5)
end
The error I get is this
Error in ga (line 351)
[x,fval,exitFlag,output,population,scores] = gaminlp(FitnessFcn,nvars, ...
Error in EJECUTABLE (line 136)
[ho, fval]=ga(ObjFcn,nvars,[],[],[],[],LB,UB,ConsFcn,IntCon,opts)
Caused by:
Failure in user-supplied fitness function evaluation. Cannot continue.
Failure in initial user-supplied fitness function evaluation. GA cannot continue.
Regards.
9 个评论
Walter Roberson
2017-8-20
Undefined function or variable 'lb1'.
Error in fit_driver (line 4)
LB= [lb1 lb2 lb3 lb4 lb5];
Lio Lio
2017-8-26
Walter Roberson
2017-8-27
Undefined function or variable 'Repecarga'.
You did not post a complete copy of your error message, so all we can do is run the code you provided hoping that we see the same error you saw.
Lio Lio
2017-8-28
Walter Roberson
2017-8-28
Which MATLAB version are you using? That problem does not occur for me when I use your code.
Note: you do not initialize the global Ejes_equivalentes so it is initialized to [] automatically. All of the tests along the lines of
(Ejes_equivalentes>150001) & (Ejes_equivalentes<=500000)
fail because the variable is empty. You end up using the "else" clause.
Note that your code
else Ejes_equivalentes>50000000
lb1 = 5
lb2 = 15
lb3 = 15
lb4 = 30
lb5 = 0
means the same thing as
else
disp( Ejes_equivalentes>50000000 )
lb1 = 5
lb2 = 15
lb3 = 15
lb4 = 30
lb5 = 0
because it is not an "elseif".
If it were an elseif then your code would fail to initialize lbl1 and so on.
Lio Lio
2017-8-28
Walter Roberson
2017-8-28
I do not encounter any problems when I use your code in MATLAB R2015a.
航 汪
2022-8-24
your 'ga' toolbox have error
效 钱
2024-5-30
Try using process-based parallel computing mode or turn off parallel computing.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Entering Commands 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!