MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: parallel NMinimize[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg50527] Re: parallel NMinimize[]
  • From: "Michal Kvasnicka" <michal.kvasnicka at No_s_Pam.quick.cz>
  • Date: Thu, 9 Sep 2004 05:17:50 -0400 (EDT)
  • Organization: Czech Technical University
  • References: <chmova$a4j$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

From my point of view there are not simple straight way how to use function
NMinimize directly on a cluster of PCs.

There is only one way how to solve your optimization problem on the grid.
You must completely rewrite differential evolution algorithm to the
distributed parallel version. The Parallel Toolkit may be  good starting
point for you. This task is not so difficult, because the differential
evolution is very simple optimization algorithm. Moreover, differential
evolution is very suitable for parallelization via distributed evaluation of
the optimized function f[x] during each population.

For detailed information regarding differential evolution you can visit:
http://www.icsi.berkeley.edu/~storn/code.html

Hope this help,
Michal Kvasnicka

P.S. On the other hand try to contact Dan Lichtblau from Wolfram. The
reformulation of the NMinimize function to the distributed parallel version
via Parallel Toolkit will be really challenging task.

"robert" <lupos at cheerful.com> pí¹e v diskusním pøíspìvku
news:chmova$a4j$1 at smc.vnet.net...
> dear all,
>
> I am trying to use NMinimize[f[x],x] from a windows based mathematica
> to minimize the function f[x] which evaluates via RUN[] and rsh remote
> shell
> commands on a linux cluster.
> this works fine so far.
>
> Now I would like to exploit the parallel capabilities of the linux
> cluster.
>
> usually NMinimize[] calls f[x] for a single value x at one step.
> the nature of  NMinimize[f[x],x, Method->"DifferentialEvolution"] as I
> understand it causes a whole population of x values to be evaluated
> before
> minimization progresses.
> In order to profit from the cluster I would need  NMinimize[] to
> evaluate
> f[] for the whole populatuion in a single call.
> e.g. f[{x1,x2,x3,x4,....xn}] with n beeing the size of the actual
> popolation such that NMinimize[] would call the function to be
> minimized with a wole list of x values instead of calling it with just
> a single value. this way the cluster could evaluate all the (time
> expense) function calls in parallel and return a list of results
> {f[x1],f[x2],f[x3],    ...  f[xn]} to NMinimize[]
>
> is there any chance to achieve this ?
>
> does anyone know what for the following "DifferentialEvolution"
> options are used ?
>
> "InitialPoints"  set of initial points
> "SearchPoints" size of the population used for evolution
>
> note i dont ask for any parallel aktion of mathematica itself.
>
> thanks robert
>



  • Prev by Date: Re: ColorFunctions again (making z=0 be different from z=1)
  • Next by Date: Re: Random replacement
  • Previous by thread: parallel NMinimize[]
  • Next by thread: Re: parallel NMinimize[]