GA code problem in using options
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am using GA as a solver of my optimization problem. However, it gives me an error about options I use. o
ptions = optimoptions('ga','MaxGenerations',{10e5});
[x,fval] = ga(@obj_func,3,[],[],[],[],lb,ub,options);
The error I get is as follow:
Error using optimoptions (line 114)
Invalid solver specified. Provide a solver name or handle (such as 'fmincon' or
@fminunc).
Type DOC OPTIMOPTIONS for a list of solvers.
I have checked the option for GA and apparently, I am not using anything wrong. Anyone can help me with this? Thank you so much for the time.
0 commentaires
Réponse acceptée
Alan Weiss
le 19 Oct 2018
optimoptions was extended to ga in R2016a. If your MATLAB version is older than that, use gaoptimset. And, as Stephan said, do not put the value of MaxGenerations in curly braces.
Alan Weiss
MATLAB mathematical toolbox documentation
7 commentaires
Alan Weiss
le 19 Oct 2018
Modifié(e) : Alan Weiss
le 19 Oct 2018
Sorry, my oversight. The correct syntax, as documented, is
options = gaoptimset('Generations',1e5);
It would probably be easier for you not to use the current documentation, but instead to use the documentation for your version of MATLAB.
Alan Weiss
MATLAB mathematical toolbox documentation
Plus de réponses (1)
Stephan
le 19 Oct 2018
Modifié(e) : Stephan
le 19 Oct 2018
Hi,
this one does create a valid options object on my system:
options = optimoptions(@ga,'MaxGenerations',10e5);
[x,fval] = ga(@obj_func,3,[],[],[],[],lb,ub,options);
Note that the value should be a real integer: MaxGenerations Maximum number of iterations before the algorithm halts. Positive integer |{100*numberOfVariables} for ga, {200*numberOfVariables} for gamultiobj
The curly braces in the documentation tell you: Values in {} denote the default value.
There is a difference between both, because a cell array is not an integer:
>> a = 10e5
a =
1000000
>> b = {10e5}
b =
1×1 cell array
{[1000000]}
>> whos a b
Name Size Bytes Class Attributes
a 1x1 8 double
b 1x1 120 cell
Best regards
Stephan
2 commentaires
Stephan
le 19 Oct 2018
Did you see Alans answer? Sometimes it is useful to provide the Matlab release used.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!