フィルターのクリア

Why does my optimization stop after the first iteration?

4 ビュー (過去 30 日間)
Rosi Marungu
Rosi Marungu 2016 年 1 月 25 日
編集済み: Matt J 2016 年 1 月 26 日
I do not know much about numerical optimization. My question is, what are possible reasons for fmincon to stop after 0 iterations. Here are the clues:
  • I do not provide a gradient or hessian.
  • It stops because:"size of the current step is less thanthe default value of the step size tolerance and constraints are satisfied to within the default value of the constraint tolerance"
  • feasibility is 0.0000,First-order optimality is 1.206e+09
  • Using patternsearch works and it finds the optimum
Another question: I suspect, that patternsearch is much slower than fmincon when the number of arguments increases, right?
Thank you for your time.
  3 件のコメント
Rosi Marungu
Rosi Marungu 2016 年 1 月 25 日
Thank you for your answer. Some follow up questions: Isn't it odd that it stops even though First-order optimality is 1.206e+09? This should be a number as small as possible, right? So shouldn't there be a threshold above which the solver cannot declare to have found a solution?
Does that give a clue about what the function looks like at that point?
Thank you very much.
Matt J
Matt J 2016 年 1 月 26 日
編集済み: Matt J 2016 年 1 月 26 日
This should be a number as small as possible, right?
First order optimality isn't the only criterion that can trigger a stop. Also, to be considered small, a value for the first-order optimality measure need only be small relative to typical magnitudes of the function's derivative. Try this simple problem, for instance,
[x,fval,ef,out]=fmincon(@(x) 1e18*x^2,.5,[],[],[],[],0,1)
You will see that out.firstorderopt is ~1e9.
Bottom line -- we really need to see your code.

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

回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by