From: Paul Smith <phhs80_at_gmail.com>

Date: Wed, 02 Apr 2008 18:56:41 +0100

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 - 17:59:59 GMT

Date: Wed, 02 Apr 2008 18:56:41 +0100

But let me add the following: the part

- 2000000*(sum(x)-k)^2

of my function is a penalty. In truth, I want to maximize

sum((b^(0:(n-1)))*log(x))

s.t.

sum(x) = k.

Paul

On Wed, Apr 2, 2008 at 6:48 PM, Paul Smith <phhs80_at_gmail.com> wrote:

> Thanks, Ravi. The analytical solution, (x_1,x_2,...,x_10), should

*> satisfy this equality:
**>
**> x_t / x_(t-1) = 0.3.
**>
**> Unfortunately, the procedure that you suggest does not lead to a
**> solution that satisfies such an equality.
**>
**> Paul
**>
**>
**>
**>
**>
**> On Wed, Apr 2, 2008 at 5:12 PM, Ravi Varadhan <rvaradhan_at_jhmi.edu> wrote:
**> > 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.
**> >
**> > ----------------------------------------------------------------------------
**> > -------
**> >
**> > 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 - 17:59:59 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.
*