フィルターのクリア

How does mesh scaling work in Pattern Search

3 ビュー (過去 30 日間)
kknd
kknd 2016 年 10 月 10 日
コメント済み: kknd 2016 年 10 月 11 日
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!

採用された回答

Alan Weiss
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
  1 件のコメント
kknd
kknd 2016 年 10 月 11 日
Alan,
I tried to read the patternsearch code (via the command edit patternsearch), but I couldn't find my way for the mesh scaling routine. Do you have any idea on where to search?
Nevertheless, I 'll give a try for manual scaling of the problem, as you proposed.
Thank you for your time!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDirect Search についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by