How does patternsearch decide to refine mesh without checking all mesh points?
Mostra commenti meno recenti
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 Commento
Jan Hofste
il 5 Gen 2021
Risposte (0)
Categorie
Scopri di più su Simulink Design Optimization in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!