lsqnonlin ソルバーのオプションで、アルゴリズムに levenberg-​marquardtを​用いたときに定める関​数評価回数とは、具体​的に何を行っています​か?

3 views (last 30 days)
こちらのサイト(※1)を参考に非線形最小二乗問題を解きたいと考えていますが、
options = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...
'MaxFunctionEvaluations',1500)
上記のMaxFunctionEvaluationsで定めている関数評価回数がどのような役割を担っているか知りたいです。
よろしくお願いいたします。
(※1) https://jp.mathworks.com/help/optim/ug/optim.problemdef.optimizationproblem.optimoptions.html

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 20 Jul 2022
>MaxFunctionEvaluationsで定めている関数評価回数がどのような役割を担っているか知りたいです
ソルバーが最適化演算を何度繰り返しても結果が収束しない場合の為「反復停止条件」を指定します。「反復停止条件」は「反復回数: MaxIterations」の他に「関数評価回数: MaxFunctionEvaluations」も指定できます。いずれかが指定値に到達したら反復を停止します。
MaxIterations:ソルバー反復回数に関する範囲、可能な反復の最大数 (正の整数)
MaxFunctionEvaluations:関数評価回数に関する範囲、可能な関数評価の最大数 (正の整数)
「反復回数: MaxIterations」と「関数評価回数: MaxFunctionEvaluations」は一致しそうなものですが、上記の説明によるとアルゴリズムや計算対象、制約条件の有無により異なるそうです。

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!