How does "fminunc" try new point ?

1 vue (au cours des 30 derniers jours)
Naoya Inoue
Naoya Inoue le 12 Juin 2018
Commenté : Alan Weiss le 12 Juin 2018
I want to minimize "residual sum of squares" by "fminunc". Solver returns local minimum found message. But, During iterative calculation, Solver returns "User objective function returned NaN; trying a new point...". Algorithm of "fminunc" is quasi-newton, so I understand that Solver does not necessarily converge to "local minimum point". I want to know "How does this solver try new point ? ".

Réponse acceptée

Alan Weiss
Alan Weiss le 12 Juin 2018
I believe that, when a solver takes a step and encounters NaN, it then tries a step in the same direction but half the length. If that fails again, then the same direction but halved again. After a few tries it will give up, but I don't know how many tries it takes.
Alan Weiss
MATLAB mathematical toolbox documentation
  2 commentaires
Naoya Inoue
Naoya Inoue le 12 Juin 2018
Thank you for answering. Please tell me more two question. First:Is there any rationale for "fminunc" to halve the step? Second:If "fminunc" given up, how does he find new point ? Is it randam ? I try object by "fminunc". There was a big change in iterations. An example is shown below. """command window iteration Func-count f(x) Step-size First-order optimality 51 939 0.0059922 0.5 0.000562 \User objective function returned NaN; trying a new point... 52 1039 0.00599184 0.000669653 0.000729 """
Alan Weiss
Alan Weiss le 12 Juin 2018
I do not know of a reference, but I believe that this is a typical way to handle failures in a line search.
"Give up" means that fminunc stops iterating after too many evaluation failures and returns the best answer it can. It does not proceed further.
I could not easily read you iterative display. If you want us to be able to read and comment on it, please mark it up with the {} Code button.
Alan Weiss
MATLAB mathematical toolbox documentation

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by