global optimization objective function greater than local optimization

4 次查看(过去 30 天)
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 个评论
jlr
jlr 2019-2-27
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!

请先登录,再进行评论。

采纳的回答

SandeepKumar R
SandeepKumar R 2019-3-5
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 个评论
jlr
jlr 2019-3-5
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!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by