Failure in initial user-supplied fitness function evaluation. GA cannot continue.
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 20 Août 2017
Undefined function or variable 'lb1'.
Error in fit_driver (line 4)
LB= [lb1 lb2 lb3 lb4 lb5];
Lio Lio
le 26 Août 2017
Walter Roberson
le 27 Août 2017
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
le 28 Août 2017
Walter Roberson
le 28 Août 2017
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
le 28 Août 2017
Walter Roberson
le 28 Août 2017
I do not encounter any problems when I use your code in MATLAB R2015a.
航 汪
le 24 Août 2022
your 'ga' toolbox have error
效 钱
le 30 Mai 2024
Try using process-based parallel computing mode or turn off parallel computing.
Réponses (0)
Catégories
En savoir plus sur Entering Commands dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!