MATLAB: Fmincon and fmiunc gives different result for the same problem

fminconMATLABoptimization

Can anyone help how to setup the result from fmincon and fminunc to give the same result for same problem ?
Thanks

Best Answer

This is expected. fmincon() and fminunc() use different algorithms.
You might possibly be able to get somewhere by forcing fminunc to use 'trust-region' algorithm, which requires that your function outputs the gradient as its second output, and requires some flags set in the options. You would in turn configure fmincon to use 'trust-region-reflective'; again that requires that your function outputs the gradient as its second output, and requires some flags set in the options.
It is not entirely clear to me that the 'trust-region' algorithm of fminunc is the same as 'trust-region-reflective' of fmincon .