[R] Advice for speeding up optim()

J C Nash pro|jcn@@h @end|ng |rom gm@||@com
Wed Apr 3 14:24:34 CEST 2019


Really should always look at Task Views

There's optimx package.

JN

On 2019-04-02 10:13 p.m., Pinto, Naiara (334F) via R-help wrote:
> Hi all,
> 
> I’m calling optim() and getting correct results, but need help to upscale it. I need to call it on a matrix that’s 3000x5000. I know the SANN option is slow but I get similar results with all other options. Perhaps there’s another package..I also heard about implementing my loss function in the cpp core but I’m not sure what this entails. I do have bounds for both parameters. My function is below – thank you in advance for your patience and suggestions!
> 
> rvog = function(x){
>                 ext = x[1]
>                 height = x[2]
>                 ext_linear = ext * log(10)/20 #change units to nepers per meter
>                 inc_radians = myinc *pi/180
>                 p1 = 2*ext/cos(inc_radians)
>               p2 = p1 + 1i*mykz
>                 #minimize distance to a provided coherence value
>               coh = abs(mycoh - ((p1 / p2) * ((exp(p2*height)-1) / (exp(p1*height)-1))))
>                 return (coh)
> }
> 
> #ancillary variables
> mykz = kz[i,j]
> myinc = inc
> mycoh = volume
> 
> #call optimization function
> myoptim = optim(c(0.05,30), rvog, method = "SANN", control = list(maxit = 30000, temp = 2000, trace = FALSE))
> 
> ~Naiara.
> 
> 	[[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