Obtain Hessian matrix in Multistart optimization function

I am using MultiStart function for optimization (using local solver "fmincon"). I need to have the MATLAB-calculated hessian matrix at the optimum value in my output files, but can't find a way to do that. Does anyone have done that before or can figure out how to do it?!

回答 (1 件)

Matt J
Matt J 2012 年 10 月 2 日

0 投票

Call with more output arguments
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...)

3 件のコメント

Ibehma01
Ibehma01 2012 年 10 月 2 日
I am not directly using fmincon. I am using multistart. Multistart doesn't have hessian as output. I mentioned fmincon because I use that as a local solver for multistart.
Matt J
Matt J 2012 年 10 月 2 日
Once you've found the solution using multistart, you could run one additional iteration of FMINCON by calling it directly (using options.MaxIter=1) and starting from the known solution as the initial point. When you call FMINCON, you can call it with additional arguments, as I described.
Alexander Andreychenko
Alexander Andreychenko 2016 年 3 月 14 日
Sometimes that does not work for me. What I do instead, I use the corresponding initial X0 (that gave the best result for MultiStart) and run fmincon from there. I get this 'best' X0 from the 'solutions' structure coming from 'run' method of MultiStart.

サインインしてコメントする。

カテゴリ

質問済み:

2012 年 10 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by