Borrar filtros
Borrar filtros

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

18 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Sam Chak
Sam Chak el 13 de Jul. de 2022
Editada: Sam Chak el 13 de Jul. de 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

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by