How does mesh scaling work in Pattern Search
8 次查看(过去 30 天)
显示 更早的评论
Hi to everyone,
as I am dealing with a constrained optimization problem, I decided to use Pattern Search. One of the decisions I have to make during the setup of the problem is to set the initial Mesh Size and the Mesh Tolerance. The problem is that the solution vector that I am searching for is poorly scaled. For example, in one direction the solution vector is allowed to vary from 1e-4 to 1e-3 (according to its boundaries), whilst in another direction it is allowed to range from 5 to 600.
In the corresponding documentation, I read that Pattern Search gives me the opportunity to deal with such problems by turning "ScaleMesh" to "on". The documentation in that point reads: "Scale is used to rotate the pattern by some degree and scale along the search directions". Rotating and scaling to "some degree" is a little bit vague, isn't it? How am I supposed to decide on the Mesh sizes and tolerance for such poorly scaled search dimensions? Hence, my question is the following: to which degree is the scaling and rotation performed?
I hope that I wasn't vague too!
Thank you all in advance!
0 个评论
采纳的回答
Alan Weiss
2016-10-11
You are free to read the patternsearch code to see exactly what is going on. Usually, when you have a poorly scaled problem, you would do better to fix the scaling yourself rather than relying on patternsearch to try to guess what is going on.
The documentation for patternsearch options states: "Scale (ScaleMesh) specifies whether the algorithm scales the mesh points by carefully multiplying the pattern vectors by constants proportional to the logarithms of the absolute values of components of the current point (or, for unconstrained problems, of the initial point). Scale can have the values Off or On (the default). When the problem has equality constraints, Scale is disabled."
Alan Weiss
MATLAB mathematical toolbox documentation
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Direct Search 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!