How does patternsearch decide to refine mesh without checking all mesh points?
Ältere Kommentare anzeigen
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 Kommentar
Jan Hofste
am 5 Jan. 2021
Antworten (0)
Kategorien
Mehr zu Direct Search finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!