Misunderstanding about the number of trial points in Globalsearch

9 views (last 30 days)
I check both pages http://www.mathworks.com/help/gads/globalsearch-class.html and http://www.mathworks.com/help/gads/how-globalsearch-and-multistart-work.html but apparently I didn't understand the roles of NumTrialPoints and NumStageOnePoints clearly.
I thought that the NumStageOnePoints trial points are evaluated in Stage 1 and the best point will be chosen (such that fmincon starts from there), and then NumTrialPoints will be evaluated only in Stage 2. If that's the case, why NumTrialPoints should be >= NumStageOnePoints?
Also, what does it mean when NumTrialPoints is > NumStageOnePoints?
Thanks,

Answers (1)

Alan Weiss
Alan Weiss on 30 Apr 2014
In the description of the algorithm, Obtain Stage 1 Start Point, Run there is the sentence GlobalSearch removes the set of NumStageOnePoints trial points from its list of points to examine. GlobalSearch then goes on to examine the remaining (NumTrialPoints - NumStageOnePoints) trial points to see if they run, and to run fmincon starting from them if appropriate.
So you have to have more trial points than Stage 1 points for the algorithm to make sense.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 Comments
MJ
MJ on 30 Apr 2014
Edited: MJ on 30 Apr 2014
I'm also trying to figure out how the number of local solvers is defined and how I can limit it. In my problem, I see that different local solvers end at a same f(x), but globalsearch takes forever (with the default options). That's why I wanted to adjust NumTrialPoints and NumStageOnePoints. When I use a same number e.g. 200 for both, Globalsearch runs two local solvers (which one is for me x0 and the other one for the best point of Stage 1, correct?) and finds the solution, but based on your answer, I need to increase NumTrialPoints. Any suggestion how to adjust these two numbers?
Alan Weiss
Alan Weiss on 1 May 2014
The description of the algorithm really does contain all the information about how GlobalSearch works. It is hard for me to add to that description.
I wonder, though, if you would be better served by MultiStart. It sounds to me as if your objective function is time-consuming to evaluate. If so, then you can probably get better control over the amount of time the solver takes by using MultiStart. You see, GlobalSearch evalueates the objective function quite a large number of times without calling fmincon. In contrast, MultiStart calls fmincon repeatedly. So perhaps, in your case, you would get a good solution in less time, and in a more controlled amount of time, by using MultiStart, and having all computations be directed at finding a minimum, rather than at determining whether or not it is worthwhile to run fmincon.
Alan Weiss
MATLAB mathematical toolbox documentation
P.S. If you believe I answered your original question adequately, please accept the answer.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!