Clear Filters
Clear Filters

global optimization objective function greater than local optimization

2 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.
  3 Comments
jlr
jlr on 27 Feb 2019
Thank you very much Torsten!
The code is as follows:
problem = createOptimProblem('fminunc',...
'objective',@(bs)probits(bs,wavemovs,x7ss),...
'x0',beta0,'options',...
optimoptions(@fminunc,'Algorithm','quasi-newton','TolX', 1e-10,'TolFun', 1e-10));
[x,fval,exitflag,output,solutions] =run(ms,problem,100)
I was under the impression that this ran the optimization problem on the initial parameter space beta0 and then 99 other starting points. beta0 in this case is my starting vector for regular fminunc as well as the one specified in tthe problem structure for multistart. This is what confuses me.
Thanks again!

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
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)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!