Parallel Optimization: Loop or Finite-Difference Gradient

1 次查看(过去 30 天)
According to the documentation on parallel optimization, one cannot use the 'UseParallel' option inside a 'parfor' loop.
I am optimizing a very messy likelihood function over 32 parameters w/ fmincon. Unfortunately I run the optimization around 1,000 times each at a different initial point.
Would it be more computationally efficient to parallelize the finite-difference gradient calculation, or parallelize the loop of 1,000 calls to fmincon.
Thanks!
PS I have 25 cores available to me.
  1 个评论
Walter Roberson
Walter Roberson 2017-1-20
编辑:Walter Roberson 2017-1-20
Is what you are doing really a global optimization? If so then the tools such as MultiStart in Global Optimization Toolbox would seem appropriate. Or patternsearch.

请先登录,再进行评论。

回答(1 个)

Alan Weiss
Alan Weiss 2017-1-23
It is very difficult to know which way would work better. Can you test a small set of representative points and see which way is faster?
Sorry for the lack of info, but parallel processing is hard to predict, as there are a lot of things that go into its performance, or lack thereof.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by