Fmincon in Matlab 2014a

4 views (last 30 days)
Son Tran
Son Tran on 13 Sep 2014
Commented: Jonathan Pillow on 20 Mar 2015
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.

Answers (4)

Aleksandar Milchevski
Aleksandar Milchevski on 24 Feb 2015
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 on 13 Sep 2014
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 Comment
Jonathan Pillow
Jonathan Pillow on 20 Mar 2015
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.

Sign in to comment.


Matt J
Matt J on 24 Feb 2015
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 on 24 Feb 2015
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

Community Treasure Hunt

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

Start Hunting!