[R] Starting value problem for CG in optim()

John C Nash nashjc at uottawa.ca
Thu Jun 28 16:17:07 CEST 2012


I see at least 4 issues with trying this.

1) I am on record several times that CG was the LEAST SUCCESSFUL of the codes I put in my
1979 book and which is CG in optim().

2) Rcgmin is better (I implemented this, but the method is Yuan/Dai), and there may be
other CG codes that can squeeze a bit more performance from this family of codes.

3) CG without analytic derivatives is fish and chips with either no fish or no chips or
just the greasy paper.

4) CG is intended for large n problems, 300 or 3000 rather than 3.

JN



On 06/28/2012 06:00 AM, r-help-request at r-project.org wrote:
> Message: 102
> Date: Thu, 28 Jun 2012 09:54:24 +0000
> From: <nataraj at orchidpharma.com>
> To: <R-help at r-project.org>
> Subject: [R] Strating value problem for CG in optim()
> Message-ID:
> 	<D53C394DF9CD604EAAB6AAD64D80E828509A612A at SLREXCH.ORCHIDPHARMA.COM>
> Content-Type: text/plain; charset="us-ascii"
> 
> 
> Dear list-members,
> 
> I have done optimization of 3 parameters by maximum likelihood method using conjugate gradient as optimizer. Since I have the reported value of the parameters from an article, I can validate the result of the optimized parameters. The problem is that optimizer converges to the desirable value. (as reported in the article) only for a certain starting value.
> 
> If the staring value of the parameters are like (2,1,1) then the value of parameters the function converges is
> $par
> [1] -0.4169408 -0.2800828  2.9614670
> 
> And the value is close to the value of article reported in the article
> Vs = 0.4861 ; Vn = 0.1478 and m is some positive value (no value mentioned in the article)
> 
> And If I fine tune the starting value from (2,1,1) to (1.949,1.13,1) then I get the value of the parameters very close to the one reported.
> 
> $par
> [1] -0.4700892 -0.1428245  2.9614670
> 
> Now the question is how I can find the starting values for the test experiment for which I am going to implement this optimization procedure.
> Is there any function to be wrapped with optim() to find the right starting value.
> 
> 
> 
> Regards,
> B.Nataraj



More information about the R-help mailing list