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!