lsqnonlin ソルバーのオプションで、アルゴリズムに levenberg-marquardtを用いたときに定める関数評価回数とは、具体的に何を行っていますか?
8 views (last 30 days)
Show older comments
YASUHARU EBISUGI
on 20 Jul 2022
Answered: Atsushi Ueno
on 20 Jul 2022
こちらのサイト(※1)を参考に非線形最小二乗問題を解きたいと考えていますが、
options = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...
'MaxFunctionEvaluations',1500)
上記のMaxFunctionEvaluationsで定めている関数評価回数がどのような役割を担っているか知りたいです。
よろしくお願いいたします。
(※1) https://jp.mathworks.com/help/optim/ug/optim.problemdef.optimizationproblem.optimoptions.html
0 Comments
Accepted Answer
Atsushi Ueno
on 20 Jul 2022
>MaxFunctionEvaluationsで定めている関数評価回数がどのような役割を担っているか知りたいです
ソルバーが最適化演算を何度繰り返しても結果が収束しない場合の為「反復停止条件」を指定します。「反復停止条件」は「反復回数: MaxIterations」の他に「関数評価回数: MaxFunctionEvaluations」も指定できます。いずれかが指定値に到達したら反復を停止します。
MaxIterations:ソルバー反復回数に関する範囲、可能な反復の最大数 (正の整数)
MaxFunctionEvaluations:関数評価回数に関する範囲、可能な関数評価の最大数 (正の整数)
「反復回数: MaxIterations」と「関数評価回数: MaxFunctionEvaluations」は一致しそうなものですが、上記の説明によるとアルゴリズムや計算対象、制約条件の有無により異なるそうです。
0 Comments
More Answers (0)
See Also
Categories
Find more on Optimization Toolbox 入門 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!