How to let fminsearch only search over integers?
Afficher commentaires plus anciens
c = cvpartition(200,'KFold',10);
minfn = @(z)kfoldLoss(fitcsvm(cdata,grp,'CVPartition',c,...
'KernelFunction','rbf','BoxConstraint',exp(z(2)),...
'KernelScale',exp(z(1))));
opts = optimset('TolX',5e-4,'TolFun',5e-4);
[searchmin fval] = fminsearch(minfn,randn(2,1),opts)
The minimization is over two parameters.
Now I would like to minimize a third parameter, but this parameter can only take positive integer values, i.e. 1,2,3,...
How can I tell fminsearch to only consider positive integers?
Second, if my third parameter gets initialized to 10 but it actual best value is 100, does fminsearch converge fast in such cases?
1 commentaire
Torsten
le 28 Avr 2016
fminsearch can not handle constraints that a certain variable to be optimized is an integer. Choose a reasonable range for this parameter (say 1,2,3,4,...,100), run fmincon with this parameter set to 1,2,3,4,5... 100 (thus 100 times) and choose the case out of the 100 results where "minfn" is minimal.
Best wishes
Torsten.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Solver Outputs and Iterative Display 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!