How can one pass arguments to a custom CrossoverFunction in ga?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I need to pass 2 additional variables along with the solution and the rest of the GA-related parameters (parents, options, etc).
The previous doc page refer to "Passing Extra Parameters" to see how to pass additional arguments, and I believe I am doing it the same way it is explained there.
I define the function this way:
function xoverKids = ga_crossover(parents,options,nvars,FitnessFcn,~,thisPopulation,par1,par2)
xoverKids = []; %test
end
And I tell ga() to use it via:
options.CrossoverFcn = @(x) ga_crossover(x,par1,par2);
% (...)
x = ga(ObjectiveFunction,nvars,[],[],[],[],lb,ub,ConstraintFunction,options);
I get the error that there are too many input arguments.
Inside MATLAB's own stepGa.m, the variable options.CrossoverFcnArgs that is passed as argument to the crossover function appears empty, so I think I am not setting up the function+arguments properly in the options.
Could you help me fix this?
Thank you!
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Genetic Algorithm finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!