[R] Relatively Simple Maximization Using Optim Doesnt Optimize

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Thu Mar 12 15:21:46 CET 2020


It looks like a bug in the CG method.  The other methods in optim() all 
work fine.  CG is documented to be a good choice in high dimensions; why 
did you choose it for a 1 dim problem?

Duncan Murdoch

On 12/03/2020 2:30 a.m., Skyler Saleebyan wrote:
> I am trying to familiarize myself with optim() with a relatively simple
> maximization.
> 
> Description:
> L and K are two terms which are constrained to add up to a total 100000
> (with respective weights to each). To map this constraint I plugged K into
> the function (to make this as simple as possible.)
> 
> Together these two feed into one nonlinear function which is the product of
> two monotonic (on the positive interval) functions. Then that numbers is
> returned in a function fed to optim, which should maximize the output by
> adjusting L. The whole code is:
> 
> production1 <- function(L){
>    budget=100000
>    Lcost=12
>    Kcost=15
>    K=(budget-L*Lcost)/Kcost
>    machines=0.05*L^(2/3)*K^(1/3)
>    return(machines)
> }
> 
> # production1(6000) #example of number with much higher output vs optim
> result
> S1=optim(1001,production1,method="CG",control=list(fnscale=-1))
> S1
> 
> Output:
> $par
> [1] 1006.536
> 
> $value
> [1] 90.54671
> 
> $counts
> function gradient
>       201      101
> 
> $convergence
> [1] 1
> 
> $message
> NULL
> 
> 
> For some reason this never explores the problem space and just spits out
> some answer close to the initial condition. What am I doing wrong?
> 
> Thanks,
> Skyler S.
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>



More information about the R-help mailing list