How does patternsearch decide to refine mesh without checking all mesh points?
Afficher commentaires plus anciens
With patternsearch there is the option UseCompletePoll (on/off), When set to 'off' the algorithm goes to the next poll when the objective function of a certain mesh coordinate is lower than that of the current coordinate without also checking all other mesh points. This, of course, saves time. The algorithm feedback then displays 'Succesfull Poll'. However, when set to 'off' I also notice that the algorithm goes to the next poll, without having checked all mesh coordinates, when (apparently) the poll is unsuccesfull, i.e. the feedback reads 'Refine Mesh'.
My quenstion is: How does the algorithm know to go to the next poll and refine while it did not check all mesh points?
What I use:
options = optimoptions('patternsearch','Display','iter',...
'InitialMeshSize',1,...
'MeshExpansionFactor',3,...
'MeshContractionFactor',0.5,...
'ScaleMesh','off',...
'MeshTolerance',5e-2,...
'FunctionTolerance',1e-3,...
'PollOrderalgorithm','random',...
'Cache','on');
[Xopt,Fval] = patternsearch(@obj,X0,[],[],[],[],LB,UB,[],options);
where the function 'obj' is a function that runs an external (non-Matlab) programm.
1 commentaire
Jan Hofste
le 5 Jan 2021
Réponses (0)
Catégories
En savoir plus sur Direct Search dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!