How to use ga in matlab as a binary genetic algorithm?
Afficher commentaires plus anciens
Hi,
I want to use ga for binary variables only?
Réponses (1)
5 commentaires
Phoenix98
le 25 Déc 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
le 25 Déc 2018
Stephan
le 25 Déc 2018
?
Walter Roberson
le 25 Déc 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.
Catégories
En savoir plus sur Genetic Algorithm dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!