Setting lower and upper bounds in 'ga' algorithm.

3 visualizaciones (últimos 30 días)
Ande Mandoyi
Ande Mandoyi el 10 de Oct. de 2020
Comentada: Learner123 el 27 de Abr. de 2021
I am trying to find the global minimum of the Ackley function using a genetic algorithm 'ga'. My code works fine until i try to add lower and upper bounds then I get errors. Please help me add the bounds to my code.
function y = myFitness(x)
y = -20.*exp(-0.2.*sqrt(0.5.*(x(1).^2+ x(2).^2))) - exp(0.5.*(cos(2.*pi.*x(1)))+(cos(2.*pi.*x(2))))+exp(1)+20;
end
clc
FitFcn = @myFitness;
nvars = 2;
lb = [-5 5];
ub = [5 5];
[x, fval] = ga(FitFcn, nvars)

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 10 de Oct. de 2020
See the lb and ub arguments: https://www.mathworks.com/help/gads/ga.html. For example
FitFcn = @myFitness;
nvars = 2;
lb = [-5 5];
ub = [5 5];
[x, fval] = ga(FitFcn, nvars, [], [], [], [], lb, ub)
  3 comentarios
Ameer Hamza
Ameer Hamza el 10 de Oct. de 2020
I am glad to be of help!
Learner123
Learner123 el 27 de Abr. de 2021
Hi,
I have a similar issue. When I set lb and ub
I am getting an error.
Error using ga
Too many input arguments.
Any help is greatly appreciated. Thanks in advance

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by