From: Ravi Varadhan <rvaradhan_at_jhmi.edu>

Date: Wed, 02 Apr 2008 12:12:56 -0400

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 02 Apr 2008 - 16:24:13 GMT

Date: Wed, 02 Apr 2008 12:12:56 -0400

Paul,

Have you tried using "BFGS" without bounds?

sols <- optim(rep(20,nvar), f, gr, method="BFGS", control=list(fnscale=-1))

This converges to a solution, although I don't know if the converged solution is what you want.

Ravi Varadhan, Ph.D.

Assistant Professor, The Center on Aging and Health

Division of Geriatric Medicine and Gerontology

Johns Hopkins University

Ph: (410) 502-2619

Fax: (410) 614-9625

Email: rvaradhan_at_jhmi.edu

Webpage: http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html

-----Original Message-----

From: r-help-bounces_at_r-project.org [mailto:r-help-bounces_at_r-project.org] On
Behalf Of Paul Smith

Sent: Monday, March 31, 2008 2:25 PM

To: R-help

Subject: Re: [R] L-BFGS-B needs finite values of 'fn'

On Mon, Mar 31, 2008 at 2:57 PM, Zaihra T <zaihra_at_uwindsor.ca> wrote:

> try something like this before wrapping up your function else i guess

u'll

> have to stick to Prof Brian Ripley suggestion his suggestions are usually

*> best bet .
**>
**> f <- function(x) {
**>
**> n <- length(x)
**>
**> r <- sum((b^(0:(n-1)))*log(x)) - 2000000*(sum(x)-k)^2
**> if(!is.finite(r))
**>
**> r<-1e+20 return(r)
**>
**> }
**>
**> have a nice day.
**>
**>
**>
**>
**> On Mon, 31 Mar 2008 12:24:09 +0100 "Paul Smith" wrote:
**> > Dear All,
**> >
**> > I am trying to solve the optimization problem below, but I am always
**> > getting the following error:
**> >
**> > Error in optim(rep(20, nvar), f, gr, method = "L-BFGS-B", lower = rep(0,
*

:

*> > L-BFGS-B needs finite values of 'fn'
**> >
*

> > Any ideas?

*> >
**> > Thanks in advance,
**> >
**> > Paul
**> >
**> > -----------------------------------------! ------
**> >
**> > k <- 10000
**> > b <- 0.3
**> >
**> > f <- function(x) {
**> >
**> > n <- length(x)
**> >
**> > r <- sum((b^(0:(n-1)))*log(x)) - 2000000*(sum(x)-k)^2
**> >
**> > return(r)
**> >
**> > }
**> >
**> > gr <- function(x) {
**> >
**> > n <- length(x)
**> >
**> > r <- (b^(0:(n-1)))*(1/x) - 4000000*(sum(x)-k)
**> >
**> > return(r)
**> >
**> > }
**> >
**> > nvar <- 10
**> > (sols <-
**> >
**>
*

optim(rep(20,nvar),f,gr,method="L-BFGS-B",lower=rep(0,nvar),upper=rep(k,nvar
),control=list(fnscale=-1,parscale=rep(2000,nvar),factr=1e-300,pgtol=1e-300)
))

Not much progress, Zaihra. Unfortunately! I am wondering whether one can transform the original problem into an equivalent one and solvable with optim.

I know the analytical solution; I am just trying to check how far can R go regarding optimization problems.

Paul

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 02 Apr 2008 - 16:24:13 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 02 Apr 2008 - 18:30:26 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*