How to use ga in matlab as a binary genetic algorithm?
Mostrar comentarios más antiguos
Hi,
I want to use ga for binary variables only?
Respuestas (1)
5 comentarios
Phoenix98
el 25 de Dic. de 2018
They are stored in x.
disp(x)
To have only binary variables use:
Inton = 1:3;
your upper bounds should be:
[1 1 1]
Phoenix98
el 25 de Dic. de 2018
Stephan
el 25 de Dic. de 2018
?
Walter Roberson
el 25 de Dic. de 2018
rng(1,'twister')
IntCon = 1:3;
%% Start with the default options
options = optimoptions('ga');
%% options setting
options = optimoptions(options,'MaxGenerations', 500);
options = optimoptions(options,'MaxStallGenerations', inf);
options = optimoptions(options,'FunctionTolerance', 0);
options = optimoptions(options,'ConstraintTolerance', 0);
options = optimoptions(options,'Display', 'off');
options = optimoptions(options,'PlotFcn', { @gaplotbestf });
[x,fval,exitflag,output,population,score] = ...
ga(@fitness,3,[],[],[],[],[0 0 0],[1 1 1],@constraints,IntCon,options);
disp(x);
However, the best is not [1 0 0]: it is [1 0 1]
There are only 8 possible configurations for x, so there is no point in running 500 generations.
Categorías
Más información sobre Genetic Algorithm en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!