Fmincon in Matlab 2014a

11 次查看(过去 30 天)
Son Tran
Son Tran 2014-9-13
Hi, I've tried some of my code in MATLAB 2014a and many of them is not working, most are caused by fmincon function as "Error using fmincon (line 816), Hessian option set to 'on' but no Hessian function provided in options HessFcn nor in HessMult". This does not happen with previous Matlab version.

回答(4 个)

Aleksandar Milchevski
I had the same problem. I resolved it by specifying the algorithm used as trust-region-reflective i.e. adding 'Algorithm','trust-region-reflective' to the options.

Waleed El-Badry
Waleed El-Badry 2014-9-13
I believe backward compatibility is one of the merits of MATLAB. Even if new implementation is applied, it is done via overloading without touching the previous implementation as long as it was correct proof.
I recommend you try an example from MATLAB examples on optimization. I'm quite certain it will work.Review your parameters
  1 个评论
Jonathan Pillow
Jonathan Pillow 2015-3-20
Sorry, Waleed. Matlab fails backward compatibility here. I have code with fmincon using Hessian that works for earlier releases, but now throws an error unless I add (as suggested by Aleksandar below) an extra pair of arguments to optimset.

请先登录,再进行评论。


Matt J
Matt J 2015-2-24
Set the Hessian option to 'off' if you are not providing your own routine to compute the Hessian.
Or, leave the option as is and go ahead and provide the Hessian in the form required by whatever fmincon algorithm it is you are using, see Including Derivatives.

Alan Weiss
Alan Weiss 2015-2-24
This is happening because you are running a different algorithm than you expect. As stated in the R2014a release notes, the default fmincon algorithm changed from 'trust-region-reflective' to 'interior-point'. To choose the 'trust-region-reflective' algorithm, update your 'Algorithm' option.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by