commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luc Maisonobe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-1092) NonLinearConjugateGradientOptimizer's Line search is a gradient search returns obviously suboptimal point.
Date Thu, 27 Feb 2014 16:31:20 GMT

    [ 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)

Mime
View raw message