Setting lower and upper bounds in 'ga' algorithm.

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

Ande Mandoyi
Ande Mandoyi el 10 de Oct. de 2020
Thank you ever so much
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)

Productos

Versión

R2019a

Preguntada:

el 10 de Oct. de 2020

Comentada:

el 27 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by