Failure in initial user-supplied fitness function evaluation. GA cannot continue.
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 20 de Ag. de 2017
Undefined function or variable 'lb1'.
Error in fit_driver (line 4)
LB= [lb1 lb2 lb3 lb4 lb5];
Lio Lio
el 26 de Ag. de 2017
Walter Roberson
el 27 de Ag. de 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
el 28 de Ag. de 2017
Walter Roberson
el 28 de Ag. de 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
el 28 de Ag. de 2017
Walter Roberson
el 28 de Ag. de 2017
I do not encounter any problems when I use your code in MATLAB R2015a.
航 汪
el 24 de Ag. de 2022
your 'ga' toolbox have error
效 钱
el 30 de Mayo de 2024
Try using process-based parallel computing mode or turn off parallel computing.
Respuestas (0)
Categorías
Más información sobre Entering Commands en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!