MATLAB Answers

fmincon for bounded optimization problem

22 ビュー (過去 30 日間)
Devyani
Devyani 2021 年 1 月 16 日
コメント済み: Devyani 2021 年 1 月 18 日
Hello,
I am trying to solve a nonlinear optimization problem using fmincon interior point method. Originally my problem formulation does not have bounds on the decision variable, and when i try to run it without the bounds then it takes infintie time and when I run it with bounds then it is much faster. Following are my questions:
1) Why bounds are making the algorithm faster?
2) The final optimal result for the problem is nowhere near the bound, but my lagrange multiplier for the bounds is coming to be non zero, arent they supposed to be zero if the solution is not hitting the bounds?
3) How is the first order optimality criteria defined for interior point method? I saw the documentation but it is not clear to me, is the infinite norm of the grad or some other equation?
I am giving very good initial guess (exact true values) to my problem to make sure it is near the optimal. When I do that, the optimizer is just giving me the intial guess as my final solution which is not possible as I am feeding noisy data to my problem.
Thanks in advance

  7 件のコメント

表示 4 件の古いコメント
Devyani
Devyani 2021 年 1 月 17 日
@Walter Roberson Hello, I have given my code. Also i checked with inv, the Qdk is not singular.
Thanks in advance
Walter Roberson
Walter Roberson 2021 年 1 月 17 日
I had to uninstall MATLAB temporarily because of operating system limitations (not related to MATLAB itself.) It may take me a bit of time to recover.
Devyani
Devyani 2021 年 1 月 18 日
Okay thank you @Walter Roberson

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

回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 1 月 16 日
Generally speaking, functions without bounds can take indefinite time to minimize if the function has an asymptope
| |
___/ --v-+
where the v marks the minimum. But if the function happens to land on the shoulder to the left then the local gradient slopes away from the center and the minimizer can take indefinite time exploring that left slope.
fmincon is a local optimizer: there is no way for it to know that it should spend time climbing the hill to the center to get to a better opportunity. And not every such hill happens to lead to a global minimum. Furthermore, the global minimum can be an indefinitely small part of the graph -- imagine putting something heavy on a section of stiff rubber that has a very elastic center, then unless you were quite close to the indentation you would get no information that it existed.

  3 件のコメント

Devyani
Devyani 2021 年 1 月 16 日
Thank you for the response, that explains why I need bounds. But why the langrange multiplliers are non-zero when the final optimal values are not near the bounds.?
Walter Roberson
Walter Roberson 2021 年 1 月 16 日
Sorry, I am not familiar with the theory about the lagrange multipliers. (I read it once, but did not retain it in memory.)
Devyani
Devyani 2021 年 1 月 16 日
Okay thank you anyways for solving the first part.:)

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

Community Treasure Hunt

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

Start Hunting!

Translated by