how to pass initial guess to ga(),this is my sample code and i want to initialize complex initial guess in the code please help
40 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Odette
el 11 de Mzo. de 2024
Comentada: Odette
el 12 de Mzo. de 2024
[z, f] = ga(@objfun,2);
disp(z)
function f = objfun(X)
% Create complex value from real and imaginary
z = X(:, 1) + i*X(:, 2);
f = z.^2 - z + 1;
f = abs(f);
end
0 comentarios
Respuesta aceptada
Walter Roberson
el 11 de Mzo. de 2024
In order to pass in an initial guess, you need to create an options structure and set
InitialPopulationMatrix specifies an initial population for the genetic algorithm. The default value is [], in which case ga uses the default CreationFcn to create an initial population. If you enter a nonempty array in the InitialPopulationMatrix, the array must have no more than PopulationSize rows, and exactly nvars columns, where nvars is the number of variables, the second input to ga or gamultiobj. If you have a partial initial population, meaning fewer than PopulationSize rows, then the genetic algorithm calls CreationFcn to generate the remaining individuals.
4 comentarios
Walter Roberson
el 12 de Mzo. de 2024
Editada: Walter Roberson
el 12 de Mzo. de 2024
initial=[1 2];
nvars=2;
opts=optimoptions('ga','InitialPopulationMatrix',initial,'PopulationSize',1);
[z, f] = ga(@objfun,nvars,[],[],[],[],[],[],[],opts);
disp(z)
function f = objfun(X)
% Create complex value from real and imaginary
z = X(:, 1) + i*X(:, 2);
f = z.^2 - z + 1;
f = abs(f);
end
A population as small as 1 is likely to cause problems.
Más respuestas (0)
Ver también
Categorías
Más información sobre Surrogate Optimization 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!