specify the number of iterations in genetic algorithm matlab (ga)

21 visualizzazioni (ultimi 30 giorni)
dear all
I have a question related to the genetic algorithm (ga) in MATLAB I would like to specify the number of iterations so the algorithm stops after this number
I have only five variables

Risposta accettata

Sam Chak
Sam Chak il 13 Lug 2022
Modificato: Sam Chak il 13 Lug 2022
Here is a simple example where you can vary MaxGene and check the accuracy of the result.
fun = @objfcn; % objective function, specified as a function handle
PopuSiz = 50; % Population Size
MaxGene = 100; % Max Generations
nvars = 5; % number of variables
A = -eye(nvars); % []; %
b = zeros(nvars, 1); % linear inequality constraints, A*x <= b
Aeq = [];
beq = [];
lb = [];
ub = [];
nonlcon = [];
options = optimoptions('ga', 'PopulationSize', PopuSiz, 'MaxGenerations', MaxGene);
[x, fval, exitflag, output] = ga(fun, nvars, A, b, Aeq, beq, lb, ub, nonlcon, options)
Optimization terminated: maximum number of generations exceeded.
x = 1×5
1.0006 2.0004 3.0003 4.0006 5.0011
fval = 2.1865e-06
exitflag = 0
output = struct with fields:
problemtype: 'linearconstraints' rngstate: [1×1 struct] generations: 100 funccount: 4753 message: 'Optimization terminated: maximum number of generations exceeded.' maxconstraint: 0 hybridflag: []
function y = objfcn(x)
y = (x(1) - 1).^2 + (x(2) - 2).^2 + (x(3) - 3).^2 + (x(4) - 4).^2 + (x(5) - 5).^2;
end

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by