How to invoke and use GA tool in Matlab R2022b?

27 views (last 30 days)
I typed optimtool in Matlab R2022b to invoke the GA Tool but its' not there. Can anybody guide me how to invoke and use GA tool in Matlab R 2022b because I usually tune the setting for the best results but since its not here, so what to do and how to do?
Regards,
  4 Comments
Star Strider
Star Strider on 14 Dec 2022
First, there is no reason to put the ga call in a loop unless you are varying specific parameters between calls to it.
Second, I have no idea what the fitness function is or the problem you are optimising.
Third, it is never advisable to use global variables. See the documentation on Passing Extra Parameters to understand how to do that correctly.
Sadiq Akbar
Sadiq Akbar on 14 Dec 2022
Reason to put ga in loop: Because I want to get 10 independent run values for the same parameters.
The fitness function is a user defined function defined for the problem. My problem is to find the desired solution x whose value matches the value of my desired vector u or nearly matches it.
Use of global variables: If I don't use global variables, then how will it be visible to my fitness function?

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 14 Dec 2022
If you are doing parameter estimation, this approach will likely work —
x = 1:0.1:10;
y = 2.5*exp(-(x-5).^2/2)+randn(size(x))*0.25;
objfcn = @(b,x) b(1).*exp(-(x-b(2)).^2*b(3));
fitnessfcn = @(b) norm(y-objfcn(b,x));
Parms = 3;
opts = optimoptions('ga', 'MaxGenerations',1000);
[B,fval,exitflag,output] = ga(fitnessfcn, Parms,[],[],[],[],[],[],[],opts);
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
Parameters = B
Parameters = 1×3
2.5311 4.8704 0.5030
BestFitness = fval
BestFitness = 2.2760
Generations = output.generations
Generations = 129
figure
plot(x, y, '.', 'DisplayName','Data')
hold on
plot(x, objfcn(B,x), '-r', 'DisplayName','Function Fit')
hold off
grid
legend('Location','best')
This uses ga to estimate the parameters of the function fitting the data.
With respect to eliminating global variables, see the ‘Passing Extra Parameters’ documentation I already linked to.
.
  17 Comments
Sadiq Akbar
Sadiq Akbar on 20 Dec 2022
Thanks a lot for your pray dear Star Strider. Stay blessed.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!