MATLAB Answers

How GlobalSearch optimization method works?

18 views (last 30 days)
Andre Andre
Andre Andre on 23 Feb 2016
Commented: Andre Andre on 25 Feb 2016
Could someone explain me how GlobalSearch works in simple terms? I have read the manual but I don't understand it very well. Thank you.

  0 Comments

Sign in to comment.

Accepted Answer

jgg
jgg on 23 Feb 2016
Edited: jgg on 23 Feb 2016
Basically, GlobalSearch takes a problem you've defined, which consists of an objective function and a solver, then repeatedly runs the solver on a larger number of points. Suppose your solver is called solver (it could be fmincon or fminsearch or whatever):
  • It starts with a starting point you seed, called x0 and runs the solver.
  • It looks to see how far the solver moved from x0 to find the end point; this creates a "basin" in which the solution it found should "attract" starting points. Basically, points inside this basin should move to the end point it founds. This first run determines the guess for the basin size.
  • It then generates a bunch of test points, randomly around the solution space, then uses the basin size it found earlier to make a basin. It also assigns to all the points a "score" based on the objective function and constraints.
  • It then iteratively runs trial points outside the basins to try and basically block out all of the solution space into a series of basins with an optimal point in them. It also adjusts the basin size at this point, if necessary.
  • Imagine picking points in the space, then seeing where the solver goes and drawing a circle about that distance from the solution. Do this over and over again under your whole space is filled with circles.
The "solution" it finds is basically the best point in the best basin at the end of the day.

  2 Comments

Alan Weiss
Alan Weiss on 23 Feb 2016
jgg described the MultiStart algorithm pretty well, though there are restrictions on which local solver MultiStart can run.
GlobalSearch works a bit differently. It uses the fmincon solver only, and takes a lot of care to run only those trial points that it thinks have a chance of leading to a better final value. For details, see the algorithm descriptions.
Alan Weiss
MATLAB mathematical toolbox documentation
Andre Andre
Andre Andre on 25 Feb 2016
Is this method similar to Monotonic Basin Hopping?

Sign in to comment.

More Answers (0)