How does "fminunc" try new point ?

1 Ansicht (letzte 30 Tage)
Naoya Inoue
Naoya Inoue am 12 Jun. 2018
Kommentiert: Alan Weiss am 12 Jun. 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 ? ".

Akzeptierte Antwort

Alan Weiss
Alan Weiss am 12 Jun. 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 Kommentare
Naoya Inoue
Naoya Inoue am 12 Jun. 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 am 12 Jun. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by