[Rd] Buglet in optim() SANN
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun Oct 25 16:41:39 CET 2009
As the posting guide says, please read the help carefully before
posting. It does say:
‘maxit’ The maximum number of iterations. Defaults to ‘100’ for
the derivative-based methods, and ‘500’ for ‘"Nelder-Mead"’.
For ‘"SANN"’ ‘maxit’ gives the total number of function
evaluations. There is no other stopping criterion.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Defaults to ‘10000’.
so this is indicating 'successful convergence' as documented.
On Tue, 20 Oct 2009, Prof. John C Nash wrote:
> I think SANN method in optim() is failing to report that it has not
> converged. Here is an example
>
> genrose.f<- function(x, gs=NULL){ # objective function
> ## One generalization of the Rosenbrock banana valley function (n parameters)
> n <- length(x)
> if(is.null(gs)) { gs=100.0 }
> fval<-1.0 + sum (gs*(x[1:(n-1)]^2 - x[2:n])^2 + (x[2:n] - 1)^2)
> return(fval)
> }
>
> xx<-rep(pi,10)
> test<-optim(xx,genrose.f,method="SANN",control=list(maxit=1000,trace=1))
> print(test)
>
>
> Output is:
>
>> source("tsann.R")
> sann objective function values
> initial value 40781.805639
> iter 999 value 29.969529
> final value 29.969529
> sann stopped after 999 iterations
> $par
> [1] 1.0135254 0.9886862 1.1348609 1.0798927 1.0327997 1.1087146 1.1642130
> [8] 1.3038754 1.8628391 3.7569285
>
> $value
> [1] 29.96953
>
> $counts
> function gradient
> 1000 NA
>
> $convergence
> [1] 0 <------ THIS SHOULD BE 1 ACCORDING TO THE DOCS
It _should_ be 0 according to the help page.
>
> $message
> NULL
>
> Note terribly important, but maybe fixable.
>
> Cheers,
>
> John Nash
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list