how does fmincon deal with ill-conditioned problem?

3 ビュー (過去 30 日間)
Frank
Frank 2023 年 9 月 16 日
回答済み: Matt J 2023 年 9 月 17 日
Do I need to do regularization to my problem such as with Tikhonov regularization before applying fmincon?
Thank you very much!
  4 件のコメント
Rik
Rik 2023 年 9 月 16 日
Your current question amounts to "I have a problem, do I need Tikhonov regularization to fix it?"
I don't have a crystal ball, so I have no way of telling what you're trying to do.
Have a read here and here. It will greatly improve your chances of getting an answer.
Walter Roberson
Walter Roberson 2023 年 9 月 16 日
Would it help to provide options that tell fmincon how to perform jacobian estimation? The estimation function could potentially do scaling of variables before calculating the jacobian.

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

回答 (3 件)

Bruno Luong
Bruno Luong 2023 年 9 月 16 日
No fmincon don't do anything beside minimizing what feed i. If you provide a function that related to an ill posed inverse problem then you likely to get garbage back or non-fully converging.
Up to you to regularize your problem.

John D'Errico
John D'Errico 2023 年 9 月 16 日
編集済み: John D'Errico 2023 年 9 月 16 日
fmincon assumes you know what you are doing. (Is that not a good idea?) It tries to solve what you gave it to solve. Surely that is correct, in terms of code.
So, no, it will not modify your problem, solving a problem you have not given it. If the problem is ill-conditioned, then yes, it may fail. But that is then your issue to deal with. Sorry. Yes, it would be nice if software was able to recognize that you gave it crap, and then decide how to fix what you gave it. But now we are going down the lines of having our software rewrite our code, fixing what it decides is a bug automatically. I don't know about you, but I have seen that spell checkers can do as much harm as good.
Essentially, you need to understand the methods and the mathematics you will use, and pose a proper mathematical problem, one that has a valid solution when performed in double precision arithmetic when using those solvers.

Matt J
Matt J 2023 年 9 月 17 日
It depends how badly conditioned your objective is. Most fmincon algorithms are some variation of Newton's method, which helps against poor relative scaling of the different variables. However, if the Hessian is singular outright, then regularization may be required. Keep in mind as well that any equality constraints you apply can help regularize the problem. Adding penalty terms to the objective isn't the only way.

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by