[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
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 G. Peterson
More information about the R-sig-hpc