[R-sig-hpc] To solve large scale optimization problem

Brian G. Peterson brian at braverock.com
Mon Aug 10 10:59:55 CEST 2009

Debabrata Midya wrote:
> I am new to hpc and I am using R 2.9.1 on Windows XP.
> My objective is to solve large scale optimization problem using hpc.
> May I request you to assist me in the followings:
> 1. Are there any packages to solve large scale optimization problems using hpc?
> 2. Is there any parallel implementation of Differential Evolution?

I've taken the liberty of also copying David Ardia, the author of 
DEoptim, on my reply, as he may not be on the r-sig-hpc list.

You have not told us what your HPC environment is (e.g. multi-core 
single machine, cluster with MPI, SNOW, NWS, etc.)

 From looking at the code of the DEoptim package/function, it looks as 
though the code could be relatively easily adapted to parallel 
execution.  The main optimization routine uses an iterator on a while 
loop.  This suggests that the 'iterators' package could be used to 
create a parallel iterator.  If combined with 'foreach', you could run a 
parallel version of the loop through the given number of iterations.  
I'm sure there are other ways to parallelize that function, but this 
suggests itself to me on first examination of the problem.

I suspect that there would be a bit of difficulty in stopping the loop 
if a suitable minimum threshold were reached, though this is a bit of an 
edge case, as in any optimization problem where you chose to apply 
differential evolution, it could be assumed that you would run to your 
maximum number of iterations and choose the best solution from the 
available results.

I'm afraid that this answer has more work for you in it than you may 
have been hoping for, though it does seem quite manageable.  I'd be 
happy to assist as you run into trouble, as I can see utility for this 
in my work as well.


  - Brian

Brian G. Peterson
Ph: 773-459-4973
IM: bgpbraverock

More information about the R-sig-hpc mailing list