Parallel Optimization: Loop or Finite-Difference Gradient

조회 수: 6 (최근 30일)
David Leather
David Leather 2017년 1월 20일
답변: Alan Weiss 2017년 1월 23일
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