[
https://issues.apache.org/jira/browse/MATH-1092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13914704#comment-13914704
]
Luc Maisonobe commented on MATH-1092:
-------------------------------------
This seems good to me.
The missing function evaluations count is probably due to the
GradientMultivariateOptimizer.computeObjectiveGradient method,
which lacks a call to incrementEvaluationCount() which is used for example in
MultivariateOptimizer.computeObjectiveValue.
I don't remember if this was intentional or not. Both computeObjectiveValue and
computeObjectiveGradient are called in
NonLinearConjugateGradientOptimizer.doOptimize, and computeObjectiveGradient
was also called (and was the only function called)
for the initial gradient-based line search. So we should probably also call
incrementEvaluationCount for computeObjectiveGradient, and
this will probably increase even more the total number of calls.
> NonLinearConjugateGradientOptimizer's Line search is a gradient search
> returns obviously suboptimal point.
> ----------------------------------------------------------------------------------------------------------
>
> Key: MATH-1092
> URL: https://issues.apache.org/jira/browse/MATH-1092
> Project: Commons Math
> Issue Type: Bug
> Reporter: Ajo Fod
> Attachments: MATH-1092.patch
>
>
> In package : org.apache.commons.math3.optim.nonlinear.scalar.gradient
> In a minimization problem, a line search should not return a point where the
> value is greater than the values at the edges of the interval. The line
> search violates this obvious requirement by focusing solely on solving for
> gradient=0 and ignoring the value.
> Moreover LineSearchFunction is something that can be used in other contexts,
> so perhaps this should be a standalone class.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)