How does patternsearch decide to refine mesh without checking all mesh points?
显示 更早的评论
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.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Design Optimization 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!