global optimization objective function greater than local optimization

3 views (last 30 days)
I am generating optimum parameters using fminunc with a vector of starting parameter values. I also optimize this same function using multistart from the global optimaization package. This group of parameter vectors includes my initial values used to generate the results for fminunc without multistart. I am getting a minimized objective function using 'multistart' that is higher than the one generated by minmizing the objective function using just my initial vector of parameter values.
Why might this happen?
Thanks very much.

Sign in to comment.

Accepted Answer

SandeepKumar R
SandeepKumar R on 5 Mar 2019
At the end of the day the value thrown by the optimizer is purely based on optimiality tolerances and not based on absolute value of the objective. For verification, you can use the start point for optimisation as the results youv'e got and compare the optimality tolerance from command window. I think tweaking tolerance may solve your problem. I am assuming your problem setup has no errors.
  1 Comment
jlr on 5 Mar 2019
You're exactly right. Thanks. I discovered that the tolerance options were slightly different and once i fixed this, the global optimization converged to the possibly local min I had found. Thanks for your help!

Sign in to comment.

More Answers (0)




Community Treasure Hunt

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

Start Hunting!

Translated by