Can I adjust patternsearch meshsize using output function (during optimisation)?

2 次查看(过去 30 天)
I am trying to adjust the 'meshsize' between certain iterations of a patternsearch optimisation. The output functions provides access to the patternsearch options, however this does not provide the variable meshsize. The meshsize is located in the optimvalues structure which is read-only (as far as I am aware). Is there any way to modify this without restarting the optimisation afresh?
For context, I am using a 'dynamic' cost function which changes slightly and I want to prevent premature convergence (and ensure a good search). If not, I will have to try and figure out a smooth way to restart optimisation without creating too much of a mess.
Thanks for any help!
p.s. I tried adjusting the MeshContractionFactor and MeshExpansionFactor to both be scalars giving the desired meshSize regardless of the next poll outcome. However, MeshContractionFactor has to be between 0 and 1. So that won't work.
  1 个评论
Robert Hamill
Robert Hamill 2023-5-23
@Alan Weiss Sorry if tagging is not encouraged but having read a lot of the optimisation questions, I thought you may well know the answer to this question.

请先登录,再进行评论。

采纳的回答

Alan Weiss
Alan Weiss 2023-5-23
Sorry to say, but a patternsearch output function does not allow you to change the mesh size. However, as I think you know, the output function does allow you to change options on the fly. But if you tried changing options already, which is what I think your comment on MeshContractionFactor is about, then I do not have any other ideas for you.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 个评论
Robert Hamill
Robert Hamill 2023-6-6
Thanks Alan. Yes, I have decided to rework my approach to avoid resetting the mesh size.
For anyone reading in the future:
  • You could manually set MeshContractionFactor and MeshExpansionFactor, and also temporaily set a 'fake' function value in order to force the desired change in mesh size.
  • You could just restart the optimisation with a specified initial mesh size. (May be a pain in some cases).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Direct Search 的更多信息

产品


版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by