How does MultiStart generate startpoints? Why is StartPointsToRun even necessary?
4 views (last 30 days)
As I understand from this "MultiStart uses uniformly distributed start points within bounds, or user-supplied start points." MultiStart distributes the random startpoints within given bounds lb and ub (e.g. from fmincon). Why is the optinal setting StartPointsToRun even necessary?
I generated a problem structure for Multistart with fmincon. All optimization variables are constraint by upper and lower bounds. There are some nonlinear constraints. StartPointsToRun is set to 'all'. Does MultiStart then test points outside of these bounds?
In the explanation for the RandomStartPointSet it says:
- If a component has a lower bound lb but no upper bound, RandomStartPointSet uses an upper bound of lb + 2*ArtificialBound.
- Similarly, if a component has an upper bound ub but no lower bound, RandomStartPointSet uses a lower bound of ub - 2*ArtificialBound.
This sounds like the random start points are placed within the bounds afterall.
Would there be any differences in my example for the options 'all' and 'bounds'? I certain, that the has to be a difference to 'bounds-ineqs' because of the nlcons, but if multistart places the startpoints within the bounds there shouldnt be a difference to which points are run, right?