Parallel Optimization: Loop or Finite-Difference Gradient
Show older comments
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 Comment
Walter Roberson
on 20 Jan 2017
Edited: Walter Roberson
on 20 Jan 2017
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.
Answers (1)
Alan Weiss
on 23 Jan 2017
0 votes
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
Categories
Find more on Choose a Solver in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!